CN114221946B - 基于对象网关管理文件的方法、装置、设备及存储介质 - Google Patents
基于对象网关管理文件的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114221946B CN114221946B CN202111549053.5A CN202111549053A CN114221946B CN 114221946 B CN114221946 B CN 114221946B CN 202111549053 A CN202111549053 A CN 202111549053A CN 114221946 B CN114221946 B CN 114221946B
- Authority
- CN
- China
- Prior art keywords
- http request
- object gateway
- file
- request
- requests
- 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.)
- Active
Links
Classifications
-
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请适用于云传输技术领域,提供了基于对象网关管理文件的方法、装置、设备及存储介质。包括:拦截对象网关客户端发起的第一HTTP请求;对第一HTTP请求进行分配,得到预设集群中每个服务器对应的第二HTTP请求;通过每个服务器对每个第二HTTP请求进行分配,得到每个对象网关服务器对应的第三HTTP请求;向每个对象网关服务器,发起与每个对象网关服务器对应的第三HTTP请求;获取每个对象网关服务器基于每个第三HTTP请求反馈的响应结果。上述方案中,无需迁移数据,即可实现对存储系统中文件的读取或写入,大大节省了工作量,提升了文件传输的效率和安全性。
Description
技术领域
本申请属于云传输技术领域,尤其涉及基于对象网关管理文件的方法、装置、设备及存储介质。
背景技术
由于早期的业务架构,业务需求的数据分布在NAS系统、SAN系统以及GFS系统等存储系统中,需要访问这些存储系统中的业务数据时,必须针对每个存储系统部署对应的客户端,非常麻烦且不安全。
现有技术中的对象网关可以有效解决上述问题。然而,现有技术中的对象网关,通常都采用开源的软件,例如开源的分布式文件系统(Ceph),这类软件实现对象网关的前提是需要使用开源软件自身的文件系统,导致无法兼容现存的NAS系统、SAN系统以及GFS系统等,需要将NAS系统、SAN系统以及GFS系统等系统中存储的数据全量的迁移到Ceph中才可使用。
这种管理存储系统中文件的方法,需要迁移的数据量太大,增加了工作量,降低了管理文件的效率,且对文件的安全没有保障。
发明内容
有鉴于此,本申请实施例提供了基于对象网关管理文件的方法、装置、设备及存储介质,以解决传统的管理存储系统中文件的方法,需要迁移的数据量太大,增加了工作量,降低了管理文件的效率,且对文件的安全没有保障的问题。
本申请实施例的第一方面提供了一种基于对象网关管理文件的方法,该方法包括:
拦截对象网关客户端发起的第一HTTP请求,所述第一HTTP请求包括多个文件写入请求或多个文件读取请求;
对所述第一HTTP请求进行分配,得到预设集群中每个服务器对应的第二HTTP请求,所述第二HTTP请求包括的文件请求数量小于所述第一HTTP请求包括的文件请求数量;
通过每个所述服务器对每个所述第二HTTP请求进行分配,得到每个对象网关服务器对应的第三HTTP请求,所述对象网关服务器预先部署在目标系统中,所述对象网关服务器用于管理存储系统,所述存储系统包括网络附属存储系统、存储区域网络系统、分布式文件存储系统中的至少一个;
向每个所述对象网关服务器,发起与每个所述对象网关服务器对应的第三HTTP请求;
获取每个所述对象网关服务器基于每个所述第三HTTP请求反馈的响应结果。
可选地,所述预设集群包括Nacos集群,所述对所述第一HTTP请求进行分配,得到预设集群中每个服务器对应的第二HTTP请求,包括:
获取所述对象网关客户端对应的负载均衡器;
通过所述负载均衡器对所述第一HTTP请求进行分配,得到所述Nacos集群中每个服务器对应的第二HTTP请求。
可选地,所述向每个所述对象网关服务器,发起与每个所述对象网关服务器对应的第三HTTP请求,包括:
针对每个所述第三HTTP请求,检测所述第三HTTP请求是否有请求权限;
当检测到所述第三HTTP请求有所述请求权限时,为所述第三HTTP请求分配令牌;
基于所述令牌,向所述第三HTTP请求对应的对象网关服务器发起所述第三HTTP请求。
可选地,所述当检测到所述第三HTTP请求有所述请求权限时,为所述第三HTTP请求分配令牌,包括:
获取所述对象网关客户端对应的Redis集群;
当检测到所述第三HTTP请求有所述请求权限时,通过所述Redis集群为所述第三HTTP请求分配令牌。
可选地,所述基于所述令牌,向所述第三HTTP请求对应的对象网关服务器发起所述第三HTTP请求,包括:
获取所述令牌对应的有效时间;
在所述有效时间内,向所述第三HTTP请求对应的对象网关服务器发起所述第三HTTP请求。
可选地,所述第一HTTP请求包括多个文件读取请求时,所述获取每个所述对象网关服务器基于每个所述第三HTTP请求反馈的响应结果,包括:
获取每个所述对象网关服务器基于每个所述第三HTTP请求发送的文件信息,所述第三HTTP请求包括请求数据和读取资源路径,所述文件信息由所述对象网关服务器根据所述请求数据和所述读取资源路径,在所述存储系统中查询得到。
可选地,所述第一HTTP请求包括多个文件写入请求时,所述获取每个所述对象网关服务器基于每个所述第三HTTP请求反馈的响应结果,包括:
获取每个所述对象网关服务器基于每个所述第三HTTP请求发送的提示信息,所述第三HTTP请求包括写入数据和写入资源路径,所述提示信息用于提示所述对象网关客户端,所述对象网关服务器已根据所述写入资源路径,将所述写入数据写入存储系统中。
本申请实施例的第二方面提供了一种基于对象网关管理文件的装置,包括:
拦截单元,用于拦截对象网关客户端发起的第一HTTP请求,所述第一HTTP请求包括多个文件写入请求或多个文件读取请求;
第一分配单元,用于对所述第一HTTP请求进行分配,得到预设集群中每个服务器对应的第二HTTP请求,所述第二HTTP请求包括的文件请求数量小于所述第一HTTP请求包括的文件请求数量;
第二分配单元,用于通过每个所述服务器对每个所述第二HTTP请求进行分配,得到每个对象网关服务器对应的第三HTTP请求,所述对象网关服务器预先部署在目标系统中,所述对象网关服务器用于管理存储系统,所述存储系统包括网络附属存储系统、存储区域网络系统、分布式文件存储系统中的至少一个;
请求单元,用于向每个所述对象网关服务器,发起与每个所述对象网关服务器对应的第三HTTP请求;
获取单元,用于获取每个所述对象网关服务器基于每个所述第三HTTP请求反馈的响应结果。
本申请实施例的第三方面提供了一种基于对象网关管理文件的设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述第一方面所述的基于对象网关管理文件的方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的基于对象网关管理文件的方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在设备上运行时,使得该设备执行上述第一方面所述的基于对象网关管理文件的方法的步骤。
本申请实施例提供的基于对象网关管理文件的方法、装置、设备及存储介质,具有以下有益效果:
本方案中在目标系统中预先部署有多个对象网关服务器,对象网关服务器用于管理网络附属存储系统、存储区域网络系统、分布式文件存储系统等系统。对第一HTTP请求进行两次合理分配,进而将得到的多个第三HTTP请求发送给其对应的对象网关服务器,保证对象网关服务器快速、准确地响应每个第三HTTP请求。无需迁移数据,就可将业务方的业务数据存储至NAS系统、SAN系统以及GFS系统等系统中,或者将NAS系统、SAN系统以及GFS系统等系统中的业务数据发送给业务方。这种基于对象网关管理文件的方法,大大节省了工作量,提升了文件传输的效率和安全性。且对HTTP请求进行合理分配后再向对象网关服务器正式请求,减轻了对象网关服务器的压力,提升对象网关服务器的响应速度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一示例性实施例提供的基于对象网关管理文件的方法的示意性流程图;
图2是本申请又一示例性实施例示出的一种基于对象网关管理文件的方法的步骤S102的具体流程图;
图3是本申请另一示例性实施例示出的一种基于对象网关管理文件的方法的步骤S104的具体流程图;
图4是本申请一实施例提供的一种基于对象网关管理文件的装置的示意图;
图5是本申请另一实施例提供的一种基于对象网关管理文件的设备的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习/监督学习等几大方向。
请参见图1,图1是本申请一示例性实施例提供的基于对象网关管理文件的方法的示意性流程图。本申请提供的基于对象网关管理文件的方法的执行主体为基于对象网关管理文件的设备,其中,该基于对象网关管理文件的设备包括但不限于智能手机、平板计算机、计算机、个人数字助理(Personal Digital Assistant,PDA)、台式计算机等移动终端,还可以包括各种类型的服务器。例如,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务。
本申请实施例中以执行主体为计算机为例进行说明。
如图1所示的基于对象网关管理文件的方法可包括:S101~S105,具体如下:
S101:拦截对象网关客户端发起的第一HTTP请求,第一HTTP请求包括多个文件写入请求或多个文件读取请求。
示例性地,预先为每个业务方配置对象网关客户端,业务方可以通过该对象网关客户端向对象网关服务器发起请求,以此获取到对象网关服务器管理的存储系统中的数据,或者将业务方的业务数据写入到存储系统中。
其中,存储系统包括网络附属存储系统(Network Attached Storage,NAS)、存储区域网络(Storage Area Network,SAN)系统、分布式文件存储系统(Google File System,GFS)等中的至少一个。
第一超文本传输协议(HyperText Transfer Protocol,HTTP)请求包括多个文件写入请求或多个文件读取请求。其中,文件写入请求用于将业务方的业务数据写入到存储系统中,文件读取请求用于在存储系统中获取业务方所需的业务数据。
每个文件写入请求可将一组业务数据写入存储系统中,多个文件写入请求指对象网关客户端发起一个第一HTTP请求后,可同时将多组业务数据写入存储系统中。同理,每个文件读取请求可在存储系统中读取一组业务数据,多个文件读取请求指对象网关客户端发起一个第一HTTP请求后,可在存储系统中同时读取多组业务数据。
HTTP请求中规定了对象网关客户端和对象网关服务器之间的数据传输格式,基于HTTP请求可以传输任意类型的数据。HTTP请求是短连接,对象网关客户端和对象网关服务器建立连接后,每次只处理一个HTTP请求,对象网关服务器对对象网关客户端发起的一个HTTP请求作出响应后,马上断开连接,这种方式可以节省传输时间。
HTTP请求中包含请求行、请求头以及请求体。请求行包含了请求方法、请求资源路径、HTTP协议版本等。其中,请求资源路径可以指定存储系统对应的路径。
请求头包含了对象网关客户端的环境描述、对象网关客户端的主机地址等信息,例如,对象网关客户端可以接收的数据类型、对象网关客户端的语言环境、对象网关客户端支持的数据压缩格式、对象网关客户端的软件环境等。
请求体包含了对象网关客户端发给对象网关服务器的业务数据,例如,图片、文字等。或者,请求体包含对象网关客户端想要通过对象网关服务器获取的业务数据。
示例性地,当业务方想要将业务数据写入存储系统,或者想要从存储系统中获取业务数据时,通过对象网关客户端发起的第一HTTP请求。拦截该对象网关客户端发起的第一HTTP请求。
S102:对第一HTTP请求进行分配,得到预设集群中每个服务器对应的第二HTTP请求,第二HTTP请求包括的文件请求数量小于第一HTTP请求包括的文件请求数量。
由于第一HTTP请求中包含了多个文件写入请求或多个文件读取请求,为了减轻对象网关服务器的压力,提升对象网关服务器的响应速度,将第一HTTP请求拆分为多个第二HTTP请求。每个第二HTTP请求中包含的文件请求数量小于第一HTTP请求包含的文件请求数量。
示例性地,预先为对象网关客户端配置负载均衡器和预设集群。其中,预设集群由多个服务器构成。通过负载均衡器对第一HTTP请求进行分配,得到多个第二HTTP请求,预设集群中每个服务器对应一个第二HTTP请求。
S103:通过每个服务器对每个第二HTTP请求进行分配,得到每个对象网关服务器对应的第三HTTP请求,对象网关服务器预先部署在目标系统中,对象网关服务器用于管理存储系统,存储系统包括网络附属存储系统、存储区域网络系统、分布式文件存储系统中的至少一个。
示例性地,通过预设集群中的每个服务器,对各自对应的第二HTTP请求进行分配,进而将第二HTTP请求合理分配给每个对象网关服务器。每个对象网关服务器被分配到的HTTP请求称为第三HTTP请求。
第三HTTP请求可以包括一个或多个文件写入请求,第三HTTP请求也可以包括一个或多个文件读取请求。每个第三HTTP请求中包含的文件请求数量小于其对应的第二HTTP请求包含的文件请求数量。
具体地,每个服务器可以依据每个第二HTTP请求中包含的文件请求数量,对每个第二HTTP请求进行分配,得到第三HTTP请求,再讲第三HTTP请求分配给每个对象网关服务器。
现有技术中的对象网关系统,通常都采用开源的软件,例如开源的分布式文件系统(Ceph),这类软件实现对象网关的前提是需要使用开源软件自身的文件系统,导致无法兼容现存的NAS系统、SAN系统以及GFS系统等,需要将NAS系统、SAN系统以及GFS系统等系统中存储的数据全量的迁移到Ceph中才可使用。一方面需要迁移的数据量太大,增加了工作量,另一方面,在迁移过程中无法及时响应临时业务需求,且迁移的过程中并不安全,数据的安全性没有保障。
本方案中,预先在目标系统(例如Linux系统)上部署多个对象网关服务器,每个对象网关服务器用于管理存储系统,存储系统包括NAS系统、SAN系统、GFS系统等中的至少一个。由于Linux系统可以兼容现存的NAS系统、SAN系统以及GFS系统等系统,因此,在Linux系统上部署的每个对象网关服务器都可以直接管理现存的NAS系统、SAN系统以及GFS系统等系统。
根据实际业务需求,为每个对象网关服务器分配存储系统。通常,为每个对象网关服务器都分配NAS系统、SAN系统以及GFS系统,也可以为每个对象网关服务器NAS系统、SAN系统以及GFS系统中的任意一个,还可以是为每个对象网关服务器NAS系统、SAN系统以及GFS系统中的任意两个。此处仅为示例性说明,对此不做限定。
S104:向每个对象网关服务器,发起与每个对象网关服务器对应的第三HTTP请求。
示例性地,每个第三HTTP请求都有对应的对象网关服务器,对象网关客户端将每个第三HTTP请求发送至其对应的对象网关服务器中。可选地,也可以是通过预设集群中的每个服务器,将每个第三HTTP请求发送至其对应的对象网关服务器中。
可选地,在本申请一些可能的实现方式中,也可以是先判断每个第三HTTP请求是否有请求权限,当第三HTTP请求有请求权限时,将第三HTTP请求发送给对象网关服务器;当第三HTTP请求没有请求权限时,不会将第三HTTP请求发送给对象网关服务器。
S105:获取每个对象网关服务器基于每个第三HTTP请求反馈的响应结果。
示例性地,每个第三HTTP请求对应的对象网关服务器响应其对应的第三HTTP请求,将响应结果反馈给对象网关客户端。由于第三HTTP请求包含两种情况,可以是文件读取请求,也可以是文件写入请求。相应地,响应结果也包含两种情况,一种是第三HTTP请求想要请求的业务数据,一种是将业务数据写入存储系统后生成的提示信息。
本方案中在目标系统中预先部署有多个对象网关服务器,对象网关服务器用于管理网络附属存储系统、存储区域网络系统、分布式文件存储系统等系统。对第一HTTP请求进行两次合理分配,进而将得到的多个第三HTTP请求发送给其对应的对象网关服务器,保证对象网关服务器快速、准确地响应每个第三HTTP请求。无需迁移数据,就可将业务方的业务数据存储至NAS系统、SAN系统以及GFS系统等系统中,或者将NAS系统、SAN系统以及GFS系统等系统中的业务数据发送给业务方。这种基于对象网关管理文件的方法,大大节省了工作量,提升了文件传输的效率和安全性。且对HTTP请求进行合理分配后再向对象网关服务器正式请求,减轻了对象网关服务器的压力,提升对象网关服务器的响应速度。
可选地,在本申请一些可能的实现方式中,第一HTTP请求包括多个文件读取请求时,获取每个对象网关服务器基于每个第三HTTP请求反馈的响应结果,包括:
获取每个对象网关服务器基于每个第三HTTP请求发送的文件信息,第三HTTP请求包括请求数据和读取资源路径,文件信息由对象网关服务器根据请求数据和读取资源路径,在存储系统中查询得到。
示例性地,当第一HTTP请求包括多个文件读取请求时,第三HTTP请求也为文件读取请求。具体地,第三HTTP请求包括请求数据和读取资源路径,请求数据表示对象网关客户端想要在存储系统中获取的业务数据,读取资源路径用于指示获取业务数据的路径,即在哪里获取业务数据。
例如,读取资源路径指定的是NAS系统,则在NAS系统中获取业务数据;读取资源路径指定的是SAN系统,则在SAN系统中获取业务数据;读取资源路径指定的是GFS系统,则在GFS系统中获取业务数据;此处仅为示例性说明,对此不做限定。
示例性地,针对每个对象网关服务器,该对象网关服务器收到第三HTTP请求后,根据第三HTTP请求中的读取资源路径,在存储系统中查找请求数据,根据查找到的请求数据生成文件信息,将该文件信息发送给对象网关客户端。
例如,某个对象网关服务器收到第三HTTP请求后,根据第三HTTP请求中的读取资源路径,先查找到NAS系统,然后在NAS系统中查询业务数据,将该业务数据发送给对象网关客户端。此处仅为示例性说明,对此不做限定。
在本实施方式中,无需迁移数据,就可将NAS系统、SAN系统以及GFS系统等系统中的业务数据发送给业务方,大大节省了工作量,提升了数据传输的效率。
可选地,在本申请一些可能的实现方式中,第一HTTP请求包括多个文件写入请求时,获取每个对象网关服务器基于每个第三HTTP请求反馈的响应结果,包括:
获取每个对象网关服务器基于每个第三HTTP请求发送的提示信息,第三HTTP请求包括写入数据和写入资源路径,提示信息用于提示对象网关客户端,对象网关服务器已根据写入资源路径,将写入数据写入存储系统中。
示例性地,当第一HTTP请求包括多个文件写入请求时,第三HTTP请求也为文件写入请求。具体地,第三HTTP请求包括写入数据和写入资源路径,写入数据表示对象网关客户端想要在存储系统中写入的业务数据,写入资源路径用于指示写入业务数据的路径,即在哪里写入业务数据。
例如,写入资源路径指定的是NAS系统,则在NAS系统中写入业务数据;写入资源路径指定的是SAN系统,则在SAN系统中写入业务数据;写入资源路径指定的是GFS系统,则在GFS系统中写入业务数据;此处仅为示例性说明,对此不做限定。
示例性地,针对每个对象网关服务器,该对象网关服务器收到第三HTTP请求后,根据第三HTTP请求中的写入资源路径,在存储系统中写入数据。当写入成功后生成提示信息,提示信息用于提示对象网关客户端,对象网关服务器已根据写入资源路径,将写入数据写入存储系统中。
例如,某个对象网关服务器收到第三HTTP请求后,根据第三HTTP请求中的写入资源路径,先查找到NAS系统,然后在NAS系统中写入业务数据。然后生成提示信息,将该提示信息发送给对象网关客户端。对象网关客户端收到该提示信息后,用户便可知道将业务数据已经成功写入存储系统了。
可选地,当业务数据未成功写入存储系统时,也可生成写入失败提示信息,将该写入失败提示信息发送给对象网关客户端。对象网关客户端收到该写入失败提示信息后,用户便可知道未能将业务数据成功写入存储系统,进而再次发起文件写入请求。此处仅为示例性说明,对此不做限定。
在本实施方式中,无需迁移数据,就可在NAS系统、SAN系统以及GFS系统等系统中写入业务数据,大大节省了工作量,提升了数据传输的效率。
请参见图2,图2是本申请又一示例性实施例示出的一种基于对象网关管理文件的方法的步骤S102的具体流程图;可选地,在本申请一些可能的实现方式中,上述S102可包括S1021~S1022,具体如下:
S1021:获取对象网关客户端对应的负载均衡器。
示例性地,预先为对象网关客户端配置负载均衡器。例如,负载均衡器可以为四层负载均衡器。四层负载均衡器也称为四层交换机,主要用于实现流量负载均衡。
由于同一时间业务方的对象网关客户端发起的第一HTTP请求中包含了大量的文件写入请求或文件读取请求,一个对象网关服务器不能同时响应这么多文件写入请求或文件读取请求,需要前期通过负载均衡器对第一HTTP请求进行合理分配,最终使每个对象网关服务器合理地响应若干个文件写入请求或文件读取请求。
S1022:通过负载均衡器对第一HTTP请求进行分配,得到Nacos集群中每个服务器对应的第二HTTP请求。
示例性地,预设集群可以为Nacos集群,Nacos集群由多个服务器构成。负载均衡器根据第一HTTP请求中的文件请求数量做负载均衡,将需要分流的HTTP请求转发至Nacos集群中的服务器,并记录下每个HTTP请求是由Nacos集群中的哪个服务器处理的。
例如,获取Nacos集群中服务器的数量,根据服务器的数量将第一HTTP请求均分为多个第二HTTP请求,为每个服务器分配相同数量的第二HTTP请求。
上述实施方式中,通过负载均衡器对第一HTTP请求进行分流,便于后续减轻对象网关服务器的压力,提升对象网关服务器的响应速度,提升了数据传输速率。
请参见图3,图3是本申请另一示例性实施例示出的一种基于对象网关管理文件的方法的步骤S104的具体流程图;可选地,在本申请一些可能的实现方式中,上述S104可包括S1041~S1043,具体如下:
S1041:针对每个第三HTTP请求,检测第三HTTP请求是否有请求权限。
示例性地,预先为每个业务方的对象网关客户端设置请求权限,并将每个业务方的对象网关客户端的标识信息以及其对应的请求权限存储在数据库中。当该对象网关客户端有请求权限时,其发起的第三HTTP请求也有对应的请求权限。
具体地,针对每个第三HTTP请求,获取第三HTTP请求携带的对象网关客户端的标识信息,在数据库中查找该对象网关客户端的标识信息,进而判断第三HTTP请求是否有请求权限。
S1042:当检测到第三HTTP请求有请求权限时,为第三HTTP请求分配令牌。
示例性地,当在数据库中查找到该对象网关客户端的标识信息后,判定该对象网关客户端发起的第三HTTP请求有请求权限。此时,为第三HTTP请求分配令牌,该令牌用于表明第三HTTP请求对应的请求权限。
可选地,在本申请一些可能的实现方式中,上述S1042可包括S10421~S10422,具体如下:
S10421:获取对象网关客户端对应的Redis集群。
示例性地,预先为对象网关客户端设置Redis集群。Redis集群是一种数据结构服务器,用于为第三HTTP请求分配令牌。
S10422:当检测到第三HTTP请求有请求权限时,通过Redis集群为第三HTTP请求分配令牌。
示例性地,有令牌的第三HTTP请求才可成功向对象网关服务器请求。当确定该对象网关客户端有请求权限时,通过Redis集群为该对象网关客户端的第三HTTP请求分配令牌。当确定该对象网关客户端没有请求权限时,Redis集群拒绝为该对象网关客户端的第三HTTP请求分配令牌。
S1043:基于令牌,向第三HTTP请求对应的对象网关服务器发起第三HTTP请求。
示例性地,针对每个被分配到令牌的每个第三HTTP请求,对象网关客户端基于被分配到令牌的第三HTTP请求向该第三HTTP请求对应的对象网关服务器发起请求。
在本实施方式中,基于Redis集群和令牌为每个HTTP请求进行了鉴权操作,进一步保证了数据传输过程的安全性。
可选地,在本申请一些可能的实现方式中,上述S1043可包括S10431~S10432,具体如下:
S10431:获取令牌对应的有效时间。
S10432:在有效时间内,向第三HTTP请求对应的对象网关服务器发起第三HTTP请求。
示例性地,可以根据业务需求预先为每个令牌设置对应的有效时间。令牌对应的有效时间也是发起第三HTTP请求的有效时间,被分配到令牌的第三HTTP请求,在该令牌的有效时间内,通过对象网关客户端向第三HTTP请求对应的对象网关服务器发起第三HTTP请求,对象网关服务器响应该第三HTTP请求。
当有效时间过了之后,再通过对象网关客户端向第三HTTP请求对应的对象网关服务器发起第三HTTP请求,对象网关服务器不会响应该第三HTTP请求。
在本实施方式中,在令牌有效时间内的第三HTTP请求才会被响应,避免每个第三HTTP请求占用太多时间,进一步保证了数据传输的效率。
可选地,在本申请一些可能的实现方式中,本申请提供的基于对象网关管理文件的方法,可应用在医疗领域,例如利用该方法管理医疗领域的相关文件,数据传输的效率和安全性。
请参见图4,图4是本申请一实施例提供的一种基于对象网关管理文件的装置的示意图。该装置包括的各单元用于执行图1~图3对应的实施例中的各步骤。具体请参阅图1~图3各自对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图4,包括:
拦截单元210,用于拦截对象网关客户端发起的第一HTTP请求,所述第一HTTP请求包括多个文件写入请求或多个文件读取请求;
第一分配单元220,用于对所述第一HTTP请求进行分配,得到预设集群中每个服务器对应的第二HTTP请求,所述第二HTTP请求包括的文件请求数量小于所述第一HTTP请求包括的文件请求数量;
第二分配单元230,用于通过每个所述服务器对每个所述第二HTTP请求进行分配,得到每个对象网关服务器对应的第三HTTP请求,所述对象网关服务器预先部署在目标系统中,所述对象网关服务器用于管理存储系统,所述存储系统包括网络附属存储系统、存储区域网络系统、分布式文件存储系统中的至少一个;
请求单元240,用于向每个所述对象网关服务器,发起与每个所述对象网关服务器对应的第三HTTP请求;
获取单元250,用于获取每个所述对象网关服务器基于每个所述第三HTTP请求反馈的响应结果。
可选地,所述预设集群包括Nacos集群,所述第一分配单元220具体用于:
获取所述对象网关客户端对应的负载均衡器;
通过所述负载均衡器对所述第一HTTP请求进行分配,得到所述Nacos集群中每个服务器对应的第二HTTP请求。
可选地,所述请求单元240具体用于:
针对每个所述第三HTTP请求,检测所述第三HTTP请求是否有请求权限;
当检测到所述第三HTTP请求有所述请求权限时,为所述第三HTTP请求分配令牌;
基于所述令牌,向所述第三HTTP请求对应的对象网关服务器发起所述第三HTTP请求。
可选地,所述请求单元240还用于:
获取所述对象网关客户端对应的Redis集群;
当检测到所述第三HTTP请求有所述请求权限时,通过所述Redis集群为所述第三HTTP请求分配令牌。
可选地,所述请求单元240还用于:
获取所述令牌对应的有效时间;
在所述有效时间内,向所述第三HTTP请求对应的对象网关服务器发起所述第三HTTP请求。
可选地,所述第一HTTP请求包括多个文件读取请求时,所述获取单元250具体用于:
获取每个所述对象网关服务器基于每个所述第三HTTP请求发送的文件信息,所述第三HTTP请求包括请求数据和读取资源路径,所述文件信息由所述对象网关服务器根据所述请求数据和所述读取资源路径,在所述存储系统中查询得到。
可选地,所述第一HTTP请求包括多个文件写入请求时,所述获取单元250具体用于:
获取每个所述对象网关服务器基于每个所述第三HTTP请求发送的提示信息,所述第三HTTP请求包括写入数据和写入资源路径,所述提示信息用于提示所述对象网关客户端,所述对象网关服务器已根据所述写入资源路径,将所述写入数据写入存储系统中。
请参见图5,图5是本申请另一实施例提供的一种基于对象网关管理文件的设备的示意图。如图5所示,该实施例的设备3包括:处理器30、存储器31以及存储在所述存储器31中并可在所述处理器30上运行的计算机程序32。所述处理器30执行所述计算机程序32时实现上述各个基于对象网关管理文件的方法实施例中的步骤,例如图1所示的S101至S105。或者,所述处理器30执行所述计算机程序32时实现上述各实施例中各单元的功能,例如图4所示单元210至250功能。
示例性地,所述计算机程序32可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器31中,并由所述处理器30执行,以完成本申请。所述一个或多个单元可以是能够完成特定功能的一系列计算机指令段,该指令段用于描述所述计算机程序32在所述设备3中的执行过程。例如,所述计算机程序32可以被分割为拦截单元、第一分配单元、第二分配单元、请求单元以及获取单元,各单元具体功能如上所述。
所述设备可包括,但不仅限于,处理器30、存储器31。本领域技术人员可以理解,图5仅仅是设备3的示例,并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器31可以是所述设备的内部存储单元,例如设备的硬盘或内存。所述存储器31也可以是所述设备的外部存储终端,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器31还可以既包括所述设备的内部存储单元也包括外部存储终端。所述存储器31用于存储所述计算机指令以及所述终端所需的其他程序和数据。所述存储器31还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机存储介质,计算机存储介质可以是非易失性,也可以是易失性,该计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述各个基于对象网关管理文件的方法实施例中的步骤。
本申请还提供了一种计算机程序产品,当计算机程序产品在设备上运行时,使得该设备执行上述各个基于对象网关管理文件的方法实施例中的步骤。
本申请实施例还提供了一种芯片或者集成电路,该芯片或者集成电路包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有该芯片或者集成电路的设备执行上述各个基于对象网关管理文件的方法实施例中的步骤。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神范围,均应包含在本申请的保护范围之内。
Claims (9)
1.一种基于对象网关管理文件的方法,其特征在于,包括:
拦截对象网关客户端发起的第一HTTP请求,所述第一HTTP请求包括文件请求;所述文件请求包括多个文件写入请求或多个文件读取请求;所述多个文件写入请求用于将业务方的业务数据写入到存储系统中,所述多个文件读取请求用于在所述存储系统中获取所述业务方所需的所述业务数据;
对所述第一HTTP请求进行分配,得到预设集群中每个服务器对应的第二HTTP请求,所述第二HTTP请求包括的文件请求数量小于所述第一HTTP请求包括的文件请求数量;所述预设集群包括Nacos集群;
通过所述预设集群中每个服务器对每个所述第二HTTP请求进行分配,得到每个对象网关服务器对应的第三HTTP请求,所述每个对象网关服务器预先部署在目标系统中,所述每个对象网关服务器用于管理所述存储系统,所述存储系统包括网络附属存储系统、存储区域网络系统、分布式文件存储系统中的至少一个;所述第三HTTP请求包括的文件请求数量小于所述第三HTTP请求对应的第二HTTP请求包括的文件请求数量;
向所述每个对象网关服务器,发起与所述每个对象网关服务器对应的第三HTTP请求;所述向所述每个对象网关服务器,发起与所述每个对象网关服务器对应的第三HTTP请求,包括:针对每个第三HTTP请求,检测所述每个第三HTTP请求是否有请求权限;当检测到所述每个第三HTTP请求有所述请求权限时,为所述每个第三HTTP请求分配令牌;基于所述每个第三HTTP请求的令牌,向所述每个第三HTTP请求对应的对象网关服务器发起第三HTTP请求;
获取所述每个对象网关服务器基于每个所述第三HTTP请求反馈的响应结果。
2.如权利要求1所述的方法,其特征在于,所述对所述第一HTTP请求进行分配,得到预设集群中每个服务器对应的第二HTTP请求,包括:
获取所述对象网关客户端对应的负载均衡器;
通过所述负载均衡器对所述第一HTTP请求进行分配,得到所述Nacos集群中每个服务器对应的第二HTTP请求。
3.如权利要求1所述的方法,其特征在于,所述当检测到所述每个第三HTTP请求有所述请求权限时,为所述每个第三HTTP请求分配令牌,包括:
获取所述对象网关客户端对应的Redis集群;
当检测到所述每个第三HTTP请求有所述请求权限时,通过所述Redis集群为所述每个第三HTTP请求分配令牌。
4.如权利要求1所述的方法,其特征在于,所述基于所述每个第三HTTP请求的令牌,向所述每个第三HTTP请求对应的对象网关服务器发起第三HTTP请求,包括:
获取所述每个第三HTTP请求的令牌对应的有效时间;
在所述每个第三HTTP请求的令牌对应的有效时间内,向所述每个第三HTTP请求对应的对象网关服务器发起第三HTTP请求。
5.如权利要求1至4任一项所述的方法,其特征在于,所述文件请求包括多个文件读取请求时,所述获取所述每个对象网关服务器基于每个所述第三HTTP请求反馈的响应结果,包括:
获取所述每个对象网关服务器基于每个所述第三HTTP请求发送的文件信息,所述第三HTTP请求包括请求数据和读取资源路径,所述文件信息由所述每个对象网关服务器根据所述请求数据和所述读取资源路径,在所述存储系统中查询得到。
6.如权利要求1至4任一项所述的方法,其特征在于,所述文件请求包括多个文件写入请求时,所述获取所述每个对象网关服务器基于每个所述第三HTTP请求反馈的响应结果,包括:
获取所述每个对象网关服务器基于每个所述第三HTTP请求发送的提示信息,所述第三HTTP请求包括写入数据和写入资源路径,所述提示信息用于提示所述对象网关客户端,所述每个对象网关服务器已根据所述写入资源路径,将所述写入数据写入存储系统中。
7.一种基于对象网关管理文件的装置,其特征在于,包括:
拦截单元,用于拦截对象网关客户端发起的第一HTTP请求,所述第一HTTP请求包括文件请求;所述文件请求包括多个文件写入请求或多个文件读取请求;所述多个文件写入请求用于将业务方的业务数据写入到存储系统中,所述多个文件读取请求用于在所述存储系统中获取所述业务方所需的所述业务数据;
第一分配单元,用于对所述第一HTTP请求进行分配,得到预设集群中每个服务器对应的第二HTTP请求,所述第二HTTP请求包括的文件请求数量小于所述第一HTTP请求包括的文件请求数量;所述预设集群包括Nacos集群;
第二分配单元,用于通过所述预设集群中每个服务器对每个所述第二HTTP请求进行分配,得到每个对象网关服务器对应的第三HTTP请求,所述每个对象网关服务器预先部署在目标系统中,所述每个对象网关服务器用于管理所述存储系统,所述存储系统包括网络附属存储系统、存储区域网络系统、分布式文件存储系统中的至少一个;所述第三HTTP请求包括的文件请求数量小于所述第三HTTP请求对应的第二HTTP请求包括的文件请求数量;
请求单元,用于向所述每个对象网关服务器,发起与所述每个对象网关服务器对应的第三HTTP请求;所述向所述每个对象网关服务器,发起与所述每个对象网关服务器对应的第三HTTP请求,包括:针对每个第三HTTP请求,检测所述每个第三HTTP请求是否有请求权限;当检测到所述每个第三HTTP请求有所述请求权限时,为所述每个第三HTTP请求分配令牌;基于所述每个第三HTTP请求的令牌,向所述每个第三HTTP请求对应的对象网关服务器发起第三HTTP请求;
获取单元,用于获取所述每个对象网关服务器基于每个所述第三HTTP请求反馈的响应结果。
8.一种基于对象网关管理文件的设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111549053.5A CN114221946B (zh) | 2021-12-17 | 2021-12-17 | 基于对象网关管理文件的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111549053.5A CN114221946B (zh) | 2021-12-17 | 2021-12-17 | 基于对象网关管理文件的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114221946A CN114221946A (zh) | 2022-03-22 |
CN114221946B true CN114221946B (zh) | 2023-09-29 |
Family
ID=80703388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111549053.5A Active CN114221946B (zh) | 2021-12-17 | 2021-12-17 | 基于对象网关管理文件的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114221946B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107071072A (zh) * | 2017-06-19 | 2017-08-18 | 山东浪潮云服务信息科技有限公司 | 一种处理对象存储高并发请求的分布式网关方法 |
CN109040197A (zh) * | 2018-07-13 | 2018-12-18 | 中天宽带技术有限公司 | 一种基于web负载均衡系统的智能网关管理系统及方法 |
CN111338901A (zh) * | 2020-02-26 | 2020-06-26 | 平安壹钱包电子商务有限公司 | 一种Redis监控方法、Redis监控装置及终端 |
WO2020233361A1 (zh) * | 2019-05-21 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 基于网关的内部服务调用方法、装置及终端设备 |
CN112968960A (zh) * | 2021-02-22 | 2021-06-15 | 同济大学 | 一种基于开源组件的微服务架构 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10372685B2 (en) * | 2014-03-31 | 2019-08-06 | Amazon Technologies, Inc. | Scalable file storage service |
-
2021
- 2021-12-17 CN CN202111549053.5A patent/CN114221946B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107071072A (zh) * | 2017-06-19 | 2017-08-18 | 山东浪潮云服务信息科技有限公司 | 一种处理对象存储高并发请求的分布式网关方法 |
CN109040197A (zh) * | 2018-07-13 | 2018-12-18 | 中天宽带技术有限公司 | 一种基于web负载均衡系统的智能网关管理系统及方法 |
WO2020233361A1 (zh) * | 2019-05-21 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 基于网关的内部服务调用方法、装置及终端设备 |
CN111338901A (zh) * | 2020-02-26 | 2020-06-26 | 平安壹钱包电子商务有限公司 | 一种Redis监控方法、Redis监控装置及终端 |
CN112968960A (zh) * | 2021-02-22 | 2021-06-15 | 同济大学 | 一种基于开源组件的微服务架构 |
Non-Patent Citations (1)
Title |
---|
基于CIFS协议的云存储安全网关的设计与实现;郝斐;王雷;荆继武;王平建;;计算机应用与软件(04);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114221946A (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3739845B1 (en) | Borrowing data storage resources in a distributed file system | |
US11122128B2 (en) | Method and device for customer resource acquisition, terminal device and storage medium | |
US20140304299A1 (en) | Data management in a multi-tenant distributive environment | |
CN109450976B (zh) | 一种业务系统的访问的方法及装置 | |
CN107105013B (zh) | 文件的处理方法、服务器、终端和系统 | |
US10038752B2 (en) | Method and system for execution of client-initiated operations on file handles in a distributed server system | |
CN108920111B (zh) | 数据共享方法及分布式数据共享系统 | |
CN108427677B (zh) | 一种对象访问方法、装置及电子设备 | |
CN111092921B (zh) | 数据采集方法、装置及存储介质 | |
CN109672714A (zh) | 一种分布式存储系统的数据处理方法及分布式存储系统 | |
US11470068B2 (en) | System and methods for securely storing data for efficient access by cloud-based computing instances | |
CN111343262B (zh) | 分布式集群登录方法、装置、设备和存储介质 | |
CN113360077B (zh) | 数据存储方法、计算节点及存储系统 | |
US20120078946A1 (en) | Systems and methods for monitoring files in cloud-based networks | |
CN111225003B (zh) | 一种nfs节点配置方法和装置 | |
US20200099631A1 (en) | Method and device for performing traffic control on user equipment | |
CN114221946B (zh) | 基于对象网关管理文件的方法、装置、设备及存储介质 | |
CN115333863B (zh) | 基于动态域名服务的物联网系统搭建方法及相关设备 | |
CN108829340B (zh) | 存储处理方法、装置、存储介质及处理器 | |
CN113746918A (zh) | 超文本传输协议代理方法及系统 | |
CN105187385A (zh) | 一种元数据服务器、元数据并发访问系统和方法 | |
CN113691575A (zh) | 通信方法、装置及系统 | |
CN112825515A (zh) | 一种对象统一存储服务平台使用方法 | |
CN111866093B (zh) | 一种业务数据的分发方法及装置 | |
CN112965763B (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 |