CN110399233A - 远程过程调用的处理方法及装置 - Google Patents

远程过程调用的处理方法及装置 Download PDF

Info

Publication number
CN110399233A
CN110399233A CN201910577382.7A CN201910577382A CN110399233A CN 110399233 A CN110399233 A CN 110399233A CN 201910577382 A CN201910577382 A CN 201910577382A CN 110399233 A CN110399233 A CN 110399233A
Authority
CN
China
Prior art keywords
service
gateway
class
remote procedure
application
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.)
Pending
Application number
CN201910577382.7A
Other languages
English (en)
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.)
Koubei Shanghai Information Technology Co Ltd
Original Assignee
Koubei Shanghai Information Technology 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 Koubei Shanghai Information Technology Co Ltd filed Critical Koubei Shanghai Information Technology Co Ltd
Priority to CN201910577382.7A priority Critical patent/CN110399233A/zh
Publication of CN110399233A publication Critical patent/CN110399233A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种远程过程调用的处理方法,包括:获得业务应用的实际业务对象;其中,所述实际业务对象包含远程过程调用接口函数;获得用于代理所述实际业务对象的服务代理对象,使用所述服务代理对象,以所述实际业务对象的数据为参数调用所述远程过程调用接口函数;根据针对所述远程过程调用接口函数的调用信息,获得网关业务类,向网关应用发送所述网关业务类;获得所述网关应用提供的使用第一远程过程调用协议封装的服务数据,其中,所述服务数据为针对所述网关业务类提供的数据;通过所述远程过程调用接口函数向所述业务应用提供所述服务数据。采用所述方法,解决了跨网络异构RPC协议数据通信问题。

Description

