一种基于SQL的API接口系统及其管理方法技术方案

技术编号:33460068 阅读:18 留言:0更新日期:2022-05-19 00:41
本发明专利技术公开了一种基于SQL的API接口系统,包括接口开发模块、接口管理模块、接口鉴权模块和接口监控模块,所述接口开发模块的输出端与接口管理模块的输入端连接,接口管理模块的输出端与接口鉴权模块的输入端连接,接口鉴权模块的输出端与接口监控模块的输入端连接,接口监控模块的输出端与接口管理模块的输入端连接;其管理方法,包括接口开发、接口管理、接口鉴权和接口监控。本发明专利技术具有支持多种现有的数据源,扩大应用场景,接口安全性高、对接口全生命周期进行管理的特点。生命周期进行管理的特点。生命周期进行管理的特点。

【技术实现步骤摘要】
一种基于SQL的API接口系统及其管理方法


[0001]本专利技术涉及计算机接口
,特别是一种基于SQL的API接口系统及其管理方法。

技术介绍

[0002]API(ApplicationProgrammingInterface,应用程序接口)是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定,用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。在数据开发过程中,数据最后往往都以API(Application ProgrammingInterface)接口的形式提供共享。通常开发一个API接口,需要熟悉JAVA等编程语言的程序员,通过JDBC等数据库驱动读取数据库表数据,处理数据,返回一定格式的数据结果来定制开发。对于数据人员而言,开发门槛比较高,而且接口在使用过程中无法跟踪,使用安全性不高。
[0003]目前对于API快速开发、生成,主要通过用户创建应用,创建应用的同时自动创建数据库;用户创建表模型,设置表模型中的字段;并在创建的数据库中自动创建数据库表;用户根据需求获取内置API或者自行配置API或者从API市场检索合适API,用户将获取的API集成到前端页面代码中,前端页面调用API与数据库进行数据交互。但是该开发方法,存在以下技术缺点:1、对于已经存在的应用,再从创建应用开始去定义API,重复处理,降低了处理效率;2、API支持的数据源也只能是自己创建的固定的一种数据库类型,对于大数据开发而言,往往需要多种异构数据库数据联合查询,应用场景有限;3、接口的安全性控制精度不够以及不够灵活;4、接口只管上线不管下线的状态没有改变,没有形成接口全生命周期管理。

技术实现思路

