基于API网关的数据处理方法及API网关技术

技术编号:33154656 阅读:19 留言:0更新日期:2022-04-22 14:10
本发明专利技术公开了一种基于API网关的数据处理方法及API网关,当收到第一消息时,API网关查询配置信息,从所述配置信息中获取用于将所述第一消息转换为第二消息的转换规则;所述API网关根据所述转换规则将所述第一消息转换为所述第二消息;所述API网关向所述第一消息的接收方发送所述第二消息。本发明专利技术增强API网关的功能,简化外围系统的适配,促进了系统间的松耦合。松耦合。松耦合。

【技术实现步骤摘要】
基于API网关的数据处理方法及API网关


[0001]本专利技术涉及数据处理
,尤其涉及一种基于API网关的数据处理方法及API网关。

技术介绍

[0002]在微服务架构中,一个大应用被拆分成多个微服务,每个微服务可以自成体系,即,这些微服务可以拥有自己的数据库、框架甚至语言等,并且通常以表述性状态传递(Representational State Transfer,REST)模式的接口被上层应用或第三方应用程序调用。
[0003]应用程序编程接口(Application Programming Interface,API)网关是内部微服务对外的唯一入口,是微服务架构的重要组成部分。API网关是一种软件组件,位于OSI七层模型中应用层之上,大多基于HTTP协议。
[0004]外部系统的所有请求/消息都会先发到API网关上,由API网关根据不同的请求/消息路由到不同的微服务节点上。
[0005]通常,不同的微服务节点有着不同的接口,目前,鉴于API网关只是做消息的透明转发,需要客户端根据目标微服务节点的接口要求生成对应的请求消息,不同的接口对应不同的请求消息。也就是说,需要客户端看到内部各个微服务的接口要求。若某个微服务的接口变更,则需要客户端做相应的适配。

技术实现思路

