[发明专利]一种基于Netty与插件机制的API网关及控制方法有效
申请号: | 202010048489.5 | 申请日: | 2020-01-16 |
公开(公告)号: | CN111314212B | 公开(公告)日: | 2022-04-19 |
发明(设计)人: | 刘志锋;罗伟杰;黄楚龙;卢彬;潘伟健;苏兴 | 申请(专利权)人: | 青木数字技术股份有限公司 |
主分类号: | H04L12/66 | 分类号: | H04L12/66;H04L67/141;H04L67/63 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郭浩辉;麦小婵 |
地址: | 510000 广东省广州市海*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 netty 插件 机制 api 网关 控制 方法 | ||
1.一种基于Netty与插件机制的API网关,其特征在于,包括请求接收模块、链路建立模块、插件模块以及业务模块;
所述请求接收模块,用于获取用户发送的接入集群请求;
所述链路建立模块,用于通过Netty服务层对所述接入集群请求的数据包进行解码生成请求实体和请求数据,将所述请求数据分配到特定的业务线程池,建立业务链路;所述链路建立模块包括接收单元和第一处理单元;所述接收单元,用于在Acceptor主线程池中随机选择一个线程作为Acceptor线程以绑定端口和接收客户端连接请求;所述第一处理单元,用于在所述Acceptor线程接收到连接请求后,通过所述Acceptor主线程池的其他线程处理客户端的登录、握手以及安全认证,以建立业务链路;
所述插件模块,用于通过预设的插件对所述请求实体进行判断,将不符合预设条件的请求过滤,将符合预设条件的请求发送至所述业务模块;
所述业务模块,用于根据所述符合预设条件的请求的类型,将所述符合预设条件的请求发送至对应的处理模块,以完成对所述用户请求的处理。
2.如权利要求1所述的基于Netty与插件机制的API网关,其特征在于,所述插件模块包括插件管理单元、过滤单元以及插件配置更新单元;
所述插件管理单元,用于在于客户端建立业务链路后,异步获取所有插件的配置数据,并根据所述所有插件的配置数据,管理插件的启用状态;
所述过滤单元,用于将客户端的每一个请求发送至所有处于开启状态的插件进行过滤处理;
所述插件配置更新单元,用于当某个插件的配置信息发生变更后,实时更新该插件的缓存配置信息。
3.如权利要求2所述的基于Netty与插件机制的API网关,其特征在于,插件的配置数据包括插件的类型和插件的启用状态。
4.如权利要求1所述的基于Netty与插件机制的API网关,其特征在于,所述业务模块包括第二处理单元和第三处理单元;
所述第二处理单元,用于将所述客户端的请求发送至IO子线程的任一线程中,以供该线程对所述客户端的请求进行读写和编码操作;
所述第三处理单元,用于根据所述客户端的请求的请求类型,将所述客户端的请求发送至对应的WorkThreadsPools,以完成对所述客户端请求的处理。
5.一种如权利要求1-4任一项所述的基于Netty与插件机制的API网关的控制方法,其特征在于,包括以下步骤:
获取用户发送的接入集群请求;
通过Netty服务层对所述接入集群请求的数据包进行解码生成请求实体和请求数据,将所述请求数据分配到特定的业务线程池,建立业务链路;具体为:在Acceptor主线程池中随机选择一个线程作为Acceptor线程以绑定端口和接收客户端连接请求;在所述Acceptor线程接收到连接请求后,通过所述Acceptor主线程池的其他线程处理客户端的登录、握手以及安全认证,以建立业务链路;
通过预设的插件对所述请求实体进行判断,将不符合预设条件的请求过滤,将符合预设条件的请求发送至所述业务模块;
根据所述符合预设条件的请求的类型,将所述符合预设条件的请求发送至对应的处理模块,以完成对所述用户请求的处理。
6.如权利要求5所述的基于Netty与插件机制的API网关的控制方法,其特征在于,所述通过预设的插件对所述请求实体进行判断,将不符合预设条件的请求过滤,将符合预设条件的请求发送至所述业务模块,具体为:
在于客户端建立业务链路后,异步获取所有插件的配置数据,并根据所述所有插件的配置数据,管理插件的启用状态;
将客户端的每一个请求发送至所有处于开启状态的插件进行过滤处理;
当某个插件的配置信息发生变更后,实时更新该插件的缓存配置信息。
7.如权利要求6所述的基于Netty与插件机制的API网关的控制方法,其特征在于,插件的配置数据包括插件的类型和插件的启用状态。
8.如权利要求5所述的基于Netty与插件机制的API网关的控制方法,其特征在于,所述根据所述符合预设条件的请求的类型,将所述符合预设条件的请求发送至对应的处理模块,以完成对所述用户请求的处理,具体为:
将所述客户端的请求发送至IO子线程的任一线程中,以供该线程对所述客户端的请求进行读写和编码操作;
根据所述客户端的请求的请求类型,将所述客户端的请求发送至对应的WorkThreadsPools,以完成对所述客户端请求的处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青木数字技术股份有限公司,未经青木数字技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010048489.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:车辆数据传输方法、装置、设备和存储介质
- 下一篇:一种公园景观服务识别方法