CN109460223B - 一种api网关管理***及其方法 - Google Patents
一种api网关管理***及其方法 Download PDFInfo
- Publication number
- CN109460223B CN109460223B CN201811350232.4A CN201811350232A CN109460223B CN 109460223 B CN109460223 B CN 109460223B CN 201811350232 A CN201811350232 A CN 201811350232A CN 109460223 B CN109460223 B CN 109460223B
- Authority
- CN
- China
- Prior art keywords
- api
- parameter
- converter
- verifier
- verifying whether
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种API网关管理方法,具体步骤如下,对接入***的API进行元数据定义和参数定义;结合元数据定义和参数定义形成接口模板;接口模板动态绑定业务变量,通过外部***调动合成动态具体业务参数;结合接口模板和动态业务参数进行API参数替换和计算机形成调用实例;调用实例通过调用驱动对外部***进行调用以及事件输出。本发明采用上述一种API网关管理方法以及基于上述方法的***,将众多与复杂的API进行接口模板化、信息化并结合动态数据参数形成模板化调用实例,开发效率高,并随着各种API的积累,***适用性越高,减少开发与测试的工作量,节省人力成本。
Description
技术领域
本发明涉及一种API网关管理***及其方法。
背景技术
API为应用***之间相互通信的一种交互方式,但是由于不同***间的差异比较大,导致API接口类型众多,形式各异,导致开发任务重,API联调测试多,使得开发与测试工作量大,效率低。
发明内容
本发明的目的是提供一种API网关管理***及其方法,将众多与复杂的API抽象化,进而标准化和信息化,此方法适用于各种API,提高开发效率,减少开发与测试的工作量,提高代码利用率,节省人力成本,同时,极大地提升复用性,可形成无需要编写代码而进行配制性开发。开发人员也可以降低技能、进而形成非开发人员配置与赋能。
为实现上述目的,本发明提供了一种API网关管理方法,具体步骤如下,
步骤S1:对接入***的API进行元数据定义和参数定义;
步骤S2:结合元数据定义和参数定义形成接口模板;
步骤S3:接口模板动态绑定业务变量,通过外部***调动合成动态具体业务参数;
步骤S4:结合接口模板和动态业务参数进行API参数替换和计算形成调用实例;
步骤S5:调用实例通过调用驱动对外部***进行调用以及事件输出。
进一步的,元数据定义包括API名称、API编码、API描述、连接协议、请求URL与方法以及参数格式,参数模板定义和模板变量定义通过参数验证器和参数转换器得出。
进一步的,外部***调动包括业务调用、测试或运营人员验证调用以及***自检自动验证调用,事件输出包括通知和告警输出。
一种基于上述方法的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描述、连接协议以及请求URL与方法,转换模板化API是将各种协议异构、参数与格式异构的API通过参数模板转换为具有一个规格的统一化的API,输入参数模板中包括一个或多API参数变量,变量再动态绑定多个验证器,上行参数变量在下边中参数列表中设置校难验规则;同理,输出参数也定义模板,模板变量绑定转换器,下行参数变量在下边的参数列表中设置转换规则,将各种API参数固化和定制私有。
优选的,参数验证与转换将模板化API转换为标准化API方便用户调用,每个参数配置多个验证器或转换器,所述验证器包括验证参数是否为空的空参数验证器、验证参数是否在指定时间范围内重复的重复请求验证器、验证参数是否全为数字的数字验证器、验证能数是否全为字母的字母验证器、验证参数是否全为数字或字母的数字字母验证器、验证参数是否合法的URL地址的URL验证器、验证参数长度是否小于指定长度的最小长度验证器、验证能数长度是否大于指定长度的最大长度验证器、验证参数是否为合法的XML数据的XML格式验证器、验证参数是否为合法的JSON数据的JSON格式验证器、验证参数是否合为合法的base64验证器的Base64编码验证器、验证时间参数是否在指定时差范围内的时间戳验证器、验证IP是否合合法的IP地址的IP验证器以及验证符号是否为唯一符识符标识符验证器,所述转换器包括通用转换器、加解密转换器、格式转换器以及私有转换器,所述通用转换器包括流水号生成转换器、时间戳生成转换器、字典序签名转换器、时间格式转义转换器、时间格式化转换器、参数连接转换器以及数值转换器;所述加解密转换器包括MD5签名转换器、SHA1加密转换器、RSA加密转换器、Base64转换器以及RSA+Base64转换器;所述格式转换器包括XML格式转换器和JSON格式转换器;所述私有转换器为定制类型的转换器。
优选的,可视测试时选择测试的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网关管理***流程示意图,如图1所示,一种API网关管理方法,具体步骤如下,
步骤S1:对接入***的API进行元数据定义和参数定义。元数据定义包括API名称、API编码、API描述、连接协议、请求URL与方法以及参数格式,参数模板定义和模板变量定义通过参数验证器和参数转换器得出。
步骤S2:结合元数据定义和参数定义形成接口模板。
步骤S3:接口模板动态绑定业务变量,通过外部***调动合成动态具体业务参数。动态具体业务参数包括电话号码等,外部***调动包括业务调用、测试或运营人员验证调用以及***自检自动验证调用,事件输出包括通知和告警输出。
步骤S4:结合接口模板和动态业务参数进行API参数替换和计算形成调用实例。
步骤S5:调用实例通过调用驱动对外部***进行调用以及事件输出。
一种基于上述方法的API网关管理***,包括,
接入模块,将接入模块用于将若干业务***接入API网关中。
***监控模块,所述***监控模块用于对***使用状态进行监控。
所述***监控模块对度量、线程、组件、健康和环境信息进行监控,度量包括运行内存使用率,运行内存使用率通过占比圆盘显示使用内存、剩余内存以及各部分使用占比。
API管理模块,所述API管理模块用于对API进行定义、查看、修改、转换模板化API、参数验证、绑定与转换、可视化测试以及API生命周期管理。
API定义,在API定义列表中,可对API定义动态地进行新建、删除、修改以及测试,实时增加API能力;同时可以在API定义列表中查看API定义基本信息,API定义基本信息包括API名称、API编码、API描述、连接协议以及请求URL与方法,转换模板化API是将各种协议异构、参数与格式异构的API通过参数模板转换为具有一个规格的统一化的API,输入参数模板中包括一个或多API参数变量,变量再动态绑定多个验证器,上行参数变量在下边中参数列表中设置校难验规则;同理,输出参数也定义模板,模板变量绑定转换器,下行参数变量在下边的参数列表中设置转换规则,将各种API参数固化和定制私有。
参数验证与转换将模板化API转换为标准化API方便用户调用,每个参数配置多个验证器或转换器,所述验证器包括验证参数是否为空的空参数验证器、验证参数是否在指定时间范围内重复的重复请求验证器、验证参数是否全为数字的数字验证器、验证能数是否全为字母的字母验证器、验证参数是否全为数字或字母的数字字母验证器、验证参数是否合法的URL地址的URL验证器、验证参数长度是否小于指定长度的最小长度验证器、验证能数长度是否大于指定长度的最大长度验证器、验证参数是否为合法的XML数据的XML格式验证器、验证参数是否为合法的JSON数据的JSON格式验证器、验证参数是否合为合法的base64验证器的Base64编码验证器、验证时间参数是否在指定时差范围内的时间戳验证器、验证IP是否合合法的IP地址的IP验证器以及验证符号是否为唯一符识符标识符验证器,所述转换器包括通用转换器、加解密转换器、格式转换器以及私有转换器,所述通用转换器包括流水号生成转换器、时间戳生成转换器、字典序签名转换器、时间格式转义转换器、时间格式化转换器、参数连接转换器以及数值转换器;所述加解密转换器包括MD5签名转换器、SHA1加密转换器、RSA加密转换器、Base64转换器以及RSA+Base64转换器;所述格式转换器包括XML格式转换器和JSON格式转换器;所述私有转换器为定制类型的转换器。可视测试时选择测试的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的积累,***适用性越高,减少开发与测试的工作量,节省人力成本,同时,极大地提升复用性,可形成无需要编写代码而进行配制性开发。开发人员也可以降低技能、进而形成非开发人员配置与赋能。
以上是本发明的具体实施方式,但本发明的保护范围不应局限于此。任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内,因此本发明的保护范围应以权利要求书所限定的保护范围为准。
Claims (5)
1.一种API网关管理方法,其特征在于:具体步骤如下, 步骤S1:对接入***的API进行元数据定义和参数定义; 步骤S2:结合元数据定义和参数定义形成接口模板; 步骤S3:接口模板动态绑定业务变量,通过外部***调动合成具体动态业务参数; 步骤S4:结合接口模板和动态业务参数进行API参数替换和计算形成调用实例; 步骤S5:调用实例通过调用驱动对外部***进行调用以及事件输出;
元数据定义包括API名称、API编码、API描述、连接协议、请求URL与方法以及参数格式,参数模板定义和模板变量定义通过参数验证器和参数转换器得出;
外部***调动包括业务调用、测试或运营人员验证调用以及***自检自动验证调用,事件输出包括通知和告警输出;
可视测试时选择测试的API通过***界面将API的基本信息、请求信息以及错误信息进行显示,实现功能验证过程与结果可视化,API操作日志是指在API配置时的修改日志,API请求日志是指调用者向服务端发出API请求时所记录的日志;
对于每个API需要进行生命周期管理,API周期状态包括尚未完成定义的草稿态、可以测试使用的测试态、发布到生产环境并可以被动态加载的发布态以及API不再使用的下线态四个状态;
API控制模块中处理API请求包括白名单控制、API流量控制以及API路由控制,白名单限制指定的主机可以对***进行访问,API流量控制支持***对API访问频次的限制,对API进行限流,过多过快消息对***的冲击,API路由控制是指对于API的请求如何处理。
2.一种基于权利要求1所述的API网关管理方法的***,其特征在于:包括接入模块,将接入模块用于将若干业务***接入API网关中;***监控模块,所述***监控模块用于对***使用状态进行监控;API管理模块,所述API管理模块用于对API进行定义、查看、修改、转换模板化API、参数验证、绑定与转换、可视化测试以及API生命周期管理;API日志模块,所述API日志模块包括API管理操作日志、API请求日志、API路由日志;API控制模块,所述API控制模块用于处理API请求;***管理模块,所述***管理模块用于验证器和转换器管理和参数配置。
3.根据权利要求2所述的一种API网关管理方法的***,其特征在于:所述***监控模块对度量、线程、组件、健康和环境信息进行监控,度量包括运行内存使用率,运行内存使用率通过占比圆盘显示使用内存、剩余内存以及各部分使用占比。
4.根据权利要求3所述的一种API网关管理方法的***,其特征在于:API定义,在API定义列表中,可对API定义动态地进行新建、删除、修改以及测试,实时增加API能力;同时可以在API定义列表中查看API定义基本信息,API定义基本信息包括API名称、API编码、API描述、连接协议以及请求URL与方法,转换模板化API是将各种协议异构、参数与格式异构的API通过参数模板转换为具有一个规格的统一化的API,输入参数模板中包括一个或多API参数变量,变量再动态绑定多个验证器,上行参数变量在下边中参数列表中设置校难验规则;同理,输出参数也定义模板,模板变量绑定转换器,下行参数变量在下边的参数列表中设置转换规则,将各种API参数固化和定制私有。
5.根据权利要求4所述的一种API网关管理方法的***,其特征在于:参数验证与转换将模板化API转换为标准化API方便用户调用,每个参数配置多个验证器或转换器,所述验证器包括验证参数是否为空的空参数验证器、验证参数是否在指定时间范围内重复的重复请求验证器、验证参数是否全为数字的数字验证器、验证能数是否全为字母的字母验证器、验证参数是否全为数字或字母的数字字母验证器、验证参数是否合法的URL地址的URL验证器、验证参数长度是否小于指定长度的最小长度验证器、验证能数长度是否大于指定长度的最大长度验证器、验证参数是否为合法的XML数据的XML格式验证器、验证参数是否为合法的JSON数据的JSON格式验证器、验证参数是否合为合法的base64验证器的Base64编码验证器、验证时间参数是否在指定时差范围内的时间戳验证器、验证IP是否合合法的IP地址的IP验证器以及验证符号是否为唯一符识符标识符验证器,所述转换器包括通用转换器、加解密转换器、格式转换器以及私有转换器,所述通用转换器包括流水号生成转换器、时间戳生成转换器、字典序签名转换器、时间格式转义转换器、时间格式化转换器、参数连接转换器以及数值转换器;所述加解密转换器包括MD5签名转换器、SHA1加密转换器、RSA加密转换器、Base64转换器以及RSA+Base64转换器;所述格式转换器包括XML格式转换器和JSON格式转换器;所述私有转换器为定制类型的转换器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811350232.4A CN109460223B (zh) | 2018-11-14 | 2018-11-14 | 一种api网关管理***及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811350232.4A CN109460223B (zh) | 2018-11-14 | 2018-11-14 | 一种api网关管理***及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109460223A CN109460223A (zh) | 2019-03-12 |
CN109460223B true CN109460223B (zh) | 2022-11-25 |
Family
ID=65610273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811350232.4A Active CN109460223B (zh) | 2018-11-14 | 2018-11-14 | 一种api网关管理***及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109460223B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113394A (zh) * | 2019-04-19 | 2019-08-09 | 浙江数链科技有限公司 | Api调用方法和装置 |
CN110602043A (zh) * | 2019-08-08 | 2019-12-20 | 中腾信金融信息服务(上海)有限公司 | 一种面向移动应用的api网关实现***及方法 |
CN110502508A (zh) * | 2019-08-23 | 2019-11-26 | 行吟信息科技(上海)有限公司 | 一种基于参数动态的校验方法及*** |
CN110753127A (zh) * | 2019-10-29 | 2020-02-04 | 浪潮云信息技术有限公司 | 基于Kong的API网关实现请求参数转换的方法 |
WO2021109027A1 (zh) * | 2019-12-04 | 2021-06-10 | 深圳晶泰科技有限公司 | 面向分布式***中管理大量任务输入参数的方法和*** |
CN111125594A (zh) * | 2019-12-04 | 2020-05-08 | 深圳晶泰科技有限公司 | 面向分布式***中管理大量任务输入参数的方法和*** |
CN111064722B (zh) * | 2019-12-12 | 2022-10-25 | 山西云时代技术有限公司 | 一种以api方式实现集协议转换的数据共享方法 |
CN111277499A (zh) * | 2020-01-14 | 2020-06-12 | 浙江华云信息科技有限公司 | 基于gateway网关实时生效的动态路由方法 |
CN111985186B (zh) * | 2020-08-26 | 2024-07-02 | 深圳赛安特技术服务有限公司 | 一种字典项转换方法、api网关***、设备及存储介质 |
CN112019332B (zh) * | 2020-08-26 | 2022-11-04 | 平安国际智慧城市科技股份有限公司 | 基于微服务的加解密方法、api网关***及设备 |
CN112925666A (zh) * | 2021-04-10 | 2021-06-08 | 深圳市今天国际物流技术股份有限公司 | 一种基于groovy脚本技术的第三方API集成管理方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPR464601A0 (en) * | 2001-04-30 | 2001-05-24 | Commonwealth Of Australia, The | Shapes vector |
US8713060B2 (en) * | 2009-03-31 | 2014-04-29 | Amazon Technologies, Inc. | Control service for relational data management |
US10050935B2 (en) * | 2014-07-09 | 2018-08-14 | Shape Security, Inc. | Using individualized APIs to block automated attacks on native apps and/or purposely exposed APIs with forced user interaction |
CN106296202A (zh) * | 2016-08-15 | 2017-01-04 | 沈阳林科信息技术有限公司 | 一种用于终端话费支付过程中用户风险防控的方法 |
CN107786616A (zh) * | 2016-08-30 | 2018-03-09 | 江苏蓝创聚联数据与应用研究院有限公司 | 基于云端的主机智能监控*** |
CN106330935B (zh) * | 2016-08-30 | 2019-09-10 | 上海交通大学 | 一种钓鱼Wi-Fi的检测方法 |
CN108667866B (zh) * | 2017-03-29 | 2020-06-23 | 北京数聚鑫云信息技术有限公司 | 一种基于api智能适配的请求处理方法及装置 |
CN108415944B (zh) * | 2018-01-30 | 2019-03-22 | 长安大学 | 一种交通环境下基于微服务的实时计算***及其实现方法 |
CN108512748A (zh) * | 2018-03-21 | 2018-09-07 | 上海艾融软件股份有限公司 | 一种微服务网关的实现方法 |
CN108449417A (zh) * | 2018-03-29 | 2018-08-24 | 国信优易数据有限公司 | 一种业务数据访问方法及装置 |
-
2018
- 2018-11-14 CN CN201811350232.4A patent/CN109460223B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109460223A (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109460223B (zh) | 一种api网关管理***及其方法 | |
WO2019072110A1 (zh) | 应用程序的生成方法、装置、***、设备和介质 | |
EP1872225B1 (en) | Method for handling a detected error in a script-based application | |
CN105335293A (zh) | 一种基于接口并行的自动化测试***和方法 | |
CN112527252B (zh) | 小程序管理方法及装置、小程序平台、电子设备、介质 | |
CN101795270A (zh) | 一种基于串口的服务器控制方法 | |
CN101482817A (zh) | 基于黑盒的大粒度Java构件组装方法 | |
US20190207867A1 (en) | Platform with multiple execution engines | |
CN109902493B (zh) | 脚本的下发方法及服务器 | |
CN105577463A (zh) | 一种基于通信协议的测试方法及其装置 | |
CN110674083A (zh) | 工作流迁移方法、装置、设备及计算机可读存储介质 | |
CN112631590A (zh) | 组件库生成方法、装置、电子设备和计算机可读介质 | |
Kraemer et al. | Automated encapsulation of UML activities for incremental development and verification | |
CN111651121A (zh) | 数据逻辑计算方法、装置、电子设备及存储介质 | |
CN107122307B (zh) | 一种物联网执行*** | |
JP2005228183A (ja) | プログラム実行方法、および、プログラム実行のための計算機システム | |
CN103561113B (zh) | Web Service接口的生成方法及装置 | |
CN111782882A (zh) | 一种tcp报文转换方法、装置、***及计算机存储介质 | |
TW201407503A (zh) | 雲端平台工作排程方法及系統 | |
CN115460265A (zh) | 接口调用方法、装置、设备及介质 | |
JP2010049439A (ja) | ソフトウェアモデルを用いたシステム構築方法およびモデリング装置 | |
CN105068796A (zh) | 补丁程序集的推送方法和补丁程序集的推送*** | |
CN102075646B (zh) | 呼叫中心设备控制***及方法 | |
CN112416995A (zh) | 一种数据统计方法、装置、计算机设备及存储介质 | |
WO2017197829A1 (zh) | 测试信息管理方法、装置、测试用例执行***及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |