一种dubbo服务调用方法及系统技术方案

技术编号:24334014 阅读:92 留言:0更新日期:2020-05-29 21:17
本发明专利技术公开了一种dubbo服务调用方法及系统,通过C++客户端直接发送dubbo服务调用请求,通过两端的服务网关实现dubbo服务调用,解决了C++客户端无法调用dubbo服务的问题。

A Dubbo service calling method and system

【技术实现步骤摘要】
一种dubbo服务调用方法及系统
本专利技术涉及一种dubbo服务调用方法及系统,属于电力系统信息

技术介绍
生产控制云(简称“调控云”,英文简称dCloud,域名中使用dc作为简称),为适应“统一管理、分级调度”的调度管理模式,调控云采用统一和分布相结合的分级部署设计,形成国分主导节点和各省级协同节点的两级部署。国分云平台作为调控云的主导节点(master-node),省级云平台作为调控云的协同节点(slave-node),共同构成一个完整的调控云体系。目前国分云和省级云内部各部署一套dubbo分布式服务框架,用于其内部的服务通信,以往调用dubbo服务,都是基于dubbo客户端接口进行调用,国分云和省级云内部大量的C++客户端无法调用dubbo服务。
技术实现思路
本专利技术提供了一种dubbo服务调用方法及系统,解决了C++客户端无法调用dubbo服务的问题。为了解决上述技术问题,本专利技术所采用的技术方案是:一种dubbo服务调用方法,包括,接收C++客户端发送的dubbo服务调用请求;将dubbo服务调用请求发送至相应的对端服务网关;接收对端服务网关的dubbo服务调用结果;将dubbo服务调用结果反馈给C++客户端。dubbo服务调用请求包括服务头、端点信息和服务体。服务头包括远程域名、全路径的服务名和备用信息;端点信息包括C++客户端进程名、C++客户端所在节点名和域名;服务体为dubbo服务请求内容。根据不同对端服务网关状态和dubbo服务调用请求,定位相应的对端服务网关,将dubbo服务调用请求发送至定位的对端服务网关。一种dubbo服务调用方法,包括,接收对端服务网关发送的dubbo服务调用请求;根据dubbo服务调用请求调用相应的dubbo服务,并将dubbo服务调用结果反馈给对端服务网关。订阅dubbo服务注册中心的服务信息,根据dubbo服务调用请求,调用相应的dubbo服务。订阅dubbo服务注册中心的服务信息,根据dubbo服务调用请求,判断所需调用的dubbo服务是否位于预设的白名单上,若是,则调用相应的dubbo服务。dubbo服务调用结果的内容包括调用是否成功、错误信息和返回响应内容。一种dubbo服务调用系统,包括多个云平台,云平台包括C++客户端、服务网关和dubbo服务;C++客户端:向服务网关发送dubbo服务调用请求;接收服务网关反馈的dubbo服务调用结果;若云平台为dubbo服务调用请求端:服务网关:将dubbo服务调用请求发送至相应的对端服务网关,接收对端服务网关的dubbo服务调用结果;若云平台为dubbo服务调用结果反馈端:服务网关:接收对端服务网关发送的dubbo服务调用请求,根据dubbo服务调用请求调用相应的dubbo服务,并将dubbo服务调用结果反馈给对端服务网关。还包括dubbo服务注册中心,dubbo服务在dubbo服务注册中心注册。本专利技术所达到的有益效果:本专利技术C++客户端直接发送dubbo服务调用请求,通过两端的服务网关实现dubbo服务调用,解决了C++客户端无法调用dubbo服务的问题。附图说明图1为本专利技术系统的结构框图。具体实施方式下面结合附图对本专利技术作进一步描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本专利技术的保护范围。一种dubbo服务调用方法,包括dubbo服务调用请求端方法和dubbo服务调用结果反馈端方法。dubbo服务调用请求端方法如下:a1)接收C++客户端发送的dubbo服务调用请求。dubbo服务调用请求符合dubbo协议,并由C++客户端接口封装后发送。dubbo服务调用请求包括服务头(ServiceHead)、端点信息(EndPointInfo)和服务体(Body)。服务头包括远程域名(domain)、全路径的服务名(sname)和备用信息(spare)。远程域名用于服务网关定位服务位置,全路径的服务名用于发现dubbo服务,备用信息用于以后扩展协议。端点信息包括C++客户端进程名(pname)、C++客户端所在节点名(node)和域名(domain)。端点信息由客户端获取,并通过协议传输给服务,用于服务跟踪和监视。服务体为dubbo服务请求内容。a2)将dubbo服务调用请求发送至相应的对端服务网关。根据不同对端服务网关状态和dubbo服务调用请求,定位相应的对端服务网关,将dubbo服务调用请求发送至定位的对端服务网关。a3)接收对端服务网关的dubbo服务调用结果。a4)将dubbo服务调用结果反馈给C++客户端。dubbo服务调用结果反馈端方法如下:b1)接收对端服务网关发送的dubbo服务调用请求。b2)订阅dubbo服务注册中心的服务信息,根据dubbo服务调用请求,调用相应的dubbo服务,并将dubbo服务调用结果反馈给对端服务网关。在调用dubbo服务之前,需要先进行白名单过滤,即订阅dubbo服务注册中心的服务信息,根据dubbo服务调用请求,判断所需调用的dubbo服务是否位于预设的白名单上,若是,则调用相应的dubbo服务。dubbo服务调用结果的内容包括调用是否成功(is_success)、错误信息(err_info)和返回响应内容(ret_body)。一种dubbo服务调用系统,包括多个云平台,云平台之间通过广域网连接。如图1为调用的两端,即两个云平台,两者的结构完全一致,具体包括C++客户端、服务网关、dubbo服务和dubbo服务注册中心。其中,C++客户端dubbo服务的消费者,通过服务网关访问dubbo服务;因此C++客户端的功能为:向服务网关发送dubbo服务调用请求;接收服务网关反馈的dubbo服务调用结果。dubbo服务注册中心使用zookeeper,并采用集群部署方式。dubbo服务为服务的提供者,需要在dubbo服务注册中心注册,注册的接口需要继承BaseWideService接口,并实现其中的process_request方法。BaseWideService接口定义如下所示:publicinterfaceBaseWideService{publicStringprocess_request(EndPointInfopeer_info,Stringbody);}若云平台为dubbo服务调用请求端,则服务网关将dubbo服务调用请求发送至相应的对端服务网关,接收对端服务网关的dubbo服务调用结果;具体基本功能如下:1)服务网关管理和定位功能:本地出口网关管理记录不同对端服务网关的状态,能够根据dub本文档来自技高网...

