首页> 中国专利> 一种基于开放平台的参数可配置的网关设计方法

一种基于开放平台的参数可配置的网关设计方法

摘要

本发明属于开放平台技术领域,具体公开了一种基于开放平台的参数可配置的网关设计方法,包括如下步骤:接收第三方平台请求报文;基于报文中包含的第三方平台唯一标识,判断该平台是否开启了参数可配置;若第三方平台开启了参数可配置,则请求报文里加密的内容按照配置的签名规则进行签名验证,并根据配置规则进行参数转换处理,然后发送到相应的服务器;针对服务端的响应根据配置的规则给予第三方响应。本发明的参数可配置的设计方法很好的解决了不同平台间接口加解密规则与参数定义名称和类型不一问题,也为后期参数名称变更以及参数增减提供了条件,减少了琐碎且重复性的开发,从而大大提升了工作效率。

著录项

  • 公开/公告号CN113114562A

    专利类型发明专利

  • 公开/公告日2021-07-13

    原文格式PDF

  • 申请/专利权人 上海赛可出行科技服务有限公司;

    申请/专利号CN202110238598.8

  • 发明设计人 刘松;

    申请日2021-03-04

  • 分类号H04L12/66(20060101);H04L29/06(20060101);H04L9/32(20060101);

  • 代理机构

  • 代理人

  • 地址 200131 上海市浦东新区自由贸易试验区杨高北路2001号1幢4部位三层333室

  • 入库时间 2023-06-19 11:49:09

说明书

技术领域

本发明涉及开放平台技术领域,具体为一种基于开放平台的参数可配置的网关设计方法。

背景技术

在互联网企业发展过程中,随着公司规模扩大,业务的不断扩张,企业间的合作更加紧密,而企业间的合作则依靠各自提供的服务,服务间的相互联系则是依靠各自提供的API(应用程序编程接口)网关。在众多合作的企业中,每个企业的API网关的签名规则,API参数名及参数类型定义均存在不同的情况。当前很多企业解决这一问题的方案是在网关层针对不同的合作平台进行验签及参数转换,将参数名转换成符合内部服务端定义的API参数名,或者转换成符合外部服务端定义的API参数名和参数类型。为了避免单个API网关服务里代码繁琐,更有企业针对不同的合作平台提供不同的API网关服务。

以上方式一定程度上可以解决当前不同平台间对接问题,但是依赖多个API网关服务就需要更多的资源,及人力维护,且每个网关内部都存在琐碎的参数转换逻辑。因此,为了降本增效,有必要对现有的API网关服务进行改进。

发明内容

本发明的目的在于提供一种基于开放平台的参数可配置的网关设计方法,其能够根据不同的合作平台提供的不同API进行签名规则配置和参数转换配置,具体API网关服务根据请求信息,依据配置信息做相应的处理,以达到降本增效的目的。

为实现上述目的,本发明提供如下技术方案:一种基于开放平台的参数可配置的网关设计方法,包括如下步骤:

S100:接收第三方平台请求报文;

S200:基于报文中包含的第三方平台唯一标识,判断该平台是否开启了参数可配置;

S300:若第三方平台开启了参数可配置,则请求报文里加密的内容按照配置的签名规则进行签名验证,并根据配置规则进行参数转换处理,然后发送到相应的服务器;

S400:针对服务端的响应根据配置的规则给予第三方响应。

优选的,步骤S100之前还包括开启和配置参数步骤,具体为:S001:第三方接入平台通过开放平台创建唯一标识,配置将接入的API,以及设置参数可配置开关;S002:配置相应的签名规则和每个接入API的参数转换规则。

优选的,步骤S200中,通过查找配置导出文件,并根据请求报文中的第三方平台唯一标识判断其是否开启参数可配置。

优选的,步骤S300中将请求报文发送到相应的服务器之前包括:S210:根据其配置的签名规则对报文中加密密文进行验签,签名验证通过后获取报文中的请求参数;S211:查找配置导出文件,若步骤210中的请求参数均在配置导出文件中,则根据配置的参数转换规则进行参数转换。

优选的,在步骤S300中将转换后的参数映射到相应的API所在的服务器。

优选的,步骤S300中具体包括步骤:S310:根据配置的参数转换规则将服务器响应的参数转换为第三方配置的参数;S311:根据配置加密规则将S310步骤中转换后的参数进行加密;S312:将步骤S311加密后的报文传送给第三方平台。

优选的,S400中网关层服务获取到服务器响应后根据配置的参数转换规则将服务器响应的参数转换为第三方配置的参数,同时将转换后的参数根据配置的加密规则加密后给予第三方平台响应。

与现有技术相比,本发明的有益效果是:

本发明通过提供创建第三方平台唯一标识,管理着第三方平台配置的签名,及请求接口配置的参数转换规则。利用该设计方法可有效解决来自不同平台请求同一个API,而来自不同平台签名规则和请求参数定义不统一的问题,为多方平台提供便利的同时达到降本增效的目的。

附图说明

图1为本发明实施例1中的方法流程示意图;

图2为本发明实施例1中开放平台的结构示意图;

图3为本发明实施例2中网关设计方法的具体流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1:请参阅图1-2,本发明提供一种技术方案:一种基于开放平台的参数可配置的网关设计方法,包括如下步骤:

