一种统一接口管理方法和系统技术方案

技术编号:17733775 阅读:38 留言:0更新日期:2018-04-18 11:19
本发明专利技术提供一种统一接口管理方法和系统,其中该方法包括:获取接口仓库中各个服务接口的协议信息,协议信息包括接口类型、入参、出参、路由规则、调用超时时间以及数据映射规则;根据用户向HTTP接口发送的业务请求,获取HTTP接口的协议信息中的路由规则,并根据路由规则,确定HTTP接口调用的服务接口;根据协议信息,获取调用的服务接口的接口类型,并根据接口类型和入参、出参,调用服务接口;获取调用的服务接口返回的业务数据,并将业务数据按照数据映射规则发送至用户。本发明专利技术能够实现对不同服务接口进行统一管理和监控,并且利用多种路由规则有效降低切流量、灰度发布等功能的开发和维护成本。

A unified interface management method and system

The invention provides a unified interface management method and system, wherein the method comprises: acquiring information of each service protocol interface protocol information in the warehouse, including the interface type, the ginseng, ginseng, routing rules, call timeout and data mapping rules; according to the user interface and sends the request to the HTTP service protocol, routing rules access to information in the HTTP interface, and according to the routing rules, determine the HTTP service interface interface; according to the protocol information, interface type service interface to obtain the call, and according to the interface type and parameters, parameters, call the service interface; data service interface to obtain call return, and business data in accordance with the the data is transmitted to the user mapping rules. The invention can realize unified management and monitoring of different service interfaces, and effectively reduce the development and maintenance cost of cutting traffic and grayscale release by using a variety of routing rules.

【技术实现步骤摘要】
一种统一接口管理方法和系统
本专利技术涉及计算机软件领域,具体涉及一种统一接口管理方法和系统。
技术介绍
几乎所有的互联网系统最初都是一体化设计的,所有的功能代码业务实现都在一个系统中完成。随着用户不断的增加,业务也会越来越多样化,相应的系统的复杂度、稳定性、可维护性也越来越难以控制。随着业务系统的服务化的兴起和发展,系统服务化带来了另一个问题是服务接口分散。也就是说,前台页面所呈现的信息很可能来自多个服务接口,而每个服务接口又可能是通过不同的业务部门进行维护。当这些服务接口发生异常情况时,前台页面就会出现各种问题,例如排版错乱、开天窗,甚至显示错误信息,导致系统用户体验较差。此外,由于这些服务接口来自不同的业务部门,因此无法方便的对其进行监控。在现有技术中,针对Http服务接口的管理系统一般分为前端管理和后端管理,其中前端管理一般使用JS脚本对其进行数据校验、数据托底等管理,而后端管理就是将比如切流量、灰度测试、性能监控等置于后端来做。无论是通过前端处理还是后端处理都会产生大量的工作量,例如A系统和B系统都用到了某个服务接口C,两个系统就需要对服务接口C做同样的数据校验,如果A系统和B系统是相同语言编写,则工作相对简单,直接代码公用就可以,但是如果两个系统用不同的语言编写,开发和维护成本就更大了。由于仅进行一项数据校验任务就这么麻烦,如果再要完成其他功能复杂度就可想而知了。
技术实现思路
有鉴于此,本专利技术的目的是提供一种统一接口管理方法和系统,以实现对复杂多样的服务接口进行统一管理,减少开发和维护的成本,进而提升用户体验。本专利技术的技术方案是提供一种统一接口管理方法,其中,所述方法包括:获取接口仓库中各个服务接口的协议信息,所述协议信息包括接口类型、入参、出参、路由规则、调用超时时间以及数据映射规则;根据用户向HTTP接口发送的业务请求,获取所述HTTP接口的协议信息中的路由规则,并根据所述路由规则,确定所述HTTP接口调用的所述服务接口;根据所述协议信息,获取调用的所述服务接口的所述接口类型,并根据所述接口类型和所述入参,调用所述服务接口;获取调用的所述服务接口返回的业务数据,并将所述业务数据按照所述数据映射规则发送至所述用户。可选地,所述接口类型包括但不限于:HttpGet和HttpPost以及Webservice。可选地,所述路由规则包括但不限于:默认路由规则、Cookie路由规则以及请求头路由规则。可选地,根据所述路由规则,确定所述HTTP接口调用与业务请求对应的所述服务接口,还包括:当所述用户向所述HTTP接口发送所述业务请求时,根据所述路由规则计算调用的所述服务接口的缓存key,并将调用的所述服务接口保存至Nginx的共享缓存中或Redis。可选地,该方法还包括:当所述用户向所述HTTP接口发送所述业务请求时,根据所述缓存key查询所述共享缓存中是否存在调用的所述服务接口;如果存在调用的所述服务接口,则调用所述共享缓存中的所述服务接口,反之,则调用所述接口仓库中的所述服务接口。可选地,该方法还包括:如果对所述服务接口的调用发生调用异常或者所述调用超时时间大于等于预设阈值,则返回所述服务接口的托底数据。可选地,该方法还包括:采集调用所述HTTP接口以及所述服务接口的系统数据,并将所述系统数据保存至日志文件中。本专利技术还提供一种统一接口管理系统,其中,所述系统包括:协议信息获取装置,用于获取接口仓库中各个服务接口的协议信息,所述协议信息包括接口类型、入参、出参、路由规则、调用超时时间以及数据映射规则;接口选择装置,用于根据用户向HTTP接口发送的业务请求,获取所述HTTP接口的协议信息中的路由规则,并根据所述路由规则,确定所述HTTP接口调用的所述服务接口;接口调用装置,用于根据所述协议信息,获取调用的所述服务接口的所述接口类型,并根据所述接口类型和所述入参,调用所述服务接口;业务处理装置,用于获取调用的所述服务接口返回的业务数据,并将所述业务数据按照所述数据映射规则发送至所述用户。可选地,所述接口类型包括但不限于:HttpGet和HttpPost以及Webservice。可选地,所述路由规则包括但不限于:默认路由规则、Cookie路由规则以及请求头路由规则。可选地,所述接口选择装置,还用于:当所述用户向所述HTTP接口发送所述业务请求时,根据所述路由规则计算调用的所述服务接口的缓存key,并将调用的所述服务接口保存至Nginx的共享缓存中或Redis。可选地,该系统还包括:缓存装置,所述缓存装置用于当所述用户向所述HTTP接口发送所述业务请求时,根据所述缓存key查询所述缓存装置中是否存在调用的所述服务接口;如果存在调用的所述服务接口,则调用所述共享缓存中的所述服务接口,反之,则调用所述接口仓库中的所述服务接口。可选地,该系统还包括:数据托底装置,所述数据托底装置用于如果对所述服务接口的调用发生调用异常或者所述调用超时时间大于等于预设阈值,则返回所述服务接口的托底数据。可选地,该系统还包括:数据采集装置,用于采集调用所述HTTP接口以及所述服务接口的系统数据,并将所述系统数据保存至日志文件中。通过本专利技术提供的统一接口管理方法和系统,能够实现对不同服务接口进行统一管理和监控,并且利用多种路由规则有效降低切流量、灰度发布等功能的开发和维护成本。另外,通过对接口的协议信息进行共享缓存以及使用数据托底功能,有效提高了接口的性能和避免了因接口异常而出现开天窗的问题。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1为本专利技术一实施例的统一接口管理方法的流程示意图;图2为本专利技术一实施例的统一接口管理系统的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本专利技术实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说明用于解释本专利技术,但并不作为对本专利技术的限定。本领域技术技术人员知道,本专利技术的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。在本文中,需要理解的是,所涉及的术语中:接口仓库:就是存储第三方服务接口信息的数据库。lua-nginx-module:是开发的nginx第三方模块,它能将lua语言嵌入到nginx配置中,从而使用lua极大增强了nginx的性能。示例性方法下面参考图1对本专利技术示例性的实施方式的统一接口管理方法进行介绍。需要注意的是,上述应用场景仅是为了便于理解本专利技术的精神和原理而示出,本专利技术的实施方式在此方面不受任何限制。相反,本专利技术的实施方式可以应用于适用的任何场景。例如,参见图1所示,为本专利技术一实施例的统一接口管理方法的流程示意图。如图所示,该方法包括:步骤S101:获取接口仓库中各个服务接口的协议信息,所述协议信息包括接口类型、入参、出参、路由规则、调用超时时间以及数据映射规则;步骤S102:根据用户本文档来自技高网...
一种统一接口管理方法和系统

