一种过程调用gRPC的调用方法及装置制造方法及图纸

技术编号:22166395 阅读:29 留言:0更新日期:2019-09-21 10:21
本申请提供一种过程调用gRPC的调用方法及装置,用于提高编程者的开发效率。包括:接收编程者输入的上下文信息,建立调用上下文类;其中,所述上下文信息为为实现gRPC的调用而设置的信息;接收所述编程者输入的调用方式;根据与所述调用方式对应的调用上下文类初始化调用模板,通过所述调用模板中包括的调用函数实现gRPC的调用。

A Calling Method and Device for Procedure Call gRPC

【技术实现步骤摘要】
一种过程调用gRPC的调用方法及装置
本申请涉及计算机
,也可以运用在金融科技(Fintech)领域,尤其涉及一种过程调用gRPC的调用方法及装置。
技术介绍
在远程过程调用(RemoteProcedureCall,RPC)框架中,客户端可以像调用本地对象一样直接调用位于不同机器的服务端方法,如此可以方便的创建一些分布式的应用服务。gRPCJava是gRPC官方使用Java的一个实现,一个典型的RPC交互过程如下:客户端创建连接,然后在客户端创建存根类stub,接着在客户端执行逻辑,客户端等待服务端处理完请求;服务端接收到请求后接着处理请求,在服务端处理完毕后,则将结果返回至客户端;对应的客户端等待完成,接收服务端返回的结果,在接收到返回的结果后,客户端对接收到的返回结果进行处理,处理完成后,服务端与客户端的交互结束。为了使用gRPCJava,编程者需要处理上述所有步骤中涉及的细节问题,而其中的一些细节,例如数据同步、连接建立等与编程者编写的核心逻辑是没有什么关系的,而这些繁琐的细节增加了编程者的开发时长。
技术实现思路
本申请实施例提供一种过程调用gRPC的调用方法及装置,用于简化gRPC的调用的过程,提高开发人员的发开效率。第一方面,本申请提供了一种过程调用gRPC的调用方法,包括:接收编程者输入的上下文信息,建立调用上下文类;其中,所述上下文信息为为实现gRPC的调用而设置的信息;接收所述编程者输入的调用方式;根据与所述调用方式对应的调用上下文类初始化调用模板,通过所述调用模板中包括的调用函数实现gRPC的调用。在本申请实施例中,根据编程者输入的调用方式及与该调用方式对应的调用上下文类初始化调用模板,则可以通过调用模板中的调用函数实现gRPC的调用,相较于现有技术中的调用交互过程,简化了编程者的操作,从而能够提高开发效率。在一个可能的设计中,所述调用方式为第一调用方式或第二调用方式中的一种;其中,所述第一调用方式是客户端向服务端传输数据的数据量大于所述服务端向所述客户端传输数据的数据量的方式;所述第二调用方式是所述服务端向所述客户端传输数据的数据量大于所述客户端向所述服务端传输数据的数据量的方式。在本申请实施例中,是将现有技术中gRPC的四种调用方式归类为本申请中的第一调用方式和第二调用方式,从而能够简化gRPC调用过程,提高编程者的开发效率。在一个可能的设计中,在所述调用方式是所述第一调用方式时,所述方法还包括:向所述服务端发送调用请求;其中,所述调用请求用于请求向所述服务端上传数据;在接收到所述服务端发送的响应消息时,以流的方式向所述服务端发送数据;在上传数据完毕后,向所述服务端发送结束请求;其中,所述结束请求用于请求所述服务端结束调用。在本申请实施例中,第一调用方式中主要发数据的一方是客户端。而在gRPC-java中,流量控制主要是收数据的一方向发数据的一方提供接收方的当前状态,发数据的一方按照当前接收方的状态,进行流量控制。因此本申请实施例中,在第一调用方式下采用分段式处理,这样客户端向服务端发送的数据可以单独被处理,更符合gRPC-java的使用模式。在一个可能的设计中,所述上下文信息包括:环境配置信息和逻辑类。在一个可能的设计中,所述环境配置信息包括但不限于:同步线程数量;或服务端的地址与端口;或调用超时时间;或调用gRPC的存根类stub函数;或连接元信息;其中,所述连接元信息中是客户端向服务端发送的超文本传输协议HTTP请求的HTTP头部中包括的信息;相应的,所述逻辑类包括但不限于:所述编程者基于所述gRPC框架编写的代码中的类;或根据所述第一调用方式和所述第二调用方式抽象出来的调用过程类;或所述gRPC框架中的观察者类。上述只是上下文信息的几种举例,在具体实现过程中还可以包括其它上下文信息,在此不做限制。第二方面,本申请实施例还提供一种过程调用gRPC的调用装置,包括:第一接收模块,用于接收编程者输入的上下文信息,建立调用上下文类;其中,所述上下文信息为为实现gRPC的调用而设置的信息;第二接收模块,用于接收所述编程者输入的调用方式;实现模块,用于根据与所述调用方式对应的调用上下文类初始化调用模板,通过所述调用模板中包括的调用函数实现gRPC的调用。在一个可能的设计中,所述调用方式为第一调用方式或第二调用方式中的一种;其中,所述第一调用方式是客户端向服务端传输数据的数据量大于所述服务端向所述客户端传输数据的数据量的方式;所述第二调用方式是所述服务端向所述客户端传输数据的数据量大于所述客户端向所述服务端传输数据的数据量的方式。在一个可能的设计中,若调用方式是所述第一调用方式,所述装置还包括:第一发送模块,用于向所述服务端发送调用请求;其中,所述调用请求用于请求向所述服务端上传数据;第二发送模块,用于在接收到所述服务端发送的响应消息时,以流的方式向所述服务端发送数据;第三发送模块,用于在上传数据完毕后,向所述服务端发送结束请求;其中,所述结束请求用于请求所述服务端结束调用。在一个可能的设计中,所述上下文信息包括:环境配置信息和逻辑类。在一个可能的设计中,所述环境配置信息包括但不限于:同步线程数量;或服务端的地址与端口;或调用超时时间;或调用gRPC的存根类stub函数;或连接元信息;其中,所述连接元信息中是客户端向服务端发送的超文本传输协议HTTP请求的HTTP头部中包括的信息;相应的,所述逻辑类包括但不限于:所述编程者基于所述gRPC框架编写的代码中的类;或根据所述第一调用方式和所述第二调用方式抽象出来的调用过程类;或所述RPC框架中的观察者类。第三方面,本申请实施例还提供过程调用gRPC的调用装置,包括:存储器,用于存储程序指令;处理器,用于读取所述存储器中存储的程序指令,按照获得的程序执行上述过程调用gRPC的调用方法。第四方面,提供一种计算机可读存储介质,包括计算机可读指令,当所述计算机读取并执行所述计算机可读指令时,使得计算机执行上述过程调用gRPC的调用方法。附图说明图1为本申请提供的一种应用场景;图2为本申请提供的一种过程调用gRPC的调用方法的流程示意图;图3为本申请提供的一种过程调用gRPC的调用装置的结构示意图;图4为本申请提供的另一种过程调用gRPC的调用装置的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。以下,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。(1)远程过程调用(RemoteProcedureCall,RPC)框架,其目标是让远程服务调用更加简单、透明,RPC框架负责屏蔽底层的传输方式、序列化方式和通信细节。服务调用者可以像调用本地接口一样调用远程的服务提供者,而不需要关心底层通信细节和调用过程。目前,业界主流的RPC框架,较为成熟的有谷歌google的gRPC、脸书(Facebook)的Thrift。(2)类是对某种对象的定义,具有行为(behavior),它描述一个对象能够做什么以及做的方法(method),它们是可以对这个对象进行操作的程序和过程。它包含有关对象行为方式的信息,包括它的名称、方法、属性和事件。(3)接口(Interface),在java编程语言本文档来自技高网...

