CN113515319A - 一种客户端通过grpc动态调用服务端的方法 - Google Patents

一种客户端通过grpc动态调用服务端的方法 Download PDF

Info

Publication number
CN113515319A
CN113515319A CN202110423244.0A CN202110423244A CN113515319A CN 113515319 A CN113515319 A CN 113515319A CN 202110423244 A CN202110423244 A CN 202110423244A CN 113515319 A CN113515319 A CN 113515319A
Authority
CN
China
Prior art keywords
grpc
server
client
interface
dynamically
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.)
Granted
Application number
CN202110423244.0A
Other languages
English (en)
Other versions
CN113515319B (zh
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.)
Beijing Kedong Electric Power Control System Co Ltd
Original Assignee
Beijing Kedong Electric Power Control System 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 Beijing Kedong Electric Power Control System Co Ltd filed Critical Beijing Kedong Electric Power Control System Co Ltd
Priority to CN202110423244.0A priority Critical patent/CN113515319B/zh
Publication of CN113515319A publication Critical patent/CN113515319A/zh
Priority to PCT/CN2021/129976 priority patent/WO2022222442A1/zh
Application granted granted Critical
Publication of CN113515319B publication Critical patent/CN113515319B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/06Electricity, gas or water supply

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Public Health (AREA)
  • Water Supply & Treatment (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种客户端通过GRPC动态调用服务端的方法,包括服务端配置预设的适配jar包,所述适配jar包包括java项目、grpc模块、grpc接口、支持GRPC双向流和将核心类升级到springboot‑starter方式,所述grpc接口为提供对服务端代码无侵入性前提下可被服务端动态调用的入口;客户端向服务端发送调用请求,并接受服务端发送的响应数据,完成客户端通过GRPC动态调用服务端的方法。本发明能够省却客户端和服务端双方共同维护协议文件的成本,还可实现在不引入grpc接口包的前提下客户端和服务端的调用,实现了降低人员的工作成本,减少由于同步协议文件产生的bug。

Description

一种客户端通过GRPC动态调用服务端的方法
技术领域
本发明属于电力监控系统安全防护通信安全技术领域,具体涉及一种客户端通过GRPC动态调用服务端的方法。
背景技术
现如今,在软件生态圈需求的不断催动下,分布式已经成为老生常谈的话题,而在分布式环境中,为了桥接各个服务间的通信,RPC技术应运而生。thrift、grpc、dubbo、dubbox、motan等。
随着电力监控网络安全系统设计的项目数不断增加,业务需求的不断增加,grpc接口数也在不断增加,这就意味着,grpc协议文件内容也在不断增加,这给维护客户端和服务端项目的人员带来一定的工作成本,grpc协议文件的同步成了每次项目联调关注重点,也由于协议文件的同步产生很多不应该存在的bug。
现如今,在软件生态圈需求的不断催动下,分布式已经成为老生常谈的话题,而在分布式环境中,为了桥接各个服务间的通信,RPC(Remote Procedure Call)技术应运而生,主要包括thrift、grpc、dubbo、dubbox、motan等。RPC框架中,序列化协议重要的组成部分之一是对传输的二进制数据进行序列化和反序列化。对java这种静态编译的语言来说,带来的好处是完全面向对象开发,通信两端需要事先定义好接口协议,产出文件,将文件编译成java文件,服务端引入文件,针对协议接口提供功能实现。客户端引入该文件,填充指定类型参数,进行调用,从而实现了GRPC调用的整个链路,具体参见图1。
客户端在调用服务端任意接口前,必须要知道接口的定义,也就是协议文件。其面临的问题包括:(1)客户端和服务端同时维护协议文件,文件同步是否及时。(2)客户端要调用服务端时,必须提前知道协议文件,做很多重复工作。
发明内容
针对上述问题,本发明提出一种客户端通过GRPC动态调用服务端的方法,能够省却客户端和服务端双方共同维护协议文件的成本,还可实现在不引入grpc接口包的前提下客户端和服务端的调用,实现了降低人员的工作成本,减少由于同步协议文件产生的bug。
为了实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
一种客户端通过GRPC动态调用服务端的方法,包括:
服务端配置预设的适配jar包,所述适配jar包包括java项目、grpc模块、grpc接口、支持GRPC双向流和将核心类升级到springboot-starter方式,所述grpc接口为提供对服务端代码无侵入性前提下可被服务端动态调用的入口;
客户端向服务端发送调用请求,并接受服务端发送的响应数据,完成客户端通过GRPC动态调用服务端的方法。
可选地,所述适配jar包的实现方法包括:
采用java集成框架springboot构建一个java项目;
采用spring-ioc和JDK反射机制实现请求路由;
利用springboot-starter模式将核心类做成开关配置引入spring环境中做到对原有代码无侵入,做到开箱即用。
可选地,所述适配jar包的实现方法具体包括以下步骤:
搭建java项目框架;
融合GRPC框架;
进行适配jar包的逻辑开发。
可选地,所述搭建java项目框架具体包括以下步骤:
选定java的jdk开发版本;
采用springboot集成框架;
使用Maven方式构建项目和引入第三方依赖包。
可选地,所述融合GRPC框架具体包括以下步骤:
导入GRPC依赖包;
编写GRPC协议文件,该文件里只定义一个Service,且该Service中只提供一个待实现接口。
可选地,所述适配jar包的逻辑开发具体包括以下步骤:
创建一个java实现类继承所述接口的接口协议类,只有继承了指定的接口协议类,才能在客户端调用协议接口的时候,将请求转发到具体的实现类中;
在所述接口的实现方法体中写入动态调用逻辑;
将所述接口自动注册到GRPC接口注册列表中。
可选地,所述服务端配置预设的适配jar包的具体过程为:
服务端引入jar包,如果是maven项目,则引入pom依赖,将jar包核心类注入到spring环境中即可。
与现有技术相比,本发明的有益效果:
本发明基于电力监控网络安全系统架构,利用java语言的特性,创建一个适配jar包,将grpc的客户端和服务端服务端,在没有proto文件协议的约束下链接在一起,使得grpc客户端可以访问任何一个服务端的接口。很好的解决了grpc客户端在调用服务端时需要引入指定的proto文件或者proto文件编译后的包,也解决了proto文件分别在客户端和服务端同步的问题。简化了开发流程,减少了工作量,减少了项目风险。
附图说明
为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明,其中:
图1为本发明中客户端通过GRPC动态调用服务端的方法的框架图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明的保护范围。
下面结合附图对本发明的应用原理作详细的描述。
本发明中提供了一种客户端通过GRPC动态调用服务端的方法,具体包括以下步骤:
(1)服务端配置预设的适配jar包,所述适配jar包包括java项目、grpc模块、grpc接口、支持GRPC双向流和将核心类升级到springboot-starter方式,所述grpc接口为提供对服务端代码无侵入性前提下可被服务端动态调用的入口;
(2)客户端向服务端发送调用请求,并接受服务端发送的响应数据,完成客户端通过GRPC动态调用服务端的方法。
下面结合图1以及一具体的实施过程对本发明中的客户端通过GRPC动态调用服务端的方法进行详细说明。
1、开发适配jar包
适配jar包为整个发明的核心部分
适配jar包的目的:对服务端代码无侵入性前提下提供可被服务端动态调用调用的入口。
适配jar包的具体实现方式为:采用java集成框架springboot构建一个java项目;采用spring-ioc和JDK反射机制实现请求路由;利用springboot-starter模式将核心类做成开关配置引入spring环境中做到对原有代码无侵入,做到开箱即用。
适配jar包的使用方式:服务端引入jar包,如果是maven项目,则引入pom依赖,将jar包核心类注入到spring环境中即可。
适配jar包的开发总共分为三步,第一步搭建java项目框架,第二步融合GRPC框架,第三步适配包主要逻辑开发。
下面是具体实现方式:
步骤1:搭建java项目框架:
1.1基于jdk1.8版本开发
选定java的jdk开发版本,这里选择jdk1.8。
1.2采用springboot集成框架
Springboot是可以快速构建和启动一个java项目,内置启动容器,并且Springboot框架集成了很多常用的组件,比如数据库jdbc,redis等。且将项目打成jar包后,启动方式可以直接通过java-jar启动,方便、快捷。
1.3使用Maven方式构建项目和引入第三方依赖包
Maven是一个管理java项目的一个组件,他不需要将项目依赖的外部包下载并导入项目,他提供通过配置文件(pom.xml)的方式,自动加载。
步骤2:融合GRPC框架:
目前环境中项目之间通过GRPC作为远程过程交互的方式,且本文也是基于GRPC做的一个动态调用,所以需要将创建好的java项目引入GRPC框架,并且编写和实现GRPC所需的代码。
2.1导入GRPC依赖包
在项目的pom.xml中(Maven的配置文件)引入GRPC关于java语言的相关maven依赖grpc-protobuf、protobuf-java-util、grpc-netty、grpc-stub和protobuf-maven-plugin组件,这些依赖支撑了java项目对grpc框架的融合,完成创建.proto协议文件和编译。
2.2编写GRPC协议文件(protobuf文件)
创建grpc协议文件即.proto文件,该文件里只定义一个Service,且该Service中只提供一个待实现接口(该接口为客户端访问服务端的唯一入口),接口名为Caller(Parameters param)returns Object,param作为入参参数,参数中包含待调用的目标类在spring中的bean名,待调用的目标方法名,待调用的目标方法入参。在项目的pom.xml文件中配置grpc协议文件路径,当项目在执行编译动作时,将grpc协议文件编译成java文件并打成jar,供项目引入和代码调用。
步骤3适配包主要逻辑开发:
该步主要分为三小步,第一步实现2.2节中的协议接口,第二步在接口实现方法体中写主要动态调用逻辑,第三步将该接口自动注册到GRPC接口注册列表中。
3.1实现步骤2.2中的协议接口
创建一个java实现类继承2.2节中接口协议编译后生成的接口协议类。只有继承了指定的接口协议类,才能在客户端调用协议接口的时候,将请求转发到具体的实现类中。
3.2在接口实现方法体中写主要动态调用逻辑
该步主要分为三点,第一点解析方法入参,第二点通过解析出来的值路由到目标类和方法,第三点通过反射调用目标类和方法。
第一点、解析方法入参
方法入参中,主要包含了目标(客户端实际要调用的方法)类名,目标方法名,目标方法参数。
第二点、通过解析出来的值路由到目标类和方法
由于该适配jar包引入服务端后才可生效,也就代表该适配包可以获取到服务端内部环境的上下文,java项目内部环境的上下文,一般是指Spring环境的上下文,那么,就可以利用Spring环境的上下文来通过解析出来的值找到目标的类和方法,主要依赖SpringIOC的原理和API。
第三点、通过反射调用目标类和方法
由于Java是静态编译的语言,在动态捕捉目标后无法使用指定的API,所以在获取到真实的目标类和方法后,利用java的反射机制,调用目标类和方法,获取返回值。
3.3将该接口自动注册到GRPC接口注册列表中
为了简化服务端引入适配包后的操作和降低对服务端代码的侵入性,将该接口注册到服务端GRPC接口注册列表中的操作修改为自动注册,也就是主要服务端引入该适配包,在服务端启动时,自定将该接口注册到接口注册列表中,对外提供服务。
该步原理是通过Springboot框架提供的spring-boot-autoconfigure包提供的方式实现的。
2、服务端项目引入适配jar包
以Maven管理的java项目为例
服务端项目pom.xml文件引入该适配jar
3、客户端项目引入GRPC协议文件
客户端需要通过GRPC接口调用服务端,这个接口就是步骤2.2定义的协议接口,所以客户端需要引入该接口协议编译后的文件
4、客户端请求服务端
获取服务端地址,构建GRPC客户端,调用步骤2.2中定义的协议接口,入参为目标类在服务端spring中的bean名称,目标方法名,目标方法入参,开始请求。
应用案例
下面结合正在线上运行的项目之一DataCenter,是一个数据查询和转换的业务项目,其中包含几百个业务接口,先将DataCenter的pom文件中加入适配包的pom依赖如下:
<dependency>
<groupId>com.kd.data</groupId>
<artifactId>adapt-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
另一个数据中台项目,负责抓取各种数据源中的数据传输其他数据仓库中,英文名Pier,现将Pier项目中的pom文件也加入适配包的pom依赖,如下:
<dependency>
<groupId>com.kd.data</groupId>
<artifactId>adapt-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
Pier项目中配置我要请求的目标服务和方法,本次采用配置文件的方式,如下:
<!--&lt;!&ndash;通道监视&ndash;&gt;-->
<part>
<name>getDoublePassageway</name>
<server>datacenter</server>
<bean>commonGrpcService</bean>
<method>getDoublePassageway</method>
<params>[{"regional":"1"}]</params>
</part>
每一个part标签为一类请求,其中name为part的名称,唯一;server为目标服务中注册中心的名称;bean为目标方法所在的类的名称;method为目标方法;params为目标方法参数;Pier项目启动服务时读取配置文件,将配置文件中的参数整合,请求目标服务的Caller方法(该方法为适配包中的方法)。核心方法体如下:
ManagedChannel managedChannel=
rpcBeansFactory.getServerBlockingStubByName(serverName);
CallerGrpc.CallerBlockingStub callerBlockingStub=
CallerGrpc.newBlockingStub(managedChannel);
AdaptCall.MRequest.Builder newBuilder=AdaptCall.MRequest.newBuilder();
AdaptCall.MRequest build=
newBuilder.setBeanName(bean).setMethodName(method).setParamJson(params).build();
AdaptCall.MResponse mResponse=callerBlockingStub.call(build);
经过测试,可根据配置文件中的参数,正常访问目标服务器中的目标方法。
到此一种基于电力监控网络安全系统架构下客户端通过GRPC动态
调用服务端的技术已经完成。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (7)

1.一种客户端通过GRPC动态调用服务端的方法,其特征在于,包括:
服务端配置预设的适配jar包,所述适配jar包包括java项目、grpc模块、grpc接口、支持GRPC双向流和将核心类升级到springboot-starter方式,所述grpc接口为提供对服务端代码无侵入性前提下可被服务端动态调用的入口;
客户端向服务端发送调用请求,并接受服务端发送的响应数据,完成客户端通过GRPC动态调用服务端的方法。
2.根据权利要求1所述的一种客户端通过GRPC动态调用服务端的方法,其特征在于:所述适配jar包的实现方法包括:
采用java集成框架springboot构建一个java项目;
采用spring-ioc和JDK反射机制实现请求路由;
利用springboot-starter模式将核心类做成开关配置引入spring环境中做到对原有代码无侵入,做到开箱即用。
3.根据权利要求2所述的一种户端通过GRPC动态调用服务端的方法,其特征在于:所述适配jar包的实现方法具体包括以下步骤:
搭建java项目框架;
融合GRPC框架;
进行适配jar包的逻辑开发。
4.根据权利要求2所述的一种户端通过GRPC动态调用服务端的方法,其特征在于,所述搭建java项目框架具体包括以下步骤:
选定java的jdk开发版本;
采用springboot集成框架;
使用Maven方式构建项目和引入第三方依赖包。
5.根据权利要求2所述的一种户端通过GRPC动态调用服务端的方法,其特征在于,所述融合GRPC框架具体包括以下步骤:
导入GRPC依赖包;
编写GRPC协议文件,该文件里只定义一个Service,且该Service中只提供一个待实现接口。
6.根据权利要求5所述的一种户端通过GRPC动态调用服务端的方法,其特征在于,所述适配jar包的逻辑开发具体包括以下步骤:
创建一个java实现类继承所述接口的接口协议类,只有继承了指定的接口协议类,才能在客户端调用协议接口的时候,将请求转发到具体的实现类中;
在所述接口的实现方法体中写入动态调用逻辑;
将所述接口自动注册到GRPC接口注册列表中。
7.根据权利要求1所述的一种户端通过GRPC动态调用服务端的方法,其特征在于,所述服务端配置预设的适配jar包的具体过程为:
服务端引入jar包,如果是maven项目,则引入pom依赖,将jar包核心类注入到spring环境中即可。
CN202110423244.0A 2021-04-20 2021-04-20 一种客户端通过grpc动态调用服务端的方法 Active CN113515319B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110423244.0A CN113515319B (zh) 2021-04-20 2021-04-20 一种客户端通过grpc动态调用服务端的方法
PCT/CN2021/129976 WO2022222442A1 (zh) 2021-04-20 2021-11-11 一种客户端通过grpc动态调用服务端的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110423244.0A CN113515319B (zh) 2021-04-20 2021-04-20 一种客户端通过grpc动态调用服务端的方法

Publications (2)

Publication Number Publication Date
CN113515319A true CN113515319A (zh) 2021-10-19
CN113515319B CN113515319B (zh) 2023-08-08

Family

ID=78061530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110423244.0A Active CN113515319B (zh) 2021-04-20 2021-04-20 一种客户端通过grpc动态调用服务端的方法

Country Status (2)

Country Link
CN (1) CN113515319B (zh)
WO (1) WO2022222442A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114301970A (zh) * 2021-12-21 2022-04-08 北京达佳互联信息技术有限公司 服务调用方法、装置、电子设备及存储介质
WO2022222442A1 (zh) * 2021-04-20 2022-10-27 北京科东电力控制系统有限责任公司 一种客户端通过grpc动态调用服务端的方法
CN115878125A (zh) * 2022-11-11 2023-03-31 盐城金堤科技有限公司 生成类的扩展方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109597693A (zh) * 2018-09-25 2019-04-09 国网浙江省电力有限公司信息通信分公司 分布式软件系统中grpc通信协议的应用方法
CN110262912A (zh) * 2019-06-26 2019-09-20 深圳前海微众银行股份有限公司 一种过程调用gRPC的调用方法及装置
US20200034272A1 (en) * 2018-07-28 2020-01-30 International Business Machines Corporation Handling request data with type safety in a remote service
CN111930541A (zh) * 2020-08-17 2020-11-13 湖南快乐阳光互动娱乐传媒有限公司 一种grpc服务动态调用方法及系统
US20210019400A1 (en) * 2019-07-15 2021-01-21 SecureNative Ltd. Security infrastructure as a service

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104009994A (zh) * 2014-05-30 2014-08-27 北京京东尚科信息技术有限公司 实现服务端与客户端通讯的方法和装置
CN108337236A (zh) * 2017-12-28 2018-07-27 杭州马猴烧韭科技有限公司 一种基于Protobuf和HTTP/1.1的gRPC调用方法及装置
CN109739655A (zh) * 2018-11-21 2019-05-10 北京奇安信科技有限公司 一种gRPC请求的参数设置方法及装置
CN110944018A (zh) * 2019-12-27 2020-03-31 浪潮通用软件有限公司 一种基于注解和动态代理的rpc通信方法及设备、介质
CN113515319B (zh) * 2021-04-20 2023-08-08 北京科东电力控制系统有限责任公司 一种客户端通过grpc动态调用服务端的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200034272A1 (en) * 2018-07-28 2020-01-30 International Business Machines Corporation Handling request data with type safety in a remote service
CN109597693A (zh) * 2018-09-25 2019-04-09 国网浙江省电力有限公司信息通信分公司 分布式软件系统中grpc通信协议的应用方法
CN110262912A (zh) * 2019-06-26 2019-09-20 深圳前海微众银行股份有限公司 一种过程调用gRPC的调用方法及装置
US20210019400A1 (en) * 2019-07-15 2021-01-21 SecureNative Ltd. Security infrastructure as a service
CN111930541A (zh) * 2020-08-17 2020-11-13 湖南快乐阳光互动娱乐传媒有限公司 一种grpc服务动态调用方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022222442A1 (zh) * 2021-04-20 2022-10-27 北京科东电力控制系统有限责任公司 一种客户端通过grpc动态调用服务端的方法
CN114301970A (zh) * 2021-12-21 2022-04-08 北京达佳互联信息技术有限公司 服务调用方法、装置、电子设备及存储介质
CN114301970B (zh) * 2021-12-21 2023-10-17 北京达佳互联信息技术有限公司 服务调用方法、装置、电子设备及存储介质
CN115878125A (zh) * 2022-11-11 2023-03-31 盐城金堤科技有限公司 生成类的扩展方法、装置、存储介质及电子设备
CN115878125B (zh) * 2022-11-11 2024-02-06 盐城天眼察微科技有限公司 生成类的扩展方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN113515319B (zh) 2023-08-08
WO2022222442A1 (zh) 2022-10-27

Similar Documents

Publication Publication Date Title
CN113515319A (zh) 一种客户端通过grpc动态调用服务端的方法
EP1872227B1 (en) System and method of testing wireless component applications
US7681203B2 (en) Context-aware automatic service discovery and execution engine in mobile ad-hoc networks
EP3364631B1 (en) Dynamic orchestration of microservices
CN111290865A (zh) 一种服务调用方法、装置、电子设备和存储介质
US7565443B2 (en) Common persistence layer
US6542908B1 (en) Technique for automatically and transparently transforming software components into software components capable of execution in a client/server computing environment
CN111737032A (zh) 一种基于微内核系统的子程序运行方法、装置和电子设备
JP2007511018A (ja) ソフトウェアをコンポーズする方法及び装置
EP2145251A1 (en) Xml push and remote execution of a wireless application
WO2007109235A2 (en) Inter domain services manager
CN101645013A (zh) 综合业务管理平台插件式业务管理系统及方法
US20030212690A1 (en) Exactly once protocol for message-based collaboration
Roman et al. Dynamically programmable and reconfigurable middleware services
US20200012545A1 (en) Event to serverless function workflow instance mapping mechanism
Zhang A mobile agent-based tool supporting web services testing
US7681202B2 (en) Portal runtime framework
KR102124954B1 (ko) 이기종 데이터베이스 관리 시스템을 동시 지원하기 위한 IoT 플랫폼 시스템 및 그 동작 방법
EP1350165A2 (en) Event bus architecture
Jorelid J2EE frontend technologies: A programmer's guide to Servlets, JavaServer Pages, and enterprise JavaBeans
CN113961376A (zh) 一种消息中间件的切换方法和装置
Kang et al. Using management markup language for remote control of OSGi-based home server
Walsh et al. A Managed Architecture for Mobile Distributed Applications
Höfflinger Mobile shadows: strategies to extend the shadow protocol for orphan detection and termination in a mobile agent system
KR20050011820A (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
GR01 Patent grant
GR01 Patent grant