掌桥专利:专业的专利平台
掌桥专利
首页

一种支持混合多云的文件存储方法及设备

文献发布时间:2023-06-19 10:43:23


一种支持混合多云的文件存储方法及设备

技术领域

本申请涉及云计算技术领域,尤其涉及一种支持混合多云的文件存储方法及设备。

背景技术

随着近几年云计算技术新浪潮的到来,政府无纸化办公、企业数字化转型升级大行其道,工业互联网方兴未艾,企业与政府机构越来越重视产业和工作的数字化、云化,而存储作为数字化必不可少的基础组件,是政企单位信息化建设的重要组成部分。

目前,各大公有云厂商都有丰富的云存储产品,如AWS的S3、阿里云的OSS、浪潮云的OSS等。政企单位可以有很多种选择,一些政企单位出于安全性考虑,会选择自己搭建环境,将文件数据存储在本地私有云上;一些政企单位使用混合云架构,将关键数据和敏感文件存储在私有云上,其他数据存储在公有云上。上层业务应用在面对政企单位复杂的现场环境时,往往无法自由选择已集成的熟悉的文件存储方案,需要支持不同的云存储,由此便存在大量开发和维护的工作量,政企单位在面对多种云存储时,往往无法方便地统一管理自己的云存储资源。

基于此,如何提供一种支持混合多云的文件存储方法及设备成为亟需解决的技术问题。

发明内容

本说明书实施例提供一种支持混合多云的文件存储方法及设备,用以解决现有技术中的如下技术问题:

一方面,政企单位有大量数据需要存储,但在面对多种云存储时,无法方便地统一管理自己的云存储资源;另一方面,对于信息化的业务应用而言,需要集成对接各种各样的存储,浪费资源且对接效率低。

为解决上述技术问题,本说明书一个或多个实施例是这样实现的:

一方面,本说明书实施例提供一种支持混合多云的文件存储方法,包括:

基于来自相应的应用的文件存储请求,确定所述文件存储请求对应的云存储资源;

向所述云存储资源发送申请凭证请求,以获取相应的临时访问凭证;所述云存储资源包括公有云和私有云;

将所述临时访问凭证发送至所述应用,以使所述应用基于所述临时访问凭证,访问并上传文件至所述云存储资源,进行文件存储。

本说明书实施例使用统一的文件存储服务,支持混合多云,以实现政企单位对自己的云存储资源进行统一的管理;通过临时凭证方式,直接与云存储资源进行对接,一方面减少文件存储服务的带宽和内存压力,另一方面能够更好的利用网络资源,提高文件上传的性能。

在一个实施例中,所述方法还包括:

基于接收到的第一操作请求,添加管理用户购买和/或搭建的云存储资源;

基于接收到的第二操作请求,获取所述管理用户对应的云存储资源的状态信息并发送至所述应用,以使所述应用向所述管理用户展示所述状态信息。

基于此,通过展示云存储资源的状态信息,使得用户对云存储资源的管理更加便捷。

在一个实施例中,所述方法还包括:

创建所述管理用户对应的至少一个子用户,为各所述子用户分配相应的查看权限和管理权限;

其中,所述查看权限以及所述管理权限的维度均包括但不限于云存储资源、应用和租户。

通过提供权限管理,可以实现分租户、分应用、分用户地选择云存储资源,更加方便地管理云存储资源,支持租户管理,每个租户可以管理自己的云存储资源,管理自己的应用,管理自己的用户,具有更丰富的权限管理维度,使本存储服务或者存储方式对多个租户提供服务支持。

在一个实施例中,在将所述临时访问凭证发送至所述应用之前,所述方法还包括:

接收所述应用发送的应用访问凭证;

根据所述应用访问凭证与预先存储的验证访问凭证进行验证,确定所述应用是否合法;

其中,所述验证访问凭证为所述应用创建时生成的访问凭证。

通过对应用访问凭证与预先存储的验证访问凭证进行验证,可以保证数据隔离和安全,增强用户的信任。

