基于类库的GRPC服务应用方法及装置制造方法及图纸

技术编号:36257280 阅读:15 留言:0更新日期:2023-01-07 09:53
本发明专利技术公开了一种基于类库的GRPC服务应用方法及装置。该方法应用于服务提供端,包括:获取服务提供端提供的目标处理类库、目标服务应用以及目标服务应用的目标应用协议文件;基于目标应用协议文件以及目标处理类库,确定目标服务的目标服务参数;目标服务为运行目标服务应用时生成的服务;基于目标服务参数以及预设映射字典,生成目标服务所对应的目标服务接口协议;基于目标服务应用、目标服务参数以及目标处理类库,生成目标服务对应的GRPC服务;GRPC服务用于响应外部服务调用端基于目标应用协议文件或者目标服务接口协议所发送的GRPC调用请求,实现了简化GRPC服务的生成以及调用的操作流程,提高了服务调用效率。提高了服务调用效率。提高了服务调用效率。

【技术实现步骤摘要】
基于类库的GRPC服务应用方法及装置


[0001]本专利技术涉及计算机应用
,尤其涉及一种基于类库的GRPC服务应用方法及装置。

技术介绍

[0002]随着软件产品日渐丰富,软件间的能力复用也越来越重要,为了达到跨语言编程产品间的能力复用,需要引入GRPC服务。
[0003]现有的GRPC服务调用需要开发者先熟悉GRPC规范,且先需要编写.proto文件,然后需要使用第三方工具来编译这个.proto文件,根据服务应用源代码,梳理服务实现逻辑,生成GRPC服务,其它产品在使用时也需要先引入.proto文件并使用第三方工具来编译,才能将被调用方的服务识别为GRPC服务,进行调用。
[0004]在基于现有调用方式对GRPC服务进行调用的过程中发现存在以下问题,第一、需要在调用方和被调用方的IDE上安装插件或安装使用其它软件,来实现对于.proto文件的编译,操作复杂;第二、需要开发人员手动编写.proto文件以及人工维护.proto文件,成本高、工作量大;第三、.proto文件无法实现热更新,维护困难;上述问题使GRPC服务在被调用的过程中操作难度加大,从而导致调用效率降低。

技术实现思路

