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

一种对象存储桶的数据访问方法以及云管理平台

文献发布时间:2023-07-07 06:30:04


一种对象存储桶的数据访问方法以及云管理平台

本申请要求于2021年12月16日提交中国专利局、申请号为202111540737.9、申请名称为“基于对象存储服务OBS的全域云存储系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

技术领域

本申请实施例涉及云技术领域,尤其涉及一种基于云管理平台的对象存储桶的数据访问方法以及云管理平台。

背景技术

云存储(cloud storage)是在云计算(cloud computing)概念上延伸和发展出来的概念,可以实现规模效应,提高存储效率,降低运维成本。随着云存储技术的发展和推广,越来越多的企业与个人用户选择将数据存储于云存储系统,云存储系统性能成为用户选择云存储系统时关注的焦点。

目前,云存储系统可包含部署于不同地理区域的多个站点,租户的数据可存储于位于某个地理区域(租户当前接入的区域)的站点中。在租户移动至另一地理区域后,若租户需要使用已存储的数据,则需要管理数据所在的地理区域,则需要手动发起迁移请求,以将数据从位于用户之前接入的地理区域的站点迁移至位于用户当前接入的地理区域的站点,从而实现数据的管理和后续获取。

可见,当租户要管理数据所在的地理区域时,需要租户自身发起迁移任务来实现数据的迁移,在这个过程中,租户需要付出较多的操作,导致用户体验不佳。

发明内容

本申请实施例提供了一种对象存储桶的数据访问方法以及云管理平台,云管理平台可代替租户实现数据的自动管理,从而减少租户的操作量,提高用户体验。

本申请实施例的第一方面提供了一种基于云管理平台的对象存储桶的数据访问方法,该方法包括:

当位于第一地理区域的某个租户需要在云端存储第一数据时,云管理平台可向该租户所使用的第一客户端设备提供上传接口,故该租户可通过第一客户端可向上传接口发送第一数据,以使得云管理平台通过上传接口接收第一客户端上传的第一数据。接收第一数据后,云管理平台可确定该租户所使用的第一客户端位于第一地理区域,故可将第一数据存储在第一地理区域的站点的第一对象存储桶中,并为第一数据设置第一访问域名。需要说明的是,第一访问域名可用于访问第一对象存储桶,以获取第一对象存储桶中的第一数据。

当该租户位于第二地理区域时,若发现自身需要访问第一数据,该租户可通过第二客户端向云管理平台提供的数据获取接口,输入针对第一访问域名的数据访问请求,以使得云管理平台通过数据获取接口接收第二客户端发送的数据访问请求。那么,云管理平台可基于该数据访问请求,可确定第二客户端需要访问作第一对象存储桶中的第一数据,故云管理平台可从位于第一地理区域的站点的第一对象存储桶中,将第一数据拉取到位于第二地理区域的站点的第二对象存储桶中,那么,该租户后续可通过第二客户端访问第二对象存储桶中的第一数据。

从上述方法可以看出:云管理平台通过上传接口接收位于第一地理区域的第一客户端上传的第一数据后,云管理平台可将第一数据存储在位于第一地理区域的站点的第一对象存储桶中,并为第一数据设置第一访问域名。当云管理平台接收位于第二地理区域的第二客户端发送的针对第一访问域名的数据访问请求时,云管理平台将存储在第一对象存储桶中的第一数据拉取到位于第二地理区域的站点的第二对象存储桶中以供第二客户端访问。前述过程中,位于第一地理区域的租户通过第一客户端向云管理平台上传第一数据后,云管理平台可将第一数据存储于第一地理区域的站点中的第一对象存储桶中,并为第一数据配置第一访问域名。当位于第二地理区域的该租户需要访问第一数据时,仅需向云管理平台发送针对第一访问域名的数据访问请求,云管理平台即可将第一数据,从第一对象存储桶拉取到第二地理区域的站点中的第二对象存储桶中,以供该租户通过第二客户端来实现访问。可见,在接收到租户(通过客户端发送)的数据获取请求后,云管理平台可自动发起迁移任务,实现数据在不同地理区域的站点之间的迁移,以供租户访问。由于云管理平台迁移数据的过程对于租户(的客户端)而言是无感知的,故云管理平台可代替租户实现数据的自动管理,从而减少租户的操作量,提高用户体验。

在一种可能的实现方式中,上传接口还用于接收第一客户端上传的第二数据,以及第一客户端输入的第一数据的第一标签和第二数据的第二标签,其中第一标签和第二标签相同,该方法还包括:云管理平台将第二数据存储在第三对象存储桶中,并为第二数据设置第二访问域名,其中第三对象存储桶设置在位于第一地理区域的站点中;云管理平台将与第一标签相同的第二标签对应的第二数据从第三对象存储桶中的拉取到第四对象存储桶中,其中第四对象存储桶设置在位于第二地理区域的站点中。前述实现方式中,设位于第一地理区域的该租户不仅有存储第一数据的需求,还有存储第二数据的需求,则该租户可通过第一客户端,向云管理平台提供的上传接口输入第二数据和第二数据的第二标签,其中,第一数据的第一标签和第二数据第二标签相同,说明第一数据和第二数据是同种类型的数据。那么,云管理平台接收到第一客户端发送的第二数据后,将第二数据存储在第一地理区域的站点的第三对象存储中,并为第二数据设置第二访问域名。需要说明的是,第二访问域名可用于访问第三对象存储,以获取第三对象存储中的第二数据。在云管理平台令第二客户端访问第二地理区域的站点的第二对象存储桶中的第一数据后,由于第一数据和第二数据是同种类型的数据,云管理平台还可将第二数据从第一地理区域的站点的第三对象存储桶中,拉取到第二地理区域的站点的第四对象存储桶中。如此一来,可完成第一地理区域的站点和第二地理区域的站点之间有关于同种类型的数据的同步,使得第二地理区域的站点中提前存储有该租户上传的第二数据,若该租户在第二地理区域时,还需要访问第二数据,则可以满足该租户的需求。

在一种可能的实现方式中,该方法还包括:云管理平台将第一地理区域的站点中的第一对象存储桶中存储的第一数据拉取到第五对象存储桶中,其中第五对象存储桶设置在位于第三地理区域的站点中;云管理平台删除第一对象存储桶中存储的第一数据和第二对象存储桶中存储的第一数据,其中,位于第三地理区域的站点为中心站点,位于第一地理区域的站点和位于第二地理区域的站点为边缘站点。前述实现方式中,在云管理平台令第二客户端访问第二地理区域的站点的第二对象存储桶中的第一数据后,由于位于第一地理区域的站点和位于第二地理区域的站点为边缘站点,其存储数据的性质为用完即删,那么,由于第一数据已被使用,故云管理平台可从第一地理区域的站点中的第一对象存储桶中,将第一数据拉取到位于第三地理区域的站点的第五对象存储桶,位于第三地理区域的站点为中心站点,其存储数据的性质为持续性存储。此后,云管理平台再删除第一地理区域的站点的第一对象存储桶中存储的第一数据和位于第二地理区域的站点的第二对象存储桶中存储的第一数据。

在一种可能的实现方式中,该方法还包括:若位于第一地理区域的该租户还有针对第一数据的调度需求,该租户可通过第一客户端,向云管理平台提供的调度策略配置接口输入针对第一数据的调度策略,以使得云管理平台通过调度策略配置接口接收该调度策略。

在一种可能的实现方式中,调度策略包括标签关联策略,标签关联策略记录有第一数据的第一标签,该方法还包括:云管理平台根据标签关联策略将与第一地理区域的站点不同的其他地理区域的站点的对象存储桶中存储的设置有与第一标签相同的标签的数据拉取到第一地理区域的站点的对象存储桶中。前述实现方式中,该租户输入的调度策略可包含标签关联策略,标签关联策略记录有第一数据的第一标签。因此,云管理平台在解析接收到的该调度策略后,可获取第一标签,从而确定需要将与第一数据为相同类型的其余数据关联起来。那么,云管理平台可在除第一地理区域之外的其他区域中,确定有哪些地理区域的站点的对象存储桶中所存储的数据的标签与第一标签相同,并将这些数据拉取到第一地理区域的站点中处第一对象存储桶之外的其余对象存储桶中进行存储,并为这些数据设置访问域名。

在一种可能的实现方式中,调度策略还包括时间策略,时间策略记录有调度时间,该方法还包括:云管理平台根据时间策略在调度时间将与第一地理区域的站点不同的其他地理区域的站点的对象存储桶中存储的设置有与第一标签相同的标签的数据拉取到第一地理区域的站点的对象存储桶中。前述实现方式中,该租户输入的调度策略还包括时间策略,时间策略记录有调度时间。因此,云管理平台可在除第一地理区域之外的其他区域中,确定有哪些地理区域的站点的对象存储桶中所存储的数据的标签与第一标签相同,并在该调度时间将这些数据拉取到第一地理区域的站点中处第一对象存储桶之外的其余对象存储桶中进行存储,并为这些数据设置访问域名。

在一种可能的实现方式中,调度策略还用于指定第一数据的目标站点,该方法还包括:若该租户通过第一客户端向调度策略配置接口输入其指定的目标站点,云管理平台则会将第一数据存储在目标站点的对象存储桶中,从而满足租户自身指向性的数据存储需求。可以理解的是,此处的目标站点既可以是位于第一地理区域的站点,也可以是位于其余地理区域的站点。

在一种可能的实现方式中,第一标签用于指示第一数据的文件类型、创建时间、前缀、后缀、大小中的一者或任意组合。

在一种可能的实现方式中,第一客户端和第二客户端分别使用相同的账号登录云管理平台,第一客户端和第二客户端分别使用相互关联的账号登录云管理平台,其中相同的账号或相互关联的账号在云管理平台中注册。

本申请实施例的第二方面提供了一种云管理平台,该云管理平台包括:第一提供模块,用于提供上传接口,上传接口用于接收第一客户端上传的第一数据,其中第一客户端位于第一地理区域;第一存储模块,用于将第一数据存储在第一对象存储桶中,并为第一数据设置第一访问域名,其中第一对象存储桶设置在位于第一地理区域的站点中;接收模块,用于接收第二客户端发送的针对第一访问域名的数据访问请求,其中第二客户端位于第二地理区域;第一拉取模块,用于将存储在第一对象存储桶中的第一数据拉取到第二对象存储桶中以供第二客户端访问,其中第二对象存储桶设置在位于第二地理区域的站点中。

