CN114500517A - 一种基于api网关实现控制文件上传的方法 - Google Patents

一种基于api网关实现控制文件上传的方法 Download PDF

Info

Publication number
CN114500517A
CN114500517A CN202210248722.3A CN202210248722A CN114500517A CN 114500517 A CN114500517 A CN 114500517A CN 202210248722 A CN202210248722 A CN 202210248722A CN 114500517 A CN114500517 A CN 114500517A
Authority
CN
China
Prior art keywords
file
request
plug
api gateway
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210248722.3A
Other languages
English (en)
Other versions
CN114500517B (zh
Inventor
王彦彰
王超伟
乔木
刘龙
罗盼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN202210248722.3A priority Critical patent/CN114500517B/zh
Publication of CN114500517A publication Critical patent/CN114500517A/zh
Application granted granted Critical
Publication of CN114500517B publication Critical patent/CN114500517B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种基于API网关实现控制文件上传的方法,属于API网关领域。本发明以插件的形式应用于API网关,客户端将请求报文发送给API网关,API网关接收报文,获取请求体中上传文件信息,根据用户自定义的传输规则,判断该请求中的各项参数是否匹配,如果都符合要求,网关再将报文转发到具体的服务,从而实现控制文件传输的功能。本发明实现在请求到达目标服务前,对请求报文中请求体中上传文件的检测,本发明以插件的方式提供检测功能,配置简单灵活,易于扩展。

Description

一种基于API网关实现控制文件上传的方法
技术领域
本发明属于API网关领域,具体涉及一种基于API网关实现控制文件上传的方法。
背景技术
伴随我国社会经济、科学技术的快速发展,移动互联网、大数据、云计算、物联网等技术越来越多的应用于生活的各个领域。企业、政府机关等组织的业务系统逐步实现模块化、智能化,应用系统从单一的传统SOA架构逐渐演变成按照业务功能模块划分的微服务架构。API网关可以将各个业务系统内部的服务进行封装,不同服务间或不同系统间通过API网关交互达到松耦合的效果。
API网关可以帮助用户自己内部多个系统之间、内部系统与第三方系统之间、内部系统与合作伙伴之间实现跨协议、跨系统的服务能力互通。企业通过API网关将自身能力、服务、数据开放给合作伙伴使用,合作伙伴将标准化的API服务整合进自己的应用,从而衍生出新的服务模式,借力发展。
API网关就是将所有的微服务提供的API接口服务能力全部汇聚起来,统一接入进行API服务的全生命周期管理(创建、发布、运行、下线、维护),也正是通过统一请求拦截,API网关可以抽象出各业务系统需要的通用功能,如请求参数转换,限流,鉴权,黑白名单等,将这些通用功能从业务系统中解耦,实现一个统一的网关出入口进行API管理。各种功能通过插件的方式供服务使用。
在具体的实现API网关各种功能过程时,发明人发现现有的技术还存在以下问题:无法实现对传输上传(大小,数量,类型)的控制。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种基于API网关实现控制文件上传的方法,以解决API网关无法实现对传输上传控制的问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种基于API网关实现控制文件上传的方法,该方法包括如下步骤:
S1、后端服务注册到API网关时,选择是否启用控制文件上传插件,如果启用该插件,则需要在插件中设置插件要求;
S2、客户端将请求报文发送给API网关,网关对该请求进行解析,首先查看该请求调用的是哪一个服务,其次根据调用的服务是否开启了控制文件上传插件,如果该服务未开启控制文件上传插件,则网关直接将请求转发到后端服务,如果该服务已经开启了控制文件上传插件,则进入到插件对该请求的检测阶段S3;
S3、控制文件上传插件解析请求,获取请求体中上传文件的信息,分析判断该请求中的各项参数是否与插件要求相匹配,如果不匹配,则控制文件上传插件直接将错误信息返回给客户端,如果都符合要求,API网关再将请求转发到具体的服务,从而实现控制文件传输的功能。
进一步地,所述插件要求包括后端服务接收上传文件的大小阈值、数量阈值和类型。
进一步地,所述插件要求包括使能标记、文件数量、文件大小和文件类型。
进一步地,文件类型包括:.doc、.jpg和.png。
进一步地,所述步骤S3中的不匹配包括:文件大小、数量超过设定的阈值,或者文件类型不在允许范围内。
进一步地,所述步骤S3中,上传文件的大小、数量和类型都符合要求,通过插件检测,则将该请求转发给后端服务。
进一步地,所述步骤S3中,如果有一个或多个检测的参数与插件中配置的对应参数不匹配,网关直接返回错误信息给客户端。
进一步地,所述步骤S3中,上传文件的大小、数量和类型都符合要求,通过插件检测,则将该请求转发给后端服务。
进一步地,上传文件的大小、数量和类型都符合要求包括:上传文件的大小小于大小阈值、数量小于数量阈值、类型在允许的类型范围内。
进一步地,所述S2中的请求为HTTP或HTTPS请求。
(三)有益效果
本发明提出一种基于API网关实现控制文件上传的方法,本发明与现有技术相比,本发明提供的基于API网关实现控制文件上传的方法,达到如下有益效果:第一,实现在请求到达目标服务前,对请求报文中请求体中上传文件的检测;第二,以插件的方式提供检测功能,配置简单灵活,易于扩展。
附图说明
图1为本发明基于API网关实现控制文件上传方法流程图;
图2为本发明基于API网关实现控制文件上传方法实施例流程图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明提出了一种基于API网关实现控制文件上传的方法,填补了现有技术该领域中的空白。该功能以插件的形式应用于API网关,客户端将请求报文发送给API网关,API网关接收报文,获取请求体中上传文件信息,根据用户自定义的传输规则,判断该请求中的各项参数是否匹配,如果都符合要求,网关再将报文转发到具体的服务,从而实现控制文件传输的功能。
本发明的技术方案是:
本发明提供了一种基于API网关实现控制文件上传的方法,以插件的形式应用于API网关;
S1、后端服务注册到API网关时,可以自由选择是否启用控制文件上传插件,如果启用该插件,则需要在插件中设置插件要求,插件要求为后端服务接收上传文件的大小阈值、数量阈值和类型;
S2、客户端将请求报文发送给API网关,网关对该请求进行解析,首先查看该请求调用的是哪一个服务,其次根据调用的服务是否开启了控制文件上传插件,如果该服务未开启控制文件上传插件,则网关直接将请求转发到后端服务,如果该服务已经开启了控制文件上传插件,则进入到插件对该请求的检测阶段S3。
S3、控制文件上传插件解析请求,获取请求体中上传文件的信息,根据用户自定义设置的传输规则,分析判断该请求中的各项参数是否与插件要求相匹配,如果不匹配,如文件大小、数量超过设定的阈值,或者文件类型不在允许范围内,控制文件上传插件直接将错误信息返回给客户端,如果都符合要求,网关再将请求转发到具体的服务,从而实现控制文件传输的功能。
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图2以及具体示例,对本发明中的技术方案进行清楚、完整地描述。
第一步:服务注册到API网关,确定是否启用控制文件上传插件,如果启用该插件,在该插件中配置服务接收文件的大小,数量,类型。例如:某个服务配置的插件内容如下:
Figure BDA0003546117890000041
Figure BDA0003546117890000051
第二步:客户端向网关发送请求,网关对该请求进行解析,包括需要调用哪一个服务,需要调用的服务是否开启了控制文件上传插件。如果服务没有启用该插件,则该请求跳过控制文件上传插件的检测,转发给后端的服务;如果服务启用控制文件上传插件,则该插件发挥作用,对请求中的文件进行检测;
第三步:插件解析请求报文,提取需要检测的参数,包括上传文件的大小,数量,类型;例如:解析请求体中上传文件信息内容如下:
Figure BDA0003546117890000052
第四步:控制文件上传插件检测请求体中信息是否符合要求,如果有一个或多个检测的参数与插件中配置的对应参数不匹配,网关直接返回错误信息给客户端;如果每一个检测参数均符合插件的配置信息,网关将该请求转发给目标服务;例如,上边示例中的请求中,上传文件的大小,数量,类型都符合要求,通过插件检测,则将该请求转发给后端服务。
本发明的有益效果是与现有技术相比,本发明提供的基于API网关实现控制文件上传的方法,达到如下有益效果:第一,实现在请求到达目标服务前,对请求报文中请求体中上传文件的检测;第二,以插件的方式提供检测功能,配置简单灵活,易于扩展。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种基于API网关实现控制文件上传的方法,其特征在于,该方法包括如下步骤:
S1、后端服务注册到API网关时,选择是否启用控制文件上传插件,如果启用该插件,则需要在插件中设置插件要求;
S2、客户端将请求报文发送给API网关,网关对该请求进行解析,首先查看该请求调用的是哪一个服务,其次根据调用的服务是否开启了控制文件上传插件,如果该服务未开启控制文件上传插件,则网关直接将请求转发到后端服务,如果该服务已经开启了控制文件上传插件,则进入到插件对该请求的检测阶段S3;
S3、控制文件上传插件解析请求,获取请求体中上传文件的信息,分析判断该请求中的各项参数是否与插件要求相匹配,如果不匹配,则控制文件上传插件直接将错误信息返回给客户端,如果都符合要求,API网关再将请求转发到具体的服务,从而实现控制文件传输的功能。
2.如权利要求1所述的基于API网关实现控制文件上传的方法,其特征在于,所述插件要求包括后端服务接收上传文件的大小阈值、数量阈值和类型。
3.如权利要求1所述的基于API网关实现控制文件上传的方法,其特征在于,所述插件要求包括使能标记、文件数量、文件大小和文件类型。
4.如权利要求2或3所述的基于API网关实现控制文件上传的方法,其特征在于,文件类型包括:.doc、.jpg和.png。
5.如权利要求1所述的基于API网关实现控制文件上传的方法,其特征在于,所述步骤S3中的不匹配包括:文件大小、数量超过设定的阈值,或者文件类型不在允许范围内。
6.如权利要求1所述的基于API网关实现控制文件上传的方法,其特征在于,所述步骤S3中,上传文件的大小、数量和类型都符合要求,通过插件检测,则将该请求转发给后端服务。
7.如权利要求1所述的基于API网关实现控制文件上传的方法,其特征在于,所述步骤S3中,如果有一个或多个检测的参数与插件中配置的对应参数不匹配,网关直接返回错误信息给客户端。
8.如权利要求1所述的基于API网关实现控制文件上传的方法,其特征在于,所述步骤S3中,上传文件的大小、数量和类型都符合要求,通过插件检测,则将该请求转发给后端服务。
9.如权利要求8所述的基于API网关实现控制文件上传的方法,其特征在于,上传文件的大小、数量和类型都符合要求包括:上传文件的大小小于大小阈值、数量小于数量阈值、类型在允许的类型范围内。
10.如权利要求1所述的基于API网关实现控制文件上传的方法,其特征在于,所述S2中的请求为HTTP或HTTPS请求。
CN202210248722.3A 2022-03-14 2022-03-14 一种基于api网关实现控制文件上传的方法 Active CN114500517B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210248722.3A CN114500517B (zh) 2022-03-14 2022-03-14 一种基于api网关实现控制文件上传的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210248722.3A CN114500517B (zh) 2022-03-14 2022-03-14 一种基于api网关实现控制文件上传的方法

Publications (2)

Publication Number Publication Date
CN114500517A true CN114500517A (zh) 2022-05-13
CN114500517B CN114500517B (zh) 2023-01-13

Family

ID=81486650

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210248722.3A Active CN114500517B (zh) 2022-03-14 2022-03-14 一种基于api网关实现控制文件上传的方法

Country Status (1)

Country Link
CN (1) CN114500517B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002019653A2 (en) * 2000-09-01 2002-03-07 Ikimbo, Inc. System and method for transferring files
CN105827512A (zh) * 2016-04-29 2016-08-03 电子科技大学 一种通过碎片化多云存储的电子邮件通信方法
US10476936B1 (en) * 2018-12-13 2019-11-12 Software Ag Plugin-based file transfer systems and/or methods
CN110753127A (zh) * 2019-10-29 2020-02-04 浪潮云信息技术有限公司 基于Kong的API网关实现请求参数转换的方法
CN111385146A (zh) * 2020-03-05 2020-07-07 山东汇贸电子口岸有限公司 一种基于Kong的API网关路由实体配置方法及系统
CN113570255A (zh) * 2021-07-30 2021-10-29 上海通联金融服务有限公司 批处理文件的质量检测方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002019653A2 (en) * 2000-09-01 2002-03-07 Ikimbo, Inc. System and method for transferring files
CN105827512A (zh) * 2016-04-29 2016-08-03 电子科技大学 一种通过碎片化多云存储的电子邮件通信方法
US10476936B1 (en) * 2018-12-13 2019-11-12 Software Ag Plugin-based file transfer systems and/or methods
CN110753127A (zh) * 2019-10-29 2020-02-04 浪潮云信息技术有限公司 基于Kong的API网关实现请求参数转换的方法
CN111385146A (zh) * 2020-03-05 2020-07-07 山东汇贸电子口岸有限公司 一种基于Kong的API网关路由实体配置方法及系统
CN113570255A (zh) * 2021-07-30 2021-10-29 上海通联金融服务有限公司 批处理文件的质量检测方法

Also Published As

Publication number Publication date
CN114500517B (zh) 2023-01-13

Similar Documents

Publication Publication Date Title
US11985168B2 (en) Synthetic request injection for secure access service edge (SASE) cloud architecture
US11831683B2 (en) Cloud object security posture management
US12082311B2 (en) Facilitating integrated management of connected assets that utilize different technologies and that are located across disparate wireless communications networks
US11888902B2 (en) Object metadata-based cloud policy enforcement using synthetic request injection
US7860887B2 (en) Cross-media storage coordination
US11647052B2 (en) Synthetic request injection to retrieve expired metadata for cloud policy enforcement
US20220004694A1 (en) Methods, Systems, and Apparatus for Email to Persistent Messaging
Chen et al. Intelligent file transfer for smart handheld devices based on mobile cloud computing
CN103347084A (zh) 一种多账号统一关联系统及关联方法
CN108880992B (zh) 数据传输方法、计算机设备及存储介质
WO2019001562A1 (zh) 模型加载方法、装置、存储介质和计算机设备
CN112565220A (zh) 一种基于国网隔离装置安全的http服务网关实现方法
CN114500517B (zh) 一种基于api网关实现控制文件上传的方法
US20060039368A1 (en) Data processing information feeder framework
US8964955B2 (en) Presence-based message waiting indicator and missed calls
CN101155177B (zh) 基于共用协议的数据通道共享系统及方法
CN105282255A (zh) 图片传输方法和系统
CN101425067A (zh) 信息检索方法和系统
CN113761433B (zh) 业务处理方法和装置
Elhadi et al. Functional modeling of IoT protocols
Sun et al. [Retracted] Edge Node Aware Adaptive Data Processing Method for Ubiquitous NB‐IoT
CN112118136A (zh) 多云配置转换方法、装置、计算机设备和存储介质
CN101286992B (zh) 一种内容传输系统及其处理方法
CN117354304B (zh) 一种数据传输通道安全能力建设方法
CN113067765B (zh) 一种多媒体消息监控方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant