本申请涉及接口封装,例如涉及一种基于云平台的接口封装系统及方法。
背景技术:
1、在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
2、目前上层统一接口平台应用广泛,大多数均是通过直接转调的方式进行转调和集成,缺少统一管理的步骤。
3、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
2、本公开实施例提供了一种基于云平台的接口封装系统及方法,旨在集成不同类型云的第三方接口,对外提供相同的调用方式,实现不同类型的接口统一鉴权、流控、统计等。
3、在一些实施例中,所述系统包括:
4、数据库,用于存储不同来源、不同组件、不同类型接口的接口定义和接口参数,接口定义包括接口基本信息、接口生成rsa2密钥对和接口标识,使用rsa2非对称加密方式,对接口信息进行加密处理,生成密钥对作为接口生成rsa2密钥对,生成token作为接口标识;
5、redis集群,包括多个redis,每个redis用于缓存一个数据库内的接口信息,每次接口调用时先查询redis集群;
6、本地缓存,用于缓存redis数据,根据不同类型的接口调用不同的组装方式;
7、返回报文处理模块,根据不同类型的返回报文方式进行统一化处理,实现接口统一化出参格式。
8、进一步的,数据库中的接口标识和过期时间写入redis用于接口验证时使用。
9、进一步的,本地缓存包括token鉴权模块、接口关系校验模块、组装调用编码模块,使用token发起调用时,token鉴权模块根据token查询redis,如果redis中存在相应的token,获取接口标识进行验证,如果验证通过则鉴权完成;接口关系校验模块配置接口验证调用链,使用排序调用的方式进行不同类的接口验证信息;验证通过后,根据接口标识查询本地缓存,获取接口的服务端调用方式、url和报文,组装调用编码模块根据不同类型的接口调用不同的组装方式。
10、进一步的,本地缓存设有两个map,调用查询时,先用map2缓存更新的数据,然后将map2中的数据赋值给map1,map1中的数据供调用查询。
11、进一步的,当接口发生变化或者新增加接口时,首先更新数据库,通知redis重新读取数据库,更新redis内容,最后本地缓存从redis上更新本地缓存内容。
12、进一步的,通过梳理平台纳管接口形成接口文档,接口文档包括调用url、调用方式、入参、出参、描述,接口文档,接口文档与数据库进行一致性维护管理。
13、进一步的,本系统实现接口统一测试,通过遍历redis的方式,编写自动化测试脚本,遍历接口和参数,自动化发起轮询调用。
14、在一些实施例中,所述方法包括:
15、s01、梳理平台纳管接口形成接口文档;
16、s02、配置接口内容至数据库,配置接口定义表、接口参数表;
17、s03、研制生成token的工程代码,实现api以及利用公钥进行rsa2加密,生成token用于接口调用标识,将标识和过期时间写入redis,用于接口验证时使用;
18、s04、使用token发起调用,根据token查询redis,如果redis中存在相应的token,获取接口标识进行验证,如果验证通过则鉴权完成;
19、s05、配置接口验证调用链,使用排序调用的方式进行不同类的接口验证信息;
20、s06、根据接口标识查询本地二级缓存,获取接口的服务端调用方式、url和报文,根据不同类型的接口调用不同的组装方式,实现第三方接口调用;
21、s07、返回报文处理,根据不同类型的返回报文方式进行统一化处理,实现接口统一化出参格式。
22、进一步的,平台启动时,加载数据库数据,并将数据写入redis和本地缓存,当接口信息发生变化时,更新redredis数据,本地监听redis数据变化更新本地缓存。
23、进一步的,接口文档包括调用url、调用方式、入参、出参、描述,接口文档。
24、本公开实施例提供的一种基于云平台的接口封装系统及方法,可以实现以下技术效果:
25、本专利通过侵入式封装接口实现不同来源的接口的统一管理:
26、1、通过数据库-redis-本地二级缓存。减少接口数据库查询次数。
27、2、提供统一鉴权方式,对不同来源的接口进行权限管理。
28、3、通过统一的调用格式进行转码调用,实现所有管理接口调用格式的统一管理。
29、4、符合统一管理规则,自动化脚本直接遍历数据库数据进行接口测试。
30、5、实现对不同来源组件、不同调用方式的接口进行统一化调用。
31、6、使用redis一级缓存、本地二级缓存的方式减轻数据库网络压力,快速解析接口信息。
32、7、使用redis+rsa2非对称加密算法,实现接口统一鉴权。
33、以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
1.一种基于云平台的接口封装系统,其特征在于,包括:
2.根据权利要求1所述的基于云平台的接口封装系统,其特征在于:数据库中的接口标识和过期时间写入redis用于接口验证时使用。
3.根据权利要求2所述的基于云平台的接口封装系统,其特征在于:本地缓存包括token鉴权模块、接口关系校验模块、组装调用编码模块,使用token发起调用时,token鉴权模块根据token查询redis,如果redis中存在相应的token,获取接口标识进行验证,如果验证通过则鉴权完成;接口关系校验模块配置接口验证调用链,使用排序调用的方式进行不同类的接口验证信息;验证通过后,根据接口标识查询本地缓存,获取接口的服务端调用方式、url和报文,组装调用编码模块根据不同类型的接口调用不同的组装方式。
4.根据权利要求1所述的基于云平台的接口封装系统,其特征在于:本地缓存设有两个map,调用查询时,先用map2缓存更新的数据,然后将map2中的数据赋值给map1,map1中的数据供调用查询。
5.根据权利要求1所述的基于云平台的接口封装系统,其特征在于:当接口发生变化或者新增加接口时,首先更新数据库,通知redis重新读取数据库,更新redis内容,最后本地缓存从redis上更新本地缓存内容。
6.根据权利要求1所述的基于云平台的接口封装系统,其特征在于:通过梳理平台纳管接口形成接口文档,接口文档包括调用url、调用方式、入参、出参、描述,接口文档,接口文档与数据库进行一致性维护管理。
7.根据权利要求1所述的基于云平台的接口封装系统,其特征在于:本系统实现接口统一测试,通过遍历redis的方式,编写自动化测试脚本,遍历接口和参数,自动化发起轮询调用。
8.一种基于云平台的接口封装方法,其特征在于:包括:
9.根据权利要求8所述的基于云平台的接口封装方法,其特征在于:平台启动时,加载数据库数据,并将数据写入redis和本地缓存,当接口信息发生变化时,更新redredis数据,本地监听redis数据变化更新本地缓存。
10.根据权利要求8所述的基于云平台的接口封装方法,其特征在于:接口文档包括调用url、调用方式、入参、出参、描述,接口文档。