从上述云管理平台可以看出:云管理平台通过上传接口接收位于第一地理区域的第一客户端上传的第一数据后,云管理平台可将第一数据存储在位于第一地理区域的站点的第一对象存储桶中,并为第一数据设置第一访问域名。当云管理平台接收位于第二地理区域的第二客户端发送的针对第一访问域名的数据访问请求时,云管理平台将存储在第一对象存储桶中的第一数据拉取到位于第二地理区域的站点的第二对象存储桶中以供第二客户端访问。前述过程中,位于第一地理区域的租户通过第一客户端向云管理平台上传第一数据后,云管理平台可将第一数据存储于第一地理区域的站点中的第一对象存储桶中,并为第一数据配置第一访问域名。当位于第二地理区域的该租户需要访问第一数据时,仅需向云管理平台发送针对第一访问域名的数据访问请求,云管理平台即可将第一数据,从第一对象存储桶拉取到第二地理区域的站点中的第二对象存储桶中,以供该租户通过第二客户端来实现访问。可见,在接收到租户(通过客户端发送)的数据获取请求后,云管理平台可自动发起迁移任务,实现数据在不同地理区域的站点之间的迁移,以供租户访问。由于云管理平台迁移数据的过程对于租户(的客户端)而言是无感知的,故云管理平台可代替租户实现数据的自动管理,从而减少租户的操作量,提高用户体验。

在一种可能的实现方式中,上传接口还用于接收第一客户端上传的第二数据,以及第一客户端输入的第一数据的第一标签和第二数据的第二标签,其中第一标签和第二标签相同,云管理平台还包括:第二存储模块,用于将第二数据存储在第三对象存储桶中,并为第二数据设置第二访问域名,其中第三对象存储桶设置在位于第一地理区域的站点中;第二拉取模块,用于将与第一标签相同的第二标签对应的第二数据从第三对象存储桶中的拉取到第四对象存储桶中,其中第四对象存储桶设置在位于第二地理区域的站点中。

在一种可能的实现方式中,云管理平台还包括:第三拉取模块,用于将第一地理区域的站点中的第一对象存储桶中存储的第一数据拉取到第五对象存储桶中,其中第五对象存储桶设置在位于第三地理区域的站点中;删除模块,用于删除第一对象存储桶中存储的第一数据和第二对象存储桶中存储的第一数据,其中,位于第三地理区域的站点为中心站点,位于第一地理区域的站点和位于第二地理区域的站点为边缘站点。

在一种可能的实现方式中,云管理平台还包括:第二提供模块,用于提供调度策略配置接口,调度策略配置接口用于获取第一客户端发送的针对第一数据的调度策略。

在一种可能的实现方式中,调度策略包括标签关联策略,标签关联策略记录有第一数据的第一标签,云管理平台还包括:第四拉取模块,用于根据标签关联策略将与第一地理区域的站点不同的其他地理区域的站点的对象存储桶中存储的设置有与第一标签相同的标签的数据拉取到第一地理区域的站点的对象存储桶中。

在一种可能的实现方式中,第一标签用于指示第一数据的文件类型、创建时间、前缀、后缀、大小中的一者或任意组合。

在一种可能的实现方式中,调度策略还包括时间策略,时间策略记录有调度时间,云管理平台还包括:第五拉取模块,用于根据时间策略在调度时间将与第一地理区域的站点不同的其他地理区域的站点的对象存储桶中存储的设置有与第一标签相同的标签的数据拉取到第一地理区域的站点的对象存储桶中。

在一种可能的实现方式中,调度策略还用于指定第一数据的目标站点,云管理平台还包括:第三存储模块,用于将第一数据存储到所目标站点的对象存储桶中。

在一种可能的实现方式中,第一客户端和第二客户端分别使用相同的账号登录云管理平台,第一客户端和第二客户端分别使用相互关联的账号登录云管理平台,其中相同的账号或相互关联的账号在云管理平台中注册。

本申请实施例的第三方面提供了一种云管理平台,云管理平台包括存储器和处理器;存储器存储有代码,处理器被配置为执行代码,当代码被执行时,云管理平台执行如第一方面或第一方面中任意一种可能的实现方式所述的方法。

本申请实施例的第四方面提供了一种计算机存储介质,计算机存储介质存储有计算机程序,该程序由计算机执行时,使得计算机实施如第一方面或第一方面中任意一种可能的实现方式所述的方法。

本申请实施例的第五方面提供了一种计算机程序产品,计算机程序产品存储有指令,指令在由计算机执行时,使得计算机实施如第一方面或第一方面中任意一种可能的实现方式所述的方法。

