一种基于配置的网关系统技术方案

技术编号:27276863 阅读:22 留言:0更新日期:2021-02-06 11:43
本发明专利技术公开了一种基于配置的网关系统,包括统一配置模块、请求适配模块、预校验模块、编/解码模块、报文转换模块、路由与内调模块;通过以上几个模块之间的交互和流转实现网络请求到内部接口报文之间的转换,使服务方无需关注复杂的接口安全和报文拼装规范,更专注于业务功能的开发。通过基于强大的统一配置模块的功能,网关层系统在首次框架类代码搭建完成后,灵活性和可扩展性强;内嵌的预校验模块支持可配置的接口流量控制,可对每个服务方法进行单独配置大大提供了流控配置的灵活性。行单独配置大大提供了流控配置的灵活性。行单独配置大大提供了流控配置的灵活性。

【技术实现步骤摘要】
一种基于配置的网关系统


[0001]本专利技术属于网络通讯
,具体涉及一种基于配置的网关系统。

技术介绍

[0002]当今社会,业务的处理越来越数字化、网络化、服务化。一个完整的复杂业务的办理往往需要涉及多个公司的多个独立服务的协同合作互相通讯才能完成。
[0003]由于服务之间的通信基本都是需要在互联网上进行交互,为了充分保障服务通信过程中的报文交换安全和可信,各家公司对提供的互联网服务都会各自的网关系统中制定符合本公司安全要求的报文交互规范,主要涉及报文拼装格式的规范、报文加解密方式的规范、报文签名验签方式的规范、报文压缩的规范、时间戳限制的规范等。
[0004]因此,服务交互的双方都要对双方的规范进行定制的开发已满足服务规范的要求,如果一家公司需要同几十上百家公司的服务同时进行交互,对每一家的接口规范进行单独定制开发,开发工作量非常大。无法满足服务之间快速开发对接的要求。

技术实现思路

