本发明涉及软件系统,尤其涉及一种基于sm2算法的接口总线系统。
背景技术:
1、目前,多数行业在解决软件信息孤岛的问题上,采用了提供大量的软件api的方式来做软件系统间的数据共享,随着软件api的增多,第一出现了难以对已有api进行管理。第二,api中的数据交换加密算法也出现了md5、sha-1,rsa、dsa等多种算法,大多数是由国外机构发布,如出现严重的安全漏洞而不能及时发现。
技术实现思路
1、本发明的目的是提供一种基于sm2算法的接口总线系统,以解决软件接口过多,不便管理的技术问题。
2、本发明是采用以下技术方案实现的:一种基于sm2算法的接口总线系统,包括接口总线管理端和接口总线网关端,所述接口总线管理端通过消息中间件和数据层与接口总线网关端进行交互,所述接口总线管理端用以进行接口的注册管理以及提供配置信息,所述接口总线网关端根据配置信息进行数据处理。
3、进一步的,所述消息中间件包括kafka处理系统,接口总线管理端将通知下发至kafka处理系统,接口总线网关端对kafka处理系统进行消息监听。
4、进一步的,所述数据层包括redis数据库、elasticsearch数据库和mysql数据库。
5、进一步的,所述接口总线网关端根据配置信息进行数据处理包括:访问控制、ip黑白名单校验、熔断降级、流量控制、动态路由代理、sm2的签名及验签、sm2的加密及解密和日志的记录。
6、进一步的,所述接口总线管理端包括接口数据监控模块、路由管理模块和注册中心管理模块,其中,
7、所述接口数据监控模块用以对api数量、访问次数、qps和并发数进行实时监控;
8、所述路由管理模块用以对路由类型、api服务地址、端口号、请求方式、前端api路径、请求类型、内容类型、是否启用和路由描述信息进行管理;
9、所述注册中心管理模块用以对注册中心名称、描述、类型、配置格式及配置内容进行管理。
10、进一步的,所述接口总线管理端还包括网关实例管理模块、熔断管理模块、限流流控模块和预警管理模块,其中,
11、所述网关实例管理模块用以对网关端的信息进行查看,包括网关的ip、端口和日志信息;
12、所述熔断管理模块用以通过慢时长、异常数和异常比例的策略来配置熔断管理;
13、所述限流流控模块用以通过qps和并发数的类型来配置限流阈值及流控的效果;
14、所述预警管理模块用以对api限流、熔断、报错和超时的情况进行预警设置。
15、进一步的,所述接口总线管理端还包括日志查询模块和sm2认证配置模块,其中,所述日志查询模块用以所有api调用的日志记录查询;所述sm2认证配置模块用以sm2公私钥的生成、上传和下载功能。
16、进一步的,所述接口总线管理端还包括客户端管理模块和系统设置模块,其中,所述客户端管理模块用以对调用放开放的客户端信息管理;所述系统设置模块用以系统全局的参数设置。
17、进一步的,所述接口总线系统的请求流程为:接口请求方通过接口总线网关端向接口注册方提出请求,接口注册方通过接口总线网关端向接口请求方返回请求。
18、本发明的有益效果在于:本发明api管理中心化:所有api的清单管理列表,便于解决接口数量过多而不能管理的问题;所有api的状态,可实时监控、预警,快速跟踪注册接口的实时状态;所有调用都统一日志记录;统一加强所有的api的流量限制、熔断降级功能,保障了api注册方的接口健壮性。本发明统一了各种加解密算法为sm2,api注册方及调用双方只需在管理端上管理自己的sm2密钥,便于后期定期对密钥的管理。
19、对于企业级产品下n个系统之间的接口对接上,只需将现有接口进行配置,降低了各个系统的研发工作量;对于企业级产品下n个系统之间的接口对接上,sm2的接口总线统一接管了网络安全鉴权,更好的提高了各系统的安全级别。
1.一种基于sm2算法的接口总线系统,其特征在于,包括接口总线管理端和接口总线网关端,所述接口总线管理端通过消息中间件和数据层与接口总线网关端进行交互,所述接口总线管理端用以进行接口的注册管理以及提供配置信息,所述接口总线网关端根据配置信息进行数据处理。
2.如权利要求1所述的一种基于sm2算法的接口总线系统,其特征在于,所述消息中间件包括kafka处理系统,接口总线管理端将通知下发至kafka处理系统,接口总线网关端对kafka处理系统进行消息监听。
3.如权利要求1所述的一种基于sm2算法的接口总线系统,其特征在于,所述数据层包括redis数据库、elasticsearch数据库和mysql数据库。
4.如权利要求1所述的一种基于sm2算法的接口总线系统,其特征在于,所述接口总线网关端根据配置信息进行数据处理包括:访问控制、ip黑白名单校验、熔断降级、流量控制、动态路由代理、sm2的签名及验签、sm2的加密及解密和日志的记录。
5.如权利要求1所述的一种基于sm2算法的接口总线系统,其特征在于,所述接口总线管理端包括接口数据监控模块、路由管理模块和注册中心管理模块,其中,
6.如权利要求5所述的一种基于sm2算法的接口总线系统,其特征在于,所述接口总线管理端还包括网关实例管理模块、熔断管理模块、限流流控模块和预警管理模块,其中,
7.如权利要求6所述的一种基于sm2算法的接口总线系统,其特征在于,所述接口总线管理端还包括日志查询模块和sm2认证配置模块,其中,所述日志查询模块用以所有api调用的日志记录查询;所述sm2认证配置模块用以sm2公私钥的生成、上传和下载功能。
8.如权利要求7所述的一种基于sm2算法的接口总线系统,其特征在于,所述接口总线管理端还包括客户端管理模块和系统设置模块,其中,所述客户端管理模块用以对调用放开放的客户端信息管理;所述系统设置模块用以系统全局的参数设置。
9.如权利要求1~8任意一项所述的一种基于sm2算法的接口总线系统,其特征在于,所述接口总线系统的请求流程为:接口请求方通过接口总线网关端向接口注册方提出请求,接口注册方通过接口总线网关端向接口请求方返回请求。