本申请实施例中,云管理平台通过上传接口接收位于第一地理区域的第一客户端上传的第一数据后,云管理平台可将第一数据存储在位于第一地理区域的站点的第一对象存储桶中,并为第一数据设置第一访问域名。当云管理平台接收位于第二地理区域的第二客户端发送的针对第一访问域名的数据访问请求时,云管理平台将存储在第一对象存储桶中的第一数据拉取到位于第二地理区域的站点的第二对象存储桶中以供第二客户端访问。前述过程中,位于第一地理区域的租户通过第一客户端向云管理平台上传第一数据后,云管理平台可将第一数据存储于第一地理区域的站点中的第一对象存储桶中,并为第一数据配置第一访问域名。当位于第二地理区域的该租户需要访问第一数据时,仅需向云管理平台发送针对第一访问域名的数据访问请求,云管理平台即可将第一数据,从第一对象存储桶拉取到第二地理区域的站点中的第二对象存储桶中,以供该租户通过第二客户端来实现访问。可见,在接收到租户(通过客户端发送)的数据获取请求后,云管理平台可自动发起迁移任务,实现数据在不同地理区域的站点之间的迁移,以供租户访问。由于云管理平台迁移数据的过程对于租户(的客户端)而言是无感知的,故云管理平台可代替租户实现数据的自动管理,从而减少租户的操作量,提高用户体验。

附图说明

图1为本申请实施例提供的云存储系统的一个结构示意图;

图2为本申请实施例提供的云管理平台的一个示意图;

图3为本申请实施例提供的基于云管理平台的对象存储桶的数据访问方法的一个流程示意图;

图4为本申请实施例提供的云存储系统的另一结构示意图;

图5为本申请实施例提供的云存储系统的另一结构示意图;

图6为本申请实施例提供的云存储系统的另一结构示意图;

图7为本申请实施例提供的云存储系统的另一结构示意图;

图8为本申请实施例提供的云管理平台的一个结构示意图;

图9为本申请实施例提供的云管理平台的另一结构示意图。

具体实施方式

本申请实施例提供了一种对象存储桶的数据访问方法以及云管理平台,云管理平台可代替租户实现数据的自动管理,从而减少租户的操作量,提高用户体验。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”并他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。

云存储是在云计算概念上延伸和发展出来的概念,可以实现规模效应,提高存储效率,降低运维成本。随着云存储技术的发展和推广,越来越多的企业与个人用户选择将数据存储于云存储系统,云存储系统性能成为用户选择云存储系统时关注的焦点。

目前,云存储系统可包含部署于不同地理区域(region)的多个站点(例如,位于华南地区的站点,位于华中地区的站点等等),租户(例如,提供某个应用的企业和使用某个应用的用户等等)的数据可存储于位于某个地理区域(租户当前接入的区域)的站点中,因此,云存储系统可为各个地理区域的租户提供云存储服务。在租户移动至另一地理区域后,若租户需要使用已存储的数据,则需要管理数据所在的地理区域,则需要手动发起迁移请求,以将数据从位于用户之前接入的地理区域的站点迁移至位于用户当前接入的地理区域的站点,从而实现数据的管理和后续获取。

可见,当租户要管理数据所在的地理区域时,需要租户自身发起迁移任务来实现数据的迁移,在这个过程中,租户需要付出较多的操作(例如,租户需手动配置地理区域的信息以及站点的信息等等),导致用户体验不佳。

进一步地,某个租户的数据往往只能存储在位于特定区域的站点,一旦租户或其他租户需要使用这部分数据时,往往需要在云存储系统内部实现数据迁移,导致数据获取的速度低下,处理时长过大。

为了解决上述问题,本申请实施例提供了一种云存储系统,如图1所示(图1为本申请实施例提供的云存储系统的一个结构示意图),该云存储系统包括位于(部署于)不同地理区域的多个站点以及管理这多个站点的云管理平台,需要说明的是,此处所提及的站点,可以理解为云技术领域中的区域(region)、可用区(availability zone,AZ)或数据中心(data center,DC)等概念。例如,该云存储系统包括位于华南地区的站点,位于华中地区的站点、位于北京地区的站点以及管理这三个站点的云管理平台等等。

对于任意一个地理区域的站点而言,该站点通常为一个物理服务器集群,基于虚拟化技术,可用于部署提供数据存储服务的对象存储服务(object storage service,OBS)桶(需要说明的是,下文所涉及的OBS桶也可以理解为前述的对象存储桶)。云管理平台通常远离于多个站点(即二者之间存在一定的距离),云管理平台可对各个站点上的OBS桶进行统一管理,即云管理平台可统一管理整个云存储系统内所有站点的OBS桶,那么,当租户的客户端接入云管理平台时,云管理平台可调用地理位置离该租户的客户端较近的站点,为该租户的客户端提供OBS服务。

如图2所示(图2为本申请实施例提供的云管理平台的一个示意图),云管理平台可对外提供多种应用程序接口(application programming interface,API),例如,登录接口、上传接口、数据获取接口、调度策略配置接口等等,其中,云管理平台可通过登录接口接收租户的客户端发送的租户账号和租户密码(已在云管理平台上注册的账户和密码),并对这些信息进行身份验证,验证通过后可允许客户端登录云管理平台。云管理平台还可通过数据获取接口接收租户的客户端的数据访问请求,并基于该请求获取该请求所指示的数据,并通过数据获取接口将数据返回至租户的客户端。云管理平台还可通过数据上传接口接收租户的客户端上传的数据,并存储这部分数据。云管理平台还可通过调度策略配置接口接收租户的客户端发送的调度策略,以基于该调度策略完成数据在多个站点中的管理。

