一种区块链的远端程序调用方法及服务端技术

技术编号:35457474 阅读:16 留言:0更新日期:2022-11-03 12:18
本发明专利技术公开了一种区块链的远端程序调用方法及服务端,服务端先根据每个服务的唯一标识解析服务对应的方法,并将每个服务对应的方法及其唯一标识存储在映射表中,根据映射表建立本地存根和客户端存根,因此能够为每个服务建立对应的方法映射表;接收客户端根据客户端存根发送的请求,客户端可根据存根确定所需的服务与方法,并将其添加至请求头中;服务端根据请求中的服务唯一标识和方法唯一标识,在本地存根中查找并调用对应的方法,将调用结果返回至所述客户端。因此,请求中不需要再使用字符串形式的服务名和方法名,避免因名称设计规范问题导致占用过多带宽,且服务对应的方法可自动解析并建立映射表,便于客户端用户请求时使用。使用。使用。

【技术实现步骤摘要】
一种区块链的远端程序调用方法及服务端


[0001]本专利技术涉及区块链
,特别涉及一种区块链的远端程序调用方法及服务端。

技术介绍

[0002]请参照图3,远端程序调用(Remote Procedure Call,RPC)是一个计算机通信协议,该协议允许运行于一台计算机的程序调用另一个地址空间的子程序,另一个地址空间通常为一个开放网络的一台计算机,而程序员就像调用本地程序一样,无需额外地为这个交互作用编程。
[0003]RPC是一种服务器

客户端(Client/Server)模式,通常是一个通过发送请求

接受回应进行信息交互的系统,而在区块链网络中,RPC作为通信的基础协议,对性能有着至关重要的作用。
[0004]目前,RPC请求头采用service与method组合的字符串形式,那么请求头的长度将与设计服务的程序工程师息息相关。若服务设计不规范,即服务名或方法名过长,将占用过多的网络传输字节。当服务端收到请求头时,需要解析service与method组合的字符串,解析的过程将消耗性能,然后获得其中的service与method信息,然后调用对应的服务方法。
[0005]由此可见,现有RPC的头部设计在网络传输的带宽方面还存有缺陷。

技术实现思路