[0004]本专利技术的目的在于,提供一种基于SQL的API接口系统及其管理方法。本专利技术具有支持多种现有的数据源,扩大应用场景,接口安全性高、对接口全生命周期进行管理的特点。
[0005]本专利技术的技术方案:一种基于SQL的API接口系统,包括接口开发模块、接口管理模块、接口鉴权模块和接口监控模块,所述接口开发模块的输出端与接口管理模块的输入端连接,接口管理模块的输出端与接口鉴权模块的输入端连接,接口鉴权模块的输出端与接口监控模块的输入端连接,接口监控模块的输出端与接口管理模块的输入端连接;所述接口开发模块用来定义接口信息,经SQL获取现有的数据库的异构数据源数据,生成API接口;接口管理模块用来管理生成的API接口以及接口的下线,对API接口进行测试,发布成数据服务;接口鉴权模块用来配置API接口鉴权并在接口调用时读取鉴权信息进行鉴权服务;接口监控模块用来收集、分析接口调用时产生的调用日志,生成监控报告,进一步进行接口管理。
[0006]前述的一种基于SQL的API接口系统中,所述接口开发模块包括数据源定义单元、
函数定义单元和接口定义单元,数据源定义单元包括支持JDBC驱动的数据源;函数定义单元用来封装被调用的函数方法;所述接口定义单元用来利用现有的各种数据源中获取数据,并调用函数处理数据,定义接口的请求类型,统一输出数据,生成API接口。
[0007]前述的一种基于SQL的API接口系统中,所述接口管理模块包括接口列表单元、接口测试单元、接口发布单元和接口下线单元,接口列表单元用来展现目前已经开发的接口,接口测试单元用来对开发完成后的接口进行试运行以及测试,并及时返回结果;接口发布单元用来将接口从开发环境发布到生产环境,包括远程推送和导入导出;接口下线单元用来对不使用的接口进行下线操作,包括物理删除和逻辑删除。
[0008]前述的一种基于SQL的API接口系统中,所述接口鉴权模块包括系统管理单元、鉴权配置单元和鉴权服务单元,系统管理单元用来登记、管理接口的调用系统信息;鉴权配置单元用来配置接口鉴权,形成鉴权配置库;鉴权服务单元用来读取配置接口鉴权信息进行鉴权。
[0009]前述的一种基于SQL的API接口系统中,所述鉴权配置单元包括令牌鉴权、接口验签、黑白名单和接口限流,令牌鉴权用来生成令牌、解析令牌和匹配信息;接口验签用来生成秘钥,下发签名,并验证调用时的请求参数和参数值;黑白名单用来匹配黑白名单IP列表和客户端IP;接口限流用来限制接口的流量。
[0010]上述的API接口系统的管理方法,包括以下操作步骤:
[0011]S1、接口开发:根据接口定义信息,从现有的数据库获取数据,生成API接口;
[0012]S2、接口管理:将生成的API接口进行测试,发布成数据服务,对未使用的接口进行消亡通知处理;
[0013]S3、接口鉴权:获取调用方的调用请求,对鉴权进行配置得到配置信息,读取配置信息对调用方进行鉴权,鉴权通过之后进行调用;
[0014]S4、接口监控:收集调用访问日志,分析访问日志,若发现异常则进行报警,产生监控报告,发送到接口管理处进行接口下线管理。
[0015]前述的API接口系统的管理方法中,所述步骤S1具体为,根据接口定义信息,从各种数据源中通过数据查询引擎的SQL获取数据,调用函数进行处理,定义接口的请求类型,以JSON格式输出查询结果,生成API接口。
[0016]前述的API接口系统的管理方法中,所述步骤S3的鉴权包括令牌鉴权、接口验签、黑白名单和接口限流,客户端调用API时,依次经过令牌鉴权、接口验签、黑白名单和接口限流,若其中某一个鉴权未通过,则调用失败。
[0017]前述的API接口系统的管理方法中,所述令牌鉴权的鉴权方法,包括以下步骤:
[0018]A、判断调用系统是否存在,若不存在,则进行登记,若存在,则直接通过接口鉴权模块的服务端生成令牌给调用方;
[0019]B、调用方得到令牌调用API,服务端进行令牌判断,若令牌合法,则服务端解析令牌,并获取接口的调用用户角色信息,否则,接口调用失败;
[0020]C、服务端解析用户角色信息,与接口的调用用户进行匹配,若匹配成功,则接口调用成功,若匹配失败,则接口调用失败。
[0021]与现有技术相比,本专利技术本专利技术采用接口开发模块的自底而上的设计方式,利用现有各种异构数据库,通过SQL方式拉取数据,并将数据统一接口处理输出,快速开发成API
接口,支持多种数据源,可以同时处理多个异构数据源的数据和复杂的数据处理逻辑,按统一接口返回,扩大应用场景;不对数据库入侵,只需要有查询权限即可,提高接口开发的效率和质量,降低开发人员接口开发的技术门槛;从原来按天计算的开发周期可以降低到按小时计算,基本1个小时就能开发一个接口;
[0022]采用接口管理模块管理生成的API接口以及接口的下线;
[0023]采用接口鉴权模块支持多种鉴权方式灵活组合控制,接口安全性高,每个接口可以定制化配置不同安全级别的验证,根据不同安全性要求,对接口按不同的用户、不同的应用系统,配置不同安全级别的权限,快速配置出满足不同安全级别要求的接口;并对调用方的调用系统统一登本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于SQL的API接口系统,其特征在于:包括接口开发模块、接口管理模块、接口鉴权模块和接口监控模块,所述接口开发模块的输出端与接口管理模块的输入端连接,接口管理模块的输出端与接口鉴权模块的输入端连接,接口鉴权模块的输出端与接口监控模块的输入端连接,接口监控模块的输出端与接口管理模块的输入端连接;所述接口开发模块用来定义接口信息,经SQL获取现有的数据库的异构数据源数据,生成API接口;接口管理模块用来管理生成的API接口以及接口的下线,对API接口进行测试,发布成数据服务;接口鉴权模块用来配置API接口鉴权并在接口调用时读取鉴权信息进行鉴权服务;接口监控模块用来收集、分析接口调用时产生的调用日志,生成监控报告,进一步进行接口管理。2.根据权利要求1所述的一种基于SQL的API接口系统,其特征在于:所述接口开发模块包括数据源定义单元、函数定义单元和接口定义单元,数据源定义单元包括支持JDBC驱动的数据源;函数定义单元用来封装被调用的函数方法;所述接口定义单元用来利用现有的各种数据源中获取数据,并调用函数处理数据,定义接口的请求类型,统一输出数据,生成API接口。3.根据权利要求1所述的一种基于SQL的API接口系统,其特征在于:所述接口管理模块包括接口列表单元、接口测试单元、接口发布单元和接口下线单元,接口列表单元用来展现目前已经开发的接口,接口测试单元用来对开发完成后的接口进行试运行以及测试,并及时返回结果;接口发布单元用来将接口从开发环境发布到生产环境,包括远程推送和导入导出;接口下线单元用来对不使用的接口进行下线操作,包括物理删除和逻辑删除。4.根据权利要求1所述的一种基于SQL的API接口系统,其特征在于:所述接口鉴权模块包括系统管理单元、鉴权配置单元和鉴权服务单元,系统管理单元用来登记、管理接口的调用系统信息;鉴权配置单元用来配置接口鉴权,形成鉴权配置库;鉴权服务单元用来读取配置接口鉴权信息进行鉴权。5.根据权利要求4所述的一种基...

【专利技术属性】
技术研发人员:叶剑蔡银听曹义峰李卫峰
申请(专利权)人:英飞拓杭州信息系统技术有限公司
类型:发明
国别省市:

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

1