云管理平台还可包含路由模块、调度模块和网络管理模块,其中,路由模块可用于基于数据访问请求,自动路由(追踪)到数据所在的位置(例如,数据位于某个站点的某个OBS桶等等)。调度模块可用于自行生成调度策略,以基于该调度策略管理数据,如此一来,管理数据的过程在后台静默运行,不会被租户感知。网络管理模块可用于实现多个地理区域之间的网络管理和带宽利用率控制等等。

云管理平台还可管理各个站点,例如,在某个站点中创建OBS桶,用于存储租户的客户端上传的数据,又如,将数据从位于某个地理区域的站点的OBS桶拉取(迁移)至位于另一地理区域的站点的OBS桶中,再如,从某个站点的OBS桶中取出数据,并发送给租户的客户端等等。

为了进一步了解上述云存储系统的工作流程,下文将从两个方面对该工作流程进行介绍,第一方面为数据获取的过程,第二方面为数据上传和数据调度的过程。下文先对第一方面进行介绍,图3为本申请实施例提供的基于云管理平台的对象存储桶的数据访问方法的一个流程示意图,如图3所示,该方法包括:

301、云管理平台提供上传接口,上传接口用于接收第一客户端上传的第一数据,其中第一客户端位于第一地理区域。

302、云管理平台将第一数据存储在第一对象存储桶中,并为第一数据设置第一访问域名,其中,第一对象存储桶设置在位于第一地理区域的站点中。

本实施例中,当位于第一地理区域的某个租户需要在云端存储第一数据时,云管理平台可向该租户所使用的第一客户端设备提供上传接口(例如,用户界面的数据输入栏等等),故该租户可通过第一客户端可向上传接口发送第一数据,以使得云管理平台通过上传接口接收第一客户端上传的第一数据。接收第一数据后,云管理平台可确定该租户所使用的第一客户端位于第一地理区域,故可将第一数据存储在第一地理区域的站点的第一OBS桶(即前述的第一对象存储桶)中,并为第一数据设置第一访问域名。需要说明的是,第一访问域名可用于访问第一OBS桶,以获取第一OBS桶中的第一数据。

进一步地,租户在上传第一数据时,云管理平台还可提供调度策略配置接口(例如,用户界面的的调度策略输入栏),若租户未通过第一客户端向调度策略配置接口输入指定的目标站点,云管理平台可自动为第一数据分配存储第一数据的站点,即第一客户端所在的第一地理区域的站点。

例如,如图4所示(图4为本申请实施例提供的云存储系统的另一结构示意图),位于地理区域1的用户1使用某个应用时,产生了数据1(例如,用户1使用办公软件撰写了一个文档)。用户1需要将数据1上传至云存储系统进行保存,那么,云管理平台可面向用户1的客户端1(例如,用户1所使用的浏览器)提供用户界面,该用户界面中包含数据输入栏,用户1可通过客户端1在该输入栏处输入数据1,从而将数据1上传到云管理平台。在上传数据的时候,该用户界面还包含调度策略输入栏,但用户1可不通过客户端1向该输入栏输入用户1所指定的某个站点,即用户1不需要指定位于某一个地理区域的数据中心,云管理平台可自动为用户1分配位于地理区域1的站点,并将数据1存储于该站点的OBS桶1中。此外,云管理平台还可为数据1配置一个访问域名,即www.bucketname.obs11.com,该访问域名中的“OBS11”与地理区域1的站点的OBS桶1相对应。

若租户通过第一客户端向调度策略配置接口输入其指定的目标站点,云管理平台则会将第一数据存储在目标站点的对象存储桶中,从而满足租户自身指向性的数据存储需求。可以理解的是,此处的目标站点既可以是位于第一地理区域的站点,也可以是位于其余地理区域的站点,具体不做限制。

更进一步的,租户在上传的第一数据时,租户还可通过第一客户端,向上传接口输入第一数据的第一标签,第一数据的第一标签包含以下至少一项:第一数据的创建时间(例如,第一数据所属的软件产生第一数据的时间)、第一数据的文件类型(例如,第一数据为图片、视频或文本等等)、第一数据所属的应用类型(即第一数据的前缀和后缀等等,例如,第一数据所属的应用为安卓应用、IOS应用或谷歌应用等等)、第一数据的大小等等。依旧如上述例子,设数据1为用户1使用办公软件所制作的文档。那么,数据1的标识可包括:办公软件生成数据1的时间、数据1属于文档类型、办公软件为属于安卓系统的应用、用户1的大小为5M等等。

303、云管理平台接收第二客户端发送的针对第一访问域名的数据访问请求,其中第二客户端位于第二地理区域。

304、云管理平台将存储在第一对象存储桶中的第一数据拉取到第二对象存储桶中以供第二客户端访问,其中第二对象存储桶设置在位于第二地理区域的站点中。