[0005]本专利技术所要解决的技术问题是针对上述现有技术的不足,提供一种基于配置的网关系统,基于业界广泛使用的HTTPS通信协议去适配各家公司报文交互安全规范,对接各家服务时仅需做少量的报文转换配置、及加解密方式配置即可进行服务之间的安全通信。
[0006]为实现上述技术目的,本专利技术采取的技术方案为:
[0007]一种基于配置的网关系统,包括统一配置模块、请求适配模块、预校验模块、编/解码模块、报文转换模块、路由与内调模块;
[0008]所述统一配置模块,用于对网关系统各个其他模块使用到的相关配置进行统一的管理和配置,主要包括对请求适配模块的报文头信息的配置、对预校验模块校验逻辑的配置,对加解密模块加解密方式和报文组装的方式进行配置、对报文转换模块返回码映射的配置、对路由及内调模块对业务路由的配置等等,通过在统一配置模块的配置可使网关系统再尽量不增加额外开发的情况下适配不同合作方系统的网络接口规范,大大简化网关系统的开发难度;所述请求适配模块作为网关系统的前置模块,用于接收原始网络报文请求,并对网络报文头中的信息进行解析,根据解析的结果适配到相应的实现控制器;
[0009]所述预校验模块,用于对请求的流量并发进行控制以及对请求报文合法性的校验;
[0010]所述编/解码模块,用于基于加解密和签名验证及编码算法,适配各家的接口报文规范,实现对网络报文的解析;
[0011]所述报文转换模块,用于将以合作方规范定义的接口业务字段定义信息,通过映射转换、重新组装方式,将网关层业务字段报文,转换成符合内部业务系统接口定义规范的报文;
[0012]所述路由与内调模块,用于通过将网关层接口根据接口名路由到相应的内部业务
系统接口上,并通过内调接口实现对内部sif接口的调用;所述sif为基于netty开发的内部通信服务框架;
[0013]并对接口调用过程中的各种异常进行统一的拦截和处理;接口路由通过基于自定义xml的方式路由映射配置以实现。
[0014]为优化上述技术方案,采取的具体措施还包括:
[0015]上述的请求适配模块,对于接收到的原始网络报文请求,如不支持该类型的报文则直接返回调用方非法请求,如适配成功则在实现控制器中对报文进行原始的解析,将报文字符串数据转换成参数名和参数值的key-value形式的数据后封装到Map中后将该Map传递至预校验模块。
[0016]上述的适配控制器支持application/x-www-form-urlencoded、application/json、application/xml报文头类型的适配支持。
[0017]上述的预校验模块对请求的流量并发进行控制,即根据统一配置模块中对请求支持的访问的并发数的配置进行流量控制;
[0018]所述预校验模块对请求报文合法性的校验,即根据统一配置模块中对接口报文字段必填性和合法内容范围的校验,在网关层进行预校验处理,预校验通过则流转至报文编/解码模块,校验失败则直接返回调用方相应描述。
[0019]上述的编/解码模块包括的加解密和签名验证及编码算法有:对称密钥算法AES、DES、SM4,非对称密钥算法RSA、SM2及摘要算法MD5、SHA-1、SHA-256;
[0020]通过统一配置模块中的各家合作方对报文拼装方式和加解密的要求,组合加解密和签名验证及编码算法,适配各家的接口报文规范,实现对网络报文进行解析的作用。
[0021]上述的编/解码模块通过后管的配置功能进行实现,在配置页面通过增加步骤来组装参数、报文排序、编码转换、加密、签名操作。
[0022]上述的报文转换模块通过自定义xml的方式设计映射统一配置模块,通过配置文件的配置完成报文转换的目的。
[0023]上述的报文转换模块包括两种类型的报文转换:
[0024]报文字段命名及格式结构的转换,通过自定义xml文件配置的方式实现;以及
[0025]报文返回码、影响码的转换,支持内、外部码值的互相映射转换,对每家合作方的每个接口进行内外部码值进行映射,通过后管的配置功能实现。
[0026]本专利技术具有以下有益效果:
[0027]1.通过基于强大的统一配置模块的功能,网关层系统在首次框架类代码搭建完成后,基本无需再为定制化的对接每一家合作方的接口报文规范而进行定制化开发,大大节约了开发成本和时间成本,且可以适应后期的不可预期的接口接口规范的变更、升级带来的额外的开发成本和时间成本,网关系统的灵活性和可扩展性大大增强;
[0028]2.内嵌的预校验模块支持可配置的接口流量控制,用于保障在流量过大时对服务器进行有效的保护,以避免宕机等严重情况。流量控制的原理是在采用Java中阻塞队列方式即能从队列中获取到数据则可以进行后续的逻辑处理,否则直接返回请求失败。在服务器端对每个服务方法设置一个并发的阀值X即阻塞队列的容量为X,当请求过来后先从阻塞队列中get(获取)一个值,然后进行后续的逻辑处理。当逻辑处理完成后再把该值put(放置)到该队列中。当流量过大时则有些请求因无法获取到队列的值则直接返回流控拒绝。该
流控方案可对每个服务方法进行单独配置大大提供了流控配置的灵活性。
附图说明
[0029]图1是本专利技术的结构示意图;
[0030]图2是编/解码模块在配置页面通过增加步骤来灵活组装参数、报文排序、编码转换、加密、签名等操作示意图;
[0031]图3是加密及签名过程实施例;
[0032]图4是解密及验签过程实施例;
[0033]图5是返回码转换映射实施例。
具体实施方式
[0034]以下结合附图对本专利技术的实施例作进一步详细描述。
[0035]本专利技术的一种基于配置的网关系统,包括统一配置模块、请求适配模块、预校验模块、编/解码模块、报文转换模块、路由与内调模块;
[0036]通过以上几个模块之间的交互和流转实现网络请求到内部接口报文之间的转换,使本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于配置的网关系统,其特征在于,包括统一配置模块、请求适配模块、预校验模块、编/解码模块、报文转换模块、路由与内调模块;所述统一配置模块,用于对网关系统各个其他模块使用到的相关配置进行统一的管理和配置;所述请求适配模块作为网关系统的前置模块,用于接收原始网络报文请求,并对网络报文头中的信息进行解析,根据解析的结果适配到相应的实现控制器;所述预校验模块,用于对请求的流量并发进行控制以及对请求报文合法性的校验;所述编/解码模块,用于基于加解密和签名验证及编码算法,适配各家的接口报文规范,实现对网络报文的解析;所述报文转换模块,用于将以合作方规范定义的接口业务字段定义信息,通过映射转换、重新组装方式,将网关层业务字段报文,转换成符合内部业务系统接口定义规范的报文;所述路由与内调模块,用于通过将网关层接口根据接口名路由到相应的内部业务系统接口上,并通过内调接口实现对内部sif接口的调用;所述sif为基于netty开发的内部通信服务框架;并对接口调用过程中的各种异常进行统一的拦截和处理;接口路由通过基于自定义xml的方式路由映射配置以实现。2.根据权利要求1所述的一种基于配置的网关系统,其特征在于,所述请求适配模块,对于接收到的原始网络报文请求,如不支持该类型的报文则直接返回调用方非法请求,如适配成功则在实现控制器中对报文进行原始的解析,将报文字符串数据转换成参数名和参数值的key-value形式的数据后封装到Map中后将该Map传递至预校验模块。3.根据权利要求2所述的一种基于配置的网关系统,其特征在于,所述适配控制器支持application/x-www-form-urlencoded、application/js...

【专利技术属性】
技术研发人员:贾建华
申请(专利权)人:苏宁消费金融有限公司
类型:发明
国别省市:

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

1