在一个实施例中,将所述临时访问凭证发送至所述应用,以使所述应用基于所述临时访问凭证,访问并上传文件至所述云存储资源,具体包括:

集成不同编程语言版本的软件开发工具包(Software Development Kit,SDK);

将所述临时访问凭证发送至所述应用,以使所述应用基于所述临时访问凭证访问所述云存储资源,并且通过调用的所述SDK上传文件至所述云存储资源。

在一个实施例中,所述方法还包括:

创建管理存储卷,并基于接收到的第三操作请求在所述管理存储卷内创建相应的管理文件夹;

获取所述文件存储的存储结果和所述文件的元数据;所述元数据用于表征所述文件;

根据所述文件存储的存储结果和所述文件的元数据,生成相应的管理文件,并将所述管理文件添加至相应的管理文件夹中。

在一个实施例中,所述方法还包括:

将所述管理文件夹发送至所述应用,以使得所述应用将所述管理文件夹向用户进行展示,并根据所述用户对所述管理文件夹进行的操作,生成相应的文件下载请求;

获取所述应用生成的所述文件下载请求,并根据所述文件下载请求确定对应的云存储资源。

在一个实施例中,所述方法还包括:

将所述管理文件夹发送至所述应用,以使得所述应用将所述管理文件夹向用户进行展示,并根据所述用户对所述管理文件夹进行的操作,生成相应的文件删除请求;

获取所述应用生成的所述文件删除请求,并根据所述文件删除请求进行逻辑删除,并且修改相应文件的引用计数;

当所述引用计数为0时,根据所述文件删除请求确定对应的云存储资源,进行文件的删除。

在一个实施例中,所述方法还包括:

基于接收到的第四操作请求,通过对外提供的调用接口,将所述文件上传至所述云存储资源,进行文件存储。

另一方面,本说明书实施例提供一种支持混合多云的文件存储设备,包括:

至少一个处理器,以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令能被所述至少一个处理器执行,以使所述至少一个处理器能够:

基于来自相应的应用的文件存储请求,确定所述文件存储请求对应的云存储资源;

向所述云存储资源发送申请凭证请求,以获取相应的临时访问凭证;所述云存储资源包括公有云和私有云;

将所述临时访问凭证发送至所述应用,以使所述应用基于所述临时访问凭证,访问并上传文件至所述云存储资源,进行文件存储。

本说明书实施例采用上述至少一个技术方案能够达到以下有益效果:支持混合多云存储,使得政企单位在面对多种云存储时,能够方便地统一管理自己的云存储资源;同时,可以节省信息化业务应用在对接存储时耗费的时间,提高对接效率。

附图说明

此处所说明的附图用来提供对本说明书实施例的进一步理解,构成本说明书实施例的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对申请的不当限定。在附图中:

图1为本申请实施例提供的一种支持混合多云的文件存储方法的流程示意图;

图2为本申请实施例提供的支持混合多云的文件存储的一种应用示意图;

图3为本申请实施例提供的文件上传流程图;

图4为本申请实施例提供的一种支持混合多云的文件存储方法的架构示意图;

图5为本申请实施例提供的一种应用场景下的示意图;

图6为本申请实施例提供的一种支持混合多云的文件存储设备的结构示意图。

具体实施方式

为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本申请技术方案进行清楚、完整的描述。显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的实施例提供了一种支持混合多云的文件存储方法,下面进行具体说明:

图1为本申请实施例提供的一种支持混合多云的文件存储方法的流程示意图,图1中的流程包括以下步骤:

S101:基于来自相应的应用的文件存储请求,确定所述文件存储请求对应的云存储资源;

S102:向所述云存储资源发送申请凭证请求,以获取相应的临时访问凭证;所述云存储资源包括公有云和私有云;

S103:将所述临时访问凭证发送至所述应用,以使所述应用基于所述临时访问凭证,访问并上传文件至所述云存储资源,进行文件存储。

首先,应用发送文件存储请求,文件存储服务进行接收,确定文件存储请求对应的云存储资源。其中,云存储资源包括公有云和私有云。比如,应用A要请求使用阿里云OSS存储资源,应用B要请求使用私有云存储资源,那么应用A和应用B分别向各自对应的云存储资源发出文件存储请求,请求应用对应的云存储资源。

需要说明的是,应用所发送的文件存储请求中可以包含一些相关信息,比如应用名称、文件的大小、文件名称、要访问的云存储资源等信息。由此,可以通过控制台管理配置使用哪个云存储资源,应用发送文件存储请求时,无需感知自己要使用哪个资源,可以由文件存储服务根据管理配置识别应用使用哪个云存储资源。

向云存储资源发送申请凭证请求,以获取相应的临时访问凭证,此临时访问凭证可以包含有上述文件存储请求中的相关信息,将此临时访问凭证发送至应用,以使应用基于此临时访问凭证,访问并上传文件至云存储资源,进行文件存储。

需要说明的是,可对此临时访问凭证进行预先设置,使得此临时访问凭证具有时效性,并且可以限定此临时访问凭证的使用范围,比如上传文件的具体名称、文件格式、文件大小等等。

考虑到需要管理用户对云存储资源进行管理,为便于管理用户的管理,本申请提出:基于接收到的第一操作请求,添加管理用户购买和/或搭建的云存储资源;基于接收到的第二操作请求,获取管理用户对应的云存储资源的状态信息并发送至应用,以使应用向管理用户展示状态信息。

在添加管理用户购买和/或搭建的云存储资源之后,可以将云存储资源的相关信息注册到文件存储服务,其云存储资源的相关信息包括但不限于存储来源(如AWS的S3、阿里云OSS、私有云S3存储等)、访问凭证、访问地址、数据中心区域、容量大小等信息。不同存储来源可能具有不同的配置,文件存储服务可以集成并提供对不同存储来源的配置支持,方便用户进行配置。

管理用户可以对已添加的云存储资源进行管理,通过文件存储服务提供的统一管理接口,查看云存储资源的实时信息,其实时信息包括但不限于资源状态、可用空间、已用空间等。由此,可以实现管理用户对云存储资源的实时管控。

为更加方便地管理云存储资源,本申请还提出:创建管理用户对应的至少一个子用户,为各子用户分配相应的查看权限和管理权限。其中,查看权限以及管理权限的维度均包括但不限于云存储资源、应用和租户。

通过提供权限管理,可以实现分租户、分应用、分用户地选择云存储资源,管理用户可以管理自己有权限管理的应用,操作包括但不限于查看应用使用状态、查看空间配额限制、查看已用空间与可用空间、停用应用、恢复应用使用、增加减少存储资源等。

文件存储服务支持租户管理,每个租户可以管理自己的云存储资源,管理自己的应用,管理自己的用户,具有更丰富的权限管理维度,使本存储服务或者存储方式对多个租户提供服务支持。

考虑到存储数据的安全性问题,本申请提出对上述文件存储请求进行权限校验,具体操作为:在将临时访问凭证发送至应用之前,接收应用发送的应用访问凭证;根据应用访问凭证与预先存储的验证访问凭证进行验证,确定应用是否合法;其中,验证访问凭证为应用创建时生成的访问凭证。应用访问凭证表征了使用者身份,可以保证数据隔离和安全。其中,凭证方式包括但不限于API-KEY等。

管理用户可以创建应用,一般地,一个应用对应一个上层的业务应用,创建时,可以选择权限内的存储资源配置,如使用哪个已有的存储资源(如阿里云OSS),配置应用可用的存储配额(如最高10TB)等,应用创建后会生成访问凭证,生成的此访问凭证即为验证访问凭证,上层业务使用该凭证访问文件存储服务。