当该租户位于第二地理区域时,若发现自身需要访问第一数据,该租户可通过第二客户端向云管理平台提供的数据获取接口(例如,用户界面的域名输入栏等等),输入针对第一访问域名的数据访问请求(即数据访问请求包含第一访问域名,或,数据访问请求基于第一访问域名生成),以使得云管理平台通过数据获取接口接收第二客户端发送的数据访问请求。那么,云管理平台可基于该数据访问请求,可确定第二客户端需要访问作第一OBS桶中的第一数据,故云管理平台可从位于第一地理区域的站点的第一OBS桶中,将第一数据拉取到位于第二地理区域的站点的第二OBS桶中(即前述的第二对象存储桶),那么,该租户后续可通过第二客户端访问第二OBS桶中的第一数据(例如,若数据访问请求指示第二客户端需实现的操作为数据读取操作,云管理平台可将第二OBS桶中存储的第一数据提供给第二客户端,以供该用户使用,又如,若数据访问请求指示第二客户端需实现的操作为数据写入操作,云管理平台可向第二客户端开放权限或接口,以使得该租户通过第二客户端对第二OBS桶中存储的第一数据进行修改等等)。

例如,如图5所示(图5为本申请实施例提供的云存储系统的另一结构示意图,图5是在图4的基础上进行绘制得到的),当位于地理区域2的用户1需要访问数据1时,可通过客户端2(例如,用户1所使用的云存储软件)向云管理平台发送数据访问请求,该请求包含www.bucketname.obs11.com这一访问域名。那么,云管理平台可从位于地理区域1的站点的OBS桶1中,将数据1拉取到位于地理区域2的站点的OBS桶2中进行存储。由于数据访问请求指示客户端2所实现的操作为数据读取操作,故云管理平台可将OBS桶2中的数据1提供给客户端2,以供用户1使用。

值得注意的,第一客户端和第二客户端是同一租户(例如,某一个人用户或某一企业中位于不同地理位置的多个用户)所使用的不同客户端,那么,该租户在分别使用第一客户端和第二客户端登录云管理平台时,使用的是相同的帐号或者相互关联的帐号(例如,母帐号和子帐号等等),且这些帐号均已在云管理平台中实现了注册,是可用的帐号。

此外,在图3的基础上,云管理平台既可以按照自身的调度策略来实现数据管理,也可以按照租户的调度策略来实现数据管理,下文将分别进行介绍:

第一种情况,云管理平台按照自身的调度策略来实现对数据的管理:

(1)在完成前述步骤302后,设位于第一地理区域的该租户还有存储第二数据的需求,该租户可通过第一客户端,向云管理平台提供的上传接口输入第二数据和第二数据的第二标签,其中,第一数据的第一标签和第二数据第二标签相同,说明第一数据和第二数据是同种类型的数据。关于该租户通过第一客户端上传第二数据和第二数据的第二标签的介绍,可参考前述该租户通过第一客户端上传第一数据和第一数据的第一标签的相关说明部分,此处不再赘述。应理解,该租户上传第一数据和第一标签,以及上传第二数据和第二标签也可以是同时进行的。

那么,云管理平台接收到第一客户端发送的第二数据后,将第二数据存储在第一地理区域的站点的第三OBS桶(即前述的第三对象存储桶)中,并为第二数据设置第二访问域名。需要说明的是,第二访问域名可用于访问第三OBS桶,以获取第三OBS桶中的第二数据。

在完成前述步骤304后,由于第一数据和第二数据是同种类型的数据,云管理平台还可将第二数据从第一地理区域的站点的第三OBS桶中,拉取到第二地理区域的站点的第四OBS桶中(即前述的第四对象存储桶)。如此一来,可完成第一地理区域的站点和第二地理区域的站点之间有关于同种类型的数据的同步,使得第二地理区域的站点中提前存储有该租户上传的第二数据,若该租户在第二地理区域时,还需要访问第二数据,则可以满足该租户的需求。

例如,如图6所示(图6为本申请实施例提供的云存储系统的另一结构示意图,图6是在图5的基础上进行绘制得到的),云管理平台将位于地理区域2的站点的OBS桶2中的数据1提供给客户端2后,由于位于地理区域1的站点的OBS桶3已存储有用户1上传的数据2,且数据1和数据2的标签是相同(即数据1和数据2是相同类型的数据),那么,云管理平台可从位于地理区域1的站点的OBS桶3中,将数据2拉取到位于地理区域2的站点的OBS桶4中进行存储,若用户1还有使用数据2的需求,云管理平台可快速地将OBS桶4中的数据2直接提供给客户端2,以供用户1使用。

(2)在完成前述步骤304后,由于位于第一地理区域的站点和位于第二地理区域的站点为边缘站点,其存储数据的性质为用完即删,那么,由于第一数据已被使用,故云管理平台可从第一地理区域的站点中的第一OBS桶中,将第一数据拉取到位于第三地理区域的站点的第五OBS桶(即前述的第五对象存储桶),位于第三地理区域的站点为中心站点,其存储数据的性质为持续性存储。此后,云管理平台再删除第一地理区域的站点的第一OBS桶中存储的第一数据和位于第二地理区域的站点的第二OBS桶中存储的第一数据。