【技术保护点】
1.一种dubbo服务调用方法,其特征在于:包括,/n接收C++客户端发送的dubbo服务调用请求;/n将dubbo服务调用请求发送至相应的对端服务网关;/n接收对端服务网关的dubbo服务调用结果;/n将dubbo服务调用结果反馈给C++客户端。/n

【技术特征摘要】
1.一种dubbo服务调用方法,其特征在于:包括,
接收C++客户端发送的dubbo服务调用请求;
将dubbo服务调用请求发送至相应的对端服务网关;
接收对端服务网关的dubbo服务调用结果;
将dubbo服务调用结果反馈给C++客户端。


2.根据权利要求1所述的一种dubbo服务调用方法,其特征在于:dubbo服务调用请求包括服务头、端点信息和服务体。


3.根据权利要求2所述的一种dubbo服务调用方法,其特征在于:服务头包括远程域名、全路径的服务名和备用信息;端点信息包括C++客户端进程名、C++客户端所在节点名和域名;服务体为dubbo服务请求内容。


4.根据权利要求1所述的一种dubbo服务调用方法,其特征在于:根据不同对端服务网关状态和dubbo服务调用请求,定位相应的对端服务网关,将dubbo服务调用请求发送至定位的对端服务网关。


5.一种dubbo服务调用方法,其特征在于:包括,
接收对端服务网关发送的dubbo服务调用请求;
根据dubbo服务调用请求调用相应的dubbo服务,并将dubbo服务调用结果反馈给对端服务网关。


6.根据权利要求5所述的一种dubbo服务调用方法,其特征在于:订阅dubbo服务注册中心的服务信息,根据dub...

【专利技术属性】
技术研发人员:彭晖张凯葛以踊万书鹏徐春雷雷宝龙吴海伟易强郭海龙高宝山孙卫芳张平
申请(专利权)人:国电南瑞科技股份有限公司国家电网有限公司国网江苏省电力有限公司南瑞集团有限公司国电南瑞南京控制系统有限公司
类型:发明
国别省市:江苏;32

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

1