【技术保护点】
一种统一接口管理方法,其特征在于,所述方法包括:获取接口仓库中各个服务接口的协议信息,所述协议信息包括接口类型、入参、出参、路由规则、调用超时时间以及数据映射规则;根据用户向HTTP接口发送的业务请求,获取所述HTTP接口的协议信息中的路由规则,并根据所述路由规则,确定所述HTTP接口调用的所述服务接口;根据所述协议信息,获取调用的所述服务接口的所述接口类型,并根据所述接口类型和所述入参,调用所述服务接口;获取调用的所述服务接口返回的业务数据,并将所述业务数据按照所述数据映射规则发送至所述用户。

【技术特征摘要】
1.一种统一接口管理方法,其特征在于,所述方法包括:获取接口仓库中各个服务接口的协议信息,所述协议信息包括接口类型、入参、出参、路由规则、调用超时时间以及数据映射规则;根据用户向HTTP接口发送的业务请求,获取所述HTTP接口的协议信息中的路由规则,并根据所述路由规则,确定所述HTTP接口调用的所述服务接口;根据所述协议信息,获取调用的所述服务接口的所述接口类型,并根据所述接口类型和所述入参,调用所述服务接口;获取调用的所述服务接口返回的业务数据,并将所述业务数据按照所述数据映射规则发送至所述用户。2.根据权利要求1所述的方法,其特征在于,所述接口类型包括但不限于:HttpGet和HttpPost以及Webservice。3.根据权利要求1所述的方法,其特征在于,所述路由规则包括但不限于:默认路由规则、Cookie路由规则以及请求头路由规则。4.根据权利要求1所述的方法,其特征在于,根据所述路由规则,确定所述HTTP接口调用与业务请求对应的所述服务接口,还包括:当所述用户向所述HTTP接口发送所述业务请求时,根据所述路由规则计算调用的所述服务接口的缓存key,并将调用的所述服务接口保存至Nginx的共享缓存中或Redis。5.根据权利要求4所述的方法,其特征在于,还包括:当所述用户向所述HTTP接口发送所述业务请求时,根据所述缓存key查询所述共享缓存中是否存在调用的所述服务接口;如果存在调用的所述服务接口,则调用所述共享缓存中的所述服务接口,反之,则调用所述接口仓库中的所述服务接口。6.根据权利要求1所述的方法,其特征在于,还包括:如果对所述服务接口的调用发生调用异常或者所述调用超时时间大于等于预设阈值,则返回所述服务接口的托底数据。7.根据权利要求1~6中任一项所述的方法,其特征在于,还包括:采集调用所述HTTP接口以及所述服务接口的系统数据,并将所述系统数据保存至日志文件中。8.一种统一接口管理系统,其特征在于,所述系统包括:协议...

【专利技术属性】
技术研发人员:马顺风尚鑫韩笑跃王飞宗超倪建友金太勇韩勇
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1