[发明专利]基于Thrift和语法树解析的协议转换方法及装置有效
申请号: | 201811596924.7 | 申请日: | 2018-12-26 |
公开(公告)号: | CN109714332B | 公开(公告)日: | 2021-03-23 |
发明(设计)人: | 张树凡;周文;杜旭东;袁冲;张磊 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京竹辰知识产权代理事务所(普通合伙) 11706 | 代理人: | 陈龙 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 thrift 语法 解析 协议 转换 方法 装置 | ||
本公开实施例中提供了一种基于Thrift和语法树解析的协议转换方法、装置及电子设备,属于数据处理技术领域,该方法包括:在配置管理器中加载配置文件和Thrift文件,生成Thrift语法树和RPC客户端连接;通过分发器接收HTTP请求,并将所述HTTP请求封装成与不同HTTP框架兼容的RPC内容;调用所述RPC客户端连接,根据所述Thrift语法树的定义将所述RPC内容写入RPC请求流;利用所述RPC请求流,向RPC服务发送请求数据,并基于所述RPC服务针对所述请求数据的响应数据进行网关协议转换。本公开的处理方案,具有通用性高、扩展性好、耦合性较低、易于推广、易于接入的技术效果。
技术领域
本公开涉及数据处理技术领域,尤其涉及一种基于Thrift协议和语法树解析的HTTP转RPC网关协议转换方法、装置及电子设备。
背景技术
在微服务场景下,后端服务系统大多被拆分成功能独立的细小服务。一般来说,一个系统的后端微服务很容易达到几十、上百的规模,尤其是大型的金融、电商系统。这种情况下,需要一个网关系统来实现统一接入,通用处理,以及内部服务调用。其中,网关的一个重要功能就是实现HTTP协议请求转换为RPC请求的协议转发功能。
在Thrift协议RPC(Remote Procedure Call,远程过程调用)服务场景下,HTTP转RPC的协议转换功能,一般采用如下两种方式实现:(1)对于每一个接入的后端RPC服务,网关实现一个方法解析HTTP参数、使用RPC客户端调用RPC服务、包装参数为HTTP响应返回。(2)要求RPC服务端实现一个预定义的RPC服务,网关把HTTP数据封装到预定义服务的参数中发送给RPC服务端,RPC服务端解析HTTP参数、依据请求参数路由到对应的处理方法,并将响应结果包装成JSON数据返回给网关。
上述现有技术的方案(1)中网关和后端存在严重的耦合,网关需要做大量适配RPC服务端的编码工作,演进笨重、可维护性差。方案(2)要求RPC服务端自行增加HTTP参数解析、业务路由、响应封装,重复工作量和实施难度比较大。
为此,亟需一种全新的HTTP转RPC网关协议转换方案。
发明内容
有鉴于此,本公开实施例提供一种基于Thrift和语法树解析的协议转换方法、装置及电子设备,至少部分解决现有技术中存在的问题。
第一方面,本公开实施例提供了一种基于Thrift和语法树解析的协议转换方法,包括:
在配置管理器中加载配置文件和Thrift文件,生成Thrift语法树和RPC客户端连接;
通过分发器接收HTTP请求,并将所述HTTP请求封装成与不同HTTP框架兼容的RPC内容;
调用所述RPC客户端连接,根据所述Thrift语法树的定义将所述RPC内容写入RPC请求流;
利用所述RPC请求流,向RPC服务发送请求数据,并基于所述RPC服务针对所述请求数据的响应数据进行网关协议转换。
根据本公开实施例的一种具体实现方式,所述在配置管理器中加载配置文件和Thrift文件,生成Thrift语法树和RPC客户端连接,包括:
加载包含Thrift协议文件路径、RPC服务端连接信息、插件列表的配置文件;
解析Thrift文件,生成包含服务接口和数据结构的语法树;
动态生成Thrift语法树和RPC客户端,并绑定Thrift语法树和RPC请求统一处理逻辑。
根据本公开实施例的一种具体实现方式,所述通过分发器接收HTTP请求,并将所述HTTP请求封装成与不同HTTP框架兼容的RPC内容之后,所述方法还包括:
调用路由获取器从所述RPC内容中获取后续路由所需要的路由参数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811596924.7/2.html,转载请声明来源钻瓜专利网。