依旧如图5所示的例子,设地理区域1的站点为深圳的站点,地理区域2的站点为广州的站点,均为边缘站点,而地理区域3的站点为华南地区的站点,为中心站点。云管理平台将位于地理区域2的站点的OBS桶2中的数据1提供给客户端2后,云管理平台可将数据1拉取待位于地理区域3的站点的OBS桶5中进行存储,并将位于地理区域1的站点的OBS桶1中的数据1和位于地理区域2的站点的OBS桶2中的数据1删除。

第二种情况,云管理平台按照租户的调度策略来实现对数据的管理:

在完成前述步骤302后,设位于第一地理区域的该租户还有针对第一数据的调度需求,该租户可通过第一客户端,向云管理平台提供的调度策略配置接口输入针对第一数据的调度策略,以使得云管理平台通过调度策略配置接口接收该调度策略。应理解,该租户输入调度策略,也可以与该租户上传第一数据和第一标签同时发生。

进一步地,该调度策略可包含标签关联策略,标签关联策略记录有第一数据的第一标签。因此,云管理平台在解析接收到的该调度策略后,可获取第一标签,从而确定需要将与第一数据为相同类型的其余数据关联起来。那么,云管理平台可在除第一地理区域之外的其他区域中,确定有哪些地理区域的站点的OBS桶中所存储的数据的标签与第一标签相同,并将这些数据拉取到第一地理区域的站点中处第一OBS桶之外的其余OBS桶中进行存储,并为这些数据设置访问域名。

例如,如图7所示(图7为本申请实施例提供的云存储系统的另一结构示意图,图7是在图4的基础上进行绘制得到的),当云管理平台确定来自客户端1的调度策略包含数据1的标签时,云管理平台先确定位于地理位于地理区域4的站点的OBS桶6中的数据3和位于地理区域5的站点的OBS桶7中的数据4,这两个数据的标签与数据1的标签相同,故云管理平台可将从位于地理区域4的站点的OBS桶6中,将数据3拉取到位于地理区域1的站点的OBS桶8中进行存储,并从位于地理区域5的站点的OBS桶7中,将数据4拉取到位于地理区域1的站点的OBS桶9中进行存储。

更进一步地,该调度策略还包括时间策略,时间策略记录有调度时间。因此,云管理平台可在除第一地理区域之外的其他区域中,确定有哪些地理区域的站点的OBS桶中所存储的数据的标签与第一标签相同,并在该调度时间将这些数据拉取到第一地理区域的站点中处第一OBS桶之外的其余OBS桶中进行存储,并为这些数据设置访问域名。

本申请实施例中,云管理平台通过上传接口接收位于第一地理区域的第一客户端上传的第一数据后,云管理平台可将第一数据存储在位于第一地理区域的站点的第一对象存储桶中,并为第一数据设置第一访问域名。当云管理平台接收位于第二地理区域的第二客户端发送的针对第一访问域名的数据访问请求时,云管理平台将存储在第一对象存储桶中的第一数据拉取到位于第二地理区域的站点的第二对象存储桶中以供第二客户端访问。前述过程中,位于第一地理区域的租户通过第一客户端向云管理平台上传第一数据后,云管理平台可将第一数据存储于第一地理区域的站点中的第一对象存储桶中,并为第一数据配置第一访问域名。当位于第二地理区域的该租户需要访问第一数据时,仅需向云管理平台发送针对第一访问域名的数据访问请求,云管理平台即可将第一数据,从第一对象存储桶拉取到第二地理区域的站点中的第二对象存储桶中,以供该租户通过第二客户端来实现访问。可见,在接收到租户(通过客户端发送)的数据获取请求后,云管理平台可自动发起迁移任务,实现数据在不同地理区域的站点之间的迁移,以供租户访问。由于云管理平台迁移数据的过程对于租户(的客户端)而言是无感知的,故云管理平台可代替租户实现数据的自动管理,从而减少租户的操作量,提高用户体验。

进一步地,云管理平台可基于自身的调度策略或租户的调度策略,来实现数据的管理,增加数据部署的灵活性,有利于改善用户体验。

以上是对本申请实施例提供的基于云管理平台的对象存储桶的数据访问方法所进行的详细介绍,以下将对本申请实施例提供的云管理平台进行介绍。图8为本申请实施例提供的云管理平台的一个结构示意图,如图8所示,云管理平台包括:

第一提供模块801,用于提供上传接口,上传接口用于接收第一客户端上传的第一数据,其中第一客户端位于第一地理区域;例如第一提供模块801,可用于实现图3所示实施例中的步骤301。

第一存储模块802,用于将第一数据存储在第一对象存储桶中,并为第一数据设置第一访问域名,其中第一对象存储桶设置在位于第一地理区域的站点中;第一存储模块802,可用于实现图3所示实施例中的步骤302。

接收模块803,用于接收第二客户端发送的针对第一访问域名的数据访问请求,其中第二客户端位于第二地理区域;接收模块803,可用于实现图3所示实施例中的步骤303。

第一拉取模块804,用于将存储在第一对象存储桶中的第一数据拉取到第二对象存储桶中以供第二客户端访问,其中第二对象存储桶设置在位于第二地理区域的站点中。第一拉取模块804,可用于实现图3所示实施例中的步骤304。