远程过程调用的处理方法及装置
技术领域
本申请涉及计算机技术领域,具体涉及远程过程调用的处理方法及装置。本申请还涉及一种针对应用程序的处理方法。
背景技术
随着网络技术的发展,业务应用程序跨网络向目标服务程序请求远程过程调用以获得服务数据的应用越来越多,其中,业务应用程序作为远程过程调用的调用发起方,目标服务程序作为服务提供方,双方通过网关应用程序使用RPC(Remote Procedure Call,远程过程调用)协议进行数据交互。由于业务应用程序和目标服务程序可能各自位于相互隔离的网络,并且双方可能各自采用不同的微服务通讯协议,因此业务应用程序向目标服务程序发起远程过程调用需要在业务应用程序和目标服务程序之间建立跨网络异构RPC协议数据通信的通道。例如,业务应用程序A支持私有RPC协议,私有RPC是一种面向终端设备的微服务RPC协议;目标服务程序支持hsf(High-Speed Service Framework,高速服务框架)微服务RPC协议;双方进行异构RPC协议数据通信连接。
现有技术中,在网络隔离的业务应用程序和目标服务程序之间进行异构RPC协议数据通信的场景中,调用发起方将数据组装成json对象,网关依赖调用发起方的业务jar包,在服务提供方的网关服务上需要部署groovy脚本,解析所述json对象,解析后再组装成服务提供方的RPC接口需要的对象,并在groovy脚本中调用服务提供方的RPC接口。由于每个RPC接口接入业务均需要编写动态groovy脚本,并且需要上传依赖包到网关,存在对接繁重问题以及引起包冲突的风险;另外,每个RPC接口接入业务也需要搭建新的项目测试环境,需要了解双方技术栈,不但增加了学习成本,还增加了机器资源需求,并且,由于项目测试环境可能不稳定,还会出现难以定位的问题。
因此,需要解决的问题是如何实现跨网络异构RPC协议数据通信,以提高远程过程调用的对接效率。
发明内容
本申请提供的远程过程调用的处理方法,提供高效的跨网络异构RPC协议数据通信方式,使得调用发起方不需要了解RPC通信底层细节,调用发起方和服务提供方之间的网关不需要依赖调用发起方的业务jar包,解决了跨网络异构RPC协议数据通信问题。
本申请提供一种远程过程调用的处理方法,包括:
获得业务应用的实际业务对象;其中,所述实际业务对象包含远程过程调用接口函数,所述远程过程调用接口函数用于使用第一远程过程调用协议进行远程过程调用;
获得用于代理所述实际业务对象的服务代理对象,使用所述服务代理对象,以所述实际业务对象的数据为参数调用所述远程过程调用接口函数;
根据针对所述远程过程调用接口函数的调用信息,获得网关业务类,向网关应用发送所述网关业务类;
获得所述网关应用提供的使用第一远程过程调用协议封装的服务数据,其中,所述服务数据为针对所述网关业务类提供的数据;
通过所述远程过程调用接口函数向所述业务应用提供所述服务数据。
可选的,还包括:加载网关开发工具包提供的代理类;
所述获得用于代理所述实际业务对象的服务代理对象,包括:使用网关开发工具包提供的代理类获得初始化的服务代理对象,作为用于代理所述实际业务对象的服务代理对象。
可选的,所述根据针对所述远程过程调用接口函数的调用信息,获得网关业务类,包括:使用所述服务代理对象对所述针对所述远程过程调用接口函数的调用信息进行数据反射处理,获得接口名称、方法名称、参数类型以及参数值中的至少一种数据;根据所述接口名称、所述方法名称、所述参数类型以及所述参数值中的至少一种数据生成网关业务类。
可选的,所述根据所述接口名称、所述方法名称、所述参数类型以及所述参数值中的至少一种数据生成网关业务类,包括:按照所述第一远程过程调用协议将所述至少一种数据组装为网关业务类。
可选的,还包括:针对所述网关业务类进行序列化处理,得到序列化后的网关业务类;
所述向网关应用发送所述网关业务类,包括:向网关应用发送所述序列化后的网关业务类。
可选的,所述针对所述网关业务类进行序列化处理,包括:将非json字符串格式的网关业务类转换为json字符串格式的网关业务类,或者,将json字符串格式的网关业务类转换为字节流格式的网关业务类。
可选的,所述序列化为将网关业务类的状态信息转换为可存储或可传输的形式。
可选的,所述网关应用提供的使用第一远程过程调用协议封装的服务数据为序列化后的服务数据;
所述方法还包括:对所述序列化后的服务数据进行反序列化处理;
所述通过所述远程过程调用接口函数向所述业务应用提供所述服务数据,包括:将所述反序列化后的服务数据转化为JAVA对象,将所述JAVA对象作为所述远程过程调用接口函数的返回结果,提供给所述业务应用。
本申请还提供一种远程过程调用的处理方法,包括:
获得业务应用提供的按照第一远程过程调用协议封装的第一网关业务类,其中,所述第一网关业务类包含针对远程过程调用的调用请求信息;
使用第二远程过程调用协议对所述第一网关业务类进行封装,得到第二网关业务类;
根据所述第二网关业务类泛化调用所述目标服务提供的远程过程调用服务,得到针对所述调用请求信息提供的服务数据;
使用第一远程过程调用协议封装所述服务数据,得到针对所述第一网关业务类的服务数据;
向所述业务应用提供所述针对所述第一网关业务类的服务数据。
可选的,所述使用第二远程过程调用协议对所述第一网关业务类进行封装,得到第二网关业务类,包括:按照第一远程过程调用协议解析所述第一网关业务类,得到所述调用请求信息;使用第二远程过程调用协议封装所述调用请求信息,得到所述第二网关业务类。
可选的,所述第一网关业务类为序列化处理后的网关业务类;
所述按照第一远程过程调用协议解析所述第一网关业务类,得到所述调用请求信息,包括:对所述第一网关业务类进行反序列化处理;
按照第一远程过程调用协议解析反序列处理后的第一网关业务类,得到所述远调用请求信息。
可选的,还包括:将所述得到的针对所述调用请求信息提供的服务数据进行序列化处理;
所述使用第一远程过程调用协议封装所述服务数据,包括:使用第一远程过程调用协议封装所述序列化处理后的服务数据。
本申请还提供一种远程过程调用的处理方法,包括:
第一网关应用获得业务应用提供的使用第一远程过程调用协议封装的第一网关业务类,其中,所述第一网关业务类包含针对远程过程调用的调用请求信息;
所述第一网关应用向第二网关应用提供所述第一网关业务类;
所述第二网关应用使用第二远程过程调用协议对所述第一网关业务类进行封装,得到第二网关业务类;
所述第二网关应用使用所述第二网关业务类泛化调用目标服务提供的远程过程调用服务,得到针对所述调用请求信息的服务数据,向第一网关应用提供所述服务数据。
可选的,还包括:第一网关应用对所述第一网关业务类进行加密,获得加密后的第一网关业务类;
所述向第二网关应用提供所述第一网关业务类,包括:向第二网关应用传输加密后的第一网关业务类;
所述第二网关应用使用第二远程过程调用协议对所述第一网关业务类进行封装,得到第二网关业务类,包括:第二网关应用针对加密后的第一网关业务类进行解密;根据解密后的第一网关业务类解析出所述调用请求信息,将所述调用请求信息封装为所述第二网关业务类。
可选的,还包括:将json字符串格式的第一网关业务类反序列化为字节流格式的网关业务类;
所述第二网关应用使用第二远程过程调用协议对所述第一网关业务类进行封装,得到第二网关业务类,包括:第二网关应用使用第二远程过程调用协议封装所述字节流格式的网关业务类。
可选的,还包括:第二网关应用针对所述服务数据进行加密;所述向第一网关应用提供所述服务数据,包括:向第一网关应用提供加密后的服务数据。
可选的,还包括:第二网关应用针对所述服务数据进行序列化;所述向第一网关应用提供所述服务数据,包括:向第一网关应用提供序列化后的服务数据。
本申请还提供一种针对应用程序的处理方法,包括:
接收针对网关开发工具包的导入触发,所述网关开发工具包包含用于生成服务代理对象的代理类,所述服务代理对象用于代理业务应用程序的实际业务对象,所述实际业务对象包含远程调用接口函数;
接收针对目标服务程序接口类库的导入触发,所述接口类库包含目标服务程序提供的接口类和业务模型;
根据所述代理类、所述目标服务程序提供的接口类和业务模型,生成用于提供远程过程调用功能的业务应用程序。
本申请还提供一种远程过程调用的处理装置,包括:
获得实际业务对象单元,用于获得业务应用的实际业务对象;其中,所述实际业务对象包含远程过程调用接口函数,所述远程过程调用接口函数用于使用第一远程过程调用协议进行远程过程调用;
获得代理对象单元,用于获得用于代理所述实际业务对象的服务代理对象,使用所述服务代理对象,以所述实际业务对象的数据为参数调用所述远程过程调用接口函数;
数据组装单元,用于根据针对所述远程过程调用接口函数的调用信息,获得网关业务类,向网关应用发送所述网关业务类;
获得服务数据单元,用于获得所述网关应用提供的使用第一远程过程调用协议封装的服务数据,其中,所述服务数据为针对所述网关业务类提供的数据;
提供服务数据单元,用于通过所述远程过程调用接口函数向所述业务应用提供所述服务数据。
本申请还提供一种远程过程调用的处理装置,包括:
获得第一网关业务类单元,用于获得业务应用提供的按照第一远程过程调用协议封装的第一网关业务类,其中,所述第一网关业务类包含针对远程过程调用的调用请求信息;
获得第二网关业务类单元,用于使用第二远程过程调用协议对所述第一网关业务类进行封装,得到第二网关业务类;
获得服务数据单元,用于根据所述第二网关业务类泛化调用所述目标服务提供的远程过程调用服务,得到针对所述调用请求信息提供的服务数据;
封装服务数据单元,用于获得使用第一远程过程调用协议封装所述服务数据,得到针对所述第一网关业务类的服务数据;
提供服务数据单元,用于向所述业务应用提供所述针对所述第一网关业务类的服务数据。
与现有技术相比,本申请具有以下优点:
本申请提供的一种远程过程调用的处理方法及装置,通过服务代理对象代理实际业务对象,调用实际业务对象提供的远程过程调用接口函数发起远程过程调用,将针对所述远程过程调用接口函数的调用信息组装为网关业务类,向网关应用提供所述网关业务类;获得网关应用提供的服务数据。由于网关应用代理处理RPC调用,因此,发起远程过程调用的业务应用和提供远程服务的目标服务可以使用不同的RPC协议,即使用异构RPC协议。网关应用处理异构RPC协议之间的协议转换。从而向业务应用屏蔽了RPC通信及协议转换的底层细节,解决了跨网络异构RPC协议数据通信的问题。
本申请提供的另一种远程过程调用的处理方法及装置,通过将按照第一远程过程调用协议封装的网关业务类,所述第一网关业务类包含针对远程过程调用的调用请求信息,使用第二远程过程调用协议封装为第二网关业务类,根据第二网关业务类泛化调用目标服务提供的远程过程调用服务,得到针对所述调用请求信息的服务数据,实现了异构RPC协议数据通信的协议转换,解决了跨网络异构RPC协议数据通信问题。
本申请提供的另一种远程过程调用的处理方法及装置,通过第一网关应用获得业务应用提供的使用第一远程过程调用协议封装的第一网关业务类,所述第一网关业务类包含针对远程过程调用的调用请求信息;将所述第一网关业务类提供给第二网关应用,由第二网关应用使用第二远程过程调用协议将所述第一网关业务类封装为第二网关业务类,根据第二网关业务类泛化调用目标服务提供的远程过程调用服务,得到针对所述调用请求信息的服务数据,实现了跨网络异构RPC协议数据通信。
本申请提供的一种针对应用程序的处理方法,通过将网关SDK(SoftwareDevelopment Kit,开发工具包)导入业务应用程序,将目标服务程序接口类库导入业务应用程序,使用网关SDK提供的代理类所述实际业务对象,以及使用目标服务程序提供的接口类和业务模型,生成用于提供远程过程调用功能的业务应用程序。使得开发人员不用关心异构RPC数据通信的底层细节以及协议转换,提高了业务开发效率。
附图说明
图1是本申请第一实施例提供的远程过程调用的一种网络环境示意图;
图2是本申请第一实施例提供的远程过程调用的另一种网络环境示意图;
图3是本申请第一实施例提供的远程过程调用的处理方法的处理流程图;
图4是本申请第一实施例提供的业务应用向目标服务通过网关应用进行远程过程调用的处理示意图;
图5是本申请第二实施例提供的远程过程调用的处理方法的处理流程图;
图6是本申请第三实施例提供的远程过程调用的处理方法的处理流程图;
图7是本申请第四实施例提供的针对应用程序的处理方法的处理流程图;
图8是本申请第五实施例提供的远程过程调用的处理装置示意图;
图9是本申请第六实施例提供的远程过程调用的处理装置示意图;
图10是本申请第七实施例提供的远程过程调用的处理装置示意图;
图11是本申请提供的电子设备示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请提供远程过程调用的处理方法、装置及电子设备。本申请还涉及一种针对应用程序的处理方法。在下面的实施例中逐一进行详细说明。
为便于理解,首先给出远程过程调用的相关概念以及进行远程过程调用的网络环境。
所谓远程过程调用(Remote Procedure Call,或RPC),是指业务应用通过网络从目标服务请求获得针对调用请求信息的服务数据的过程调用,即业务应用像调用本地服务一样调用远程服务,而不感知RPC底层通信协议。在RPC调用过程中,使用的数据交互协议为RPC协议。业务应用作为远程过程调用的调用发起方,目标服务作为服务提供方,双方通过网关应用进行数据交互,所述网关应用可以是API网关。由于业务应用和目标服务各自位于相互隔离的网络或者为不同的进程,并且双方可能采用不同的微服务通信协议,例如一侧为私有RPC,另一侧可以是hsf RPC,因此需要在业务应用和目标服务之间建立跨网络异构RPC协议数据通信通道。
请参考图1。图中示出了发生远程过程调用的一种网络环境示意图,业务应用101为发起RPC调用的调用发起方。网关应用102用于为在业务应用101和目标服务103之间进行的RPC调用提供数据通信通道。目标服务103为提供RPC服务数据的服务提供方。
请参考图2。图中示出了发生远程过程调用的另一种网络环境示意图,业务应用201为发起RPC调用的调用发起方;业务侧网关应用202用于对业务应用101发起的RPC调用进行接收处理,并发送给服务侧网关应用203,服务侧网关应用203进一步向目标服务204请求提供RPC服务数据。业务侧网关应用202和服务侧网关应用203之间为公网。
本申请第一实施例提供一种远程过程调用的处理方法,可以部署于发起远程过程调用的调用发起方,例如,部署于发起远程过程调用的业务应用,用于通过服务代理对象代理实际业务对象,通过调用所述实际对象的远程过程调用接口函数(RPC接口函数)发起远程过程调用,并进一步由网关应用代理RPC调用,实现跨网络异构RPC协议数据通信。
以下结合图3和图4对第一实施例提供的一种远程过程调用的处理方法进行说明。
图3所示的远程过程调用的处理方法,包括:步骤S301至步骤S305。
步骤S301,获得业务应用的实际业务对象;其中,所述实际业务对象包含远程过程调用接口函数,所述远程过程调用接口函数用于使用第一远程过程调用协议进行远程过程调用。
所述实际业务对象是指业务应用运行时加载实际业务类生成的用于实现目标功能的对象。所述实际业务对象通过服务代理对象调用远程的目标服务,获得目标服务提供的服务数据。
所述目标服务,运行在远程服务器端,提供服务的接口类和业务模型类,所述业务模型类为用于实现所述目标服务的服务实现类,所述接口类为目标服务对外提供的被业务应用调用的接口。实际应用中,业务应用还需要加载目标服务提供的包含接口类和业务模型的接口类库,实际业务对象通过接口类库调用所述远程服务。例如,在业务应用程序中导入目标服务程序提供的接口JAR包。
步骤S302,获得用于代理所述实际业务对象的服务代理对象,使用所述服务代理对象,以所述实际业务对象的数据为参数调用所述远程过程调用接口函数。
所述服务代理对象通过调用被代理对象的方法或接口函数实现对所述被代理对象的代理功能。所述实际业务对象可以被服务代理对象代理,即为被代理对象。所述服务代理对象代理所述实际业务对象的方式,可以是静态代理,也可以是动态代理。
本实施例中,还包括:加载网关开发工具包提供的代理类。具体的,生成业务应用程序代码时,导入了网关开发工具包(网关SDK)。在业务应用运行时,可以通过类加载器将所述代理类动态导入运行业务应用的JVM中。相应的,所述获得用于代理所述实际业务对象的服务代理对象,包括:使用网关开发工具包提供的代理类获得初始化的服务代理对象,作为用于代理所述实际业务对象的服务代理对象。
例如,实际业务对象为订单对象,服务代理对象代理所述订单对象。订单对象为业务应用加载时根据订单类生成的对象,包含订单属性以及查询订单接口函数,其中,查询订单接口函数为RPC接口函数(即远程过程调用接口函数),用于向远程的订单查询服务请求查询订单,实际查询到的订单数据由远程的订单查询服务提供。当业务应用运行中接收到查询订单的查询指令,例如,根据输入的关键字和查询范围查询订单,则将关键字和查询范围作为订单属性的值,通过服务代理对象调用订单对象的查询订单接口函数,向远程的订单查询服务发起远程过程调用。
步骤S303,根据针对所述远程过程调用接口函数的调用信息,获得网关业务类,向网关应用发送所述网关业务类。
本实施例中,将针对所述远程过程调用接口函数的调用信息,组装为网关业务类,将所述网关业务类提供给网关应用,由网关应用进行处理,向目标服务请求获得服务数据。具体包括:
使用所述服务代理对象对所述针对所述远程过程调用接口函数的调用信息进行数据反射处理,获得接口名称、方法名称、参数类型以及参数值中的至少一种数据;
根据所述接口名称、所述方法名称、所述参数类型以及所述参数值中的至少一种数据生成网关业务类。例如,将所述接口名称、所述方法名称、所述参数类型以及所述参数值组装为生成网关业务类。
本实施例的一个实施方式中包括:按照所述第一远程过程调用协议将所述至少一种数据组装为网关业务类。例如,使用私有RPC协议封装所述网关业务类。
本实施例的一个实施方式中,还针对所述网关业务类进行序列化处理,得到序列化后的网关业务类;向网关应用发送所述序列化后的网关业务类。其中,所述序列化为将网关业务类的状态信息转换为可存储或可传输的形式。例如,将非json字符串格式的网关业务类转换为json字符串格式的网关业务类。再如,将json字符串格式的网关业务类转换为字节流格式的网关业务类。
步骤S304,获得所述网关应用提供的使用第一远程过程调用协议封装的服务数据,其中,所述服务数据为针对所述网关业务类提供的数据。
本实施例中,在业务应用和网关应用之间使用第一远程过程调用协议进行数据交互。业务应用向网关应用发送的网关业务类,以及网关应用针对所述网关业务类返回的服务数据均以第一远程过程调用协议封装,例如私有RPC协议,或者,hsf RPC协议。
步骤S305,通过所述远程过程调用接口函数向所述业务应用提供所述服务数据。
本实施例中,具体包括:将所述服务数据转化为JAVA对象,将所述JAVA对象作为所述远程过程调用接口函数的返回结果,提供给所述业务应用,从而实现远程过程调用。
如果所述网关应用提供的使用第一远程过程调用协议封装的服务数据为序列化后的服务数据;则需要对所述序列化后的服务数据进行反序列化处理。进一步,将所述反序列化后的服务数据转化为JAVA对象,将所述JAVA对象作为所述远程过程调用接口函数的返回结果,提供给所述业务应用。
请参考图4,图中示出了业务应用A向目标服务C通过第一网关应用B以及第二网关应用D进行远程过程调用的示意图。图中,目标应用以及目标应用导入的网关SDK运行于一个实体,S401:引入网关SDK,S402:引入对方接口JAR包,S401与S402由业务应用运行时根据需要加载,或者业务应用程序代码生成时导入。
图中,S403至S407由网关SDK执行,其中,S403:使用网关SDK获得代理服务对象,用于代理实际业务对象;S404:代理服务对象使用实际业务对象的RPC接口函数发起tr RPC调用,tr RPC为一种私有RPC协议;S405:网关SDK反射数据并组装为网关业务类;S406:序列化网关业务类;S407:将序列化后的网关业务类发往第一网关应用B。
图中,S407-1至S407-3由第一网关应用B执行,其中,S407-1:将数据加密,例如,采用aes加密算法,加密后通过HTTPS协议发往第二网关应用D。S407-2:得到加密的服务数据。S407-3:对数据进行解密,解密后的服务数据发往业务应用,由业务应用导入的网关SDK进行S408至S410处理。
图中,S408:如果在对方得到服务数据后进行了序列化,则此步骤进行反序列化。S409:将服务数据转化为JAVA对象。S410:所述JAVA对象为私有RPC调用的返回结果,完成RPC调用。
图中,S411至S416为业务应用的对方运行,即目标服务侧的第二网关应用D执行。其中,S411:将接收到的第一网关应用通过HTTPS发送的数据进行解密。S412:由于在业务应用侧对数据进行了序列化处理,因此,本步骤进行反序列化处理。S413:组装为hsf协议数据。S414:泛化调用RPC服务接口,所谓泛化调用是指对数据进行通用处理,不感知数据所代表的业务。S415:得到RPC服务返回的数据。S414:对返回的服务数据进行加密,加密后通过HTTPS发送给第一网关应用B处理。
至此,对本实施例提供的远程过程调用的处理方法进行了详细说明,所述方法通过服务代理对象代理实际业务对象,调用实际业务对象提供的远程过程调用接口函数发起远程过程调用,将针对所述远程过程调用接口函数的调用信息组装为网关业务类,向网关应用提供所述网关业务类;获得网关应用提供的服务数据。由于网关应用代理处理RPC调用,因此,发起远程过程调用的业务应用和提供远程服务的目标服务可以使用不同的RPC协议,即使用异构RPC协议。网关应用处理异构RPC协议之间的协议转换。从而向所述业务应用屏蔽了RPC通信及协议转换的底层细节,解决了跨网络异构RPC协议数据通信的问题。
以上述实施例为基础,本申请第二实施例提供另一种远程过程调用的处理方法。
以下结合图5对第二实施例提供的远程过程调用的处理方法进行说明,相关部分请参见上述实施例对应部分的说明。
图5所示的远程过程调用的处理方法,包括:步骤S501至步骤S503。
步骤S501,获得业务应用提供的按照第一远程过程调用协议封装的第一网关业务类,其中,所述第一网关业务类包含针对远程过程调用的调用请求信息。
实际应用中,所述方法可以部署于如图1所示的网络环境中的网关应用。所述网关应用在业务应用和目标服务之间进行RPC协议转换,实现业务应用和目标服务各自支持不同RPC协议场景中的远程过程调用的对接。
本实施例中,所述针对远程过程调用的调用请求信息为业务应向目标发起的RPC调用请求信息,具体的,为业务应用使用第一远程过程调用协议发起的远程过程调用的调用请求信息,例如,使用私有RPC协议封装调用请求信息。
步骤S502,使用第二远程过程调用协议对所述第一网关业务类进行封装,得到第二网关业务类。
本实施例中,所述使用第二远程过程调用协议对所述第一网关业务类进行封装,得到第二网关业务类,包括:按照第一远程过程调用协议解析所述第一网关业务类,得到所述调用请求信息;使用第二远程过程调用协议封装所述调用请求信息,得到所述第二网关业务类。
如果在业务应用侧对第一网关业务类进行了序列化处理,向网关应用提供的是序列化处理后的网关业务类,则包括下述处理:对所述第一网关业务类进行反序列化处理;按照第一远程过程调用协议解析反序列处理后的第一网关业务类,得到所述远调用请求信息。
步骤S503,根据所述第二网关业务类泛化调用所述目标服务提供的远程过程调用服务,得到针对所述调用请求信息提供的服务数据。
本实施例中,目标服务不感知业务,通过泛化RPC接口提供RPC服务。所述第二网关业务类中封装了所述调用请求信息,所述目标服务针对所述调用请求信息,提供服务数据。
步骤S504,使用第一远程过程调用协议封装所述服务数据,得到针对所述第一网关业务类的服务数据。
本实施例中,还包括:将所述得到的针对所述调用请求信息提供的服务数据进行序列化处理;则使用第一远程过程调用协议封装所述序列化处理后的服务数据,向业务服务返回的服务数据为序列化数据。业务服务中导入的网关SDK需要对所述序列化数据进行反序列化处理。
步骤S505,向所述业务应用提供所述针对所述第一网关业务类的服务数据。
本实施例中,网关应用根据业务应用与网关应用之间的RPC协议返回针对第一网关业务类的服务数据。具体由业务应用导入的网关SDK与网关应用之间进行数据传输。
以上述实施例为基础,本申请第三实施例提供另一种远程过程调用的处理方法。
以下结合图6对第三实施例提供的远程过程调用的处理方法进行说明,相关部分请参见上述实施例对应部分的说明。
图6所示的远程过程调用的处理方法,包括:步骤S601至步骤S604。
步骤S601,第一网关应用获得业务应用提供的使用第一远程过程调用协议封装的第一网关业务类,其中,所述第一网关业务类包含针对远程过程调用的调用请求信息。
实际应用中,所述方法可以部署于如图2所示的网络环境。所述第一网关应用为业务应用侧的网关;所述第二网关应用为目标服务侧的网关。所述第一网关应用和所述第二网关应用之间可以通过公网传输数据,可以使用HTTP或HTTPS等协议进行数据交互。所述第一网关应用和业务应用之间通过第一远程过程调用协议传输RPC调用相关的数据;所述第二网关应用和目标服务之间通过第二远程过程调用协议传输RPC调用相关的数据。所述第一远程过程调用协议与所述第二远程过程调用协议可以是不同的RPC协议,即互为异构RPC协议。
本实施例中,所述业务应用的调用请求信息发往第一网关应用。
步骤S602,所述第一网关应用向第二网关应用提供所述第一网关业务类。
本实施例中,所述第一网关应用和所述第二网关应用之间通过公网传输数据,可以使用HTTP或HTTPS等协议进行数据交互。
本实施例的一个实施方式中,还包括:第一网关应用对所述第一网关业务类进行加密,获得加密后的第一网关业务类;
所述向第二网关应用提供所述第一网关业务类,包括:向第二网关应用传输加密后的第一网关业务类;则第二网关应用需要应用针对加密后的第一网关业务类进行解密。
步骤S603,所述第二网关应用使用第二远程过程调用协议对所述第一网关业务类进行封装,得到第二网关业务类。
本实施例中,第二网关应用也需要能解析第一远程过程调用协议,从第一网关业务类解析出所述调用请求信息,将所述调用请求信息封装为所述第二网关业务类。如果第一网关业务类为加密数据,则需要先解密,根据解密后的第一网关业务类解析出所述调用请求信息,将所述调用请求信息封装为所述第二网关业务类。
本实施例中,所述第一网关业务类为序列化处理得到的json字符串格式的数据。则第二网关应用还需要将第一网关业务类反序列化为字节流格式的网关业务类;使用第二远程过程调用协议封装所述字节流格式的网关业务类。
步骤S604,所述第二网关应用使用所述第二网关业务类泛化调用目标服务提供的远程过程调用服务,得到针对所述调用请求信息的服务数据,向第一网关应用提供所述服务数据。
本实施例中,还包括:第二网关应用针对所述服务数据进行加密;所述向第一网关应用提供所述服务数据,包括:向第一网关应用提供加密后的服务数据。
本实施例的一个实施方式中,还包括:第二网关应用针对所述服务数据进行序列化;所述向第一网关应用提供所述服务数据,包括:向第一网关应用提供序列化后的服务数据。
以上述实施例为基础,本申请第四实施例提供一种针对应用程序的处理方法。以下结合图7对第四实施例提供的方法进行说明,相关部分请参见上述实施例对应部分的说明。
图7所示的针对应用程序的处理方法,包括:步骤S701至步骤S703。
步骤S701,接收针对网关开发工具包的导入触发,所述网关开发工具包包含用于生成服务代理对象的代理类,所述服务代理对象用于代理业务应用程序的实际业务对象,所述实际业务对象包含远程调用接口函数。
所述网关开发工具包,是指用于提供业务应用与网关应用进行数据交互的接口类,例如,在远程过程调用场景中使用的网关业务类。所述方法为生成业务应用程序的方法。采用所述方法得到的业务应用程序,由于引入了网关SDK,因此与网关应用进行数据交互时,网关应用侧不需要依赖业务应用(即远程过程调用的调用发起方)的业务jar包,能够解析网关业务类获得调用请求信息。因此,RPC调用对接简单,不需要了解对方技术栈。
本实施例中,业务应用程序运行时根据需要加载代理类,生成服务代理对象。
步骤S702,接收针对目标服务程序接口类库的导入触发,所述接口类库包含目标服务程序提供的接口类和业务模型。
所述目标服务程序,是指包含用于提供远程调用服务的服务实现类的程序,运行于服务器端。所述目标服务程序包括服务的接口类和业务模型类,所述业务模型类为用于实现所述目标服务的服务实现类,所述接口类为目标服务对外提供的被业务应用调用的接口。
实际应用中,业务应用程序需要引入目标服务程序提供的包含接口类和业务模型的接口类库,实际业务对象通过接口类库调用远程服务。所述接口类库可以是目标服务程序提供的接口JAR包。
步骤S703,根据所述代理类、所述目标服务程序提供的接口类和业务模型,生成用于提供远程过程调用功能的业务应用程序。
本实施例中,根据实现远程过程调用功能的业务逻辑,使用所述代理类、所述目标服务程序提供的接口类和业务模型,生成所述业务应用程序。所述业务应用程序被执行,运行时称为业务应用。
与第一实施例对应,本申请第五实施例提供一种远程过程调用的处理装置。以下结合图8对第五实施例提供的装置进行说明。
图8所示的远程过程调用的处理装置,包括:
获得实际业务对象单元801,用于获得业务应用的实际业务对象;其中,所述实际业务对象包含远程过程调用接口函数,所述远程过程调用接口函数用于使用第一远程过程调用协议进行远程过程调用;
获得代理对象单元802,用于获得用于代理所述实际业务对象的服务代理对象,使用所述服务代理对象,以所述实际业务对象的数据为参数调用所述远程过程调用接口函数;
数据组装单元803,用于根据针对所述远程过程调用接口函数的调用信息,获得网关业务类,向网关应用发送所述网关业务类;
获得服务数据单元804,用于获得所述网关应用提供的使用第一远程过程调用协议封装的服务数据,其中,所述服务数据为针对所述网关业务类提供的数据;
提供服务数据单元805,用于通过所述远程过程调用接口函数向所述业务应用提供所述服务数据。
可选的,所述装置还包括加载单元,所述加载单元用于:加载网关开发工具包提供的代理类;相应的,所述获得代理对象单元802具体用于:使用网关开发工具包提供的代理类获得初始化的服务代理对象,作为用于代理所述实际业务对象的服务代理对象。
可选的,所述数据组装单元803具体用于:使用所述服务代理对象对所述针对所述远程过程调用接口函数的调用信息进行数据反射处理,获得接口名称、方法名称、参数类型以及参数值中的至少一种数据;根据所述接口名称、所述方法名称、所述参数类型以及所述参数值中的至少一种数据生成网关业务类。
可选的,所述数据组装单元803具体用于:按照所述第一远程过程调用协议将所述至少一种数据组装为网关业务类。
可选的,所述数据组装单元803还用于:针对所述网关业务类进行序列化处理,得到序列化后的网关业务类;向网关应用发送所述序列化后的网关业务类。
可选的,所述装置还包括序列化单元,所述序列化单元用于:将非json字符串格式的网关业务类转换为json字符串格式的网关业务类,或者,将json字符串格式的网关业务类转换为字节流格式的网关业务类。
可选的,所述序列化为将网关业务类的状态信息转换为可存储或可传输的形式。
可选的,所述网关应用提供的使用第一远程过程调用协议封装的服务数据为序列化后的服务数据;
提供服务数据单元805还用于:对所述序列化后的服务数据进行反序列化处理;将所述反序列化后的服务数据转化为JAVA对象,将所述JAVA对象作为所述远程过程调用接口函数的返回结果,提供给所述业务应用。
与第二实施例对应,本申请第六实施例提供一种远程过程调用的处理装置。以下结合图9对第六实施例提供的装置进行说明。
图9所示的远程过程调用的处理装置,包括:
获得第一网关业务类单元901,用于获得业务应用提供的按照第一远程过程调用协议封装的第一网关业务类,其中,所述第一网关业务类包含针对远程过程调用的调用请求信息;
获得第二网关业务类单元902,用于使用第二远程过程调用协议对所述第一网关业务类进行封装,得到第二网关业务类;
获得服务数据单元903,用于根据所述第二网关业务类泛化调用所述目标服务提供的远程过程调用服务,得到针对所述调用请求信息提供的服务数据;
封装服务数据单元904,用于获得使用第一远程过程调用协议封装所述服务数据,得到针对所述第一网关业务类的服务数据;
提供服务数据单元905,用于向所述业务应用提供所述针对所述第一网关业务类的服务数据。
可选的,所述获得第二网关业务类单元902具体用于:按照第一远程过程调用协议解析所述第一网关业务类,得到所述调用请求信息;使用第二远程过程调用协议封装所述调用请求信息,得到所述第二网关业务类。
可选的,所述第一网关业务类为序列化处理后的网关业务类;
所述获得第二网关业务类单元902还用于:对所述第一网关业务类进行反序列化处理;按照第一远程过程调用协议解析反序列处理后的第一网关业务类,得到所述远调用请求信息。
可选的,所述封装服务数据单元904还用于:将所述得到的针对所述调用请求信息提供的服务数据进行序列化处理;使用第一远程过程调用协议封装所述序列化处理后的服务数据。
与第三实施例对应,本申请第七实施例提供一种远程过程调用的处理装置。以下结合图10对第七实施例提供的装置进行说明。
图10所示的远程过程调用的处理装置,包括:
第一网关应用单元1001,用于获得业务应用提供的使用第一远程过程调用协议封装的第一网关业务类,其中,所述第一网关业务类包含针对远程过程调用的调用请求信息;向第二网关应用提供所述第一网关业务类;
第二网关应用单元1002,用于使用第二远程过程调用协议对所述第一网关业务类进行封装,得到第二网关业务类;使用所述第二网关业务类泛化调用目标服务提供的远程过程调用服务,得到针对所述调用请求信息的服务数据,向第一网关应用提供所述服务数据。
可选的,所述第一网关应用单元,还用于:对所述第一网关业务类进行加密,获得加密后的第一网关业务类;向第二网关应用传输加密后的第一网关业务类;
所述第二网关应用单元1002,用于针对加密后的第一网关业务类进行解密;根据解密后的第一网关业务类解析出所述调用请求信息,将所述调用请求信息封装为所述第二网关业务类。
可选的,所述第二网关应用单元1002,还用于:将json字符串格式的第一网关业务类反序列化为字节流格式的网关业务类;使用第二远程过程调用协议封装所述字节流格式的网关业务类。
可选的,所述第二网关应用单元,还用于:针对所述服务数据进行加密;向第一网关应用提供加密后的服务数据。
可选的,所述第二网关应用单元,还用于:针对所述服务数据进行序列化;向第一网关应用提供序列化后的服务数据。
与第一实施例相对应,本申请第八实施例提供一种用于远程过程调用的处理方法的电子设备。图11为所述电子设备的示意图。
图11所示的电子设备,包括:存储器1101,以及处理器1102;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
获得业务应用的实际业务对象;其中,所述实际业务对象包含远程过程调用接口函数,所述远程过程调用接口函数用于使用第一远程过程调用协议进行远程过程调用;
获得用于代理所述实际业务对象的服务代理对象,使用所述服务代理对象,以所述实际业务对象的数据为参数调用所述远程过程调用接口函数;
根据针对所述远程过程调用接口函数的调用信息,获得网关业务类,向网关应用发送所述网关业务类;
获得所述网关应用提供的使用第一远程过程调用协议封装的服务数据,其中,所述服务数据为针对所述网关业务类提供的数据;
通过所述远程过程调用接口函数向所述业务应用提供所述服务数据。
可选的,所述处理器还用于执行下述计算机可执行指令:加载网关开发工具包提供的代理类;使用网关开发工具包提供的代理类获得初始化的服务代理对象,作为用于代理所述实际业务对象的服务代理对象。
可选的,所述处理器还用于执行下述计算机可执行指令:使用所述服务代理对象对所述针对所述远程过程调用接口函数的调用信息进行数据反射处理,获得接口名称、方法名称、参数类型以及参数值中的至少一种数据;根据所述接口名称、所述方法名称、所述参数类型以及所述参数值中的至少一种数据生成网关业务类。
可选的,所述处理器还用于执行下述计算机可执行指令:按照所述第一远程过程调用协议将所述至少一种数据组装为网关业务类。
可选的,所述处理器还用于执行下述计算机可执行指令:针对所述网关业务类进行序列化处理,得到序列化后的网关业务类;向网关应用发送所述序列化后的网关业务类。
可选的,所述处理器还用于执行下述计算机可执行指令:将非json字符串格式的网关业务类转换为json字符串格式的网关业务类,或者,将json字符串格式的网关业务类转换为字节流格式的网关业务类。
可选的,所述序列化为将网关业务类的状态信息转换为可存储或可传输的形式。
可选的,所述网关应用提供的使用第一远程过程调用协议封装的服务数据为序列化后的服务数据;所述处理器还用于执行下述计算机可执行指令:对所述序列化后的服务数据进行反序列化处理;将所述反序列化后的服务数据转化为JAVA对象,将所述JAVA对象作为所述远程过程调用接口函数的返回结果,提供给所述业务应用。
与第二实施例相对应,本申请第九实施例提供一种用于远程过程调用的处理方法的电子设备。所述电子设备的示意图类似图11。
第九实施例提供的电子设备,包括:存储器,以及处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
获得业务应用提供的按照第一远程过程调用协议封装的第一网关业务类,其中,所述第一网关业务类包含针对远程过程调用的调用请求信息;
使用第二远程过程调用协议对所述第一网关业务类进行封装,得到第二网关业务类;
根据所述第二网关业务类泛化调用所述目标服务提供的远程过程调用服务,得到针对所述调用请求信息提供的服务数据;
使用第一远程过程调用协议封装所述服务数据,得到针对所述第一网关业务类的服务数据;
向所述业务应用提供所述针对所述第一网关业务类的服务数据。
可选的,所述处理器还用于执行下述计算机可执行指令:按照第一远程过程调用协议解析所述第一网关业务类,得到所述调用请求信息;使用第二远程过程调用协议封装所述调用请求信息,得到所述第二网关业务类。
可选的,所述第一网关业务类为序列化处理后的网关业务类;可选的,所述处理器还用于执行下述计算机可执行指令:对所述第一网关业务类进行反序列化处理;按照第一远程过程调用协议解析反序列处理后的第一网关业务类,得到所述远调用请求信息。
可选的,所述处理器还用于执行下述计算机可执行指令:将所述得到的针对所述调用请求信息提供的服务数据进行序列化处理;使用第一远程过程调用协议封装所述序列化处理后的服务数据。
与第三实施例相对应,本申请第十实施例提供一种用于远程过程调用的处理方法的电子设备。所述电子设备的示意图类似图11。
第十实施例提供的电子设备,包括:存储器,以及处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
第一网关应用获得业务应用提供的使用第一远程过程调用协议封装的第一网关业务类,其中,所述第一网关业务类包含针对远程过程调用的调用请求信息;
所述第一网关应用向第二网关应用提供所述第一网关业务类;
所述第二网关应用使用第二远程过程调用协议对所述第一网关业务类进行封装,得到第二网关业务类;
所述第二网关应用使用所述第二网关业务类泛化调用目标服务提供的远程过程调用服务,得到针对所述调用请求信息的服务数据,向第一网关应用提供所述服务数据。
可选的,所述处理器还用于执行下述计算机可执行指令:第一网关应用对所述第一网关业务类进行加密,获得加密后的第一网关业务类;向第二网关应用传输加密后的第一网关业务类;
第二网关应用针对加密后的第一网关业务类进行解密;根据解密后的第一网关业务类解析出所述调用请求信息,将所述调用请求信息封装为所述第二网关业务类。
可选的,所述处理器还用于执行下述计算机可执行指令:将json字符串格式的第一网关业务类反序列化为字节流格式的网关业务类;第二网关应用使用第二远程过程调用协议封装所述字节流格式的网关业务类。
可选的,所述处理器还用于执行下述计算机可执行指令:向第一网关应用提供加密后的服务数据。
可选的,所述处理器还用于执行下述计算机可执行指令:第二网关应用针对所述服务数据进行序列化;向第一网关应用提供序列化后的服务数据。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