【技术保护点】
1.一种过程调用gRPC的调用方法,其特征在于,包括:接收编程者输入的上下文信息,建立调用上下文类;其中,所述上下文信息为为实现gRPC的调用而设置的信息;接收所述编程者输入的调用方式;根据与所述调用方式对应的调用上下文类初始化调用模板,通过所述调用模板中包括的调用函数实现gRPC的调用。

【技术特征摘要】
1.一种过程调用gRPC的调用方法,其特征在于,包括:接收编程者输入的上下文信息,建立调用上下文类;其中,所述上下文信息为为实现gRPC的调用而设置的信息;接收所述编程者输入的调用方式;根据与所述调用方式对应的调用上下文类初始化调用模板,通过所述调用模板中包括的调用函数实现gRPC的调用。2.根据权利要求1所述的方法,其特征在于,所述调用方式为第一调用方式或第二调用方式中的一种;其中,所述第一调用方式是客户端向服务端传输数据的数据量大于所述服务端向所述客户端传输数据的数据量的方式;所述第二调用方式是所述服务端向所述客户端传输数据的数据量大于所述客户端向所述服务端传输数据的数据量的方式。3.根据权利要求2所述的方法,其特征在于,若调用方式是所述第一调用方式,所述方法还包括:向所述服务端发送调用请求;其中,所述调用请求用于请求向所述服务端上传数据;在接收到所述服务端发送的响应消息时,以流的方式向所述服务端发送数据;在上传数据完毕后,向所述服务端发送结束请求;其中,所述结束请求用于请求所述服务端结束调用。4.根据权利要求1所述的方法,其特征在于,所述上下文信息包括:环境配置信息和逻辑类。5.根据权利要求4所述的方法,其特征在于,所述环境配置信息包括但不限于:同步线程数量;或服务端的地址与端口;或调用超时时间;或调用gRPC的存根类stub函数;或连接元信息;其中,所述连接元信息中是客户端向服务端发送的超文本传输协议HTTP请求的HTTP头部中包括的信息;相应的,所述逻辑类包括但不限于:所述编程者基于所述gRPC框架编写的代码中的类;或根据所述第一调用方式和所述...

【专利技术属性】
技术研发人员:黄铭毅
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东,44

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

1