一种基于API智能适配的请求处理方法及装置与流程

文档序号:15683941发布日期:2018-10-16 20:51阅读:128来源:国知局

本发明涉及互联网技术领域,尤其涉及一种基于api智能适配的请求处理方法及装置。



背景技术:

api网关为不同的服务方提供各种应用程序编程接口(applicationprogramminginterface,api)接口以支持各服务方的业务。移动客户端可以安装各服务方的客户端软件,使用户在客户端上使用相应的服务方的各个业务。

现有技术中api网关从客户端接收的api请求的格式与此api请求的接收端定义的格式需要保持一致,在两者数据格式不一致时,输入输出不统一将导致服务端将无法进行数据处理,或者当软件进行了更新,而客户端未及时升级,接口无法上下兼容将导致服务调用的失败,或者当后端的服务无法正常提供时,将会降低用户的体验。因此,亟需一种基于api智能适配的请求处理方法及装置,使api网关能智能适配不同api请求的格式顺利完成数据的处理、服务的调用及新老版本的无缝更新。



技术实现要素:

为了解决上述技术问题,本发明提供了一种基于api智能适配的请求处理方法及装置。

本发明提供了一种基于api智能适配的请求处理方法,包括:

api网关从数据发送端接收api请求;判断需要将此api请求进行适配时,确定数据接收方,匹配适配规则;将所述api请求根据适配规则转换为所述数据接收方的格式;将转换后的api请求发送至所述数据接收方。

上述基于api智能适配的请求处理方法还具有以下特点:

所述适配规则为数据格式转换规则,或者,所述适配规则为不同服务方或不同版本之间的api接口转换规则。

上述基于api智能适配的请求处理方法还具有以下特点:

在api网关从数据发送端接收到用于发送至数据接收方的api请求之前,所述api网关接收所述适配规则并存储。

上述基于api智能适配的请求处理方法还具有以下特点:

所述方法还包括:向用户提供用于设置所述适配规则的接口,接收用户对所述适配规则的添加、删除或修改,将更新后的适配规则发送至所述api网关。

上述基于api智能适配的请求处理方法还具有以下特点:

所述方法还包括:将转换后的api请求发送至所述数据接收方后,将所述api请求记录到日志中并进行分析。

本发明提供的基于api智能适配的请求处理装置,包括:

接收模块,用于从数据发送端接收api请求;

判断模块,用于判断是否需要将所述api请求进行适配;

确定模块,用于在所述判断模块判断需要将所述api请求进行适配时,确定数据接收方;

匹配模块,用于在所述判断模块判断需要将所述api请求进行适配时,匹配预设的适配规则;

重构模块,用于将所述api请求根据适配规则转换为所述数据接收方的格式;

发送模块,用于将转换后的api请求发送至所述数据接收方。

上述基于api智能适配的请求处理装置还具有以下特点:

所述适配规则为数据格式转换规则,或者,所述适配规则为不同服务方或不同版本之间的api接口转换规则。

上述基于api智能适配的请求处理装置还具有以下特点:

所述装置还包括记录模块,所述记录模块用于在api网关从数据发送端接收到用于发送至数据接收方的api请求之前,接收所述适配规则并存储。

上述基于api智能适配的请求处理装置还具有以下特点:

所述装置还包括配置模块,所述配置模块用于配置所述适配规则,接收更新后的适配规则,所述更新包括添加、删除或修改。

上述基于api智能适配的请求处理装置还具有以下特点:

所述装置还包括日志模块,所述日志模块用于在转换后的api请求发送至所述数据接收方后,将所述api请求记录到日志中并进行分析。

本发明可以智能适配接口格式不同的客户端与服务端,确保api输入和输出的协议适配和转换,并且支持用户修改规则,可以方便服务方管理有效提升服务稳定性、降低管理成本、提高用户使用体验,还可以进行api监控,对接口数据实现统计分析。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是实施例中基于api智能适配的请求处理方法的流程图;

图2是实施例中基于api智能适配的请求处理装置的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

如图1所示,基于api智能适配的请求处理方法包括:

步骤101,api网关从数据发送端接收api请求;

步骤102,判断需要将此api请求进行适配时,确定数据接收方,匹配适配规则;

步骤103,将所述api请求根据适配规则转换为所述数据接收方的格式;

步骤104,将转换后的api请求发送至所述数据接收方。

其中,步骤102中的适配规则为数据格式转换规则(例如xml、json等格式),或者,适配规则为不同服务方或不同版本之间的api接口转换规则。

步骤101之前还包括:api网关接收适配规则并存储。

此方法还包括:向用户提供用于设置所述适配规则的接口,接收用户对所述适配规则的添加、删除或修改,将更新后的适配规则发送至所述api网关。