Claims (10)

1.一种远程过程调用的处理方法,其特征在于,包括:
获得业务应用的实际业务对象;其中,所述实际业务对象包含远程过程调用接口函数,所述远程过程调用接口函数用于使用第一远程过程调用协议进行远程过程调用;
获得用于代理所述实际业务对象的服务代理对象,使用所述服务代理对象,以所述实际业务对象的数据为参数调用所述远程过程调用接口函数;
根据针对所述远程过程调用接口函数的调用信息,获得网关业务类,向网关应用发送所述网关业务类;
获得所述网关应用提供的使用第一远程过程调用协议封装的服务数据,其中,所述服务数据为针对所述网关业务类提供的数据;
通过所述远程过程调用接口函数向所述业务应用提供所述服务数据。
2.根据权利要求1所述的方法,其特征在于,还包括:加载网关开发工具包提供的代理类;
所述获得用于代理所述实际业务对象的服务代理对象,包括:使用网关开发工具包提供的代理类获得初始化的服务代理对象,作为用于代理所述实际业务对象的服务代理对象。
3.根据权利要求1所述的方法,其特征在于,所述根据针对所述远程过程调用接口函数的调用信息,获得网关业务类,包括:
使用所述服务代理对象对所述针对所述远程过程调用接口函数的调用信息进行数据反射处理,获得接口名称、方法名称、参数类型以及参数值中的至少一种数据;
根据所述接口名称、所述方法名称、所述参数类型以及所述参数值中的至少一种数据生成网关业务类。
4.根据权利要求3所述的方法,其特征在于,所述根据所述接口名称、所述方法名称、所述参数类型以及所述参数值中的至少一种数据生成网关业务类,包括:按照所述第一远程过程调用协议将所述至少一种数据组装为网关业务类。
5.根据权利要求1所述的方法,其特征在于,还包括:针对所述网关业务类进行序列化处理,得到序列化后的网关业务类;
所述向网关应用发送所述网关业务类,包括:向网关应用发送所述序列化后的网关业务类。
6.根据权利要求5所述的方法,其特征在于,所述针对所述网关业务类进行序列化处理,包括:将非json字符串格式的网关业务类转换为json字符串格式的网关业务类,或者,将json字符串格式的网关业务类转换为字节流格式的网关业务类。
7.根据权利要求5所述的方法,其特征在于,所述序列化为将网关业务类的状态信息转换为可存储或可传输的形式。
8.一种远程过程调用的处理方法,其特征在于,包括:
获得业务应用提供的按照第一远程过程调用协议封装的第一网关业务类,其中,所述第一网关业务类包含针对远程过程调用的调用请求信息;
使用第二远程过程调用协议对所述第一网关业务类进行封装,得到第二网关业务类;
根据所述第二网关业务类泛化调用所述目标服务提供的远程过程调用服务,得到针对所述调用请求信息提供的服务数据;
使用第一远程过程调用协议封装所述服务数据,得到针对所述第一网关业务类的服务数据;
向所述业务应用提供所述针对所述第一网关业务类的服务数据。
9.一种远程过程调用的处理方法,其特征在于,包括:
第一网关应用获得业务应用提供的使用第一远程过程调用协议封装的第一网关业务类,其中,所述第一网关业务类包含针对远程过程调用的调用请求信息;
所述第一网关应用向第二网关应用提供所述第一网关业务类;
所述第二网关应用使用第二远程过程调用协议对所述第一网关业务类进行封装,得到第二网关业务类;
所述第二网关应用使用所述第二网关业务类泛化调用目标服务提供的远程过程调用服务,得到针对所述调用请求信息的服务数据,向第一网关应用提供所述服务数据。
10.一种针对应用程序的处理方法,其特征在于,包括:
接收针对网关开发工具包的导入触发,所述网关开发工具包包含用于生成服务代理对象的代理类,所述服务代理对象用于代理业务应用程序的实际业务对象,所述实际业务对象包含远程调用接口函数;
接收针对目标服务程序接口类库的导入触发,所述接口类库包含目标服务程序提供的接口类和业务模型;
根据所述代理类、所述目标服务程序提供的接口类和业务模型,生成用于提供远程过程调用功能的业务应用程序。
CN201910577382.7A 2019-06-28 2019-06-28 远程过程调用的处理方法及装置 Pending CN110399233A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910577382.7A CN110399233A (zh) 2019-06-28 2019-06-28 远程过程调用的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910577382.7A CN110399233A (zh) 2019-06-28 2019-06-28 远程过程调用的处理方法及装置