由此,文件存储服务可以校验应用发送的请求,应用在发送相关操作请求时,可以携带文件存储服务接收到的应用访问凭证。文件存储服务首先识别应用访问凭证是否有效;若否,请求失败;若是,识别该应用访问凭证是否有权限管理相关操作请求中指定的存储卷、文件夹或文件等;若是,请求成功;若是,请求失败。也就是说,如果该应用访问凭证无效或该应用访问凭证与指定操作的目标权限不一致,则请求失败。其中,相关操作请求包括但不限于文件存储请求、文件下载请求、文件删除请求等等。

本申请还提出:将临时访问凭证发送至应用,以使应用基于临时访问凭证,访问并上传文件至云存储资源,具体包括:集成不同编程语言版本的SDK;将临时访问凭证发送至应用,以使应用基于临时访问凭证访问云存储资源,并且通过调用的SDK上传文件至云存储资源。其中,SDK一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。

文件存储服务提供多种编程语言版本的SDK,上层业务系统和应用可以集成不同语言的SDK,便捷的进行相关文件操作。

图2为本申请实施例提供的支持混合多云的文件存储的一种应用示意图,如图2所示,文件存储服务注册添加了两个云存储资源,即阿里OSS和私有云存储,创建了两个应用,即应用A和应用B,应用A指定使用阿里云OSS存储资源,应用B指定使用私有云存储资源,应用A与应用B无需感知自己使用的底层资源,可以通过SDK,与文件存储服务和存储资源交互,其中与存储资源交互可以通过SDK完成,无需根据不同存储资源额外开发。

文件存储服务提供虚拟文件管理,应用凭借凭证访问文件存储服务,进行文件操作。文件存储服务支持创建管理存储卷,并基于接收到的第三操作请求在管理存储卷内创建相应的管理文件夹;获取文件存储的存储结果和文件的元数据;所述元数据用于表征所述文件;根据文件存储的存储结果和文件的元数据,生成相应的管理文件,并将管理文件添加至相应的管理文件夹中。具体文件操作包括但不限于创建存储卷、删除存储卷、创建文件夹、修改文件夹名、删除文件夹、复制文件夹、移动文件夹、上传文件、修改文件名、复制文件、移动文件、删除文件等。

为更清楚的阐述文件上传的过程,图3为本申请实施例提供的文件上传流程图,如图3所示,文件上传包含7个步骤:步骤1:应用向文件存储服务发起文件上传请求;步骤2:文件存储服务向应用对应的云存储资源申请临时访问凭证;步骤3:云存储资源返回临时访问凭证给文件存储服务;步骤4:文件存储服务返回临时访问凭证给应用;步骤5:应用使用返回的临时访问凭证上传文件到云存储资源;步骤6:云存储资源返回上传结果及相关元数据;步骤7:应用将上传结果及相关元数据告知文件存储服务。

需要说明的是,元数据,又称中介数据、中继数据,为描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据是关于数据的组织、数据域及其关系的信息,简言之,元数据就是关于数据的数据。

由此,具体的文件将存储到各个云存储资源中,文件存储服务只记录相关元数据,实现虚拟的文件管理。

基于此,上层业务应用使用创建应用时分配的应用访问凭证,访问文件存储服务,结合自己的业务场景,以及文件存储服务提供的虚拟文件管理系统的丰富接口,实现自己的逻辑,调用相关接口请求操作。

为更清楚的理解本申请的技术方案,本申请提供了一种支持混合多云的文件存储方法的架构示意图,如图4所示。政企单位管理用户可以通过存储资源管理与管理控制台进行存储资源、应用和用户的管理,应用A和应用B各自集成client-SDK,进行相关存储操作。文件存储服务集成各种云存储服务,提供统一的管理接口,并提供其他丰富的管理功能以及虚拟文件新系统功能。

本申请还提出文件下载的方法,具体为:将管理文件夹发送至应用,以使得应用将管理文件夹向用户进行展示,并根据用户对管理文件夹进行的操作,生成相应的文件下载请求;获取应用生成的文件下载请求,并根据文件下载请求确定对应的云存储资源,进行文件下载。在这里,可以通过对用户展示管理文件夹,由用户进行相关操作;也可以由上层业务应用根据自己的业务需求,在服务端进行相关操作。一般地,如果是请求下载文件,文件存储服务也可以向具体云存储资源申请签名,将该签名返回给上层业务应用,或者直接重定向下载。