步骤104之后还包括:将所述api请求记录到日志中并进行分析。

图2是实施例中基于api智能适配的请求处理装置,应用于网关,此装置包括接收模块、判断模块、确定模块、匹配模块、重构模块和发送模块。

接收模块用于从数据发送端接收api请求;

判断模块用于判断是否需要将所述api请求进行适配;

确定模块用于在所述判断模块判断需要将所述api请求进行适配时,确定数据接收方;

匹配模块用于在所述判断模块判断需要将所述api请求进行适配时,匹配预设的适配规则;

重构模块用于将所述api请求根据适配规则转换为所述数据接收方的格式;

发送模块用于将转换后的api请求发送至所述数据接收方。

其中,适配规则为数据格式转换规则,或者,适配规则为不同服务方或不同版本之间的api接口转换规则。

此装置还包括记录模块,此记录模块用于在api网关从数据发送端接收到用于发送至数据接收方的api请求之前,接收所述适配规则并存储。

装置还包括配置模块,此配置模块用于配置所述适配规则,接收更新后的适配规则,所述更新包括添加、删除或修改。

此装置还包括日志模块,此日志模块用于在适配后的api请求发送至所述数据接收方后,将所述api请求记录到日志中并进行分析。

下面以几个具体实施例详细说明本发明。

具体实施例一

网关从客户端接收用于购买某项业务的api请求,此api请求的接收目标为第一服务方。网关从客户端接收到此api请求后,判断此api请求的格式为xml格式,而第一服务方支持的格式为json格式。网关查找预设的适配规则。根据适配规则重新构建符合json格式的参数配置规则的新的api请求,将构建好的新的api请求发送至第一服务方。

具体实施例二

网关从客户端接收用于购买某项业务的api请求,此api请求的接收目标为第一服务方。网关从客户端接收到此api请求后,判断此api请求的协议版本为xml的3.0版本,第一服务方支持的格式为xml的4.0版本。网关查找预设的3.0版本和4.0版本之间的适配规则。根据适配规则重新构建符合4.0版本的参数配置规则的新的api请求,将构建好的新的api请求发送至第一服务方。

具体实施例三

此具体实施例三应用于api请求中某一数据字段变更的场景。

用于获取用户的头像信息的业务的原接口格式为

get/user/profile?id=01234567

此接口运行了一段时间后,又一个业务开发了一个新接口,实现同样的功能,新接口格式如下:

get/user/profile?name=01234567

这时,在企业内部就会出现同一个功能中存在了新旧两个版本的接口,这样就导致用户在调用接口时非常不方便,再根据不同的场景切换不同的接口。

根据本发明主旨,为该功能添加两个后端,具体地,企业可以通过api网关所提供的接口,如在api管理平台上进行配置,第一个后端为新接口的后端,在接入时不做任何转换。而第二个后端为旧接口的后端,添加这样一条的适配规则:

querystring:name=>id

这样,当用户调用此api时,就可以按照同样的输入格式调用,当判断出后端为旧接口时,api网关自动进行适配转换,将参数name变成id,这样就可以无缝的对接旧接口。

具体实施例四

现有技术中,如果网关与网站a和网站b相连通,向用户提供接口a和接口b。接口a为http://www.a.com/?query=word;接口b为:http://www.b.com/?query=word

用户可以自由的选择调用a或者b接口来完成搜索业务。网关收到调用接口a的api请求后,向网站a搜索api请求中携带的关键字,从网站a收到搜索结果后返回至用户。网关收到调用接口b的api请求后,向网站b搜索api请求中携带的关键字,从网站b收到搜索结果后返回至用户。但当网站a或网站b的搜索引擎后端宕机时,那么用户在调用相应接口时就不能获得想要的搜索结果。

根据本发明的主旨,网关上预设有用于向用户提供对应于网站a和网站b的api接口之间双向转换的适配规则c,网关接收到调用此接口a的api请求后,当网站a从与api网关连接状态异常,例如网站a宕机时,网关判断需要将此api请求进行适配,确定数据接收方为网站b,网关匹配到适配规则c,将原api请求根据适配规则转换为网站b的接口格式,将转换后的api请求发送至网站b,将从网站b收到的搜索结果返回给用户。

通过本具体实施例,向用户提供一个对不同服务方具有兼容性的适配规则,即可使用适配后得到的新接口正常地调用其他搜索引擎的服务,可以保证只要有一个搜索引擎后端正常,即可保证接口的正常工作,使用户搜索到相应的结果,可以有效提高接口的可用性。

本发明可以智能适配接口格式不同的数据源或服务方,使数据可以在支持不同格式的数据源和服务方之间转发,并且支持用户修改规则,可以有效提升服务稳定性、降低管理成本、提高用户使用体验。

上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。

以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1