[0006]本专利技术所要解决的技术问题是:提供一种区块链的远端程序调用方法及服务端,能够减少网络传输中的带宽消耗。
[0007]为了解决上述技术问题,本专利技术采用的技术方案为:
[0008]一种区块链的远端程序调用方法,包括步骤:
[0009]根据每个服务的唯一标识,解析每个服务对应的方法,并将每个服务对应的方法及其唯一标识存储至映射表中,根据所述映射表建立本地存根和客户端存根;
[0010]接收客户端根据所述客户端存根发送的请求,所述请求的头部信息包括服务唯一标识和方法唯一标识;
[0011]根据所述请求中的服务唯一标识和方法唯一标识,在所述本地存根中查找并调用对应的方法,将调用结果返回至所述客户端。
[0012]为了解决上述技术问题,本专利技术采用的另一种技术方案为:
[0013]一种区块链的远端程序调用服务端,包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0014]根据每个服务的唯一标识,解析每个服务对应的方法,并将每个服务对应的方法及其唯一标识存储至映射表中,根据所述映射表建立本地存根和客户端存根;
[0015]接收客户端根据所述客户端存根发送的请求,所述请求的头部信息包括服务唯一标识和方法唯一标识;
[0016]根据所述请求中的服务唯一标识和方法唯一标识,在所述本地存根中查找并调用对应的方法,将调用结果返回至所述客户端。
[0017]本专利技术的有益效果在于:服务端先根据每个服务的唯一标识解析服务对应的方法,并将每个服务对应的方法及其唯一标识存储在映射表中,根据映射表建立本地存根和客户端存根,因此能够为每个服务建立对应的方法映射表,便于服务端和客户端使用;接收客户端根据客户端存根发送的请求,客户端发送请求的头部信息中包括服务唯一标识和方法唯一标识,即客户端可根据存根确定所需的服务与方法,并将其添加至请求头中;服务端根据请求中的服务唯一标识和方法唯一标识,在本地存根中查找并调用对应的方法,将调用结果返回至所述客户端。因此,请求中不需要再使用字符串形式的服务名和方法名,避免因名称设计规范问题导致占用过多带宽,且服务对应的方法可自动解析并建立映射表,便于客户端用户请求时使用。
附图说明
[0018]图1为本专利技术实施例的一种区块链的远端程序调用方法的流程图;
[0019]图2为本专利技术实施例的一种区块链的远端程序调用服务端的示意图;
[0020]图3为远端程序调用数据流示意图;
[0021]图4为现有技术中远端程序调用传递服务名与方法名的示意图;
[0022]图5为本专利技术实施例的远端程序调用传递服务名与方法名的示意图;
[0023]标号说明:
[0024]1、一种区块链的远端程序调用服务端;2、存储器;3、处理器。
具体实施方式
[0025]为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。
[0026]请参照图1,本专利技术实施例提供了一种区块链的远端程序调用方法,包括步骤:
[0027]根据每个服务的唯一标识,解析每个服务对应的方法,并将每个服务对应的方法及其唯一标识存储至映射表中,根据所述映射表建立本地存根和客户端存根;
[0028]接收客户端根据所述客户端存根发送的请求,所述请求的头部信息包括服务唯一标识和方法唯一标识;
[0029]根据所述请求中的服务唯一标识和方法唯一标识,在所述本地存根中查找并调用对应的方法,将调用结果返回至所述客户端。
[0030]从上述描述可知,本专利技术的有益效果在于:服务端先根据每个服务的唯一标识解析服务对应的方法,并将每个服务对应的方法及其唯一标识存储在映射表中,根据映射表建立本地存根和客户端存根,因此能够为每个服务建立对应的方法映射表,便于服务端和客户端使用;接收客户端根据客户端存根发送的请求,客户端发送请求的头部信息中包括服务唯一标识和方法唯一标识,即客户端可根据存根确定所需的服务与方法,并将其添加至请求头中;服务端根据请求中的服务唯一标识和方法唯一标识,在本地存根中查找并调用对应的方法,将调用结果返回至所述客户端。因此,请求中不需要再使用字符串形式的服务名和方法名,避免因名称设计规范问题导致占用过多带宽,且服务对应的方法可自动解
析并建立映射表,便于客户端用户请求时使用。
[0031]进一步地,所述根据每个服务的唯一标识,解析每个服务对应的方法,并将每个服务对应的方法及其唯一标识存储至映射表中包括:
[0032]根据每个服务的唯一标识,按照远端程序调用的接口规则解析所述服务对应的方法,将每个服务解析得到的方法的自增序号作为方法的唯一标识;
[0033]将所述服务解析得到的方法及其唯一标识存储至映射表中。
[0034]由上述描述可知,将每个服务解析得到的方法均有其对应的自增序号,将自增序号作为方法的唯一标识,因此后续结合服务唯一标识和方法唯一标识即可确定所请求的方法。
[0035]进一步地,所述按照远端程序调用的接口规则解析所述服务对应的方法包括:
[0036]判断服务的每个接口的返回值是否满足所述接口所需的返回值条件,若是,则解析出所述接口对应的方法,否则,输出所述接口不满足条件的提示并忽略所述接口。
[0037]由上述描述可知,通过返回值的判断能够省略不满足要求的接口,并且不是所有的方法都要作为接口,因此仅解析接口能够提高解析效率。
[0038]进一步地,所述接收客户端根据所述客户端存根发送的请求,所述请求的头部信息包本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链的远端程序调用方法,其特征在于,包括步骤:根据每个服务的唯一标识,解析每个服务对应的方法,并将每个服务对应的方法及其唯一标识存储至映射表中,根据所述映射表建立本地存根和客户端存根;接收客户端根据所述客户端存根发送的请求,所述请求的头部信息包括服务唯一标识和方法唯一标识;根据所述请求中的服务唯一标识和方法唯一标识,在所述本地存根中查找并调用对应的方法,将调用结果返回至所述客户端。2.根据权利要求1所述的一种区块链的远端程序调用方法,其特征在于,所述根据每个服务的唯一标识,解析每个服务对应的方法,并将每个服务对应的方法及其唯一标识存储至映射表中包括:根据每个服务的唯一标识,按照远端程序调用的接口规则解析所述服务对应的方法,将每个服务解析得到的方法的自增序号作为方法的唯一标识;将所述服务解析得到的方法及其唯一标识存储至映射表中。3.根据权利要求2所述的一种区块链的远端程序调用方法,其特征在于,所述按照远端程序调用的接口规则解析所述服务对应的方法包括:判断服务的每个接口的返回值是否满足所述接口所需的返回值条件,若是,则解析出所述接口对应的方法,否则,输出所述接口不满足条件的提示并忽略所述接口。4.根据权利要求1所述的一种区块链的远端程序调用方法,其特征在于,所述接收客户端根据所述客户端存根发送的请求,所述请求的头部信息包括服务唯一标识和方法唯一标识包括:接收客户端根据所述客户端存根发送的请求,所述请求的协议头包括经过序列化的服务唯一标识和方法唯一标识;所述接收客户端根据所述客户端存根发送的请求之后包括:将所述请求进行反序列化,得到服务唯一标识和方法唯一标识。5.根据权利要求1所述的一种区块链的远端程序调用方法,其特征在于,所述根据所述请求中的服务唯一标识和方法唯一标识,在所述本地存根中查找并调用对应的方法,将调用结果返回至所述客户端包括:根据所述请求中的服务唯一标识和方法唯一标识,在所述本地存根中查找并调用对应的方法,将调用的返回信息包装为远端程序调用响应并进行序列化,得到调用结果;将所述调用结果返回至所述客户端。6.一种区块链的远端程序调用服务端,包括存储器、处理器以及存储在所述存储...

【专利技术属性】
技术研发人员:斯雪明
申请(专利权)人:福建福链科技有限公司
类型:发明
国别省市:

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

1