S100:接收第三方平台请求报文;

S200:基于报文中包含的第三方平台唯一标识,判断该平台是否开启了参数可配置;

S300:若第三方平台开启了参数可配置,则请求报文里加密的内容按照配置的签名规则进行签名验证,并根据配置规则进行参数转换处理,然后发送到相应的服务器;

S400:针对服务端的响应根据配置的规则给予第三方响应。

在本实施例中,S100中具体为,第三方平台通过对外开放平台创建唯一标识,设置其接入的API,以及设置参数可配置开关。再者,配置第三方平台的API加密规则,以及所设置接入API的相应参数。

进一步的,与第三方平台建立约定,具体请求报文包含第一参数、第二参数和第三参数,其中第一参数为字段appId,表示第三方平台标识;第二参数为字段sign,表示加密密文;第三参数为字段body,其内容是所配置的转换参数和参数对应的值,例如:请求报文可以定义为:{"appId":"open_app_a","sign":"sign_a","body":{"a":"a","b":"b","c":"c"}};

在本实施例中,S200中具体的:读取配置导出文件,并判断配置导出文件中存在的请求报文中的第三方平台是否开启了参数可配置。

在本实施例中,步骤S100之前还包括开启和配置参数步骤,具体为:S001:第三方接入平台通过开放平台创建唯一标识,配置将接入的API,以及设置参数可配置开关;S002:配置相应的签名规则和每个接入API的参数转换规则。

在本实施例中,步骤S200中,通过查找配置导出文件,并根据请求报文中的第三方平台唯一标识判断其是否开启参数可配置。

在本实施例中,步骤S300中,若第三方平台开启了参数可配置开关,并且配置了加密规则和参数转换规则,网关层服务会根据所配置的加密规则对加密密文进行验证,验证通过后根据其配置的参数转换规则对第三参数字段为body中的内容进行参数转换,转换后发送到相应的服务器。

在本实施例中,步骤S300中将请求报文发送到相应的服务器之前包括:S210:根据其配置的签名规则对报文中加密密文进行验签,签名验证通过后获取报文中的请求参数;S211:查找配置导出文件,若步骤210中的请求参数均在配置导出文件中,则根据配置的参数转换规则进行参数转换。

在本实施例中,在步骤S300中将转换后的参数映射到相应的API所在的服务器。

在本实施例中,步骤S300中具体包括步骤:S310:根据配置的参数转换规则将服务器响应的参数转换为第三方配置的参数;S311:根据配置加密规则将S310步骤中转换后的参数进行加密;S312:将步骤S311加密后的报文传送给第三方平台。

在本实施例中,S400中网关层服务获取到服务器响应后根据配置的参数转换规则将服务器响应的参数转换为第三方配置的参数,同时将转换后的参数根据配置的加密规则加密后给予第三方平台响应。

实施例2:请参阅图3,以一个具体的例子来说明本发明的参数可配置的设计方法。

需要说明的是,在本例实施中,本发明的参数可配置的设计方法包括以下步骤:

S1:服务端先定义一个提供给第三方平台调用的API,具体参数及参数类型如下:

int param_a;long param_b;String param_c;

S2:步骤S1定义的API在网关层对第三方平台暴露的路由地址为:

https://www.getway.com/v1/api;

S3:第三方平台通过提供的对外开放平台创建唯一标识,设置开启参数配置开关,配置接入步骤S2提供的API,及加解密规则和参数转换规则;

S4:不同平台根据其配置规则和参数定义进行组装请求报文,例如第三方平台A、B和C的请求报文分别如下:

{"appId":"open_app_a","sign":"sign_a","body":{"A1":"11","A2":"12","A3":"13"}};

{"appId":"open_app_b","sign":"sign_b","body":{"B1":"21","B2":"22","B3":"23"}};

{"appId":"open_app_c","sign":"sign_c","body":{"C1":"31","C2":"32","C3":"33"}}。

请求路径为https://www.getway.com/v1/api,网关层服务接收到第三方平台A、B和C的请求读取唯一标识字段appId的值,并判断配置导出文件里对应平台是否开启了参数可配置开关。若对应的平台未开启了参数可配置开关,则统一按照网关层定义的规则进行处理;若对应的平台开启了参数可配置开关,则按照该平台配置的规则进行处理,参数名处理结果都是服务端定义的API,结果如下:

{"param_a":11,"param_b":12,"param_c":"13"};

{"param_a":21,"param_b":22,"param_c":"23"};

{"param_a":31,"param_b":32,"param_c":"33"}。

S5:网关层将转换后的结果映射到相应的服务器,服务器给予响应结果如下:

{"platform_id":"1","platform_name":"平台A"};

{"platform_id":"2","platform_name":"平台B"};

{"platform_id":"3","platform_name":"平台C"}。

S6:网关层接收到服务器的响应,依然会判断相应的平台是否开启参数配置开关,若对应的平台未开启了参数可配置开关,则统一按照网关层定义的规则进行处理,并给予第三方平台响应;若对应的平台开启了参数可配置开关,则按照该平台配置的规则进行处理并分别给予第三方平台响应,响应结果分别如下:

{"result_a_1":"1","result_a_2":"平台A"};

{"result_b_1":"2","result_b_2":"平台B"};

{"result_c_1":"3","result_c_2":"平台C"}。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号