[0005]本专利技术提供了一种基于类库的GRPC服务应用方法及装置,以解决现有技术中GRPC服务在被调用的过程中操作难度大,从而导致服务调用效率降低的问题,实现了简化GRPC服务的生成以及调用的操作流程,提高了服务调用效率。
[0006]第一方面,本专利技术实施例提供了一种基于类库的GRPC服务应用方法,该方法应用于服务提供端,包括:
[0007]获取所述服务提供端提供的目标处理类库、目标服务应用以及所述目标服务应用的目标应用协议文件;
[0008]基于所述目标应用协议文件以及所述目标处理类库,确定目标服务的目标服务参数;所述目标服务为运行所述目标服务应用时生成的服务;
[0009]基于所述目标服务参数以及预设映射字典,生成所述目标服务所对应的目标服务接口协议;所述目标服务接口协议用于外部服务调用端的调用应用调用所述目标服务;
[0010]基于所述目标服务应用、所述目标服务参数以及所述目标处理类库,生成所述目标服务对应的GRPC服务;所述GRPC服务用于响应所述外部服务调用端基于所述目标应用协议文件或者所述目标服务接口协议所发送的GRPC调用请求。
[0011]可选的,在所述获取所述服务提供端提供的目标处理类库之前,还包括:
[0012]获取第一源码及第二源码;其中,所述第一源码包括获取所述目标服务参数的源码,所述第二源码包括将所述目标服务应用转化为所述GRPC服务的源码;
[0013]基于所述第一源码及所述第二源码生成所述目标处理类库。
[0014]可选的,所述基于所述目标应用协议文件以及所述目标处理类库,确定目标服务的目标服务参数,包括:
[0015]基于所述第一源码对所述目标应用协议文件进行解析,获得所述目标服务参数。
[0016]可选的,所述基于所述目标服务应用、所述目标服务参数以及所述目标处理类库,生成所述目标服务对应的GRPC服务,包括:
[0017]获取生成所述GRPC服务的GRPC服务依赖包;
[0018]基于所述GRPC服务依赖包、所述目标服务应用、所述目标服务参数以及所述第二源码,生成所述目标服务对应的所述GRPC服务。
[0019]可选的,所述预设映射字典中存储有不同开发语言的服务参数与生成服务接口协议的协议标准参数之间的参数映射关系;
[0020]所述基于所述目标服务参数以及预设映射字典,生成所述目标服务所对应的目标服务接口协议,包括:
[0021]确定所述目标服务应用的开发语言,并基于所述开发语言以及所述参数映射关系确定与所述目标服务参数对应的目标协议标准参数;
[0022]基于所述目标协议标准参数生成所述目标服务所对应的目标服务接口协议。
[0023]第二方面,本专利技术实施例还提供了一种基于类库的GRPC服务应用方法,该方法应用于服务调用端,包括:
[0024]确定调用应用待调用的目标服务为外部服务提供端的服务应用提供的情况下,确定所述目标服务对应的目标服务应用;
[0025]判断所述调用应用与所述目标服务应用的开发语言是否相同;
[0026]若是,则获取所述目标服务应用的目标应用协议文件,基于所述目标应用协议文件以及预设的目标处理类库,生成所述目标服务对应的GRPC服务客户端;
[0027]若否,则获取所述目标服务所对应的目标服务接口协议,基于所述目标服务接口协议、预设映射字典以及预设的GRPC服务依赖包,生成所述目标服务对应的GRPC服务客户端;
[0028]基于所述GRPC服务客户端生成对所述目标服务的GRPC调用请求,并将所述GRPC调用请求发送至所述服务提供端以实现服务调用。
[0029]可选的,所述基于所述目标应用协议文件以及预设的目标处理类库,生成所述目标服务对应的GRPC服务客户端,包括:
[0030]基于所述目标应用协议文件以及所述目标处理类库,确定所述目标服务的目标服务参数;
[0031]基于所述目标服务参数以及所述目标处理类库,生成所述目标服务对应的所述GRPC服务客户端。
[0032]可选的,所述基于所述目标服务接口协议、预设映射字典以及预设的GRPC服务依赖包,生成所述目标服务对应的GRPC服务客户端,包括:
[0033]对所述目标服务接口协议进行编译处理,基于所述预设映射字典得到所述目标服务的调用服务参数;所述调用服务参数对应的开发语言与所述调用应用开发语言相同;
[0034]基于所述调用服务参数以及所述GRPC服务依赖包,生成所述目标服务对应的所述GRPC服务客户端。
[0035]第三方面,本专利技术实施例还提供了一种基于类库的GRPC服务应用装置,该装置应用于服务提供端,包括:
[0036]数据获取模块,用于获取所述服务提供端提供的目标处理类库、目标服务应用以及所述目标服务应用的目标应用协议文件;
[0037]目标服务参数确定模块,用于基于所述目标应用协议文件以及所述目标处理类库,确定目标服务的目标服务参数;所述目标服务为运行所述目标服务应用时生成的服务;
[0038]目标服务接口协议生成模块,用于协议基于所述目标服务参数以及预设映射字典,生成所述目标服务所对应的目标服务接口协议;所述目标服务接口协议用于外部服务调用端的调用应用调用所述目标服务;
[0039]GRPC服务生成模块,用于基于所述目标服务应用、所述目标服务参数以及所述目标处理类库,生成所述目标服务对应的GRPC服务;所述GRPC服务用于响应所述外部服务调用端基于所述目标应用协议文件或者所述目标服务接口协议所发送的GRPC调用请求。
[0040]第四方面,本专利技术实施例还提供了一种基于类库的GRPC服务应用装置,该装置应用于服务调用端,包括:
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于类库的GRPC服务应用方法,其特征在于,应用于服务提供端,包括:获取所述服务提供端提供的目标处理类库、目标服务应用以及所述目标服务应用的目标应用协议文件;基于所述目标应用协议文件以及所述目标处理类库,确定目标服务的目标服务参数;所述目标服务为运行所述目标服务应用时生成的服务;基于所述目标服务参数以及预设映射字典,生成所述目标服务所对应的目标服务接口协议;所述目标服务接口协议用于外部服务调用端的调用应用调用所述目标服务;基于所述目标服务应用、所述目标服务参数以及所述目标处理类库,生成所述目标服务对应的GRPC服务;所述GRPC服务用于响应所述外部服务调用端基于所述目标应用协议文件或者所述目标服务接口协议所发送的GRPC调用请求。2.根据权利要求1所述的方法,其特征在于,在所述获取所述服务提供端提供的目标处理类库之前,还包括:获取第一源码及第二源码;其中,所述第一源码包括获取所述目标服务参数的源码,所述第二源码包括将所述目标服务应用转化为所述GRPC服务的源码;基于所述第一源码及所述第二源码生成所述目标处理类库。3.根据权利要求2所述的方法,其特征在于,所述基于所述目标应用协议文件以及所述目标处理类库,确定目标服务的目标服务参数,包括:基于所述第一源码对所述目标应用协议文件进行解析,获得所述目标服务参数。4.根据权利要求2所述的方法,其特征在于,所述基于所述目标服务应用、所述目标服务参数以及所述目标处理类库,生成所述目标服务对应的GRPC服务,包括:获取生成所述GRPC服务的GRPC服务依赖包;基于所述GRPC服务依赖包、所述目标服务应用、所述目标服务参数以及所述第二源码,生成所述目标服务对应的所述GRPC服务。5.根据权利要求1所述的方法,其特征在于,所述预设映射字典中存储有不同开发语言的服务参数与生成服务接口协议的协议标准参数之间的参数映射关系;所述基于所述目标服务参数以及预设映射字典,生成所述目标服务所对应的目标服务接口协议,包括:确定所述目标服务应用的开发语言,并基于所述开发语言以及所述参数映射关系确定与所述目标服务参数对应的目标协议标准参数;基于所述目标协议标准参数生成所述目标服务所对应的目标服务接口协议。6.一种基于类库的GRPC服务应用方法,其特征在于,应用于服务调用端,包括:确定调用应用待调用的目标服务为外部服务提供端的服务应用提供的情况下,确定所述目标服务对应的目标服务应用;判断所述调用应用与所述目标服务应用的开发语言是否相同;若是,则获取所述目标服务应用的目标应用协议文件,基于所述目标应用协议文件以及预设的目标处理类库,生成所述目标服务对应的GRPC服务客户端;若否,则获取所述目标服务所对应的目标服务接口协议,基于所述目标服务接口协议、预设映射字典以及预设的GRPC服务依赖包,生成所述目标服务对应的GRPC服务客户端;基于所述GRP...

【专利技术属性】
技术研发人员:叶大江黄主斌
申请(专利权)人:上海柯林布瑞信息技术有限公司
类型:发明
国别省市:

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

1