CN105450589B - 远程调用方法及系统 - Google Patents
远程调用方法及系统 Download PDFInfo
- Publication number
- CN105450589B CN105450589B CN201410374850.8A CN201410374850A CN105450589B CN 105450589 B CN105450589 B CN 105450589B CN 201410374850 A CN201410374850 A CN 201410374850A CN 105450589 B CN105450589 B CN 105450589B
- Authority
- CN
- China
- Prior art keywords
- service
- service attribute
- attribute
- server
- response message
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000004044 response Effects 0.000 claims abstract description 68
- 230000004048 modification Effects 0.000 claims abstract description 16
- 238000012986 modification Methods 0.000 claims abstract description 16
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 abstract description 15
- 230000006872 improvement Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 102100032606 Heat shock factor protein 1 Human genes 0.000 description 4
- 101000867525 Homo sapiens Heat shock factor protein 1 Proteins 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种远程调用方法及系统,该方法包括:将服务端的第一服务属性修改后生成第二服务属性,第二服务属性与第一服务属性对应,保存于第二服务属性数据表;根据远程调用请求信息中的第一服务名,在第二服务属性数据表中查找得到第二服务属性;将第二服务属性发送给服务端,以调用服务端中第二服务属性对应的响应信息,并将响应信息发送给客户端。本申请通过改进后的服务系统能兼容不同客户端的服务系统,从而实现了不同服务系统之间的数据传输,通过对请求信息的部分属性数据用编码代替和第一服务属性数据修改,以及直接调用服务端中第二服务属性对应的响应数据,从而节省了网络流量,且实现多协议的互联互通,为服务融合奠定基础。
Description
技术领域
本发明涉及网络通信领域,尤其涉及一种远程调用方法及系统。
背景技术
远程过程调用(Remote Procedure Call,RPC)是基于特定的计算机通信协议,把本地的方法调用透明转化为跨机器的调用,是分布式服务的基本功能。远程过程调用总是由客户端对服务器发出一个请求,服务端根据请求执行结果并返回给客户端,以下简称远程调用。
随着电子商务网站(例如,淘宝网、天猫等)的用户数量和访问量的不断增长,应用系统的数量和复杂程度也急剧增加。诸多前台系统都需要使用一些公共的业务逻辑,这些业务逻辑通常具有共性的东西,比如,获取用户信息或查询宝贝详情等,如果将这些业务逻辑在各个系统内部都实现一遍,则大大增加了开发成本和后期维护成本;最大的问题是所有业务维护在一个系统中,会让这个系统的复杂性无法控制,导致协同的开发效率极其低下。这时需要按照业务领域模型,并遵循高内聚低耦合的标准对业务系统进行垂直拆分,因此服务系统应运而生,远程服务系统的基本功能就是把本地调用转换给远程调用,服务系统是客户端和服务端之间的接口;实现基于软负载中心的面向服务架构的核心功能:服务的分发(服务端把提供的服务分发出去,让需要此服务的客户调用)和查找(服务消费者按照功能需求找到所需服务的服务端提供者列表);此外还需要为服务之前的调用关系提供各种配套管理功能。
现有的远程调用系统有:高速服务系统(High-Speed Service Framework,HSF)和分布式服务系统(Dubbo)等,由于它们之间的交互方式没有定义同一个规范,而且软负载中心各自一套,导致不互相兼容,基于两者的服务无法互联互通。
远程调用系统(High Speed Framework,HSF)是淘宝网的分布式服务系统,是淘网宝服务化架构中的基础组件,是基于传输控制协议(Transmission Control Protocol,TCP)长连接的远程调用系统,可以帮助各个应用系统将那些相似的业务逻辑抽离出来,单独部署,而前台系统在需要调用这些业务逻辑时,只需要通过服务系统远程调用即可,大大节约了前端系统的开发成本,也提高了系统的可维护性和可扩展性。因此,通过远程调用系统可以使得前台系统的客户端与应用系统的服务端之间进行数据的交互。
为了减少服务系统对应用系统的影响和改造成本,现有HSF框架协议和Dubbo框架协议,在对数据的处理上都一致地选择了自描述的序列化方式。例如,在针对请求信息的处理上是将服务名、方法名、参数类型作为java对象的属性值后,再通过Hessian(一种二进制序列化)序列化,针对与属性有关系的数据,例如作为java对象的属性值:服务名,方法名,参数类型等(HSF是基于HSF的请求,Dubbo是基于Dubbo的请求)数据,进行序列化。从而,通过这种自描述性的序列化方式将java对象的属性值转化为二进制流,但是由于二进制流的体积大,导致HSF框架协议很难识别Dubbo框架协议。
基于Dubbo框架协议和HSF框架协议的客户端的请求信息包括:协议标识、版本号、请求标识、序列化方式、保留字节、请求ID、请求编码、超时时间、服务名的长度、方法的长度、参数类型的长度、参数的个数、方法名和参数类型、服务名和请求数据。这样客户端发送请求时都需要携带与客户端相关的属性数据,占用了网络流量。
发明内容
本发明的目的是提供一种远程调用方法及系统,以解决现有技术中不同客户端的服务系统之间不能兼容时数据传输的问题,以及在请求信息和响应信息的传输中,请求信息的部分属性数据和第一服务属性数据占据了大量网络流量。
为实现上述目的,本申请提供了如下方案:
一种远程调用方法,所述方法包括:
将服务端的第一服务属性修改后生成第二服务属性,所述第二服务属性与所述第一服务属性对应,保存于第二服务属性数据表,并获取所述第二服务属性数据表;
根据远程调用请求信息中的第一服务名,在所述第二服务属性数据表中查找得到第二服务属性;
将所述第二服务属性发送给所述服务端,以调用所述服务端中所述第二服务属性对应的响应信息,并将所述响应信息发送给客户端。
一种远程调用系统,所述系统包括:
获取单元,用于将服务端的第一服务属性修改后生成第二服务属性,所述第二服务属性与所述第一服务属性对应,保存于第二服务属性数据表,并获取所述第二服务属性数据表;
查找单元,用于根据远程调用请求信息中的第一服务名,在所述第二服务属性数据表中查找得到第二服务属性;
调用单元,用于将所述第二服务属性发送给所述服务端,以调用所述服务端中所述第二服务属性对应的响应信息,并将所述响应信息发送给客户端。
根据本申请提供的具体实施例,本申请公开了以下技术效果:
本申请提供的远程调用方法及远程调用系统,通过改进后的服务系统能兼容不同客户端的服务系统,从而实现了不同服务系统之间的数据传输,通过对请求信息的部分属性数据用编码代替和第一服务属性数据修改,以及直接调用服务端中第二服务属性对应的响应数据,从而节省了网络流量,且实现多协议的互联互通,为服务融合奠定基础。
附图说明
图1为本申请实施例一的远程调用方法流程图;
图2为本申请实施例二的远程调用系统示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
在本申请中,由于多种服务系统同时存在,但互不兼容,造成了资源浪费,效率低,维护成本和开发成本都比较高。例如:HSF协议服务系统,Dubbo协议服务系统同时存在,但互不兼容,多种服务系统之间不能进行数据的传输。为了方便不同客户端均能跨平台远程调用,本申请提出了改进后的HSF系统,同时兼容了现有的HSF系统的协议和Dubbo系统的协议,通过改进后的HSF系统可以实现多种服务系统之间进行数据的传输,有利于面向服务架构的互联互通。
同时,改进后的HSF系统,不仅实现了多种服务系统之间进行数据的传输,而且实现了客户端的远程调用请求信息的部分属性数据编码和服务端的响应信息的服务属性数据编码后再传输,从而节省了网络流量。
首先介绍本申请的应用场景,本申请远程调用方法是基于远程调用系统实现的,尤其是改进后的HSF系统,在整个系统里包括应用系统和远程调用系统,应用系统可以包括前端应用系统和后端服务系统,前端应用系统(即前台系统)例如搜索系统、商品详情系统、商铺系统等等,对应于搜索系统服务器、商品详情服务器、商品系统服务器等等;后端服务系统(即现有的应用系统的服务端)包括商品中心、用户中心、交易中心等等,对应于商品中心服务器、用户中心服务器、交易中心服务器等等。例如:在淘宝网前端应用系统的搜索系统的客户端上,当用户搜索到商品A,点击商品A即将进入商品A的详情页面以调用商品中心服务端中的查询商品服务时,此时,客户端发起查询商品的远程调用请求信息,根据查询商品的远程调用请求信息的第一服务名,在从服务端获取的第二服务属性数据表中查找得到第二服务属性。
图1为本申请实施例一的远程调用方法流程图。本实施例适用于基于改进后的HSF系统的客户端和基于改进后的HSF系统的服务端进行数据的传输。
如图1所示,本申请远程调用方法具体包括以下步骤:
步骤101,将服务端的第一服务属性修改后生成第二服务属性,所述第二服务属性与所述第一服务属性对应,保存于第二服务属性数据表,并获取所述第二服务属性数据表。
第一服务属性具体可包括:服务名、方法名和参数类型等。服务端所基于的改进后的HSF系统将服务端的第一服务属性修改后生成第二服务属性,将所述第一服务属性进行修改,例如进行编码,后得到编码代码,生成第二服务属性,所述第二服务属性与所述第一服务属性对应地保存于第二服务属性数据表中。在第二服务属性数据表中,修改后的每个第一服务属性对应于一个编码代码,被称为第二服务属性。第二服务属性数据表分别存储在改进后的HSF系统和服务端。例如,编码可以为二进制编码、十六进制编码等,本申请实施例中并不限于这些编码方式。所述第二服务属性数据表用于唯一标识对应的第一服务属性。
优选地,第二服务属性为第一服务属性修改后得到的四个字节的编码代码。
将每个第一服务属性编码成一个四个字节(相当于32位整型)的编码代码。这样得到的每个第二服务属性是一个四个字节的编码代码,所述第二服务属性与所述第一服务属性对应地形式,便生成了一个编码表的第二服务属性数据表。
例如:淘宝提供的服务系统商品中心服务端,商品中心管理所有与商品相关的服务,比如增加新的商品,修改商品,删除商品或查询商品等服务,因此在服务端上数据库中,保存有这些服务的服务属性信息。服务端所基于的改进后的HSF系统,将增加新的商品,修改商品,删除商品或查询商品等服务的第一服务属性,编码后生成编码代码的第二服务属性,编码代码的第二服务属性与所述第一服务属性对应地保存于第二服务属性数据表中,第二服务属性数据表分别存储在改进后的HSF系统和服务系统商品中心服务端。
表一为第二服务属性数据表。如表一所示,3个商品的第一服务属性分别对应的编码代码即第二服务属性。例如:一个商品A的第一服务属性为com.taobao.item.service.SpuGroupService:1.0.0+querySpuBy+java.lang .String,其中,com.taobao.item.service.SpuGroupService:1.0.0是商品A的服务名,querySpuBy是调用商品A数据的路径的方法名,java.lang.String是调用商品A数据的参数类型,改进后的HSF系统将商品A的服务属性进行编码后生成第一服务属性的编码代码DEFDD667即第二服务属性,HSF最终获取的编码表的第一行是商品A的第一服务属性与第二服务属性的编码代码,依次类推,对其他服务,提取第一服务属性后进行编码,获得各个服务属性编码代码即第二服务属性。
表一
步骤102、根据远程调用请求信息中的第一服务名,在所述第二服务属性数据表中查找得到第二服务属性。
所述远程调用请求信息包括:第一协议标识、第一版本号、请求标识、第一序列化方式、保留字节、请求ID、客户端属性数据、第一服务名和请求数据。客户端的改进后的HSF系统根据远程调用请求信息中的第一服务名,从步骤101生成的第二服务属性数据表中,找到对应的第一服务属性,再根据第一服务属性中查找得到第二服务属性的编码代码。其中,客户端的改进后的HSF系统与服务端所基于的改进后的HSF系统之间可以相互进行数据的交互或共享。
优选地,所述客户端属性数据为四个字节的编码代码。
例如:客户端的改进后的HSF系统根据商品A的查询商品的远程调用请求信息中的服务名:com.taobao.item.service.SpuGroupService:1.0.0在步骤101生成的表一中查找得到第二服务属性的编码代码DEFDD667。
在本例中,服务端可以为各种后端的服务系统,客户端可以为各种对应后端的服务系统的前端应用系统。客户端发起远程调用请求信息,并发送给客户端的改进后的HSF系统。举例来说,用户在淘宝网前端应用系统的搜索系统的客户端上,搜索到商品A,点击商品A即将进入商品A的详情页面以调用商品中心服务端中的查询商品服务时,改进后的HSF系统接收到了客户端发起的查询商品服务的远程调用请求。
表二
表二为现有的客户端发送的远程调用请求信息的帧格式的各个字节示意说明。如表二所示,现有的远程调用请求信息包括:第一协议标识、第一版本号、请求标识、第一序列化方式、保留字节、请求ID、第一客户端属性数据、第一服务名和请求数据。现有的远程调用请求信息中第一客户端属性数据包括:客户端相关的第一超时时间、第一服务名的长度、第一方法的长度、第一参数类型的长度、第一参数的个数和第一参数类型;这样客户端发送请求时都需要携带这些第一客户端属性数据,占用了网络流量。
为了节省网络流量,客户端的改进后的HSF系统对现有的远程调用请求信息进行修改具体为:将现有的远程调用请求信息中的第一客户端属性数据进行修改,例如进行编码,得到为四个字节的请求编码,被称为客户端属性数据。例如编码可以为二进制编码、十六进制编码等。现有的系统对现有的远程调用请求信息不进行修改,因此客户端的改进后的HSF系统在进行数据传输中节省了网络流量。
表三
表三为本申请实例一中远程调用请求信息的帧格式的各个字节示意说明。如表三所示,本申请的远程调用请求信息包括:第一协议标识、第一版本号、请求标识、第一序列化方式、保留字节、请求ID、客户端属性数据、第一服务名和请求数据。且第一协议标识、第一版本号、请求标识、第一序列化方式、保留字节、请求ID、客户端属性数据、第一服务名和请求数据,均以文本的形式存在。
如表二所示,在现有技术中与第一客户端属性数据有关的参数的字节包括第16-第35个字节(9个字节),以及方法名和参数类型的字节数不确定,通过客户端的改进后的HSF系统将这些字节数变为四个字节,节省了网络流量。
基于客户端或者服务端的系统可以有很多种类型,所以客户端发起远程调用请求信息或者服务端的响应数据基于的框架协议可以有很多种类型,例如:可以是Dubbo系统、HSF1系统或改进后的HSF系统。在本申请该实施例中客户端和服务端所基于的框架协议是改进后的HSF框架协议。
步骤103、将所述第二服务属性发送给所述服务端,以调用所述服务端中所述第二服务属性对应的响应信息,并将所述响应信息发送给客户端。
由于服务端所基于的改进后的HSF系统将第二服务属性编码代码发送给存储在服务端的第二服务属性数据表,该数据表包括第一服务属性和第二服务属性。因此,根据第二服务属性从该第二服务属性数据表中可以找到第一服务属性,然后根据第一服务属性找到对应的响应信息,从而调用响应信息,并将所述响应信息发送给客户端。响应信息可包括以下部分或全部内容:第一协议标识、第一版本号、响应标识、状态号、第一序列化方式、保留字节、响应ID、返回值的长度和响应数据。响应信息在本步骤中由于服务端所基于的改进后的HSF系统不直接将远程调用请求发送给服务端,而是将查找到的第二服务属性编码代码发送给服务端,从而节省了网络流量。
例如:服务端所基于的改进后的HSF系统将商品A的第二服务属性数据编码代码DEFDD667发送给服务端商品中心,服务端商品中心存储着商品的第二服务属性数据表,第二服务属性数据表包括第一服务属性数据和第二服务属性数据,第一服务属性数据可包括:商品A的服务名,querySpuBy是调用商品A数据的路径的方法名,java.lang.String是调用商品A数据的参数类型;第二服务属性数据是第一服务属性数据的编码代码。商品中心根据商品A的第二服务属性数据的编码代码,从第二服务属性数据表中查找到第一服务属性,然后根据第一服务属性找到对应的响应信息,从而调用响应信息,并将所述响应信息发送给客户端。表四为客户端接收的响应信息的帧格式的各个字节示意说明。如表四所示,客户端接收到的响应信息可包括以下部分或全部内容:第一协议标识、第一版本号、响应标识、状态号、第一序列化方式、保留字节、响应ID、返回值的长度和响应数据。且第一协议标识、第一版本号、响应标识、状态号、第一序列化方式、保留字节、响应ID、返回值的长度和响应数据,均可以是以文本的形式存在。响应数据是对应于查询商品A的第一服务属性的商品A的详细数据。
表四
商品A的第一服务属性最长可达一百多个字节,商品A的第二服务属性的编码代码DEFDD667只有四个字节,一百多个字节最后用四个字节表示,因此,改进后的HSF系统将商品A的第二服务属性的编码代码DEFDD667发送给商品中心,而不是将包括商品A的第一服务属性com.taobao.item.service.SpuGroupService:1.0.0发送给商品中心,从而节省了上百字节的流量。
因此,本申请中的远程调用方法通过改进后的HSF系统,通过对第一服务属性数据修改,以及直接调用服务端中第二服务属性对应的响应数据,从而节省了网络流量。
基于客户端或者服务端的系统可以有很多种类型,所以客户端发起远程调用请求信息或者服务端的响应数据基于的框架协议可以有很多种类型,如果是Dubbo系统则只能支持Dubbo协议,如果是HSF1系统则只能支持HSF1协议,如果是改进后的HSF系统则能支持Dubbo协议、HSF1协议或改进后的HSF框架协议。因此,利用改进后的HSF系统能对基于不同协议的客户端和服务端通过协议的转换后,进行数据交互;客户端和服务端均基于改进后的HSF系统时,则可以直接进行数据的交互。
因此,针对不同协议的客户端和服务端,只要其中客户端或者服务端基于本申请改进后的HSF框架协议,本申请另一实施例除了上述步骤之外还可以包括:
优选地,根据所述远程调用请求信息中的协议标识和所述响应信息中的协议标识,将所述协议标识是基于改进后的HSF系统的一端的协议转换为对端的协议,并基于所述转换后的协议,将远程调用请求信息或响应信息进行发送。
当客户端所基于的框架协议是改进后的HSF框架协议,服务端所基于的框架协议是现有的框架协议时,远程调用请求信息携带有客户端所基于的改进后的HSF框架协议,服务端不能兼容客户端所基于的框架协议的远程调用请求信息,于是,客户端所基于的改进后的HSF框架,将远程调用请求信息的基于改进后的HSF框架协议,转换为服务端支持的协议,从而基于所述转换后的协议的远程调用请求信息就被服务端兼容了。
当服务端所基于的框架协议是改进后的HSF框架协议,且客户端所基于的框架协议是现有的框架协议时,响应信息携带有服务端所基于的改进后的HSF框架协议,客户端不能兼容服务端所基于的框架协议的响应信息,于是,服务端所基于的改进后的HSF框架,将所述响应信息基于的改进后的HSF框架协议,转换为客户端支持的协议,从而基于转换后的协议的响应信息就被客户端接收了。
例如:服务系统商品中心的服务系统的协议为改进后的HSF系统,客户端的系统的协议为Dubbo1.0,其中Dubbo1.0为Dubbo协议中的一种,商品中心基于的改进后的HSF系统接收客户端发送的远程调用请求信息,该远程调用请求信息携带有Dubbo1.0协议,说明客户端只兼容Dubbo1.0协议。基于改进后的HSF系统的商品中心通过远程调用请求信息的帧格式的第一个字节协议标志识别出客户端支持的协议为Dubbo1.0协议,由于基于改进后的HSF系统的商品中心能够处理来自不同服务系统而来的远程调用请求信息,响应信息携带有商品中心所基于的改进后的HSF框架协议,客户端不能兼容商品中心所基于的框架协议的响应信息,于是,商品中心所基于的改进后的HSF系统,将响应信息基于的改进后的HSF框架协议,转换为客户端基于的Dubbo1.0协议。即从商品中心发送给改进后的HSF系统的响应信息帧格式的第一个字节0X0E(表示改进后的HSF框架协议)改为0xDA(表示Dubbo1.0),转换后的响应信息就被客户端所接收了。
例如:服务系统商品中心的服务系统的协议为Dubbo1.0,当客户端基于的框架协议为改进后的HSF系统时,远程调用请求信息携带有改进后的HSF框架协议,但基于Dubbo1.0协议的商品中心不兼容客户端的改进后的HSF框架协议,因此,将远程调用请求信息的改进后的HSF框架协议转换为商品中心的Dubbo1.0协议,基于转换后的协议,将远程调用请求信息发送给商品中心。
因此,本申请中的远程调用方法,实现了不同服务系统之间的数据传输,通过对第一服务属性数据修改,以及直接调用服务端中第二服务属性对应的响应数据,从而节省了网络流量,且实现多协议的互联互通,为集团的服务融合奠定基础。
图2为本申请实施例二的远程调用系统示意图。如图2所示,远程调用系统包括:
获取单元201,用于将服务端11的第一服务属性修改后生成第二服务属性,所述第二服务属性与所述第一服务属性对应,保存于第二服务属性数据表,并获取所述第二服务属性数据表。
查找单元202,用于根据远程调用请求信息中的第一服务名,在所述第二服务属性数据表中查找得到第二服务属性。
调用单元203,用于将所述第二服务属性发送给所述服务端,以调用所述服务端中所述第二服务属性对应的响应信息,并将所述响应信息发送给客户端10。
调用单元203还用于:根据所述远程调用请求信息中的协议标识和所述响应信息中的协议标识,将所述协议标识是基于改进后的HSF系统的一端的协议转换为对端的协议,并基于所述转换后的协议,将远程调用请求信息或所述响应信息进行发送。
所述远程调用系统还包括:
修改单元,用于所述第二服务属性为所述第一服务属性修改后得到的四个字节的编码代码。
发送单元,用于基于所述转换后的协议的所述响应信息得到响应信息,将所述响应信息发送给所述客户端。
本申请实施例二的远程调用系统的单元可以实现本申请实施例一的远程调用方法。本申请远程调用系统各单元可以执行上述方法实施例中的各步骤。
表五
协议标识 | 网络流量(字节) | 时间(ms) |
HSF2.0 | 111 | 406 |
HSF1.0 | 449 | 18353 |
Dubbo1.0 | 846 | 940 |
表五为不同的远程调用系统在远程调用同一响应信息时的网络流量。如表五所示,当客户端和服务端所基于的框架协议都是改进后的HSF框架协议时,在客户端与服务端之间进行远程调用同一响应信息时使用的网络流量为111字节,所耗的时间为406ms;当客户端和服务端所基于的框架协议都是现有的框架协议时,在客户端与服务端之间进行远程调用同一响应信息时使用的网络流量为449字节,所耗的时间为18353ms;当客户端和服务端所基于的框架协议都是Dubbo1.0框架协议时,在客户端与服务端之间进行远程调用同一响应信息时使用的网络流量为846字节,所耗的时间为940ms。
因此,通过本申请中的改进后的服务系统能兼容不同客户端的服务系统,从而实现了不同服务系统之间的数据传输,通过对第一服务属性数据修改,以及直接调用服务端中第二服务属性对应的响应数据,从而节省了网络流量,且实现多协议的互联互通,为集团的服务融合奠定基础。
因此,本申请中的远程调用方法及系统,实现了不同服务系统之间的数据传输,通过对远程调用请求信息的部分属性数据进行修改和响应信息的服务属性数据进行修改,从而节省了网络流量。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种远程调用方法,其特征在于,所述方法包括:
将服务端的第一服务属性编码后生成第二服务属性,所述第二服务属性的字节数小于所述第一服务属性的字节数,所述第二服务属性与所述第一服务属性对应地保存于第二服务属性数据表中,所述第一服务属性包括第一服务名,并获取所述第二服务属性数据表;
根据远程调用请求信息中的所述第一服务名,在所述第二服务属性数据表中查找得到所述第二服务属性;
将所述第二服务属性发送给所述服务端,以调用所述服务端中所述第二服务属性对应的响应信息,并将所述响应信息发送给客户端。
2.根据权利要求1所述的远程调用方法,其特征在于,所述方法还包括:
根据所述远程调用请求信息中的协议标识和所述响应信息中的协议标识,将所述协议标识是基于改进后的HSF系统的一端的协议转换为对端的协议,并基于所述转换后的协议,将远程调用请求信息或所述响应信息进行发送。
3.根据权利要求1所述的远程调用方法,其特征在于,所述第一服务属性包括:服务名、方法名和参数类型。
4.根据权利要求1所述的远程调用方法,其特征在于,所述第二服务属性为所述第一服务属性修改后得到的四个字节的编码代码。
5.根据权利要求1所述的远程调用方法,其特征在于,所述远程调用请求信息包括:第一协议标识、第一版本号、请求标识、第一序列化方式、保留字节、请求ID、客户端属性数据、第一服务名和请求数据。
6.根据权利要求2所述的远程调用方法,其特征在于,基于所述转换后的协议的所述响应信息得到响应信息,将所述响应信息发送给所述客户端。
7.根据权利要求5所述的远程调用方法,其特征在于,所述客户端属性数据为四个字节的编码代码。
8.根据权利要求6所述的远程调用方法,其特征在于,所述响应信息包括:第一协议标识、第一版本号、响应标识、状态号、第一序列化方式、保留字节、响应ID、返回值的长度和响应数据。
9.一种远程调用系统,其特征在于,所述系统包括:
获取单元,用于将服务端的第一服务属性编码后生成第二服务属性,所述第二服务属性的字节数小于所述第一服务属性的字节数,所述第二服务属性与所述第一服务属性对应地保存于第二服务属性数据表中,所述第一服务属性包括第一服务名,并获取所述第二服务属性数据表;
查找单元,用于根据远程调用请求信息中的所述第一服务名,在所述第二服务属性数据表中查找得到所述第二服务属性;
调用单元,用于将所述第二服务属性发送给所述服务端,以调用所述服务端中所述第二服务属性对应的响应信息,并将所述响应信息发送给客户端。
10.根据权利要求9所述的远程调用系统,其特征在于,
所述调用单元还用于:根据所述远程调用请求信息中的协议标识和所述响应信息中的协议标识,将所述协议标识是基于改进后的HSF系统的一端的协议转换为对端的协议,并基于所述转换后的协议,将远程调用请求信息或所述响应信息进行发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410374850.8A CN105450589B (zh) | 2014-07-31 | 2014-07-31 | 远程调用方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410374850.8A CN105450589B (zh) | 2014-07-31 | 2014-07-31 | 远程调用方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105450589A CN105450589A (zh) | 2016-03-30 |
CN105450589B true CN105450589B (zh) | 2018-12-14 |
Family
ID=55560373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410374850.8A Active CN105450589B (zh) | 2014-07-31 | 2014-07-31 | 远程调用方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105450589B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107105004B (zh) * | 2017-03-02 | 2020-06-26 | 人谷科技(北京)有限责任公司 | 跨平台的服务调用方法及装置 |
CN106990997B (zh) * | 2017-05-10 | 2021-03-16 | 北京数码大方科技股份有限公司 | 服务调用方法和装置 |
CN108255615B (zh) * | 2017-11-30 | 2022-03-01 | 平安科技(深圳)有限公司 | 跨语言调用方法、服务器及存储介质 |
CN110825537B (zh) * | 2019-11-04 | 2023-03-14 | 联思智云(北京)科技有限公司 | 基于c/s架构的远程应用的调用方法、装置和设备 |
CN111010438B (zh) * | 2019-12-13 | 2022-11-11 | 北京达佳互联信息技术有限公司 | 远程过程调用方法、装置、服务器及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098503A (zh) * | 2006-06-28 | 2008-01-02 | 华为技术有限公司 | 一种消息昵称个性化显示的方法和装置 |
CN101163140A (zh) * | 2006-10-09 | 2008-04-16 | 华为技术有限公司 | 一种内容获取的方法和服务器 |
CN101242370A (zh) * | 2008-03-18 | 2008-08-13 | 杭州华三通信技术有限公司 | 实现以太网与帧中继互联的方法与协议转换设备 |
CN101312404A (zh) * | 2007-05-24 | 2008-11-26 | 杭州华三通信技术有限公司 | 一种snmp消息的处理方法和处理设备 |
CN101697612A (zh) * | 2009-09-18 | 2010-04-21 | 宇龙计算机通信科技(深圳)有限公司 | 一种移动终端及其文件转换的方法 |
CN101702722A (zh) * | 2009-10-28 | 2010-05-05 | 北京中星微电子有限公司 | 融合多业务的多媒体系统以及控制方法 |
CN101938648A (zh) * | 2009-10-15 | 2011-01-05 | 北京暴风网际科技有限公司 | 一种媒体文件格式转换方法及系统 |
CN102262560A (zh) * | 2010-05-27 | 2011-11-30 | 阿里巴巴集团控股有限公司 | 一种远程服务的调用方法、装置及系统 |
CN102387143A (zh) * | 2011-10-21 | 2012-03-21 | 四川长虹电器股份有限公司 | 兼容upnp媒体服务的cifs服务器系统 |
CN102571726A (zh) * | 2010-12-23 | 2012-07-11 | 中国移动通信集团广东有限公司 | 多媒体数据共享的方法、系统及状态判定服务器 |
CN102769630A (zh) * | 2012-08-01 | 2012-11-07 | 烽火通信科技股份有限公司 | 一种终端管理中CWMP与UPnP协议的转换方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4401679B2 (ja) * | 2003-05-12 | 2010-01-20 | キヤノン株式会社 | 制御装置、制御プログラム、制御方法 |
-
2014
- 2014-07-31 CN CN201410374850.8A patent/CN105450589B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101098503A (zh) * | 2006-06-28 | 2008-01-02 | 华为技术有限公司 | 一种消息昵称个性化显示的方法和装置 |
CN101163140A (zh) * | 2006-10-09 | 2008-04-16 | 华为技术有限公司 | 一种内容获取的方法和服务器 |
CN101312404A (zh) * | 2007-05-24 | 2008-11-26 | 杭州华三通信技术有限公司 | 一种snmp消息的处理方法和处理设备 |
CN101242370A (zh) * | 2008-03-18 | 2008-08-13 | 杭州华三通信技术有限公司 | 实现以太网与帧中继互联的方法与协议转换设备 |
CN101697612A (zh) * | 2009-09-18 | 2010-04-21 | 宇龙计算机通信科技(深圳)有限公司 | 一种移动终端及其文件转换的方法 |
CN101938648A (zh) * | 2009-10-15 | 2011-01-05 | 北京暴风网际科技有限公司 | 一种媒体文件格式转换方法及系统 |
CN101702722A (zh) * | 2009-10-28 | 2010-05-05 | 北京中星微电子有限公司 | 融合多业务的多媒体系统以及控制方法 |
CN102262560A (zh) * | 2010-05-27 | 2011-11-30 | 阿里巴巴集团控股有限公司 | 一种远程服务的调用方法、装置及系统 |
CN102571726A (zh) * | 2010-12-23 | 2012-07-11 | 中国移动通信集团广东有限公司 | 多媒体数据共享的方法、系统及状态判定服务器 |
CN102387143A (zh) * | 2011-10-21 | 2012-03-21 | 四川长虹电器股份有限公司 | 兼容upnp媒体服务的cifs服务器系统 |
CN102769630A (zh) * | 2012-08-01 | 2012-11-07 | 烽火通信科技股份有限公司 | 一种终端管理中CWMP与UPnP协议的转换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105450589A (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106899680B (zh) | 多区块链的分片处理方法和装置 | |
CN105450589B (zh) | 远程调用方法及系统 | |
KR101543221B1 (ko) | 다중 사용자-다중 서비스 제공 방법, 장치 및 시스템 | |
CN104967650B (zh) | 第三方电商平台统一发布方法 | |
CN106464746B (zh) | 支持事件流处理系统中的故障转移的方法与非暂时性计算机可读媒体以及系统 | |
CN103209223B (zh) | 分布式应用会话信息共享方法、系统和应用服务器 | |
CN109863527A (zh) | 用于展现的本地内容的服务器侧渲染的方法和系统 | |
CN106713018A (zh) | 消息队列业务数据调度及消息队列的实现方法 | |
CN109739915B (zh) | 一种跨领域共享数据模型构建方法 | |
CN105450705B (zh) | 业务数据处理方法及设备 | |
CN110032451A (zh) | 分布式多语言消息实现方法、装置及服务器 | |
CN101421978A (zh) | 远程访问终端设备的设备管理系统 | |
CN106412034B (zh) | 业务处理方法及装置 | |
CN105117938A (zh) | 一种基于模型视图控制器的电商构架请求数据分析方法 | |
TW200532480A (en) | Dynamic late binding of third party on demand services in an on-demand infrastructure | |
CN101188625A (zh) | 一种实现资讯内容订阅的方法及系统 | |
US8020051B2 (en) | Message handling in a service-oriented architecture | |
CN103516579A (zh) | 提供离线消息的服务系统及相应的服务方法 | |
CN105208090A (zh) | 一种基于Zookeeper实现Leader选举的方法 | |
CN102255867A (zh) | 服务请求处理方法、装置及系统 | |
CN106603593A (zh) | 一种基于适配的http调用方法及装置 | |
CN106846115A (zh) | 用于数字视听场所线下资源自助预订的方法、系统以及数字娱乐点播系统 | |
CN109522139A (zh) | 一种数据表服务生成调用方法、装置、设备及存储介质 | |
CN109840094A (zh) | 一种数据库的部署方法、装置及存储设备 | |
CN101222451A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |