CN118054932A - 基于代理服务端操作对象存储服务的方法及系统、电子设备 - Google Patents
基于代理服务端操作对象存储服务的方法及系统、电子设备 Download PDFInfo
- Publication number
- CN118054932A CN118054932A CN202410016156.2A CN202410016156A CN118054932A CN 118054932 A CN118054932 A CN 118054932A CN 202410016156 A CN202410016156 A CN 202410016156A CN 118054932 A CN118054932 A CN 118054932A
- Authority
- CN
- China
- Prior art keywords
- proxy
- server
- http request
- object storage
- storage 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及云存储中数据传输技术领域,公开了一种基于代理服务端操作对象存储服务的方法。该方法包括:业务服务端获得操作指令以及代理AK;其中,代理AK是由代理服务端颁发的与业务服务端对应的AK;基于对象存储服务提供的SDK,将操作指令和代理AK转换为第一HTTP请求;其中,第一HTTP请求的格式与对象存储服务要求的格式对应;将第一HTTP请求发送至代理服务端;接收代理服务端发送的响应信息。采用该方法可降低对象存储服务AK的泄漏风险。本申请还公开一种基于代理服务端操作对象存储服务的系统和电子设备。
Description
技术领域
本申请涉及云存储中数据传输技术领域,例如涉及一种基于代理服务端操作对象存储服务的方法及系统、电子设备。
背景技术
目前,大部分互联网企业都会有自己的文件服务器,用来支持上传、下载、预览文件等操作类型。但搭建并维护一个高可用的文件服务器并不容易,一般企业会通过购买类似阿里云的对象存储服务(Object Storage Service,OSS)、腾讯云的对象存储服务(CloudObject Storage,COS)、华为云的对象存储服务(Object Storage Service,OBS)等,将文件服务器托管出去。
以阿里云的OSS为例,企业购买OSS后,可以使用阿里提供的OSS的软件开发工具包(Software Development Kit,SDK),将各种类型的操作指令转换为具体的超文本传输协议(HyperText Transfer Protocol,HTTP)请求,并通过在阿里申请的AccessKeyId和AccessKeySecret(简称AK,用于鉴权)来操作OSS。
在实现本申请实施例的过程中,发现相关技术中至少存在如下问题:
AK必须保密,一旦AK信息泄漏,其他人就能绕过企业直接使用AK访问OSS,文件外泄风险较高。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领普通技术人员已知的现有技术的信息。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本申请实施例提供了一种基于代理服务端操作对象存储服务的方法及系统、电子设备,以降低文件外泄风险。
在一些实施例中,基于代理服务端操作对象存储服务的方法应用于业务服务端,所述方法包括:
获得操作指令以及代理AK;其中,代理AK是由代理服务端颁发的与业务服务端对应的AK;
基于对象存储服务提供的SDK,将操作指令和代理AK转换为第一HTTP请求;其中,第一HTTP请求的格式与对象存储服务要求的格式对应;
将第一HTTP请求发送至代理服务端;代理服务端能够将第一HTTP请求中的代理AK替换为对象存储服务AK,以获得第二HTTP请求,并将第二HTTP请求发送至对象存储服务的服务器,接收对象存储服务的服务器的响应信息;
接收代理服务端发送的响应信息。
可选地,基于对象存储服务提供的SDK,将操作指令和代理AK转换为第一HTTP请求,包括:获得操作指令的操作类型;在SDK中确定操作类型对应的转换方法;将操作指令的指令参数封装并调用转换方法进行转换,以获得第一HTTP请求。
可选地,操作类型包括以下一个或多个:上传操作、下载操作、判断文件是否存在的操作。
在一些实施例中,基于代理服务端操作对象存储服务的方法应用于代理服务端,所述方法包括:
接收业务服务端发送的第一HTTP请求;第一HTTP请求是业务服务端获得操作指令以及代理AK后,基于对象存储服务提供的SDK,由操作指令和代理AK转换而获得的;代理AK是由代理服务端颁发的与业务服务端对应的AK;
将第一HTTP请求中的代理AK替换为对象存储服务AK,以获得第二HTTP请求;
将第二HTTP请求发送至对象存储服务的服务器;接收对象存储服务的服务器的响应信息,并将响应信息发送至业务服务端。
可选地,在接收业务服务端发送的第一HTTP请求之前,基于代理服务端操作对象存储服务的方法还包括:向业务服务端颁发对应的代理AK。
可选地,向业务服务端颁发对应的代理AK,包括:在多个业务服务端中获得待颁发AK的业务服务端对应的识别号;生成与识别号对应的代理AK;将与识别号对应的代理AK颁发至待颁发AK的业务服务端。
可选地,在将第一HTTP请求中的代理AK替换为对象存储服务AK,以获得第二HTTP请求的过程中,维持第一HTTP请求中除代理AK之外的其他内容不变。
可选地,将第一HTTP请求中的代理AK替换为对象存储服务AK之前,基于代理服务端操作对象存储服务的方法还包括:读取第一HTTP请求中的代理AK;在代理AK鉴权通过的情况下,获得对象存储服务AK。
可选地,在将第二HTTP请求发送至对象存储服务的服务器之前,基于代理服务端操作对象存储服务的方法还包括:获得业务服务端对应的限制条件;
将第二HTTP请求发送至对象存储服务的服务器,包括:在第一HTTP请求被限制条件允许的情况下,将第二HTTP请求发送至对象存储服务的服务器。
在一些实施例中,基于代理服务端操作对象存储服务的系统包括业务服务端和代理服务端;
业务服务端获得操作指令以及代理AK;其中,代理AK是由代理服务端颁发的与业务服务端对应的AK;
业务服务端基于对象存储服务提供的SDK,将操作指令和代理AK转换为第一HTTP请求;其中,第一HTTP请求的格式与对象存储服务要求的格式对应;
业务服务端将第一HTTP请求发送至代理服务端;
代理服务端将第一HTTP请求中的代理AK替换为对象存储服务AK,以获得第二HTTP请求;
代理服务端将第二HTTP请求发送至对象存储服务的服务器;
代理服务端接收对象存储服务的服务器的响应信息,并将响应信息发送至业务服务端。
在一些实施例中,一种电子设备包括处理器和存储有程序指令的存储器,所述处理器被配置为在执行所述程序指令时,执行前述实施例提供的基于代理服务端操作对象存储服务的方法。
本申请实施例提供的基于代理服务端操作对象存储服务的方法及系统、电子设备,可以实现以下技术效果:
业务服务端与对象存储服务的服务器二者通过代理服务端连接,企业各部门人员,或企业外部人员,在操作对象存储服务的过程中,仅能够接触到代理业务端颁发的代理AK,该代理AK与业务服务端具备对应关系,即使某一个业务服务端对应的代理AK外泄,其他人也无法绕过企业直接使用该代理AK访问对象存储服务,降低了文件外泄风险。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或一个以上实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件视为类似的元件,并且其中:
图1是本申请实施例提供的一种基于代理服务端操作对象存储服务的方法的实施场景的示意图;
图2是本申请实施例提供的一种基于代理服务端操作对象存储服务的方法的流程示意图;
图3是本申请实施例提供的一种基于代理服务端操作对象存储服务的方法的流程示意图;
图4是本申请实施例提供的一种基于代理服务端操作对象存储服务的方法的流程示意图;
图5是本申请实施例提供的一种基于代理服务端操作对象存储服务的方法的流程示意图;
图6是本申请实施例提供的一种基于代理服务端操作对象存储服务的系统的示意图;
图7是本申请实施例提供的一种电子设备的示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或一个以上实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本申请实施例的说明书和权利要求书及上述附图中的术语“第一”“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个以上。
本申请实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
图1是本申请实施例提供的一种基于代理服务端操作对象存储服务的方法的实施场景的示意图。该方法由业务服务端和代理服务端配合执行,实现对对象存储服务的相关操作。图1中以业务服务端的数量为三个:业务服务端A、业务服务端B和业务服务端C为例进行示例性说明。
业务服务端A、业务服务端B和业务服务端C均与代理服务端P通信连接,代理服务端P能够与对象存储服务所在的服务器通信连接。
结合图1所示,业务服务端A配置有对象存储服务O对应的SDK和业务服务端A对应的代理AK_A,该代理AK_A是由代理服务端P颁发的;
业务服务端B配置有对象存储服务O对应的SDK和业务服务端B对应的代理AK_B,该代理AK_B是由代理服务端P颁发的;
业务服务端C配置有对象存储服务O对应的SDK和业务服务端C对应的代理AK_C,该代理AK_C是由代理服务端P颁发的。
业务服务端A能够基于AK_A和对象存储服务O对应的SDK,生成携带代理AK_A的HTTP请求,该HTTP请求是能够被对象存储服务O识别的HTTP请求;业务服务端A将该HTTP请求发送至代理服务端P,代理服务端将其中的代理AK_A替换为对象存储服务对应的AK,将该替换后的、携带对象存储服务对应的AK的HTTP请求发送至对象存储服务O所在的服务器;
业务服务端B能够基于AK_B和对象存储服务O对应的SDK,生成携带代理AK_B的HTTP请求,该HTTP请求是能够被对象存储服务O识别的HTTP请求;业务服务端B将该HTTP请求发送至代理服务端P,代理服务端将其中的代理AK_B替换为对象存储服务对应的AK,将该替换后的、携带对象存储服务对应的AK的HTTP请求发送至对象存储服务O所在的服务器;
业务服务端C能够基于AK_B和对象存储服务O对应的SDK,生成携带代理AK_C的HTTP请求,该HTTP请求是能够被对象存储服务O识别的HTTP请求;业务服务端C将该HTTP请求发送至代理服务端P,代理服务端将其中的代理AK_C替换为对象存储服务对应的AK,将该替换后的、携带对象存储服务对应的AK的HTTP请求发送至对象存储服务O所在的服务器。
业务服务端P接收对象存储服务的响应信息,并将该响应信息转发至业务服务端A、业务服务端B或业务服务端C。
上述业务服务端(A、B或C)可为一台服务器,或者由若干台服务器组成的服务器集群,或者为一个云计算服务中心,或者为一个计算机操作终端。
上述代理服务端P可为一台服务器,或者由若干台服务器组成的服务器集群,或者为一个云计算服务中心。
上述对象存储服务O,包括但不限于阿里云的OSS、腾讯云的COS、华为云的OBS,本领域技术人员所知晓的能够提供文件存储服务的,且需要AK的其他厂商提供的产品或自制产品,均可作为本申请实施例中的对象存储服务O。
图2是本申请实施例提供的一种基于代理服务端操作对象存储服务的方法的流程示意图,以该方法应用于图1中所示的业务服务端为例,对基于代理服务端操作对象存储服务的方法进行示例性说明。
结合图2所示,基于代理服务端操作对象存储服务的方法包括:
S201、获得操作指令以及代理AK。
其中,代理AK是由代理服务端颁发的与业务服务端对应的AK。
一个业务服务端对应的代理AK不可被其他业务服务端使用。
例如,多个业务服务端中包括第一业务服务端和第二业务服务端,第一业务服务端对应第一代理AK,第二业务服务端对应第二代理AK。第一业务服务端基于第一代理AK向代理服务端请求的内容,能够被代理服务端响应,第二业务服务端基于第二代理AK向代理服务端请求的内容,不会被代理服务端响应;第二业务服务端基于第二代理AK向代理服务端请求的内容,能够被代理服务端响应,第二业务服务端基于第一代理AK向代理服务端请求的内容,不会被代理服务端响应。
上述被代理服务端响应,指的是代理服务端提供与请求内容相关的服务;上述不被代理服务端响应,指的是代理服务端没有动作,或者,代理服务端向业务服务端反馈错误响应。
上述操作指令指的是业务服务端获得的、用户输入的操作指令。包括但不限于存储X文件、下载X文件、判断X文件是否存在,其中,“X文件”表示任意文件。
S202、基于对象存储服务提供的SDK,将操作指令和代理AK转换为第一HTTP请求。
其中,第一HTTP请求的格式与对象存储服务要求的格式对应;
对象存储服务的SDK提供对象存储服务所对应的函数、格式以及命令,基于对象存储服务提供的SDK生成的第一HTTP请求,能够被对对象存储服务的服务器识别。
可选地,基于对象存储服务提供的SDK,将操作指令和代理AK转换为第一HTTP请求,包括:获得操作指令的操作类型;在SDK中确定操作类型对应的转换方法;将操作指令的指令参数封装并调用转换方法进行转换,以获得第一HTTP请求。
可选地,操作类型包括以下一个或多个:上传操作、下载操作、判断文件是否存在的操作。业务服务端基于对象存储服务提供的SDK,将操作指令和代理AK转换为第一HTTP请求,那么,第一HTTP请求中的操作类型是能够被对象存储服务的服务器识别的。
由业务服务端执行该转换过程,而不是由代理服务端执行该转换过程,节省了代理服务端的计算资源,提高了代理服务端的并发能力,使代理服务端能够连接更多的业务服务端,同步/异步为更多的业务服务端提供服务。
S203、将第一HTTP请求发送至代理服务端。
业务服务端和代理服务端可通过HTTP接口进行通信。
在业务服务端将第一HTTP请求发送至代理服务端后,代理服务端能够将第一HTTP请求中的代理AK替换为对象存储服务AK,以获得第二HTTP请求,并将第二HTTP请求发送至对象存储服务的服务器,接收对象存储服务的服务器的响应信息,并将对象存储服务的服务器的响应信息发送至业务服务端。
在代理服务端执行将第一HTTP请求权中的代理AK替换为对象存储服务AK的过程中,维持第一HTTP请求中除代理AK之外的其他内容不变,即,第一HTTP请求和第二HTTP请求二者的区别仅在于AK的不同。
这样,一方面节省了代理服务端的计算资源,提高了代理服务端的并发能力,使第二HTTP请求本质上也是基于对象存储服务提供的SDK生成,使代理服务端向对象存储业务的服务器发送的第二HTTP请求,能够被对象存储服务的服务器正确识别。
进一步地,由于基于对象存储服务提供的SDK,将操作指令和代理AK转换为第一HTTP请求的过程在业务服务端执行,所以代理服务端仅需执行代理AK的替换操作,正是由于代理服务端仅需执行代理AK的替换操作,所以代理服务端可基于操作系统的零拷贝技术,完成第一HTTP请求中的代理AK的替换过程,这将进一步提高代理服务端的并发能力,使代理服务端能够连接更多的业务服务端,同步/异步为更多的业务服务端提供服务。
对象存储服务能够对第二HTTP请求进行响应,以实现第二HTTP请求对应的功能或服务。本领域技术人员可根据经验确定对象存储服务对第二HTTP请求的具体响应方式,这里不再一一赘述。
S204、接收代理服务端发送的响应信息。
业务服务端与对象存储服务的服务器二者通过代理服务端连接,企业各部门人员,或企业外部人员,在操作对象存储服务的过程中,仅能够接触到代理业务端颁发的代理AK,该代理AK与业务服务端具备对应关系,即使某一个业务服务端对应的代理AK外泄,其他人也无法绕过企业直接使用该代理AK访问对象存储服务,降低了文件外泄风险。
进一步地,代理服务端不是以暴露自身应用程序编程接口(ApplicationProgramming Interface,API)的形式对外提供服务,而是在业务服务端向对象存储服务发送请求的过程中,通过将代理AK替换为对象存储服务实际的AK后并转发请求的方式提供服务。采用这种方式,让业务服务端引入对象存储服务提供的SDK,而不是代理服务端引入对象存储提供的SDK,使业务服务端和代理服务端均不需要根据操作类型进行Case-By-Case开发,就能够使用对象存储服务提供的SDK的所有能力,也即,能够使用对象存储服务的全部服务,减少了开发量,即,减少了部署基于代理服务端操作对象存储服务的系统所需的工作量。
以这种方式部署业务服务端和代理服务端,用户在业务服务端进行操作的过程中,完全感知不到自己操作的是代理服务端而不是对象存储服务,这也有利于对象存储服务AK的安全。
图3是本申请实施例提供的一种基于代理服务端操作对象存储服务的方法的流程示意图,以该方法应用于图1中所示的代理服务端为例,对基于代理服务端操作对象存储服务的方法进行示例性说明。
结合图3所示,基于代理服务端操作对象存储服务的方法包括:
S301、接收业务服务端发送的第一HTTP请求。
第一HTTP请求是业务服务端获得操作指令以及代理AK后,基于对象存储服务提供的SDK,由操作指令和代理AK转换而获得的。
代理AK是由代理服务端颁发的与业务服务端对应的AK。
业务服务端和代理服务端可通过HTTP接口进行通信。
S302、将第一HTTP请求中的代理AK替换为对象存储服务AK,以获得第二HTTP请求。
在将第一HTTP请求中的代理AK替换为对象存储服务AK,以获得第二HTTP请求的过程中,维持第一HTTP请求中除代理AK之外的其他内容不变。
在代理服务端执行将第一HTTP请求权中的代理AK替换为对象存储服务AK的过程中,维持第一HTTP请求中除代理AK之外的其他内容不变,即,第一HTTP请求和第二HTTP请求二者的区别仅在于AK的不同。
这样,一方面节省了代理服务端的计算资源,提高了代理服务端的并发能力,使第二HTTP请求本质上也是基于对象存储服务提供的SDK生成,使代理服务端向对象存储业务的服务器发送的第二HTTP请求,能够被对象存储服务的服务器正确识别。
进一步地,由于基于对象存储服务提供的SDK,将操作指令和代理AK转换为第一HTTP请求的过程在业务服务端执行,所以代理服务端仅需执行代理AK的替换操作,正是由于代理服务端仅需执行代理AK的替换操作,所以代理服务端可基于操作系统的零拷贝技术,完成第一HTTP请求中的代理AK的替换过程,这将进一步提高代理服务端的并发能力,使代理服务端能够连接更多的业务服务端,同步/异步为更多的业务服务端提供服务。
S303、将第二HTTP请求发送至对象存储服务的服务器。
代理服务端和对象存储服务的服务器可通过HTTP接口的形式实现通信。
S304、接收对象存储服务的服务器的响应信息,并将响应信息发送至业务服务端。
业务服务端与对象存储服务的服务器二者通过代理服务端连接,企业各部门人员,或企业外部人员,在操作对象存储服务的过程中,仅能够接触到代理业务端颁发的代理AK,该代理AK与业务服务端具备对应关系,即使某一个业务服务端对应的代理AK外泄,其他人也无法绕过企业直接使用该代理AK访问对象存储服务,降低了文件外泄风险。
可选地,在接收业务服务端发送的第一HTTP请求之前,代理服务端向业务服务端颁发对应的代理AK,详见图4。
图4是本申请实施例提供的一种基于代理服务端操作对象存储服务的方法的流程示意图,以该方法应用于图1中所示的代理服务端为例,对基于代理服务端操作对象存储服务的方法进行示例性说明。
结合图4所示,基于代理服务端操作对象存储服务的方法包括:
S401、在多个业务服务端中获得待颁发AK的业务服务端对应的识别号。
S402、生成与识别号对应的代理AK。
S403、将与识别号对应的代理AK颁发至待颁发AK的业务服务端。
上述步骤为代理服务端向业务服务端颁发代理AK的过程,在待颁发AK的业务服务端接收到与识别号对应的代理AK后,利用代理AK对自身进行配置。
该配置过程为客户端(业务服务端)与服务端(代理服务端)之间的配置过程,本领域技术人员可根据进行配置,这里不再一一赘述。
在能够获得操作指令的业务服务端将对应的代理AK配置结束后,或者,在与代理服务端连接的业务服务端均配置对应的代理AK后,执行后续步骤。
再次参照图1,一业务服务端的识别号为A,则生成与识别号A对应的代理AK:AK_A,并将AK_A颁发至业务服务端A;
另一业务服务端的识别号为B,则生成与识别号B对应的代理AK:AK_B,并将AK_B颁发至业务服务端B;
第三个业务服务端的识别号为C,则生成与识别号C对应的代理AK:AK_C,并将AK_C颁发至业务服务端C。
如此为每个业务服务端颁发对应的代理AK,实现一个业务服务端对应的代理AK不可被其他业务服务端使用。
S404、接收业务服务端发送的第一HTTP请求。
第一HTTP请求是业务服务端获得操作指令以及代理AK后,基于对象存储服务提供的SDK,由操作指令和代理AK转换而获得的;代理AK是由代理服务端颁发的与业务服务端对应的AK。
S405、将第一HTTP请求中的代理AK替换为对象存储服务AK,以获得第二HTTP请求。
该步骤可在鉴权通过后再执行。即,在将第一HTTP请求中的代理AK替换为对象存储服务AK之前,基于代理服务端操作对象存储服务的方法还包括:读取第一HTTP请求中的代理AK;在代理AK鉴权通过的情况下,获得对象存储服务AK。
在一些应用场景中,在代理服务端为业务服务端颁发代理AK的过程中,可记录业务服务端的识别号与颁发的代理AK的对应关系。例如,A:AK_A、B:AK_B以及C:AK_C。
在代理服务端接收到业务服务端发送的第一HTTP请求后,可获得该业务服务端对应的识别号,并基于识别号查找获得代理AK,判断查找获得的代理AK和在第一HTTP请求中读取的代理AK是否相同,如果二者相同,则确定第一HTTP请求中的代理AK鉴权通过,否则鉴权不通过。
在第一HTTP请求中的代理AK鉴权不通过的情况下,代理服务端不将第一HTTP请求中的代理AK替换为对象存储服务AK。
如此实现一个业务服务端对应的代理AK不可被其他业务服务端使用,使其他人难以绕过企业内部设置的业务服务端直接访问代理服务端,降低文件外泄的风险。
S406、将第二HTTP请求发送至对象存储服务的服务器。
S407、接收对象存储服务的服务器的响应信息,并将响应信息发送至业务服务端。
图5是本申请实施例提供的一种基于代理服务端操作对象存储服务的方法的流程示意图,以该方法应用于图1中所示的代理服务端为例,对基于代理服务端操作对象存储服务的方法进行示例性说明。
结合图5所示,基于代理服务端操作对象存储服务的方法包括:
S501、接收业务服务端发送的第一HTTP请求。
第一HTTP请求是业务服务端获得操作指令以及代理AK后,基于对象存储服务提供的SDK,由操作指令和代理AK转换而获得的;代理AK是由代理服务端颁发的与业务服务端对应的AK。
S502、获得业务服务端对应的限制条件。
该限制条件能够实现对业务服务端的管理。限制条件包括但不限于请求频率、请求次数上限。
在一些应用场景中,企业内部的各部门均设置一个对应的业务服务端,企业整体设置一个代理业务端,通过在代理业务端设置或调整每个业务服务端的限制条件,能够实现对各业务服务端的管理。
业务服务端对应的限制条件预先存储在代理服务端,在代理服务端接收到第一HTTP请求后,获得发送该第一HTTP请求的业务服务端的识别号,基于识别号查到该业务服务端对应的限制条件。
S503、在第一HTTP请求被限制条件允许的情况下,将第二HTTP请求发送至对象存储服务的服务器。
例如,某个业务服务端的限制条件为上传频率小于或等于设定频率。当代理业务端接收到该业务服务端发送的第一HTTP请求后,统计获得该业务服务端的上传频率,如果该业务服务端的上传频率小于或等于设定频率,则表示第一HTTP请求被限制条件允许;如果该业务服务端的上传频率大于设定频率,则表示第一HTTP请求被限制条件禁止。
再例如,某个业务服务端的限制条件为请求次数小于或等于设定次数。当代理业务端接收到该业务服务端发送的第一HTTP请求后,统计获得该业务服务端的请求次数,如果该业务服务端的请求次数小于或等于设定次数,则表示第一HTTP请求被限制条件允许;如果该业务服务端的请求此时大于设定次数,则表示第一HTTP请求被限制条件禁止。
S504、将第一HTTP请求中的代理AK替换为对象存储服务AK,以获得第二HTTP请求。
S505、将第二HTTP请求发送至对象存储服务的服务器。
S506、接收对象存储服务的服务器的响应信息,并将响应信息发送至业务服务端。
通过在代理业务端设置业务服务端的限制条件,有利于实现对业务服务端的管理。
图6是本申请实施例提供的一种基于代理服务端操作对象存储服务的系统的示意图,在业务服务端和代理服务端二者分别执行的动作的角度,对基于代理服务端操作对象存储服务的系统进行示例性说明。
结合图6所示,基于代理服务端操作对象存储服务的系统中的业务服务端和代理服务端分别执行如下动作:
S601、业务服务端获得操作指令以及代理AK。
其中,代理AK是由代理服务端颁发的与业务服务端对应的AK。
S602、业务服务端基于对象存储服务提供的SDK,将操作指令和代理AK转换为第一HTTP请求。
其中,第一HTTP请求的格式与对象存储服务要求的格式对应。
S603、业务服务端将第一HTTP请求发送至代理服务端。
S604、代理服务端将第一HTTP请求中的代理AK替换为对象存储服务AK,以获得第二HTTP请求。
S605、代理服务端将第二HTTP请求发送至对象存储服务的服务器。
S606、代理服务端接收对象存储服务的服务器的响应信息;
S607、代理服务端将响应信息发送至业务服务端。
图7是本申请实施例提供的一种电子设备的示意图。结合图7所示,电子设备包括:
处理器(processor)71和存储器(memory)72,还可以包括通信接口(Communication Interface)73和总线74。其中,处理器71、通信接口73、存储器72可以通过总线74完成相互间的通信。通信接口73可以用于信息传输。处理器71可以调用存储器72中的逻辑指令,以执行前述实施例提供的基于代理服务端操作对象存储服务的方法。
此外,上述的存储器72中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器72作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本申请实施例中的方法对应的程序指令/模块。处理器71通过运行存储在存储器72中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器72可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器72可以包括高速随机存取存储器,还可以包括非易失性存储器。
本申请实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,在该计算机可读存储介质应用于业务服务端时,计算机可执行指令设置为:
获得操作指令以及代理AK;其中,代理AK是由代理服务端颁发的与业务服务端对应的AK;
基于对象存储服务提供的SDK,将操作指令和代理AK转换为第一HTTP请求;其中,第一HTTP请求的格式与对象存储服务要求的格式对应;
将第一HTTP请求发送至代理服务端;代理服务端能够将第一HTTP请求中的代理AK替换为对象存储服务AK,以获得第二HTTP请求,并将第二HTTP请求发送至对象存储服务的服务器,接收对象存储服务的服务器的响应信息;
接收代理服务端发送的响应信息。
本申请实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,在该计算机可读存储介质应用于代理服务端时,计算机可执行指令设置为:
接收业务服务端发送的第一HTTP请求;第一HTTP请求是业务服务端获得操作指令以及代理AK后,基于对象存储服务提供的SDK,由操作指令和代理AK转换而获得的;代理AK是由代理服务端颁发的与业务服务端对应的AK;
将第一HTTP请求中的代理AK替换为对象存储服务AK,以获得第二HTTP请求;
将第二HTTP请求发送至对象存储服务的服务器;
接收对象存储服务的服务器的响应信息,并将响应信息发送至业务服务端。
本申请实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被业务服务端的计算机执行时,使计算机执行如下步骤:
获得操作指令以及代理AK;其中,代理AK是由代理服务端颁发的与业务服务端对应的AK;
基于对象存储服务提供的SDK,将操作指令和代理AK转换为第一HTTP请求;其中,第一HTTP请求的格式与对象存储服务要求的格式对应;
将第一HTTP请求发送至代理服务端;代理服务端能够将第一HTTP请求中的代理AK替换为对象存储服务AK,以获得第二HTTP请求,并将第二HTTP请求发送至对象存储服务的服务器,接收对象存储服务的服务器的响应信息;
接收代理服务端发送的响应信息。
本申请实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被代理服务端的计算机执行时,使计算机执行如下步骤:
接收业务服务端发送的第一HTTP请求;第一HTTP请求是业务服务端获得操作指令以及代理AK后,基于对象存储服务提供的SDK,由操作指令和代理AK转换而获得的;代理AK是由代理服务端颁发的与业务服务端对应的AK;
将第一HTTP请求中的代理AK替换为对象存储服务AK,以获得第二HTTP请求;
将第二HTTP请求发送至对象存储服务的服务器;
接收对象存储服务的服务器的响应信息,并将响应信息发送至业务服务端。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本申请实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或一个以上指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例中方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机读取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
以上描述和附图充分地示出了本申请的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求书。如在实施例以及权利要求书的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本申请实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或一个以上用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (10)
1.一种基于代理服务端操作对象存储服务的方法,其特征在于,应用于业务服务端,所述方法包括:
获得操作指令以及代理AK;其中,代理AK是由代理服务端颁发的与业务服务端对应的AK;
基于对象存储服务提供的SDK,将操作指令和代理AK转换为第一HTTP请求;其中,第一HTTP请求的格式与对象存储服务要求的格式对应;
将第一HTTP请求发送至代理服务端;
接收代理服务端发送的响应信息。
2.根据权利要求1所述的方法,其特征在于,基于对象存储服务提供的SDK,将操作指令和代理AK转换为第一HTTP请求,包括:
获得操作指令的操作类型;
在SDK中确定操作类型对应的转换方法;
将操作指令的指令参数封装并调用转换方法进行转换,以获得第一HTTP请求。
3.根据权利要求1所述的方法,其特征在于,操作类型包括以下一个或多个:
上传操作、下载操作、判断文件是否存在的操作。
4.一种基于代理服务端操作对象存储服务的方法,其特征在于,应用于代理服务端,所述方法包括:
接收业务服务端发送的第一HTTP请求;
将第一HTTP请求中的代理AK替换为对象存储服务AK,以获得第二HTTP请求;
将第二HTTP请求发送至对象存储服务的服务器;
接收对象存储服务的服务器的响应信息,并将响应信息发送至业务服务端。
5.根据权利要求4所述的方法,其特征在于,在接收业务服务端发送的第一HTTP请求之前,还包括:
向业务服务端颁发对应的代理AK;
向业务服务端颁发对应的代理AK,包括:
在多个业务服务端中获得待颁发AK的业务服务端对应的识别号;
生成与识别号对应的代理AK;
将与识别号对应的代理AK颁发至待颁发AK的业务服务端。
6.根据权利要求4所述的方法,其特征在于,在将第一HTTP请求中的代理AK替换为对象存储服务AK,以获得第二HTTP请求的过程中,维持第一HTTP请求中除代理AK之外的其他内容不变。
7.根据权利要求4所述的方法,其特征在于,
将第一HTTP请求中的代理AK替换为对象存储服务AK之前,还包括:
读取第一HTTP请求中的代理AK;
在代理AK鉴权通过的情况下,获得对象存储服务AK。
8.根据权利要求4所述的方法,其特征在于,在将第二HTTP请求发送至对象存储服务的服务器之前,还包括:
获得业务服务端对应的限制条件;
将第二HTTP请求发送至对象存储服务的服务器,包括:
在第一HTTP请求被限制条件允许的情况下,将第二HTTP请求发送至对象存储服务的服务器。
9.一种基于代理服务端操作对象存储服务的系统,其特征在于,包括业务服务端和代理服务端;
业务服务端获得操作指令以及代理AK;其中,代理AK是由代理服务端颁发的与业务服务端对应的AK;
业务服务端基于对象存储服务提供的SDK,将操作指令和代理AK转换为第一HTTP请求;其中,第一HTTP请求的格式与对象存储服务要求的格式对应;
业务服务端将第一HTTP请求发送至代理服务端;
代理服务端将第一HTTP请求中的代理AK替换为对象存储服务AK,以获得第二HTTP请求;
代理服务端将第二HTTP请求发送至对象存储服务的服务器;
代理服务端接收对象存储服务的服务器的响应信息,并将响应信息发送至业务服务端。
10.一种电子设备,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在执行所述程序指令时,执行如权利要求1至8任一项所述的基于代理服务端操作对象存储服务的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410016156.2A CN118054932A (zh) | 2024-01-04 | 2024-01-04 | 基于代理服务端操作对象存储服务的方法及系统、电子设备 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410016156.2A CN118054932A (zh) | 2024-01-04 | 2024-01-04 | 基于代理服务端操作对象存储服务的方法及系统、电子设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN118054932A true CN118054932A (zh) | 2024-05-17 |
Family
ID=91052978
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202410016156.2A Pending CN118054932A (zh) | 2024-01-04 | 2024-01-04 | 基于代理服务端操作对象存储服务的方法及系统、电子设备 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN118054932A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118900282A (zh) * | 2024-10-09 | 2024-11-05 | 思创数码科技股份有限公司 | 一种大数据支撑方法、系统、计算机及存储介质 |
-
2024
- 2024-01-04 CN CN202410016156.2A patent/CN118054932A/zh active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118900282A (zh) * | 2024-10-09 | 2024-11-05 | 思创数码科技股份有限公司 | 一种大数据支撑方法、系统、计算机及存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10331422B1 (en) | System and method for generating API devlopment code for integrating platforms | |
| US10476936B1 (en) | Plugin-based file transfer systems and/or methods | |
| AU2023251465A1 (en) | System and method for generating api development code for integrating platforms | |
| CN111901230B (zh) | 一种支持设备接入验证的物联网网关、系统和设备接入验证的方法 | |
| CN109729121B (zh) | 一种云存储系统及用于云存储系统中实现自定义数据处理的方法 | |
| CN108287894A (zh) | 数据处理方法、装置、计算设备及存储介质 | |
| CN111598575A (zh) | 业务流程控制方法、装置、电子设备和可读存储介质 | |
| US9128886B2 (en) | Computer implemented method, computer system, electronic interface, mobile computing device and computer readable medium | |
| CN111491037A (zh) | 通过sftp数据流与对象存储服务器的通信方法 | |
| KR20120044550A (ko) | 가상 nas를 이용한 클라우드 스토리지 서버, 시스템 및 방법 | |
| CN103914266A (zh) | 分配云端数据并由群组打印端主动打印该云端数据的方法 | |
| CN115484258A (zh) | 基于云桌面的外设设备处理方法、电子设备和存储介质 | |
| EP1955210A2 (en) | Web services-based data replication for heterogeneous storage systems | |
| CN118054932A (zh) | 基于代理服务端操作对象存储服务的方法及系统、电子设备 | |
| US20230269086A1 (en) | Systems and methods for using secure, encrypted communications across distributed computer networks to efficiently index blockchain states for performing blockchain operations in decentralized applications using cryptography-based digital repositories | |
| CN113988797A (zh) | 处理请求的方法及装置、存储介质及电子设备 | |
| WO2022067509A1 (zh) | 设备升级控制方法、装置、计算机设备及存储介质 | |
| US11941385B1 (en) | Transforming data between cloud entities in an event architecture | |
| US11663058B1 (en) | Preemptive filtering of events of an event bus with a deterministic filter | |
| CN113840013B (zh) | 一种分级管理的文档系统 | |
| US20230269084A1 (en) | Systems and methods for selecting secure, encrypted communications across distributed computer networks for cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
| CN111949472B (zh) | 一种记录应用日志的方法及装置 | |
| CN116633913A (zh) | 一种作业文件的传递方法、装置、系统和介质 | |
| WO2023213262A1 (zh) | 网格代理扩展的方法和装置 | |
| CN114489754A (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 |