Publications (1)

Publication Number Publication Date
CN110399233A true CN110399233A (zh) 2019-11-01

Family

ID=68323937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910577382.7A Pending CN110399233A (zh) 2019-06-28 2019-06-28 远程过程调用的处理方法及装置

Country Status (1)

Country Link
CN (1) CN110399233A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209122A (zh) * 2019-12-24 2020-05-29 广州华多网络科技有限公司 接口调用方法、装置、电子设备及存储介质
CN111414261A (zh) * 2020-03-18 2020-07-14 政采云有限公司 一种分布式系统的跨网络调用方法、装置及相关组件
CN111865900A (zh) * 2020-06-03 2020-10-30 中邮消费金融有限公司 基于rpc协议的跨网络区域代理访问方法及系统
CN111917737A (zh) * 2020-07-14 2020-11-10 北京明略软件系统有限公司 一种跨网rpc调用系统及方法
CN112035276A (zh) * 2020-08-06 2020-12-04 上海视云网络科技有限公司 一种基于java的跨平台可扩展的RPC框架设计方法
CN112181681A (zh) * 2020-09-17 2021-01-05 彩讯科技股份有限公司 一种远程调用方法、装置、计算机设备及存储介质
CN112215501A (zh) * 2020-10-15 2021-01-12 拉扎斯网络科技(上海)有限公司 一种问题排查流程数据的生成方法及装置
CN112367383A (zh) * 2020-10-30 2021-02-12 深圳云之家网络有限公司 服务调用方法及相关设备
CN112788003A (zh) * 2020-12-28 2021-05-11 浪潮通用软件有限公司 一种基于微服务架构的rpc通信方法及设备
CN113590187A (zh) * 2021-07-13 2021-11-02 青岛海尔科技有限公司 用于获取代码的方法及装置、电子设备
CN114448686A (zh) * 2022-01-14 2022-05-06 武汉三江中电科技有限责任公司 一种基于微服务的跨网络通信装置与方法
CN114978743A (zh) * 2022-06-08 2022-08-30 杭州指令集智能科技有限公司 一种跨网络段的服务通信系统
CN115515169A (zh) * 2022-11-22 2022-12-23 天津通信广播集团有限公司 一种工业数据采集网关的数据转发方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989356A (zh) * 2018-09-10 2018-12-11 四川长虹电器股份有限公司 一种api网关实现协议转换的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989356A (zh) * 2018-09-10 2018-12-11 四川长虹电器股份有限公司 一种api网关实现协议转换的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SAMYANG1: "深入理解 RPC 交互流程", 《CSND》 *
这瓜保熟么: "RPC原理--动态代理", 《CSDN》 *
高传善、毛迪林、曹袖编著: "《数据通信与计算机网络》", 31 December 2005 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209122A (zh) * 2019-12-24 2020-05-29 广州华多网络科技有限公司 接口调用方法、装置、电子设备及存储介质
CN111414261B (zh) * 2020-03-18 2023-08-22 政采云有限公司 一种分布式系统的跨网络调用方法、装置及相关组件
CN111414261A (zh) * 2020-03-18 2020-07-14 政采云有限公司 一种分布式系统的跨网络调用方法、装置及相关组件
CN111865900A (zh) * 2020-06-03 2020-10-30 中邮消费金融有限公司 基于rpc协议的跨网络区域代理访问方法及系统
CN111865900B (zh) * 2020-06-03 2021-06-29 中邮消费金融有限公司 基于rpc协议的跨网络区域代理访问方法及系统
CN111917737A (zh) * 2020-07-14 2020-11-10 北京明略软件系统有限公司 一种跨网rpc调用系统及方法
CN112035276A (zh) * 2020-08-06 2020-12-04 上海视云网络科技有限公司 一种基于java的跨平台可扩展的RPC框架设计方法
CN112181681A (zh) * 2020-09-17 2021-01-05 彩讯科技股份有限公司 一种远程调用方法、装置、计算机设备及存储介质
CN112215501A (zh) * 2020-10-15 2021-01-12 拉扎斯网络科技(上海)有限公司 一种问题排查流程数据的生成方法及装置
CN112367383A (zh) * 2020-10-30 2021-02-12 深圳云之家网络有限公司 服务调用方法及相关设备
CN112788003A (zh) * 2020-12-28 2021-05-11 浪潮通用软件有限公司 一种基于微服务架构的rpc通信方法及设备
CN113590187A (zh) * 2021-07-13 2021-11-02 青岛海尔科技有限公司 用于获取代码的方法及装置、电子设备
CN113590187B (zh) * 2021-07-13 2023-11-17 青岛海尔科技有限公司 用于获取代码的方法及装置、电子设备
CN114448686A (zh) * 2022-01-14 2022-05-06 武汉三江中电科技有限责任公司 一种基于微服务的跨网络通信装置与方法
CN114448686B (zh) * 2022-01-14 2024-01-05 武汉三江中电科技有限责任公司 一种基于微服务的跨网络通信装置与方法
CN114978743A (zh) * 2022-06-08 2022-08-30 杭州指令集智能科技有限公司 一种跨网络段的服务通信系统
CN114978743B (zh) * 2022-06-08 2023-07-18 杭州指令集智能科技有限公司 一种跨网络段的服务通信系统
CN115515169A (zh) * 2022-11-22 2022-12-23 天津通信广播集团有限公司 一种工业数据采集网关的数据转发方法

Similar Documents

Publication Publication Date Title
CN110399233A (zh) 远程过程调用的处理方法及装置
US11882195B2 (en) Systems and methods for enabling access to third party services via a service layer
Kovatsch et al. Actinium: A restful runtime container for scriptable internet of things applications
CN103747004A (zh) 物联网平台通信协议的实现方法
CN110489323A (zh) 可视化的rpc api调试方法、装置、介质和设备
CN111818166A (zh) 采用http协议代理数据库协议的通信中间件的实现方法
US20210297318A1 (en) State machine emulation using domain-specific language constructs
JP2023543831A (ja) マイクロサービスベースのサービスメッシュシステムおよびサービス指向アーキテクチャ管理方法
KR102094041B1 (ko) IoT 단말 간 실시간으로 자율적인 상호작용을 위한 RDF 그래프 기반의 Semantic 엔진을 구비한 시스템
CN112965739B (zh) 前端http请求处理方法、装置及系统
CN105335174B (zh) 一种非OSGi的Java应用程序调用OSGi服务的方法及装置
US11354491B1 (en) Systems and methods for improved data modeling and translation
Limosani et al. Connecting ROS and FIWARE: Concepts and tutorial
CN110620819B (zh) 区块链交互方法、装置、计算机设备及可读存储介质
CN117176633A (zh) 一种总线跨设备通信方法、装置、设备及存储介质
US20200162410A1 (en) Management of messaging in heterogeneous iot / iiot messaging environments
CN109005250A (zh) 用于访问服务端的方法和装置
Westphall et al. Coap+ dtls: A comprehensive overview of cryptographic performance on an iot scenario
Burns Hands-On Network Programming with C# and. NET Core: Build robust network applications with C# and. NET Core
CN110532115B (zh) 用于开发智能合约的系统、方法和装置
Caiazza Application-level security for robotic networks
Schmidt et al. SoapME: a lightweight Java ME web service container
Piron Master thesis: Implementation and Evaluation of LISP Publish/Subscribe Functionality in NS3
Becker et al. Snout: A middleware platform for software-defined radios
KR101672818B1 (ko) 이종 응용프로토콜 통신을 위한 인터페이스 구성 방법 및 장치

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191101