[0006]本专利技术的目的之一是为了克服现有技术中存在的至少部分不足,提供了基于API网关的数据处理方法及API网关,通过增强API网关的功能,减少客户端受业务系统内部各个微服务接口变更的影响。
>[0007]本专利技术提供的技术方案如下:
[0008]本专利技术提供了一种基于API网关的数据处理方法,包括:
[0009]当收到第一消息时,API网关查询配置信息,从所述配置信息中获取用于将所述第一消息转换为第二消息的转换规则;所述API网关根据所述转换规则将所述第一消息转换为所述第二消息;所述API网关向所述第一消息的接收方发送所述第二消息。
[0010]在一些实施例中,所述API网关根据所述转换规则将所述第一消息转换为所述第二消息,包括:所述API网关通过调用实现所述转换规则的转换函数,将所述第一消息转换为所述第二消息;所述转换函数采用插件方式实现。
[0011]在一些实施例中,还包括:当收到所述第一消息时,所述API网关从所述配置信息中还获取所述第一消息的接收方的加签方式;
[0012]在生成所述第二消息之后,发送所述第二消息之前,还包括:所述API网关根据所述接收方的加签方式,对所述第二消息进行加签;
[0013]所述API网关向所述第一消息的接收方发送所述第二消息,包括:所述API网关向
所述第一消息的接收方发送所述加签后的第二消息。
[0014]在一些实施例中,所述的从所述配置信息中获取将所述第一消息转换为第二消息的转换规则,包括:当所述第一消息为多播消息时,从所述配置信息中获取所述第一消息的所有接收方信息,以及每个接收方对应的转换规则;
[0015]所述API网关根据所述转换规则将所述第一消息转换为所述第二消息,包括:针对每个接收方,所述API网关根据对应的转换规则将所述第一消息转换为对应的第二消息;
[0016]所述API网关向所述第一消息的接收方发送所述第二消息,包括:所述API网关分别向每个接收方发送对应的第二消息。
[0017]在一些实施例中,所述的从所述配置信息中获取将所述第一消息转换为第二消息的转换规则,还包括:当所述第一消息为广播消息时,从所述配置信息中还获取所述第一消息对应的广播对象;
[0018]所述API网关向所述第一消息的接收方发送所述第二消息,包括:所述API网关分别向每个广播对象发送所述第二消息。
[0019]在一些实施例中,还包括:在所述API网关上构建一镜像数据库,所述镜像数据库包括第一数据部分,所述第一数据部分为数据维护者产生的原始数据;当所述数据维护者向所述API网关发起数据同步时,所述API网关根据同步过来的数据更新所述第一数据部分;所述API网关为相关的数据消费者分配访问所述镜像数据库的第一数据部分的账号和地址。
[0020]在一些实施例中,所述镜像数据库还包括第二数据部分,所述第二数据部分为所述API网关根据所述第一数据部分生成的数据;
[0021]在所述API网关根据同步过来的数据更新所述第一数据部分之后,还包括:所述API网关查询配置信息,从所述配置信息中获取数据处理规则;所述API网关按照所述数据处理规则对更新后的第一数据部分进行处理,得到更新的第二数据部分;
[0022]所述API网关为相关的数据消费者分配访问所述镜像数据库的第二数据部分的账号和地址。
[0023]本专利技术还提供一种API网关,包括:
[0024]获取模块,用于当收到第一消息时,查询配置信息,从所述配置信息中获取用于将所述第一消息转换为第二消息的转换规则;
[0025]消息生成模块,用于根据所述转换规则将所述第一消息转换为所述第二消息;
[0026]发送模块,用于向所述第一消息的接收方发送所述第二消息。
[0027]在一些实施例中,所述消息生成模块,还用于通过调用实现所述转换规则的转换函数,将所述第一消息转换为所述第二消息;所述转换函数采用插件方式实现。
[0028]在一些实施例中,所述获取模块,还用于当收到所述第一消息时,从所述配置信息中获取所述第一消息的接收方的加签方式;
[0029]所述消息生成模块,还用于根据所述接收方的加签方式,对所述第二消息进行加签;
[0030]所述发送模块,还用于向所述第一消息的接收方发送所述加签后的第二消息。
[0031]与现有技术相比,本专利技术所提供的一种基于API网关的数据处理方法及API网关具有以下至少一条有益效果:
[0032]1、本专利技术通过增强API网关的功能,由API网关完成微服务系统内部多个服务节点的接口适配,当一服务节点的接口发生改变时,不再需要外围系统做大的改造,只需根据新接口修改API网关的配置信息即可,从而进一步促进系统间通过API网关交互达到松耦合的效果。
[0033]2、本专利技术通过API网关封装了不同服务节点的签名规则,不再需要请求方适应接收方的验签要求,简化了请求方的加签处理;请求方可以统一签名方式,只需看到API网关的验签要求。
[0034]3、本专利技术通过API网关支持多播/广播消息的处理,使请求方只需要发送一条多播/广播消息给API网关,不必为每个接收方生成一条消息,这样可以节省外围系统与API网关之间的带宽资源。
[0035]4、本专利技术通过API网关的镜像功能,不仅起到数据备份作用,还起到数据共享作用,提高了数据访问的安全性。
附图说明
[0036]下面将以明确易懂的方式,结合附图说明优选实施方式,对本专利技术的上述特性、技术特征、优点及其实现方式予以进一步说明。
[0037]图1是本专利技术的基于API网关的数本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于API网关的数据处理方法,其特征在于,包括:当收到第一消息时,API网关查询配置信息,从所述配置信息中获取用于将所述第一消息转换为第二消息的转换规则;所述API网关根据所述转换规则将所述第一消息转换为所述第二消息;所述API网关向所述第一消息的接收方发送所述第二消息。2.根据权利要求1所述的基于API网关的数据处理方法,其特征在于,所述API网关根据所述转换规则将所述第一消息转换为所述第二消息,包括:所述API网关通过调用实现所述转换规则的转换函数,将所述第一消息转换为所述第二消息;所述转换函数采用插件方式实现。3.根据权利要求1所述的基于API网关的数据处理方法,其特征在于,还包括:当收到所述第一消息时,所述API网关从所述配置信息中还获取所述第一消息的接收方的加签方式;在生成所述第二消息之后,发送所述第二消息之前,还包括:所述API网关根据所述接收方的加签方式,对所述第二消息进行加签;所述API网关向所述第一消息的接收方发送所述第二消息,包括:所述API网关向所述第一消息的接收方发送所述加签后的第二消息。4.根据权利要求1所述的基于API网关的数据处理方法,其特征在于,所述的从所述配置信息中获取将所述第一消息转换为第二消息的转换规则,包括:当所述第一消息为多播消息时,从所述配置信息中获取所述第一消息的所有接收方信息,以及每个接收方对应的转换规则;所述API网关根据所述转换规则将所述第一消息转换为所述第二消息,包括:针对每个接收方,所述API网关根据对应的转换规则将所述第一消息转换为对应的第二消息;所述API网关向所述第一消息的接收方发送所述第二消息,包括:所述API网关分别向每个接收方发送对应的第二消息。5.根据权利要求1所述的基于API网关的数据处理方法,其特征在于,所述的从所述配置信息中获取将所述第一消息转换为第二消息的转换规则,还包括:当所述第一消息为广播消息时,从所述配置信息中还获取所述第一消息对应的广播对象;所述API网关向所述第一消息的接收方发...

【专利技术属性】
技术研发人员:于奎强林喆文振熙
申请(专利权)人:广东川田科技有限公司
类型:发明
国别省市:

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

1