需要说明的是,文件的上传和下载,都可以通过临时凭证方式,直接与云存储资源进行对接,一方面减少文件存储服务的带宽和内存压力,另一方面能够更好的利用网络资源,提高文件上传下载的性能。

同时,本申请还提出了文件删除的方法,具体为:将管理文件夹发送至应用,以使得应用将管理文件夹向用户进行展示,并根据用户对管理文件夹进行的操作,生成相应的文件删除请求;获取应用生成的文件删除请求,并根据文件删除请求进行逻辑删除,并且修改相应文件的引用计数;当引用计数为0时,根据文件删除请求确定对应的云存储资源,进行文件的删除。

需要说明的是,文件存储服务执行应用相关操作请求。若应用所发请求通过上述权限校验,则文件存储服务执行相关操作。如果操作本身不涉及具体文件的增加或减少,如对存储卷、文件夹的管理(不包括复制、删除文件夹,因为该类操作会涉及文件夹内的子文件或子文件夹)、对文件的移动等,则文件存储服务完成本地操作,通过虚拟文件管理系统实现对应效果,返回执行结果。如果是复制文件或文件夹的操作,文件存储服务会通过索引计数方式增加新的文件,不会操作真实的云存储资源,类似软连接等方式,两个虚拟文件指向同一个真实的文件存储。如果是删除文件的操作,一般地,不会直接访问对应云存储资源进行文件的删除,而是进行逻辑删除,同时修改该文件的引用计数,当文件的引用计数为0时,才进行文件的真实删除。

本申请还提出:基于接收到的第四操作请求,通过对外提供的调用接口,将所述文件上传至所述云存储资源,进行文件存储。文件存储服务对外提供REST等调用接口,上层业务系统也可以不集成SDK,直接调用文件存储服务,对文件进行相应的操作,其操作除了文件上传,还可以是文件删除、文件下载等等。

图5为本申请实施例提供的一种应用场景下的示意图,如图5所示,云存储资源包括有AWS、阿里OSS和私有云存储,应用包含但不限于档案、发票、差旅、财务等等,上层业务系统直接调用文件存储服务,对文件进行相应的操作。

本申请实施例还提供了一种支持混合多云的文件存储设备的结构示意图,如图6所示,一种支持混合多云的文件存储设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:

基于来自相应的应用的文件存储请求,确定所述文件存储请求对应的云存储资源;

向所述云存储资源发送申请凭证请求,以获取相应的临时访问凭证;所述云存储资源包括公有云和私有云;

将所述临时访问凭证发送至所述应用,以使所述应用基于所述临时访问凭证,访问并上传文件至所述云存储资源,进行文件存储。

处理器与存储器之间可以通过总线通信,设备还可以包括与其他设备通信的输入/输出接口。

基于同样的思路,本说明书一个或多个实施例还提供了对应于上述方法的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:

基于来自相应的应用的文件存储请求,确定所述文件存储请求对应的云存储资源;

向所述云存储资源发送申请凭证请求,以获取相应的临时访问凭证;所述云存储资源包括公有云和私有云;

将所述临时访问凭证发送至所述应用,以使所述应用基于所述临时访问凭证,访问并上传文件至所述云存储资源,进行文件存储。

综上,本申请提供的一种支持混合多云的文件存储方法及设备,支持混合多云存储,提供权限管理于校验,保障存储数据的安全,同时提供应用管理、配额管理、存储资源管理、用户管理等功能,使得政企单位在面对多种云存储时,方便统一管理自己的云存储资源;而且,可以节省信息化业务应用在对接存储时耗费的时间,提高对接效率。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的要求范围之内。

相关技术
  • 一种支持混合多云的文件存储方法及设备
  • 一种面向二维表文件的属性竖切多云存储方法
技术分类

06120112657383