一种基于APISIX代理Web服务接口的方法及系统与流程

专利2024-05-13  82


一种基于apisix代理web服务接口的方法及系统
技术领域
1.本发明涉及计算机技术领域,特别涉及一种基于apisix代理web服务接口的方法及系统。


背景技术:

2.webservice即web服务,是一种跨编程语言和跨操作系统平台的远程调用技术。webservice所使用的是internet上统一、开放的标准,如http、xml、soap(简单对象访问协议)、wsdl等,所以web service可以在任何支持这些标准的环境(windows,linux)中使用。这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。
3.webservice技术在异构平台互通、软件复用技术、跨编程语言等方面有巨大优势。但是webservice也有其缺点:一是使用的元素包括soap、wsdl、uddi等学习成本较高;二是http+xml的格式进行数据传输和解析,效率不可避免的慢;三是如果服务接口改动较大,接口调用者需要重新生成调用代码。
4.在系统建设中,如果有webservice服务中部分接口对外开放或接口开放有特殊要求、用户接口调用权限校验需求、接口调用流量控制需求等,修改webservice服务会相对复杂代价较高。
5.基于上述情况,本发明提出了一种基于apisix代理web服务接口的方法及系统。


技术实现要素:

6.本发明为了弥补现有技术的缺陷,提供了一种简单高效的基于apisix代理web服务接口的方法及系统。
7.本发明是通过如下技术方案实现的:
8.一种基于apisix代理web服务接口的方法,其特征在于:通过通用可视化配置功能将webservice服务中各服务接口进行解析配置,将解析的信息转换成http接口调用方式配置,然后将http接口通用配置转化为apisix代理路由,使用apisix的丰富功能插件对接口进行流量和权限控制;
9.具体包括以下步骤:
10.步骤s1:获取并解析wsdl文档
11.通过httpclient工具下载wsdl文件,解析webservice服务和方法,形成服务方法和soap信息映射;
12.步骤s2:配置http代理信息
13.基于解析wsdl文档后行车的服务方法和soap信息,通过可视化配置功能添加http信息(域名或ip端口),补充http header头部和包括请求参数与响应参数在内的展示信息;
14.步骤s3:利用apisix管理器进行代理接口的路由控制;
15.针对apisix代理接口对外调用安全防护,使用jwt atuh认证机制和流量限制,仅
允许通过审核的用户通过校验调用接口,同时限制调用次数,预防恶意爬虫和流量攻击。
16.所述步骤s1中,通过basic auth认证或authorization header(授权标头)头部认证方式获取wsdl文档;
17.接收wsdl文档的url路径以及认证信息,使用httpclient工具下载wsdl文档信息,并通过已加载解析wsdl功能的sdk(software development kit,软件开发工具包)对接收的wsdl文档进行解析,生成用于http请求的soap(simple object access protocol,简单对象访问协议)信息,包含请求方法列表和每个请求方法所对应的soap xml文本;然后选择soap版本(soap1.1或soap1.2),在参数设置中设置content-type和soap action两个必传参数值。
18.所述步骤s2中,配置http代理信息,包括但不限于域名或ip端口、原始请求路径、接口请求超时时间、接口请求最大访问量、接口代理请求地址、请求参数信息、返回样例信息和返回参数信息。
19.该基于apisix代理web服务接口的方法,限制webservice代理请求方法为post,通过安装apache apisix提供路由管理和代理认证功能。
20.所述步骤s3中,apisix管理器插件包括但不限于动态改写header头插件、上游代理信息重写插件、jwt-auth认证插件、ip访问白名单插件、消费者白名单插件、限制请求速度插件、限制并发请求插件、限制一定时间内请求个数插件和日志通知插件。
21.所述步骤s3中,针对发布接口使用进行审核管理,针对接口使用方提供申请信息进行审批,如果审批通过则分配相应接口消费者和访问密钥,对通过审批的消费者进行访问权限配置和访问流量限制,通过消费者密钥调用apisix代理接口访问原始webservice接口服务。
22.一种基于apisix代理web服务接口的系统,其特征在于:包括wsdl解析器、apisix管理器和http代理配置管理器;
23.所述wsdl解析器负载通过httpclient工具下载wsdl文件,解析webservice服务和方法,形成服务方法和soap信息映射;
24.所述http代理配置管理器负载配置http代理信息,基于解析wsdl文档后行车的服务方法和soap信息,通过可视化配置功能添加http信息(域名或ip端口),补充http header头部和包括请求参数与响应参数在内的展示信息;
25.所述apisix管理器进行代理接口的路由控制,针对apisix代理接口对外调用安全防护,使用jwt atuh认证机制和流量限制,仅允许通过审核的用户通过校验调用接口,同时限制调用次数,预防恶意爬虫和流量攻击。
26.所述apisix管理器插件包括但不限于动态改写header头插件、上游代理信息重写插件、jwt-auth认证插件、ip访问白名单插件、消费者白名单插件、限制请求速度插件、限制并发请求插件、限制一定时间内请求个数插件和日志通知插件。
27.本发明的有益效果是:该基于apisix代理web服务接口的方法及系统,解决了webservcie服务端口对外发布的易用性问题,对外发布webservice接口时可以针对性发布相关接口,极大的提高了开发效率,能够快速满足客户需求。
附图说明
28.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.附图1为本发明wsdl文档解析流程示意图。
30.附图2为本发明基于apisix代理web服务接口的流程示意图。
31.附图3为本发明用户申请使用代理http请求接口示意图。
具体实施方式
32.为了使本技术领域的人员更好的理解本发明中的技术方案,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
33.该基于apisix代理web服务接口的方法,通过通用可视化配置功能将webservice服务中各服务接口进行解析配置,将解析的信息转换成http接口调用方式配置,然后将http接口通用配置转化为apisix代理路由,使用apisix的丰富功能插件对接口进行流量和权限控制;
34.具体包括以下步骤:
35.步骤s1:获取并解析wsdl文档
36.通过httpclient工具下载wsdl文件,解析webservice服务和方法,形成服务方法和soap信息映射;
37.步骤s2:配置http代理信息
38.基于解析wsdl文档后行车的服务方法和soap信息,通过可视化配置功能添加http信息(域名或ip端口),补充http header头部和包括请求参数与响应参数在内的展示信息;
39.步骤s3:利用apisix管理器进行代理接口的路由控制;
40.针对apisix代理接口对外调用安全防护,使用jwt atuh认证机制和流量限制,仅允许通过审核的用户通过校验调用接口,同时限制调用次数,预防恶意爬虫和流量攻击。
41.所述步骤s1中,通过basic auth认证或authorization header(授权标头)头部认证方式获取wsdl文档;
42.接收wsdl文档的url路径以及认证信息,使用httpclient工具下载wsdl文档信息,并通过已加载解析wsdl功能的sdk(software development kit,软件开发工具包)对接收的wsdl文档进行解析,生成用于http请求的soap(simple object access protocol,简单对象访问协议)信息,包含请求方法列表和每个请求方法所对应的soap xml文本;然后选择soap版本(soap1.1或soap1.2),在参数设置中设置content-type和soap action两个必传参数值。
43.所述步骤s2中,配置http代理信息,包括但不限于域名或ip端口、原始请求路径、接口请求超时时间、接口请求最大访问量、接口代理请求地址、请求参数信息、返回样例信息和返回参数信息。
44.该基于apisix代理web服务接口的方法,限制webservice代理请求方法为post,通过安装apache apisix提供路由管理和代理认证功能。
45.所述步骤s3中,apisix管理器插件包括但不限于动态改写header头插件、上游代理信息重写插件、jwt-auth认证插件、ip访问白名单插件、消费者白名单插件、限制请求速度插件、限制并发请求插件、限制一定时间内请求个数插件和日志通知插件。
46.所述步骤s3中,针对发布接口使用进行审核管理,针对接口使用方提供申请信息进行审批,如果审批通过则分配相应接口消费者和访问密钥,对通过审批的消费者进行访问权限配置和访问流量限制,通过消费者密钥调用apisix代理接口访问原始webservice接口服务。
47.该基于apisix代理web服务接口的系统,包括wsdl解析器、apisix管理器和http代理配置管理器;
48.所述wsdl解析器负载通过httpclient工具下载wsdl文件,解析webservice服务和方法,形成服务方法和soap信息映射;
49.所述http代理配置管理器负载配置http代理信息,基于解析wsdl文档后行车的服务方法和soap信息,通过可视化配置功能添加http信息(域名或ip端口),补充http header头部和包括请求参数与响应参数在内的展示信息;
50.所述apisix管理器进行代理接口的路由控制,针对apisix代理接口对外调用安全防护,使用jwt atuh认证机制和流量限制,仅允许通过审核的用户通过校验调用接口,同时限制调用次数,预防恶意爬虫和流量攻击。
51.所述apisix管理器插件包括但不限于动态改写header头插件、上游代理信息重写插件、jwt-auth认证插件、ip访问白名单插件、消费者白名单插件、限制请求速度插件、限制并发请求插件、限制一定时间内请求个数插件和日志通知插件。
52.以将该基于apisix代理web服务接口的系统作为微服务部署为例进行说明。
53.该基于apisix代理web服务接口的方法及系统,在基于多源数据库表发布数据服务接口中,作为数据库执行引擎微服务单独运行使用,可部署负载集群,代理至nginx中,提高查询效率。
54.数据服务接口基于多源数据库表配置查询接口的出参、入参、请求方式、请求url等信息,并根据出入参生成对应的数据库查询sql,保存至数据库配置表中。接口发布后,用户申请使用。用户调用发布后的数据服务接口url,请求至网关,网关转发请求至该系统。该系统启动时加载数据服务接口信息至redis数据库中,redis中key为请求url,value为对应数据源信息和执行sql。该系统根据传入url获取查询sql和数据库信息,根据sql和数据库信息进行进行sql转换,生成适配数据库类型的sql,并加载对应数据库驱动,执行适配sql,返回查询结果信息。
55.以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

技术特征:
1.一种基于apisix代理web服务接口的方法,其特征在于:通过通用可视化配置功能将webservice服务中各服务接口进行解析配置,将解析的信息转换成http接口调用方式配置,然后将http接口通用配置转化为apisix代理路由,使用apisix的丰富功能插件对接口进行流量和权限控制;具体包括以下步骤:步骤s1:获取并解析wsdl文档通过httpclient工具下载wsdl文件,解析webservice服务和方法,形成服务方法和soap信息映射;步骤s2:配置http代理信息基于解析wsdl文档后行车的服务方法和soap信息,通过可视化配置功能添加http信息,补充httpheader头部和包括请求参数与响应参数在内的展示信息;步骤s3:利用apisix管理器进行代理接口的路由控制;针对apisix代理接口对外调用安全防护,使用jwt atuh认证机制和流量限制,仅允许通过审核的用户通过校验调用接口,同时限制调用次数,预防恶意爬虫和流量攻击。2.根据权利要求1所述的基于apisix代理web服务接口的方法,其特征在于:所述步骤s1中,通过basicauth认证或authorization header头部认证方式获取wsdl文档;接收wsdl文档的url路径以及认证信息,使用httpclient工具下载wsdl文档信息,并通过已加载解析wsdl功能的sdk对接收的wsdl文档进行解析,生成用于http请求的soap信息,包含请求方法列表和每个请求方法所对应的soapxml文本;然后选择soap版本,在参数设置中设置content-type和soapaction两个必传参数值。3.根据权利要求1所述的基于apisix代理web服务接口的方法,其特征在于:所述步骤s2中,配置http代理信息,包括但不限于域名或ip端口、原始请求路径、接口请求超时时间、接口请求最大访问量、接口代理请求地址、请求参数信息、返回样例信息和返回参数信息。4.根据权利要求1所述的基于apisix代理web服务接口的方法,其特征在于:限制webservice代理请求方法为post,通过安装apacheapisix提供路由管理和代理认证功能。5.根据权利要求1所述的基于apisix代理web服务接口的方法,其特征在于:所述步骤s3中,apisix管理器插件包括但不限于动态改写header头插件、上游代理信息重写插件、jwt-auth认证插件、ip访问白名单插件、消费者白名单插件、限制请求速度插件、限制并发请求插件、限制一定时间内请求个数插件和日志通知插件。6.根据权利要求1所述的基于apisix代理web服务接口的方法,其特征在于:所述步骤s3中,针对发布接口使用进行审核管理,针对接口使用方提供申请信息进行审批,如果审批通过则分配相应接口消费者和访问密钥,对通过审批的消费者进行访问权限配置和访问流量限制,通过消费者密钥调用apisix代理接口访问原始webservice接口服务。7.一种基于apisix代理web服务接口的系统,其特征在于:包括wsdl解析器、apisix管理器和http代理配置管理器;所述wsdl解析器负载通过httpclient工具下载wsdl文件,解析webservice服务和方法,形成服务方法和soap信息映射;所述http代理配置管理器负载配置http代理信息,基于解析wsdl文档后行车的服务方法和soap信息,通过可视化配置功能添加http信息,补充http header头部和包括请求参数
与响应参数在内的展示信息;所述apisix管理器进行代理接口的路由控制,针对apisix代理接口对外调用安全防护,使用jwt atuh认证机制和流量限制,仅允许通过审核的用户通过校验调用接口,同时限制调用次数,预防恶意爬虫和流量攻击。8.根据权利要求7所述的基于apisix代理web服务接口的系统,其特征在于:所述apisix管理器插件包括但不限于动态改写header头插件、上游代理信息重写插件、jwt-auth认证插件、ip访问白名单插件、消费者白名单插件、限制请求速度插件、限制并发请求插件、限制一定时间内请求个数插件和日志通知插件。

技术总结
本发明特别涉及一种基于APISIX代理Web服务接口的方法及系统。该基于APISIX代理Web服务接口的方法及系统,通过通用可视化配置功能将WebService服务中各服务接口进行解析配置,将解析的信息转换成HTTP接口调用方式配置,然后将HTTP接口通用配置转化为APISIX代理路由,使用APISIX的丰富功能插件对接口进行流量和权限控制。该基于APISIX代理Web服务接口的方法及系统,解决了WebServcie服务端口对外发布的易用性问题,对外发布WebService接口时可以针对性发布相关接口,极大的提高了开发效率,能够快速满足客户需求。能够快速满足客户需求。能够快速满足客户需求。


技术研发人员:赵绍祥 季子祥 张连超
受保护的技术使用者:浪潮软件股份有限公司
技术研发日:2022.07.04
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-8119.html

最新回复(0)