本申请实施例中,云管理平台通过上传接口接收位于第一地理区域的第一客户端上传的第一数据后,云管理平台可将第一数据存储在位于第一地理区域的站点的第一对象存储桶中,并为第一数据设置第一访问域名。当云管理平台接收位于第二地理区域的第二客户端发送的针对第一访问域名的数据访问请求时,云管理平台将存储在第一对象存储桶中的第一数据拉取到位于第二地理区域的站点的第二对象存储桶中以供第二客户端访问。前述过程中,位于第一地理区域的租户通过第一客户端向云管理平台上传第一数据后,云管理平台可将第一数据存储于第一地理区域的站点中的第一对象存储桶中,并为第一数据配置第一访问域名。当位于第二地理区域的该租户需要访问第一数据时,仅需向云管理平台发送针对第一访问域名的数据访问请求,云管理平台即可将第一数据,从第一对象存储桶拉取到第二地理区域的站点中的第二对象存储桶中,以供该租户通过第二客户端来实现访问。可见,在接收到租户(通过客户端发送)的数据获取请求后,云管理平台可自动发起迁移任务,实现数据在不同地理区域的站点之间的迁移,以供租户访问。由于云管理平台迁移数据的过程对于租户(的客户端)而言是无感知的,故云管理平台可代替租户实现数据的自动管理,从而减少租户的操作量,提高用户体验。

在一种可能的实现方式中,上传接口还用于接收第一客户端上传的第二数据,以及第一客户端输入的第一数据的第一标签和第二数据的第二标签,其中第一标签和第二标签相同,云管理平台还包括:第二存储模块,用于将第二数据存储在第三对象存储桶中,并为第二数据设置第二访问域名,其中第三对象存储桶设置在位于第一地理区域的站点中;第二拉取模块,用于将与第一标签相同的第二标签对应的第二数据从第三对象存储桶中的拉取到第四对象存储桶中,其中第四对象存储桶设置在位于第二地理区域的站点中。

在一种可能的实现方式中,云管理平台还包括:第三拉取模块,用于将第一地理区域的站点中的第一对象存储桶中存储的第一数据拉取到第五对象存储桶中,其中第五对象存储桶设置在位于第三地理区域的站点中;删除模块,用于删除第一对象存储桶中存储的第一数据和第二对象存储桶中存储的第一数据,其中,位于第三地理区域的站点为中心站点,位于第一地理区域的站点和位于第二地理区域的站点为边缘站点。

在一种可能的实现方式中,云管理平台还包括:第二提供模块,用于提供调度策略配置接口,调度策略配置接口用于获取第一客户端发送的针对第一数据的调度策略。

在一种可能的实现方式中,调度策略包括标签关联策略,标签关联策略记录有第一数据的第一标签,云管理平台还包括:第四拉取模块,用于根据标签关联策略将与第一地理区域的站点不同的其他地理区域的站点的对象存储桶中存储的设置有与第一标签相同的标签的数据拉取到第一地理区域的站点的对象存储桶中。

在一种可能的实现方式中,第一标签用于指示第一数据的文件类型、创建时间、前缀、后缀、大小中的一者或任意组合。

在一种可能的实现方式中,调度策略还包括时间策略,时间策略记录有调度时间,云管理平台还包括:第五拉取模块,用于根据时间策略在调度时间将与第一地理区域的站点不同的其他地理区域的站点的对象存储桶中存储的设置有与第一标签相同的标签的数据拉取到第一地理区域的站点的对象存储桶中。

在一种可能的实现方式中,调度策略还用于指定第一数据的目标站点,云管理平台还包括:第三存储模块,用于将第一数据存储到所目标站点的对象存储桶中。

在一种可能的实现方式中,第一客户端和第二客户端分别使用相同的账号登录云管理平台,第一客户端和第二客户端分别使用相互关联的账号登录云管理平台,其中相同的账号或相互关联的账号在云管理平台中注册。

需要说明的是,上述装置各模块/单元之间的信息交互、实现过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参考本申请实施例前述所示的方法实施例中的叙述,此处不再赘述。

图9为本申请实施例提供的云管理平台的另一结构示意图。如图9所示,云管理平台的一个实施例可以包括一个或一个以上中央处理器901,存储器902,输入输出接口903,有线或无线网络接口904,电源905。

存储器902可以是短暂存储或持久存储。更进一步地,中央处理器901可以配置为与存储器902通信,在云管理平台上执行存储器902中的一系列指令操作。

本实施例中,中央处理器901可以执行前述图3所示实施例的方法步骤,具体此处不再赘述。

本实施例中,中央处理器901中的具体功能模块划分可以与前述图8中所描述的第一提供模块、第二提供模块、第一存储模块、第二存储模块、第三存储模块、接收模块、第一拉取模块、第二拉取模块、第三拉取模块、第四拉取模块、第五拉取模块以及删除模块等模块的划分方式类似,此处不再赘述。

本申请实施例还涉及一种计算机存储介质,包括计算机可读指令,当所述计算机可读指令被执行时,实现如图3所示实施例的方法步骤。

本申请实施例还涉及一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如图3所示实施例的方法步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

技术分类

06120116029478