[go: up one dir, main page]

CN117729217B - Cloud platform and bucket management method for object storage service provided by cloud platform - Google Patents

Cloud platform and bucket management method for object storage service provided by cloud platform Download PDF

Info

Publication number
CN117729217B
CN117729217B CN202311473520.XA CN202311473520A CN117729217B CN 117729217 B CN117729217 B CN 117729217B CN 202311473520 A CN202311473520 A CN 202311473520A CN 117729217 B CN117729217 B CN 117729217B
Authority
CN
China
Prior art keywords
bucket
data
data bucket
static
tenant
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
Application number
CN202311473520.XA
Other languages
Chinese (zh)
Other versions
CN117729217A (en
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies Co Ltd
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 Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN202311473520.XA priority Critical patent/CN117729217B/en
Publication of CN117729217A publication Critical patent/CN117729217A/en
Application granted granted Critical
Publication of CN117729217B publication Critical patent/CN117729217B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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

The application provides a cloud platform and a barrel management method thereof, wherein the method comprises the following steps: the method comprises the following steps: receiving a dynamic barrel creation instruction input by a tenant, creating a domain name of the dynamic barrel according to the dynamic barrel creation instruction, and associating the domain name of the dynamic barrel with a first static barrel arranged in a first area and a second static barrel arranged in a second area, wherein an object stored in the second static barrel is a trans-regional backup of an object stored in the first static barrel, detecting working states of the first static barrel and the second static barrel, receiving an access request for the domain name of the dynamic barrel sent by a client, and sending an IP address of the first static barrel associated with the domain name of the dynamic barrel or an IP address of the second static barrel associated with the domain name of the barrel to the client according to the working states. Based on the scheme, the client can access the first static bucket or the second static bucket only by accessing the domain name of the dynamic bucket, and the client does not need to consider the working states of the first static bucket and the second static bucket.

Description

云平台及其提供的对象存储服务的桶管理方法Bucket management method for cloud platform and object storage service provided by the same

技术领域Technical Field

本申请涉及云技术领域,尤其涉及一种云平台及其提供的对象存储服务的桶管理方法。The present application relates to the field of cloud technology, and in particular to a cloud platform and a bucket management method for an object storage service provided by the cloud platform.

背景技术Background Art

对象存储服务(Object Storage Service,OBS)是公有云的一个基于对象的海量存储服务,为公有云的租户提供海量、安全、高可靠、低成本的数据存储能力。Object Storage Service (OBS) is an object-based mass storage service for the public cloud, providing public cloud tenants with massive, secure, highly reliable, and low-cost data storage capabilities.

桶(bucket)是OBS中存储对象的容器,每个桶都有自己的存储类别、访问权限、所属区域等属性,租户在互联网上通过桶的访问域名来定位桶,根据实际需要,桶可设置在不同的区域。A bucket is a container for storing objects in OBS. Each bucket has its own storage category, access rights, region, and other attributes. Tenants locate buckets on the Internet through the bucket access domain name. Buckets can be set in different regions based on actual needs.

桶具有跨区域数据容灾备份的需求,但现有的OBS服务针对跨区域备份策略的至少两个桶分别设置不同的域名,客户端需根据不同域名访问不同区域中的桶,当一个区域的桶发生故障时,客户端需改变要访问的桶的域名来访问另一个区域的桶,从而造成不便。Buckets have the need for cross-regional data disaster recovery and backup, but the existing OBS service sets different domain names for at least two buckets in the cross-region backup strategy. The client needs to access buckets in different regions based on different domain names. When a bucket in one region fails, the client needs to change the domain name of the bucket to be accessed to access the bucket in another region, which causes inconvenience.

发明内容Summary of the invention

本申请提供了一种云平台及其桶管理方法,可提高客户端访问设置有跨区域备份的静态桶的便利性。The present application provides a cloud platform and a bucket management method thereof, which can improve the convenience of a client accessing a static bucket with cross-region backup.

第一方面,本申请提供一种提供云存储服务的方法,包括:为租户配置第一数据桶和第二数据桶,第一数据桶设置在第一区域,第二数据桶设置在第二区域,第二数据桶存储的数据对象是第一数据桶存储的数据对象的跨区域备份,接收租户输入的第三数据桶创建指令,根据第三数据桶创建指令向租户提供第三数据桶的域名,接收客户端发送的针对第三数据桶的域名的访问请求,根据第一数据桶和第二数据桶的工作状态,从第一数据桶和第二数据桶中选择目标数据桶,向客户端返回目标数据桶的IP地址。In a first aspect, the present application provides a method for providing cloud storage services, including: configuring a first data bucket and a second data bucket for a tenant, the first data bucket being set in a first region, the second data bucket being set in a second region, the data object stored in the second data bucket being a cross-region backup of the data object stored in the first data bucket, receiving a third data bucket creation instruction input by the tenant, providing the tenant with a domain name of a third data bucket according to the third data bucket creation instruction, receiving an access request for the domain name of the third data bucket sent by a client, selecting a target data bucket from the first data bucket and the second data bucket according to the working status of the first data bucket and the second data bucket, and returning the IP address of the target data bucket to the client.

本申请为存在备份关系的第一数据桶和第二数据桶设置第三数据桶的域名,客户端只需访问第三数据桶的域名即可访问到第一数据桶或第二数据桶,客户端无需考虑第一数据桶和第二数据桶的工作状态,在从而提升用户体验。This application sets the domain name of a third data bucket for the first data bucket and the second data bucket that have a backup relationship. The client only needs to access the domain name of the third data bucket to access the first data bucket or the second data bucket. The client does not need to consider the working status of the first data bucket and the second data bucket, thereby improving the user experience.

在第一方面的一种可能的实现方式中,为租户配置第一数据桶和第二数据桶,通过以下方式实现:接收租户输入的第一数据桶创建指令,第一数据桶创建指令用于指示租户指定的第一区域,根据第一数据桶创建指令在第一区域创建第一数据桶,其中,第一数据桶用于存储租户上传的对象,接收租户输入的第二数据桶创建指令,第二数据桶创建指令用于指示租户指定的第二区域,根据第二数据桶创建指令在第二区域创建第二数据桶。In a possible implementation of the first aspect, configuring a first data bucket and a second data bucket for a tenant is implemented in the following manner: receiving a first data bucket creation instruction input by the tenant, the first data bucket creation instruction is used to indicate a first area specified by the tenant, creating a first data bucket in the first area according to the first data bucket creation instruction, wherein the first data bucket is used to store objects uploaded by the tenant, receiving a second data bucket creation instruction input by the tenant, the second data bucket creation instruction is used to indicate a second area specified by the tenant, and creating a second data bucket in the second area according to the second data bucket creation instruction.

在本实现方式中,云平台接收数据桶创建指令并创建第一和第二数据桶,租户可先创建第一和第二数据桶,在需要时再创建第三数据桶的域名,并设置第三数据桶的域名和第一和第二数据桶关联,因此,云平台可提供灵活的桶设置方式,让租户可以在有业务需求时再在已经创建好的多个数据桶的基础上进一步设置域名与多个已经创建好的数据桶关联。In this implementation, the cloud platform receives a data bucket creation instruction and creates a first and second data bucket. The tenant can first create the first and second data buckets, and then create a domain name for the third data bucket when needed, and set the domain name of the third data bucket to associate with the first and second data buckets. Therefore, the cloud platform can provide a flexible bucket setting method, allowing tenants to further set domain names and associate with multiple data buckets that have been created based on the multiple data buckets that have been created when there is a business need.

在第一方面的一种可能的实现方式中,第一方面所述的方法还包括以下步骤:接收租户输入的桶间跨区域配置指令,桶间跨区域配置指令用于指示第一数据桶作为源桶并且第二数据桶作为目标桶,根据桶间跨区域配置指令将源桶存储的对象跨区域复制至目标桶中。In a possible implementation of the first aspect, the method described in the first aspect also includes the following steps: receiving an inter-bucket cross-region configuration instruction input by a tenant, the inter-bucket cross-region configuration instruction is used to indicate the first data bucket as a source bucket and the second data bucket as a target bucket, and copying the objects stored in the source bucket across regions to the target bucket according to the inter-bucket cross-region configuration instruction.

在本实现方式中,云平台接收桶间跨区域配置指令并创建桶间跨区域备份,租户可先创建两个数据桶,在需要时再设置该两个数据桶进行跨区域备份,可提供灵活的桶设置方式。In this implementation, the cloud platform receives inter-bucket cross-region configuration instructions and creates inter-bucket cross-region backups. Tenants can first create two data buckets and then set up the two data buckets for cross-region backup when needed, which can provide a flexible bucket setting method.

在第一方面的一种可能的实现方式中,根据第一数据桶和第二数据桶的工作状态,从第一数据桶和第二数据桶中选择目标数据桶,包括:在第一数据桶和第二数据桶中的任意之一的工作状态发生异常的情况下,从第一数据桶和第二数据桶中选择的工作状态正常的数据桶作为目标数据桶。In a possible implementation of the first aspect, a target data bucket is selected from the first data bucket and the second data bucket according to the working status of the first data bucket and the second data bucket, including: when the working status of any one of the first data bucket and the second data bucket is abnormal, a data bucket with a normal working status is selected from the first data bucket and the second data bucket as the target data bucket.

在本实现方式中,云平台负责对数据桶进行状态检测,保证工作状态异常的数据桶的IP地址不会被发送至客户端。In this implementation, the cloud platform is responsible for checking the status of the data bucket to ensure that the IP address of the data bucket with abnormal working status will not be sent to the client.

在第一方面的一种可能的实现方式中,根据第一数据桶和第二数据桶的工作状态,从第一数据桶和第二数据桶中选择目标数据桶,包括:选择租户指定的数据桶作为目标数据桶,或者,选择与客户端的物理距离最近的数据桶作为目标数据桶。In a possible implementation of the first aspect, a target data bucket is selected from the first data bucket and the second data bucket according to the working status of the first data bucket and the second data bucket, including: selecting a data bucket specified by the tenant as the target data bucket, or selecting a data bucket that is physically closest to the client as the target data bucket.

在本实现方式中,云平台在确定第一和第二数据桶均正常工作时,可以固定的规则选择数据桶作为目标数据桶。In this implementation, when the cloud platform determines that the first and second data buckets are both working properly, the cloud platform can select a data bucket as the target data bucket according to a fixed rule.

在第一方面的一种可能的实现方式中,该方法还包括获取租户的桶访问策略,桶访问策略指示云平台在确认第一数据桶和第二数据桶的工作状态均正常的情况下,选择与客户端的物理距离最近的数据桶作为目标数据桶,或者,选择租户指定的数据桶作为目标数据桶。In a possible implementation of the first aspect, the method also includes obtaining the tenant's bucket access policy, where the bucket access policy instructs the cloud platform to select the data bucket that is physically closest to the client as the target data bucket when confirming that the working status of the first data bucket and the second data bucket are both normal, or to select the data bucket specified by the tenant as the target data bucket.

在本实现方式中,云平台向租户提供表达入口,租户输入策略以确定第一和第二数据桶均正常工作时,优先以何种规则选择数据桶作为目标数据桶。In this implementation, the cloud platform provides an expression entry for the tenant, and the tenant inputs a strategy to determine which rule is used to select the data bucket as the target data bucket when both the first and second data buckets work normally.

第二方面,本申请提供一种对象存储服务的数据桶管理方法,包括:接收租户输入的数据桶创建指令,数据桶创建指令指示第一区域和第二区域,在第一区域创建第一数据桶,在第二区域创建第二数据桶,其中第一数据桶存储的对象设置为第二数据桶存储的对象的跨区域备份,向租户提供第三数据桶的域名,接收客户端发送的针对第三数据桶的域名的访问请求,根据第一数据桶和第二数据桶的工作状态,从第一数据桶和第二数据桶中选择目标数据桶,向客户端返回目标数据桶的IP地址。In a second aspect, the present application provides a data bucket management method for an object storage service, including: receiving a data bucket creation instruction input by a tenant, the data bucket creation instruction indicating a first region and a second region, creating a first data bucket in the first region, and creating a second data bucket in the second region, wherein the object stored in the first data bucket is set as a cross-region backup of the object stored in the second data bucket, providing the tenant with a domain name of a third data bucket, receiving an access request for the domain name of the third data bucket sent by a client, selecting a target data bucket from the first data bucket and the second data bucket according to the working status of the first data bucket and the second data bucket, and returning the IP address of the target data bucket to the client.

租户通过指定至少两个区域来创建第三数据桶,云平台可在指定的区域分别创建第一和第二桶,并设置数据桶之间互为备份关系,可减轻租户的工作量。The tenant creates a third data bucket by specifying at least two regions. The cloud platform can create the first and second buckets respectively in the specified regions and set up a backup relationship between the data buckets, which can reduce the workload of the tenant.

在第二方面的一种可能的实现方式中,根据第一数据桶和第二数据桶的工作状态,从第一数据桶和第二数据桶中选择目标数据桶,包括:在确认第一数据桶和第二数据桶中的一者的工作状态异常的情况下,从第一数据桶和第二数据桶中选择的工作状态正常的数据桶作为目标数据桶。In a possible implementation of the second aspect, a target data bucket is selected from the first data bucket and the second data bucket according to the working status of the first data bucket and the second data bucket, including: when it is confirmed that the working status of one of the first data bucket and the second data bucket is abnormal, a data bucket with a normal working status is selected from the first data bucket and the second data bucket as the target data bucket.

云平台提供容错功能,云平台在发现数据桶工作状态异常时,直接向客户端返回工作状态正常的数据桶的IP地址,可避免客户端访问到异常的数据桶。The cloud platform provides a fault-tolerant function. When the cloud platform finds that the working status of a data bucket is abnormal, it directly returns the IP address of the data bucket in normal working status to the client, which can prevent the client from accessing the abnormal data bucket.

在第二方面的一种可能的实现方式中,根据第一数据桶和第二数据桶的工作状态,从第二数据桶和第三数据桶中选择目标数据桶,包括:在确认第一数据桶和第二数据桶工作状态均正常的情况下,选择第一数据桶或第二数据桶作为目标数据桶。In a possible implementation of the second aspect, a target data bucket is selected from the second data bucket and the third data bucket according to the working status of the first data bucket and the second data bucket, including: when it is confirmed that the working status of the first data bucket and the second data bucket are normal, selecting the first data bucket or the second data bucket as the target data bucket.

第三方面,本申请提供一种对象存储服务的数据桶管理方法,包括:为租户配置第一数据桶和第二数据桶,第一数据桶设置在第一区域,第二数据桶设置在第二区域,第二数据桶存储的数据对象是第一数据桶存储的数据对象的跨区域备份,接收客户端发送的针对第一数据桶的域名的访问请求,根据第一数据桶和第二数据桶的工作状态,从第一数据桶和第二数据桶中选择目标数据桶,向客户端返回目标数据桶的IP地址。In a third aspect, the present application provides a data bucket management method for an object storage service, including: configuring a first data bucket and a second data bucket for a tenant, the first data bucket being set in a first region, the second data bucket being set in a second region, the data object stored in the second data bucket being a cross-region backup of the data object stored in the first data bucket, receiving an access request for the domain name of the first data bucket sent by a client, selecting a target data bucket from the first data bucket and the second data bucket according to the working status of the first data bucket and the second data bucket, and returning the IP address of the target data bucket to the client.

在本实现方式中,客户端无需改变需访问的域名,租户只需在云平台创建第二数据桶,并向云平台输入桶间跨区域配置指令,云平台获取到客户端发出的针对第一数据桶的域名的访问请求之后,根据第一数据桶和第二数据桶的工作状态向客户端返回工作状态正常数据桶的IP地址,实施例三尤其适用于租户不想在客户端更改已有的数据桶域名为动态桶的域名的场景。In this implementation, the client does not need to change the domain name to be accessed. The tenant only needs to create a second data bucket on the cloud platform and input cross-region configuration instructions between buckets to the cloud platform. After the cloud platform obtains the access request for the domain name of the first data bucket issued by the client, it returns the IP address of the data bucket with normal working status to the client based on the working status of the first data bucket and the second data bucket. Example 3 is particularly suitable for scenarios where the tenant does not want to change the existing data bucket domain name to the dynamic bucket domain name on the client.

在第三方面的一种可能的实现方式中,为租户配置第一数据桶和第二数据桶,包括:接收租户输入的第一数据桶创建指令,第一数据桶创建指令用于指示租户指定的第一区域,根据第一数据桶创建指令在第一区域创建第一数据桶,其中,第一数据桶用于存储租户上传的对象,接收租户输入的第二数据桶创建指令,第二数据桶创建指令用于指示租户指定的第二区域,根据第二数据桶创建指令在第二区域创建第二数据桶。In a possible implementation of the third aspect, a first data bucket and a second data bucket are configured for a tenant, including: receiving a first data bucket creation instruction input by the tenant, the first data bucket creation instruction is used to indicate a first area specified by the tenant, creating a first data bucket in the first area according to the first data bucket creation instruction, wherein the first data bucket is used to store objects uploaded by the tenant, receiving a second data bucket creation instruction input by the tenant, the second data bucket creation instruction is used to indicate a second area specified by the tenant, and creating a second data bucket in the second area according to the second data bucket creation instruction.

在本实现方式中,云平台接收数据桶创建指令并创建第一和第二数据桶,租户可先创建第一和第二数据桶,在需要时再创建第三数据桶的域名,并设置第三数据桶的域名和第一和第二数据桶关联,因此,云平台可提供灵活的桶设置方式,让租户可以在有业务需求时再在已经创建好的多个数据桶的基础上进一步设置域名与多个已经创建好的数据桶关联。In this implementation, the cloud platform receives a data bucket creation instruction and creates a first and second data bucket. The tenant can first create the first and second data buckets, and then create a domain name for the third data bucket when needed, and set the domain name of the third data bucket to associate with the first and second data buckets. Therefore, the cloud platform can provide a flexible bucket setting method, allowing tenants to further set domain names and associate with multiple data buckets that have been created based on the multiple data buckets that have been created when there is a business need.

在第三方面的一种可能的实现方式中,该方法还包括:接收租户输入的桶间跨区域配置指令,桶间跨区域配置指令用于指示第一数据桶作为源桶并且第二数据桶作为目标桶,根据桶间跨区域配置指令将源桶存储的对象跨区域复制至目标桶中。In a possible implementation of the third aspect, the method also includes: receiving an inter-bucket cross-region configuration instruction input by a tenant, the inter-bucket cross-region configuration instruction is used to indicate the first data bucket as a source bucket and the second data bucket as a target bucket, and copying the objects stored in the source bucket across regions to the target bucket according to the inter-bucket cross-region configuration instruction.

在本实现方式中,云平台接收接收租户输入的桶间跨区域配置指令以对数据桶进行跨区域复制,从而实现容灾。In this implementation, the cloud platform receives the inter-bucket cross-region configuration instructions input by the tenant to replicate the data buckets across regions, thereby achieving disaster recovery.

在第三方面的一种可能的实现方式中,根据第一数据桶和第二数据桶的工作状态,从第一数据桶和第二数据桶中选择目标数据桶,包括:在第一数据桶和第二数据桶中的一者的工作状态发生异常的情况下,从第一数据桶和第二数据桶中选择的工作状态正常的数据桶作为目标数据桶。In a possible implementation of the third aspect, a target data bucket is selected from the first data bucket and the second data bucket according to the working status of the first data bucket and the second data bucket, including: when the working status of one of the first data bucket and the second data bucket is abnormal, a data bucket with a normal working status is selected from the first data bucket and the second data bucket as the target data bucket.

在第三方面的一种可能的实现方式中,根据第一数据桶和第二数据桶的工作状态,从第一数据桶和第二数据桶中选择目标数据桶,包括:选择租户指定的数据桶作为目标数据桶,或者,选择与客户端的物理距离最近的数据桶作为目标数据桶。In a possible implementation of the third aspect, a target data bucket is selected from the first data bucket and the second data bucket according to the working status of the first data bucket and the second data bucket, including: selecting a data bucket specified by the tenant as the target data bucket, or selecting a data bucket that is physically closest to the client as the target data bucket.

在本实现方式中,云平台在确定第一和第二数据桶均正常工作时,可以固定的规则选择数据桶作为目标数据桶。In this implementation, when the cloud platform determines that the first and second data buckets are both working properly, the cloud platform can select a data bucket as the target data bucket according to a fixed rule.

在第三方面的一种可能的实现方式中,该方法还包括获取租户的桶访问策略,桶访问策略指示云平台在确认第一数据桶和第二数据桶的工作状态均正常的情况下,选择与客户端的物理距离最近的数据桶作为目标数据桶,或者,选择租户指定的数据桶作为目标数据桶。In a possible implementation of the third aspect, the method also includes obtaining the tenant's bucket access policy, where the bucket access policy instructs the cloud platform to select the data bucket that is physically closest to the client as the target data bucket when confirming that the working status of the first data bucket and the second data bucket are both normal, or to select the data bucket specified by the tenant as the target data bucket.

在本实现方式中,云平台向租户提供表达入口,租户输入策略以确定第一和第二数据桶均正常工作时,优先以何种规则选择数据桶作为目标数据桶。In this implementation, the cloud platform provides an expression entry for the tenant, and the tenant inputs a strategy to determine which rule is used to select the data bucket as the target data bucket when both the first and second data buckets work normally.

第四方面,本申请提供一种云平台,包括:数据桶配置模块,用于为租户配置第一数据桶和第二数据桶,第一数据桶设置在第一区域,第二数据桶设置在第二区域,第二数据桶存储的数据对象是第一数据桶存储的数据对象的跨区域备份,指令接收模块,用于接收租户输入的第三数据桶创建指令,指令处理模块,用于根据第三数据桶创建指令向租户提供第三数据桶的域名,数据桶选择模块,用于接收客户端发送的针对第三数据桶的域名的访问请求,根据第一数据桶和第二数据桶的工作状态,从第一数据桶和第二数据桶中选择目标数据桶,发送模块,用于向客户端返回目标数据桶的IP地址。In a fourth aspect, the present application provides a cloud platform, including: a data bucket configuration module, used to configure a first data bucket and a second data bucket for a tenant, the first data bucket is set in a first area, the second data bucket is set in a second area, the data object stored in the second data bucket is a cross-regional backup of the data object stored in the first data bucket, an instruction receiving module, used to receive a third data bucket creation instruction input by the tenant, an instruction processing module, used to provide the tenant with a domain name of a third data bucket according to the third data bucket creation instruction, a data bucket selection module, used to receive an access request for the domain name of the third data bucket sent by the client, and select a target data bucket from the first data bucket and the second data bucket according to the working status of the first data bucket and the second data bucket, and a sending module, used to return the IP address of the target data bucket to the client.

第四方面或第四方面任意一种实现方式是第一方面或第一方面任意一种实现方式对应的方法实现,第一方面或第一方面任意一种实现方式中的描述适用于第四方面或第四方面任意一种实现方式任意一种实现方式,在此不再赘述。The fourth aspect or any implementation method of the fourth aspect is a method implementation corresponding to the first aspect or any implementation method of the first aspect. The description in the first aspect or any implementation method of the first aspect is applicable to the fourth aspect or any implementation method of the fourth aspect, and will not be repeated here.

第五方面,本申请提供一种云平台,包括:指令接收模块,用于接收租户输入的数据桶创建指令,数据桶创建指令指示第一区域和第二区域,数据桶配置模块,用于在第一区域创建第一数据桶,在第二区域创建第二数据桶,其中第一数据桶存储的对象设置为第二数据桶存储的对象的跨区域备份,域名提供模块,用于向租户提供第三数据桶的域名,数据桶选择模块,用于接收客户端发送的针对第三数据桶的域名的访问请求,根据第一数据桶和第二数据桶的工作状态,从第一数据桶和第二数据桶中选择目标数据桶,发送模块,用于向客户端返回目标数据桶的IP地址。In a fifth aspect, the present application provides a cloud platform, including: an instruction receiving module, used to receive a data bucket creation instruction input by a tenant, the data bucket creation instruction indicates a first region and a second region, a data bucket configuration module, used to create a first data bucket in the first region, and a second data bucket in the second region, wherein the object stored in the first data bucket is set as a cross-region backup of the object stored in the second data bucket, a domain name providing module, used to provide the tenant with the domain name of a third data bucket, a data bucket selection module, used to receive an access request for the domain name of the third data bucket sent by a client, and select a target data bucket from the first data bucket and the second data bucket according to the working status of the first data bucket and the second data bucket, and a sending module, used to return the IP address of the target data bucket to the client.

第五方面或第五方面任意一种实现方式是第二方面或第二方面任意一种实现方式对应的方法实现,第二方面或第二方面任意一种实现方式中的描述适用于第五方面或第五方面任意一种实现方式任意一种实现方式,在此不再赘述。The fifth aspect or any implementation of the fifth aspect is a method implementation corresponding to the second aspect or any implementation of the second aspect. The description in the second aspect or any implementation of the second aspect is applicable to the fifth aspect or any implementation of the fifth aspect, and will not be repeated here.

第六方面,本申请提供一种云平台,包括:数据桶配置模块,用于为租户配置第一数据桶和第二数据桶,第一数据桶设置在第一区域,第二数据桶设置在第二区域,第二数据桶存储的数据对象是第一数据桶存储的数据对象的跨区域备份,数据桶选择模块,用于接收客户端发送的针对第一数据桶的域名的访问请求,根据第一数据桶和第二数据桶的工作状态,从第一数据桶和第二数据桶中选择目标数据桶,发送模块,用于向客户端返回目标数据桶的IP地址。In a sixth aspect, the present application provides a cloud platform, including: a data bucket configuration module, used to configure a first data bucket and a second data bucket for a tenant, the first data bucket is set in a first region, the second data bucket is set in a second region, the data object stored in the second data bucket is a cross-regional backup of the data object stored in the first data bucket, a data bucket selection module, used to receive an access request for the domain name of the first data bucket sent by the client, and select a target data bucket from the first data bucket and the second data bucket according to the working status of the first data bucket and the second data bucket, and a sending module, used to return the IP address of the target data bucket to the client.

第六方面或第六方面任意一种实现方式是第三方面或第三方面任意一种实现方式对应的方法实现,第三方面或第三方面任意一种实现方式中的描述适用于第六方面或第六方面任意一种实现方式任意一种实现方式,在此不再赘述。The sixth aspect or any implementation of the sixth aspect is a method implementation corresponding to the third aspect or any implementation of the third aspect. The description in the third aspect or any implementation of the third aspect is applicable to the sixth aspect or any implementation of the sixth aspect, and will not be repeated here.

第七方面,本申请提供一种计算机设备,计算机设备包括:处理器和存储器,存储器用于存储计算机执行指令,处理器用于执行存储器所存储的计算机执行指令,以使计算机设备实现第一方面及第一方面任一种可能的实现方式所揭示的方法。In a seventh aspect, the present application provides a computer device, comprising: a processor and a memory, the memory being used to store computer execution instructions, and the processor being used to execute the computer execution instructions stored in the memory, so that the computer device implements the method disclosed in the first aspect and any possible implementation manner of the first aspect.

第八方面,本申请一种计算机存储介质,包括计算机可读指令,当计算机可读指令被执行时,实现第一方面及第一方面任一种可能的实现方式所揭示的方法。In an eighth aspect, the present application provides a computer storage medium, comprising computer-readable instructions, which, when executed, implement the method disclosed in the first aspect and any possible implementation manner of the first aspect.

第九方面,本申请一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面及第一方面任一种可能的实现方式所揭示的方法。In a ninth aspect, the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the method disclosed in the first aspect and any possible implementation of the first aspect.

第十方面,本申请一种计算机设备,计算机设备包括:处理器和存储器,存储器用于存储计算机执行指令,处理器用于执行存储器所存储的计算机执行指令,以使计算机设备实现第二方面及第二方面任一种可能的实现方式所揭示的方法。In the tenth aspect, the present application provides a computer device, comprising: a processor and a memory, the memory being used to store computer execution instructions, and the processor being used to execute the computer execution instructions stored in the memory, so that the computer device implements the method disclosed in the second aspect and any possible implementation method of the second aspect.

第十一方面,本申请一种计算机存储介质,包括计算机可读指令,当计算机可读指令被执行时,实现第二方面及第二方面任一种可能的实现方式所揭示的方法。In an eleventh aspect, the present application provides a computer storage medium comprising computer-readable instructions, which, when executed, implement the method disclosed in the second aspect and any possible implementation manner of the second aspect.

第十二方面,本申请一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第二方面及第二方面任一种可能的实现方式所揭示的方法。In a twelfth aspect, the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the method disclosed in the second aspect and any possible implementation of the second aspect.

第十三方面,本申请一种计算机设备,计算机设备包括:处理器和存储器,存储器用于存储计算机执行指令,处理器用于执行存储器所存储的计算机执行指令,以使计算机设备实现第三方面及第三方面任一种可能的实现方式所揭示的方法。In the thirteenth aspect, the present application provides a computer device, which includes: a processor and a memory, the memory being used to store computer execution instructions, and the processor being used to execute the computer execution instructions stored in the memory, so that the computer device implements the method disclosed in the third aspect and any possible implementation method of the third aspect.

第十四方面,本申请一种计算机存储介质,包括计算机可读指令,当计算机可读指令被执行时,实现第三方面及第三方面任一种可能的实现方式所揭示的方法。In a fourteenth aspect, the present application provides a computer storage medium comprising computer-readable instructions, which, when executed, implement the method disclosed in the third aspect and any possible implementation of the third aspect.

第十五方面,本申请一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第三方面及第三方面任一种可能的实现方式所揭示的方法。In a fifteenth aspect, the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the method disclosed in the third aspect and any possible implementation of the third aspect.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

图1是对象存储服务的逻辑架构示意图;FIG1 is a schematic diagram of the logical architecture of an object storage service;

图2是对象存储系统的系统架构示意图;FIG2 is a schematic diagram of the system architecture of the object storage system;

图3是根据本发明实施例的设置有跨区复制服务的对象存储系统的架构示意图;3 is a schematic diagram of the architecture of an object storage system provided with a cross-region replication service according to an embodiment of the present invention;

图4是根据本发明实施例的对象存储系统的数据交互图;FIG4 is a data interaction diagram of an object storage system according to an embodiment of the present invention;

图5是根据本发明实施例的云平台的桶管理方法的流程图;5 is a flow chart of a bucket management method of a cloud platform according to an embodiment of the present invention;

图6a至图6i是根据本发明实施例的云平台提供的控制台配置界面的示意图;6a to 6i are schematic diagrams of a console configuration interface provided by a cloud platform according to an embodiment of the present invention;

图7是根据本发明实施例的云平台的桶管理方法的另一流程图;7 is another flow chart of the bucket management method of the cloud platform according to an embodiment of the present invention;

图8是根据本发明实施例的云平台提供的控制台配置界面的另一示意图;8 is another schematic diagram of a console configuration interface provided by a cloud platform according to an embodiment of the present invention;

图9是根据本发明实施例的云平台的桶管理方法的另一流程图;;FIG9 is another flow chart of a bucket management method of a cloud platform according to an embodiment of the present invention;

图10是根据本发明实施例的云平台提供的控制台配置界面的另一示意图;10 is another schematic diagram of a console configuration interface provided by a cloud platform according to an embodiment of the present invention;

图11是根据本发明实施例的对象存储系统中的数据中心的连接示意图;11 is a schematic diagram of connections of data centers in an object storage system according to an embodiment of the present invention;

图12是根据本发明实施例的存储节点的结构示意图;FIG12 is a schematic diagram of the structure of a storage node according to an embodiment of the present invention;

图13是根据本发明实施例的另一存储节点的结构示意图。FIG. 13 is a schematic diagram of the structure of another storage node according to an embodiment of the present invention.

图14是根据本发明实施例的云平台的装置结构示意图;FIG14 is a schematic diagram of a device structure of a cloud platform according to an embodiment of the present invention;

图15是根据本发明实施例的云平台的另一装置结构示意图;FIG15 is a schematic diagram of another device structure of a cloud platform according to an embodiment of the present invention;

图16是根据本发明实施例的云平台的另一装置结构示意图;FIG16 is a schematic diagram of another device structure of a cloud platform according to an embodiment of the present invention;

图17是根据本发明实施例的计算机设备的装置结构示意图。FIG. 17 is a schematic diagram of the device structure of a computer device according to an embodiment of the present invention.

具体实施方式DETAILED DESCRIPTION

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention will be described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

为了便于理解本申请实施例,首先,对本申请涉及的部分术语进行解释说明。In order to facilitate understanding of the embodiments of the present application, first, some terms involved in the present application are explained.

云平台:可提供与公有云服务相关的页面以供租户远程访问公有云服务,租户可通过预先注册的账号密码在公有云访问页面登录云平台,并在登录成功之后,在公有云访问页面选择并购买对应的公有云服务,例如OBS服务、虚拟机服务、容器服务等,针对OBS服务而言,租户可进一步通过公有云访问页面上提供的配置界面或者应用程序编程接口(ApplicationProgramming Interface,API)对OBS服务进行配置,例如创建桶,配置桶的访问策略,从租户本地的计算机通过互联网上传对象到桶中等等针对桶的操作。Cloud platform: It can provide pages related to public cloud services for tenants to remotely access public cloud services. Tenants can log in to the cloud platform on the public cloud access page using a pre-registered account and password. After a successful login, they can select and purchase the corresponding public cloud services on the public cloud access page, such as OBS services, virtual machine services, container services, etc. For OBS services, tenants can further configure OBS services through the configuration interface or application programming interface (API) provided on the public cloud access page, such as creating buckets, configuring bucket access policies, uploading objects to buckets from the tenant's local computer via the Internet, and other bucket-specific operations.

桶(Bucket):是OBS中存储对象的容器,对象存储提供了基于桶和对象的扁平化存储方式,桶中的所有对象都处于同一逻辑层级,去除了文件系统中的多层级树形目录结构。每个桶都有自己的存储类别、访问权限、所属区域等属性,租户可以在不同区域(下文会详细介绍)创建不同存储类别和访问权限的桶,并配置更多高级属性来满足不同场景的存储诉求。Bucket: A container for storing objects in OBS. Object storage provides a flat storage method based on buckets and objects. All objects in a bucket are at the same logical level, eliminating the multi-level tree directory structure in the file system. Each bucket has its own storage category, access rights, region, and other attributes. Tenants can create buckets with different storage categories and access rights in different regions (described in detail below), and configure more advanced attributes to meet the storage requirements of different scenarios.

在OBS中,桶名是全局唯一的且不能修改,即租户创建的桶不能与自己已创建的其他桶名称相同,也不能与其他租户创建的桶名称相同。桶所属的区域在创建后也不能修改。每个桶在创建时都会生成默认的桶访问列表ACL(Access Control List),ACL列表的每项包含了对被授权租户授予什么样的权限,如读取权限、写入权限等。租户只有对桶有相应的权限,才可以对桶进行操作,如创建、删除、显示、设置桶ACL等。In OBS, bucket names are globally unique and cannot be modified. That is, a bucket created by a tenant cannot have the same name as other buckets that the tenant has created, nor can it have the same name as buckets created by other tenants. The region to which a bucket belongs cannot be modified after it is created. When each bucket is created, a default bucket access list ACL (Access Control List) is generated. Each item in the ACL list contains what permissions are granted to the authorized tenant, such as read permissions, write permissions, etc. Tenants can only operate on buckets, such as create, delete, display, and set bucket ACLs, if they have the corresponding permissions on the bucket.

租户可使用账号在云平台登录,通过云平台提供的公有云访问页面上的配置界面或者API可创建多个桶,每个桶中存放的对象的数量和大小总和没有限制,租户不需要考虑数据的可扩展性,OBS是基于REST(表述性状态传递,Representational State Transfer)风格和超文本传送协议(hypertext transport protocol,HTTP)和超文本传输安全协议(Hypertext TransferProtocol Secure,HTTPS)协议的服务,租户可以通过统一资源定位符(Uniform ResourceLocator,URL,本发明实施例又称为域名)来定位桶资源,OBS中桶和对象的关系如图1所示,图1是对象存储服务的逻辑架构示意图,如图1所述,每个桶可以包括多个对象(下文详细介绍),桶之间的对象相互隔离,租户通过操作客户端远程购买对象存储服务,对象存储服务向租户提供桶,具体而言,可以提供桶的域名,租户可操作客户端访问该域名,从而可向桶中上传数据,并且,可从桶中下载数据,其中,上传的数据以对象方式存储在桶中。Tenants can log in to the cloud platform using their accounts, and can create multiple buckets through the configuration interface or API on the public cloud access page provided by the cloud platform. There is no limit on the total number and size of objects stored in each bucket, and tenants do not need to consider the scalability of data. OBS is a service based on the REST (Representational State Transfer) style and the hypertext transport protocol (HTTP) and the hypertext transfer protocol secure (HTTPS) protocols. Tenants can locate bucket resources through the Uniform Resource Locator (URL, also referred to as the domain name in the embodiment of the present invention). The relationship between buckets and objects in OBS is shown in Figure 1. Figure 1 is a schematic diagram of the logical architecture of the object storage service. As shown in Figure 1, each bucket can include multiple objects (described in detail below), and the objects between buckets are isolated from each other. Tenants purchase the object storage service remotely by operating the client, and the object storage service provides buckets to tenants. Specifically, the domain name of the bucket can be provided, and the tenant can operate the client to access the domain name, so that data can be uploaded to the bucket and downloaded from the bucket, wherein the uploaded data is stored in the bucket in the form of objects.

静态桶:在本发明实施例中,静态桶是指上述对象存储服务提供的桶。Static bucket: In the embodiment of the present invention, the static bucket refers to the bucket provided by the above object storage service.

动态桶:在本发明实施例中,动态桶是一个虚拟的桶,动态桶的作用是用于关联多个静态桶,动态桶设置有动态桶的域名,客户端访问动态桶的域名之后,云平台可向客户端返回多个静态桶中的一个静态桶的IP地址。Dynamic bucket: In the embodiment of the present invention, the dynamic bucket is a virtual bucket. The function of the dynamic bucket is to associate multiple static buckets. The dynamic bucket is set with the domain name of the dynamic bucket. After the client accesses the domain name of the dynamic bucket, the cloud platform can return the IP address of a static bucket among multiple static buckets to the client.

值得注意的是,本发明所述的静态桶和动态桶,可称为数据桶,静态桶和动态桶分别是数据桶的一种具体实现方式,其中“静态”是指该数据桶设置于物理存储设备例如下文所述的物理磁盘,可用于存储对象“动态”是指该数据桶没有设置于物理存储设备,动态桶不用于存储对象,仅提供域名,以供客户端访问域名,从而根据域名访问到对应的静态桶中存储的对象。对象(Object):是OBS中数据存储的基本单位,一个对象实际是一个文件的数据与其相关属性信息(元数据)的集合体。租户上传至OBS的数据都以对象的形式保存在桶中。对象包括了键值Key,源数据Metadata,数据Data三部分。Key:键值,即对象的名称,例如为经过UTF-8编码的长度大于0且不超过1024的字符序列,一个桶里的每个对象拥有唯一的对象键值。Metadata:元数据,即对象的描述信息,包括系统元数据和租户元数据,这些元数据以键值对(Key-Value)的形式被上传到对象存储服务中。系统元数据由对象存储服务自动产生,在处理对象数据时使用,包括日期Date,内容长度Content-length,上次修改时间Last-modify,MD5加密内容Content-MD5等。租户元数据由租户在上传对象到桶时指定,是租户自定义的对象描述信息。Data:数据,即租户上传的数据内容。It is worth noting that the static bucket and dynamic bucket described in the present invention can be called data buckets. The static bucket and dynamic bucket are respectively a specific implementation of the data bucket, where "static" means that the data bucket is set on a physical storage device, such as the physical disk described below, and can be used to store objects. "Dynamic" means that the data bucket is not set on a physical storage device, and the dynamic bucket is not used to store objects. It only provides a domain name for the client to access the domain name, so as to access the object stored in the corresponding static bucket according to the domain name. Object: It is the basic unit of data storage in OBS. An object is actually a collection of data of a file and its related attribute information (metadata). The data uploaded by the tenant to OBS is stored in the bucket in the form of an object. The object includes three parts: key value Key, source data Metadata, and data Data. Key: Key value, that is, the name of the object, for example, a character sequence with a length greater than 0 and not more than 1024 encoded by UTF-8. Each object in a bucket has a unique object key value. Metadata: Metadata, that is, the description information of the object, including system metadata and tenant metadata. These metadata are uploaded to the object storage service in the form of key-value pairs. System metadata is automatically generated by the object storage service and is used when processing object data. It includes date, content length, last modification time, MD5 encrypted content, etc. Tenant metadata is specified by the tenant when uploading an object to a bucket. It is the tenant's customized object description information. Data: Data refers to the data content uploaded by the tenant.

通常,可将对象等同于文件来进行管理,但是为了使租户更方便进行管理数据,对象存储服务提供了一种方式模拟文件夹:通过在对象的名称中增加“/”,例如“test/123.jpg”,此时,“test”就被模拟成了一个文件夹,“123.jpg”则模拟成“test”文件夹下的文件名了,而实际上,对象名称(Key)是“test/123.jpg”,数据Data为123.jpg文件本身。Usually, objects can be managed as files. However, to make it easier for tenants to manage data, the object storage service provides a way to simulate folders: by adding "/" to the name of the object, for example, "test/123.jpg", "test" is simulated as a folder, and "123.jpg" is simulated as the file name under the "test" folder. In fact, the object name (Key) is "test/123.jpg" and the data is the 123.jpg file itself.

租户上传对象时,可以指定对象的存储类别,若不指定,默认与桶的存储类别一致。上传后,对象的存储类别可以修改,桶可通过客户端访问,客户端可例如为租户的在本地使用的浏览器或云平台提供的专用客户端,举例而言,租户可以通过设置在本地计算机中的浏览器访问桶,在输入账号验证通过后,租户可使用浏览器上传对象到桶中,或对桶中的对象进行删除等操作,其中,本地计算机接入互联网中。When a tenant uploads an object, he or she can specify the storage category of the object. If not specified, the default is the same as the storage category of the bucket. After uploading, the storage category of the object can be modified. The bucket can be accessed through a client, which can be, for example, a browser used locally by the tenant or a dedicated client provided by the cloud platform. For example, the tenant can access the bucket through a browser set in the local computer. After entering the account and passing the verification, the tenant can use the browser to upload objects to the bucket, or delete objects in the bucket, etc., where the local computer is connected to the Internet.

进一步,客户端还可以设置在公有云云服务提供的虚拟机、容器以及裸金属服务器中,可通过公有云内部网络访问桶,Furthermore, the client can also be set up in the virtual machine, container, or bare metal server provided by the public cloud service, and access the bucket through the public cloud internal network.

值得注意的是,任何可通过互联网或公有云内部网络访问桶的设备,均可以称为本发明实施例的客户端。It is worth noting that any device that can access a bucket through the Internet or a public cloud internal network can be referred to as a client in an embodiment of the present invention.

区域(Region):区域用于描述数据中心的地理位置,租户可以在特定的区域创建公有云云服务提供的云资源。选择区域时,租户需要考虑以下几个因素:Region: Region is used to describe the geographical location of a data center. Tenants can create cloud resources provided by public cloud services in a specific region. When selecting a region, tenants need to consider the following factors:

地理位置:一般情况下,建议创建云资源的租户就近选择靠近使用云资源的目标租户的区域,这样可以减少网络时延,提高访问速度。各个区域例如为华南区、华北区、华东区、西南区等等,举例而言,当租户选择华南区,租户创建的云资源(例如本发明实施例涉及的静态桶)设置在华南区的数据中心。在非洲地区有业务的租户,可以选择“非洲”区域。在欧洲地区有业务的租户,可以选择“欧洲”区域。Geographical location: Generally, it is recommended that tenants who create cloud resources select a region close to the target tenants who use the cloud resources, so as to reduce network latency and increase access speed. The various regions include South China, North China, East China, Southwest China, etc. For example, when a tenant selects South China, the cloud resources created by the tenant (such as the static bucket involved in the embodiment of the present invention) are set in the data center in South China. Tenants who have business in Africa can select the "Africa" region. Tenants who have business in Europe can select the "Europe" region.

价格:不同区域的云资源价格可能会不一样。Price: The price of cloud resources in different regions may vary.

在本发明实施例中,租户可在不同的区域创建桶,同时将对象上传到不同桶进行多区域备份,可有效防止一个区域的数据中心出现停电、断网或其他突发情况不能工作造成桶中的对象不能正常访问的问题发生。In an embodiment of the present invention, tenants can create buckets in different regions and upload objects to different buckets for multi-region backup, which can effectively prevent the problem of objects in the bucket being unable to be accessed normally due to power outages, network outages or other emergencies in a data center in one region.

对象存储设备(Object Storage Device,OSD),对象存储系统的基本存储单元,设置在物理磁盘上,具体为物理磁盘的固定大小的存储空间,对象存储系统将多个存储节点的物理磁盘以OSD形式进行管理。Object Storage Device (OSD), the basic storage unit of the object storage system, is set on the physical disk, specifically a fixed-size storage space of the physical disk. The object storage system manages the physical disks of multiple storage nodes in the form of OSD.

以下请参见图2,图2是一种对象存储系统的架构示意图。图2所示实施例中,对象存储系统包括设置在区域1的数据中心1、设置在区域2的数据中心2以及云平台10,在该架构中,租户可预先在云平台10创建静态桶1和静态桶2,静态桶1设置在区域1,静态桶2设置在区域2,静态桶1的域名为bucket1.region1.com,静态桶1的IP地址为IP1,静态桶2的域名为bucket2.region2.com,静态桶2的IP地址为IP2,进一步,租户可设置静态桶1中的对象跨区域复制到静态桶2中进行备份。Please refer to Figure 2 below, which is a schematic diagram of the architecture of an object storage system. In the embodiment shown in Figure 2, the object storage system includes a data center 1 set in region 1, a data center 2 set in region 2, and a cloud platform 10. In this architecture, the tenant can create static bucket 1 and static bucket 2 in the cloud platform 10 in advance. Static bucket 1 is set in region 1, and static bucket 2 is set in region 2. The domain name of static bucket 1 is bucket1.region1.com, and the IP address of static bucket 1 is IP1. The domain name of static bucket 2 is bucket2.region2.com, and the IP address of static bucket 2 is IP2. Further, the tenant can set the objects in static bucket 1 to be copied across regions to static bucket 2 for backup.

其中,静态桶1的域名bucket1.region1.com中bucket1为静态桶1的桶名,region1为静态桶1所在的区域1。类似地,静态桶2的域名bucket2.region2.com中bucket2为静态桶2的桶名,region2为静态桶2所在的区域2。In the domain name bucket1.region1.com of static bucket 1, bucket1 is the bucket name of static bucket 1, and region1 is region 1 where static bucket 1 is located. Similarly, in the domain name bucket2.region2.com of static bucket 2, bucket2 is the bucket name of static bucket 2, and region2 is region 2 where static bucket 2 is located.

具体地,云平台10在静态桶1创建完成之后,在域名服务节点30注册域名bucket1.region1.com与IP1的对应关系1,并在静态桶2创建完成之后,在域名服务节点30注册域名bucket2.region2.com与IP2的对应关系2。Specifically, after the static bucket 1 is created, the cloud platform 10 registers the correspondence 1 between the domain name bucket1.region1.com and IP1 in the domain name service node 30, and after the static bucket 2 is created, the cloud platform 10 registers the correspondence 2 between the domain name bucket2.region2.com and IP2 in the domain name service node 30.

可选地,域名服务节点30可由至少一个顶级域名服务节点和多个设置在不同区域的二级域名服务节点共同实现,在上述注册域名过程中,顶级域名服务节点记录region1和设置在区域1的二级域名服务节点1的对应关系,记录region2和设置在区域2的二级域名服务节点2的对应关系,二级域名服务节点1记录bucket1和IP1的对应关系,二级域名服务节点2记录bucket2和IP2的对应关系。其中,云平台10可设置在数据中心1或数据中心2中,数据中心1和数据中心2为云服务提供方所属的数据中心,进一步,云平台10还可以设置在云服务提供方的其他数据中心中。Optionally, the domain name service node 30 can be implemented by at least one top-level domain name service node and multiple second-level domain name service nodes set in different regions. In the above domain name registration process, the top-level domain name service node records the correspondence between region1 and the second-level domain name service node 1 set in region 1, and records the correspondence between region2 and the second-level domain name service node 2 set in region 2. The second-level domain name service node 1 records the correspondence between bucket1 and IP1, and the second-level domain name service node 2 records the correspondence between bucket2 and IP2. Among them, the cloud platform 10 can be set in data center 1 or data center 2. Data center 1 and data center 2 are data centers belonging to the cloud service provider. Further, the cloud platform 10 can also be set in other data centers of the cloud service provider.

基于图2所示架构,客户端20访问静态桶1的过程如下:Based on the architecture shown in FIG2 , the process of client 20 accessing static bucket 1 is as follows:

步骤1:客户端20发送针对域名bucket1.region1.com的访问请求至域名服务节点30。Step 1: The client 20 sends an access request for the domain name bucket1.region1.com to the domain name service node 30 .

步骤2:域名服务节点30根据对应关系1获取IP1,将IP1发送至客户端20。Step 2: The domain name service node 30 obtains IP1 according to the correspondence 1, and sends IP1 to the client 20.

可选地,在域名服务节点30由至少一个顶级域名服务节点和多个设置在不同区域的二级域名服务节点共同实现的情况下,顶级域名服务节点根据预先记录的region1和设置在区域1的二级域名服务节点1的对应关系,向二级域名服务节点1发送该访问请求,二级域名服务节点1根据预先记录的bucket1和IP1的对应关系,将IP1发送至客户端20。Optionally, when the domain name service node 30 is jointly implemented by at least one top-level domain name service node and multiple second-level domain name service nodes set in different regions, the top-level domain name service node sends the access request to the second-level domain name service node 1 according to the pre-recorded correspondence between region1 and the second-level domain name service node 1 set in region 1, and the second-level domain name service node 1 sends IP1 to the client 20 according to the pre-recorded correspondence between bucket1 and IP1.

步骤3:客户端20根据IP1访问静态桶1。Step 3: Client 20 accesses static bucket 1 according to IP1.

具体地,客户端20发送针对IP1的访问请求至静态桶1,IP报文的目的地址为IP1,源地址是客户端20的IP地址,载荷(payload)携带针对静态桶1的读/写请求。Specifically, client 20 sends an access request for IP1 to static bucket 1, the destination address of the IP message is IP1, the source address is the IP address of client 20, and the payload carries a read/write request for static bucket 1.

在本实施例中,若静态桶1发生故障,客户端20不能访问静态桶1中存储的对象,由于静态桶2中存储的对象是静态桶1的跨区域复制备份,因此作为灾备方案,客户端20可访问静态桶2中存储的对象,从而保证客户端20在静态桶1发生故障的情况下也能从静态桶2中访问到所需对象。In this embodiment, if static bucket 1 fails, client 20 cannot access the objects stored in static bucket 1. Since the objects stored in static bucket 2 are cross-regional replication backups of static bucket 1, as a disaster recovery solution, client 20 can access the objects stored in static bucket 2, thereby ensuring that client 20 can access the required objects from static bucket 2 even if static bucket 1 fails.

具体地,租户可操作客户端20发送针对域名bucket2.region2.com的访问请求至域名服务节点30,域名服务节点30根据对应关系2获取IP2,将IP2发送至客户端20,客户端根据IP2访问静态桶2。Specifically, the tenant can operate the client 20 to send an access request for the domain name bucket2.region2.com to the domain name service node 30. The domain name service node 30 obtains IP2 according to the correspondence 2, sends IP2 to the client 20, and the client accesses the static bucket 2 according to IP2.

可选地,在域名服务节点30由至少一个顶级域名服务节点和多个设置在不同区域的二级域名服务节点共同实现的情况下,顶级域名服务节点根据预先记录的region2和设置在区域2的二级域名服务节点2的对应关系,向二级域名服务节点2发送该访问请求,二级域名服务节点1根据预先记录的bucket2和IP2的对应关系,将IP2发送至客户端20。Optionally, when the domain name service node 30 is jointly implemented by at least one top-level domain name service node and multiple second-level domain name service nodes set in different regions, the top-level domain name service node sends the access request to the second-level domain name service node 2 according to the pre-recorded correspondence between region2 and the second-level domain name service node 2 set in region 2, and the second-level domain name service node 1 sends IP2 to the client 20 according to the pre-recorded correspondence between bucket2 and IP2.

以上方案中,即便设置了作为静态桶1的跨区域复制备份的静态桶2,在静态桶1发生故障的情况下,例如数据中心1停电,静态桶1所在的存储节点(下文会详细介绍)宕机或其他影响静态桶1正常工作的情况,使用客户端20的租户可明显地感受到静态桶1的数据不能访问,例如客户端20发生卡顿,租户需重新设置客户端20发送针对另一个域名bucket2.region2.com的访问请求,如此一来,客户端20卡顿可能会造成客户端20所在的操作系统死机,且租户需手动设置客户端20,通过人工记忆更改要访问的域名(从bucket1.region1.com改为bucket2.region2.com),如此一来,会造成租户体验不佳。In the above scheme, even if static bucket 2 is set up as a cross-regional replication backup of static bucket 1, in the event of a failure in static bucket 1, such as a power outage in data center 1, a downtime of the storage node where static bucket 1 is located (described in detail below), or other situations that affect the normal operation of static bucket 1, tenants using client 20 can clearly feel that the data in static bucket 1 cannot be accessed. For example, if client 20 is stuck, the tenant needs to reset client 20 to send an access request for another domain name bucket2.region2.com. In this way, the stuck client 20 may cause the operating system where client 20 is located to crash, and the tenant needs to manually set client 20 and change the domain name to be accessed (from bucket1.region1.com to bucket2.region2.com) by manual memory. This will result in a poor tenant experience.

举例而言,假设客户端20设置在一个用于提供购物网站的服务器中,该服务器设置有购物网站,需将租户访问购物网站的日志数据定期发送到静态桶1中以对象形式进行存储,并且静态桶1的对象定期或实时地复制到静态桶2中进行跨区域备份,当静态桶1故障时,客户端20不能往静态桶1发送日志数据,此时客户端20需发送针对bucket2.region2.com的域名访问请求,从域名服务节点30获取到静态桶2的IP2,根据IP2访问静态桶2。For example, assume that client 20 is set in a server for providing a shopping website. The server is provided with a shopping website. The log data of tenants visiting the shopping website needs to be regularly sent to static bucket 1 for storage in the form of objects, and the objects of static bucket 1 are regularly or in real time copied to static bucket 2 for cross-regional backup. When static bucket 1 fails, client 20 cannot send log data to static bucket 1. At this time, client 20 needs to send a domain name access request for bucket2.region2.com, obtain IP2 of static bucket 2 from domain name service node 30, and access static bucket 2 according to IP2.

可选地,客户端20可预先从域名服务节点30获取到静态桶2的IP2,在静态桶1故障时,无需再次访问域名服务节点30,直接从IP1切换到IP2来访问静态桶2。Optionally, the client 20 may obtain IP2 of the static bucket 2 from the domain name service node 30 in advance. When the static bucket 1 fails, there is no need to access the domain name service node 30 again, and the static bucket 2 can be accessed directly by switching from IP1 to IP2.

无论采用上述何种方式,客户端20均需关注静态桶1的工作状态,在其工作状态异常时,再切换访问静态桶2,上述操作需由租户人工操作,用户体验不佳,且会造成延时,影响购物网站的正常运行。Regardless of which of the above methods is used, the client 20 needs to pay attention to the working status of the static bucket 1. When its working status is abnormal, it switches to access the static bucket 2. The above operations need to be manually performed by the tenant, which results in a poor user experience and will cause delays, affecting the normal operation of the shopping website.

针对上述技术问题,本发明实施例提供了一种对象存储系统,具体可参见图3,图3是根据本发明实施例的对象存储系统的架构示意图,与图2所示系统相比,图3的云平台10提供动态桶配置接口,以根据租户的请求创建设置有域名(下文称为动态桶的域名,例如为bucket3.obs.huaweicloud.com)的动态桶,并设置动态桶与租户指定的静态桶1和静态桶2关联,并且,云平台10将bucket3.obs.huaweicloud.com与自身IP地址IP0的对应关系3注册到域名服务节点30,其中,动态桶是虚拟的桶,其桶名和动态桶的域名记录在云平台10中,云平台10进一步记录动态桶的桶名与静态桶1和静态桶2的桶名、所在区域和IP地址之间的对应关系,例如可记录表1:In view of the above technical problems, an embodiment of the present invention provides an object storage system, which can be specifically referred to in FIG3 . FIG3 is a schematic diagram of the architecture of the object storage system according to an embodiment of the present invention. Compared with the system shown in FIG2 , the cloud platform 10 of FIG3 provides a dynamic bucket configuration interface to create a dynamic bucket with a domain name (hereinafter referred to as the domain name of the dynamic bucket, such as bucket3.obs.huaweicloud.com) according to the request of the tenant, and set the dynamic bucket to be associated with the static bucket 1 and the static bucket 2 specified by the tenant, and the cloud platform 10 registers the correspondence 3 between bucket3.obs.huaweicloud.com and its own IP address IP0 to the domain name service node 30, wherein the dynamic bucket is a virtual bucket, and its bucket name and the domain name of the dynamic bucket are recorded in the cloud platform 10. The cloud platform 10 further records the correspondence between the bucket name of the dynamic bucket and the bucket names, regions and IP addresses of static buckets 1 and 2, for example, Table 1 can be recorded:

值得注意的是,云平台10也可以通过其他方式记录动态桶的桶名与静态桶1和静态桶2的桶名、所在区域和IP地址之间的对应关系,本发明实施例对此不作限定。It is worth noting that the cloud platform 10 may also record the correspondence between the bucket name of the dynamic bucket and the bucket names, regions and IP addresses of static bucket 1 and static bucket 2 in other ways, and the embodiment of the present invention is not limited to this.

并且,云平台10在创建动态桶之后,开启针对静态桶1和静态桶2的状态检测。Furthermore, after creating the dynamic bucket, the cloud platform 10 starts status detection for the static bucket 1 and the static bucket 2 .

具体可结合图4对图3所示的对象存储系统的工作流程进行具体说明,图4是根据本发明实施例的对象存储系统的数据交互图,其中,图4所示的方法假设租户通过登录云平台10并通过云平台10创建好静态桶1和静态桶2、动态桶、并配置好动态桶与静态桶1和静态桶2相关联,如图4所示,对象存储系统的工作流程如下:The workflow of the object storage system shown in FIG. 3 can be specifically described in conjunction with FIG. 4 . FIG. 4 is a data interaction diagram of the object storage system according to an embodiment of the present invention. The method shown in FIG. 4 assumes that the tenant logs in to the cloud platform 10 and creates static buckets 1 and 2, dynamic buckets through the cloud platform 10, and configures the dynamic buckets to be associated with static buckets 1 and 2. As shown in FIG. 4 , the workflow of the object storage system is as follows:

步骤S201:云平台10启动针对静态桶1的状态检测。Step S201: the cloud platform 10 starts status detection for the static bucket 1.

其中,云平台10定期(例如每间隔10ms)向静态桶1(具体而言为向静态桶1所在的存储节点下文会详细介绍)发送状态检测请求,在获取到静态桶1所在的存储节点的应答的情况下,则确认静态桶1的状态正常,反之则确认其发生故障。Among them, the cloud platform 10 periodically (for example, every 10ms) sends a status detection request to the static bucket 1 (specifically, to the storage node where the static bucket 1 is located, which will be introduced in detail below). If a response is obtained from the storage node where the static bucket 1 is located, it is confirmed that the status of the static bucket 1 is normal, otherwise it is confirmed that it has failed.

举例而言,状态检测请求例如为心跳报文,云平台10定期发送心跳报文至静态桶1所在的存储节点,存储节点每接收到一个心跳报文,就返回一个应答报文,云平台10在检测到对应的应答报文时,确认静态桶1正常,在检测不到对应的应答报文时,确认其发生故障(实际应用中可以设置阈值,在检测不到预设数量的心跳报文对应的应答报文时,才确认静态桶1发生故障)。For example, the status detection request is a heartbeat message. The cloud platform 10 periodically sends a heartbeat message to the storage node where the static bucket 1 is located. Each time the storage node receives a heartbeat message, it returns a response message. When the cloud platform 10 detects the corresponding response message, it confirms that the static bucket 1 is normal. When the corresponding response message is not detected, it is confirmed that it has failed (in actual applications, a threshold can be set. When the response message corresponding to a preset number of heartbeat messages is not detected, it is confirmed that the static bucket 1 has failed).

步骤S202:云平台10启动针对静态桶2的状态检测。Step S202: the cloud platform 10 starts status detection for the static bucket 2.

静态桶2的检测方式与步骤S201类似,于此不作赘述。在步骤S201和S202中,云平台记录静态桶1和静态桶2的工作状态,并根据最新的查询结果更新已经记录的工作状态。The detection method of static bucket 2 is similar to step S201, and will not be described in detail here. In steps S201 and S202, the cloud platform records the working status of static bucket 1 and static bucket 2, and updates the recorded working status according to the latest query result.

步骤S203:客户端20发送针对动态桶的域名bucket3.obs.huaweicloud.com的访问请求1至域名服务节点30。Step S203: the client 20 sends an access request 1 for the domain name bucket3.obs.huaweicloud.com of the dynamic bucket to the domain name service node 30 .

在本步骤中,租户可操作客户端20发送该访问请求,客户端20上提供用户交互接口,通过用户交互接口接收租户输入的动态桶的域名,从而触发客户端20启动针对动态桶的域名的访问请求的发送动作。In this step, the tenant can operate the client 20 to send the access request. The client 20 provides a user interaction interface, and receives the domain name of the dynamic bucket input by the tenant through the user interaction interface, thereby triggering the client 20 to start sending the access request for the domain name of the dynamic bucket.

值得注意的是,该访问请求的源IP地址是客户端20的IP地址,例如为114.115.0.2。It is worth noting that the source IP address of the access request is the IP address of the client 20, for example, 114.115.0.2.

步骤S204:域名服务节点30转发该访问请求1至云平台10。Step S204 : the domain name service node 30 forwards the access request 1 to the cloud platform 10 .

在本步骤之前,云平台10创建动态桶过程中,在域名服务节点30注册云平台10的IP地址IP0与动态桶的域名bucket3.obs.huaweicloud.com的对应关系3,域名服务节点30在接收到客户端20发送的针对bucket3.obs.huaweicloud.com的访问请求1时,根据对应关系3确定IP0,将该访问请求1转发到IP0对应的云平台10。Prior to this step, during the process of cloud platform 10 creating a dynamic bucket, a correspondence 3 between the IP address IP0 of cloud platform 10 and the domain name bucket3.obs.huaweicloud.com of the dynamic bucket is registered in domain name service node 30. When domain name service node 30 receives an access request 1 for bucket3.obs.huaweicloud.com sent by client 20, it determines IP0 according to correspondence 3 and forwards the access request 1 to cloud platform 10 corresponding to IP0.

步骤S205:云平台10确认静态桶1的IP1和静态桶2的IP2,根据桶访问策略向客户端20返回IP1。Step S205: The cloud platform 10 confirms the IP1 of the static bucket 1 and the IP2 of the static bucket 2, and returns IP1 to the client 20 according to the bucket access policy.

具体地,云平台10根据动态桶的域名bucket3.obs.huaweicloud.com确定动态桶(其桶名为bucket3),查询表1,确认动态桶与静态桶1和静态桶2关联,从表1中确定静态桶1的IP1和静态桶2的IP2,跟根据步骤S201和S202中记录的静态桶1和静态桶2的工作状态,选择工作状态正常的静态桶的IP地址,并将该IP地址返回至客户端20。Specifically, the cloud platform 10 determines the dynamic bucket (whose bucket name is bucket3) based on the domain name of the dynamic bucket bucket3.obs.huaweicloud.com, queries Table 1, confirms that the dynamic bucket is associated with static bucket 1 and static bucket 2, determines the IP1 of static bucket 1 and the IP2 of static bucket 2 from Table 1, and selects the IP address of the static bucket with normal working status according to the working status of static bucket 1 and static bucket 2 recorded in steps S201 and S202, and returns the IP address to the client 20.

其中,云平台10根据访问请求1携带的源IP地址确认客户端20的IP地址,并向该IP地址发送携带有工作状态正常的静态桶的IP地址的报文。The cloud platform 10 confirms the IP address of the client 20 according to the source IP address carried in the access request 1, and sends a message carrying the IP address of a static bucket in normal working status to the IP address.

举例而言,在静态桶1的工作状态正常,静态桶2的工作状态异常的情况下,选择静态桶1的IP地址IP1作为目标IP地址返回至客户端20。For example, when the working status of static bucket 1 is normal and the working status of static bucket 2 is abnormal, the IP address IP1 of static bucket 1 is selected as the target IP address and returned to the client 20 .

在静态桶2的工作状态正常,静态桶1的工作状态异常的情况下,选择静态桶2的IP地址IP2作为目标IP地址返回至客户端20。When the working status of static bucket 2 is normal and the working status of static bucket 1 is abnormal, the IP address IP2 of static bucket 2 is selected as the target IP address and returned to the client 20 .

进一步,在云平台10在检测到静态桶1的工作状态和静态桶2的工作状态均正常的情况下,优先选择静态桶1的IP地址IP1作为目标IP地址返回至客户端20。Further, when the cloud platform 10 detects that the working status of static bucket 1 and the working status of static bucket 2 are both normal, the IP address IP1 of static bucket 1 is preferentially selected as the target IP address and returned to the client 20 .

在云平台10在检测到静态桶1的工作状态和静态桶2的工作状态均正常的情况下,优先选择静态桶2的IP地址IP2作为目标IP地址返回至客户端20。When the cloud platform 10 detects that the working status of static bucket 1 and the working status of static bucket 2 are both normal, the IP address IP2 of static bucket 2 is preferentially selected as the target IP address and returned to the client 20 .

上述方案可确保在一个静态桶发生故障时,客户端20可访问作为该静态桶的备份的另一静态桶,即便一个静态桶发生故障,该故障对于客户端20来说是透明的,不会影响到客户端20的正常工作状态。The above solution can ensure that when a static bucket fails, the client 20 can access another static bucket that serves as a backup of the static bucket. Even if a static bucket fails, the failure is transparent to the client 20 and will not affect the normal working status of the client 20.

并且,当所有静态桶均没发生故障时,要访问哪个静态桶可根据租户的需求选择,进一步,在1个动态桶关联多于两个静态桶的场景下,租户还可以对访问的静态桶设置优先级排列顺序。Moreover, when all static buckets are not faulty, the static bucket to be accessed can be selected according to the tenant's needs. Furthermore, in the scenario where one dynamic bucket is associated with more than two static buckets, the tenant can also set a priority order for the static buckets to be accessed.

云平台10可向租户提供选项或输入接口,根据租户的输入选择当所有静态桶均没发生故障时,优先返回哪个静态桶的IP地址。The cloud platform 10 may provide the tenant with options or an input interface, and select, based on the tenant's input, which static bucket's IP address should be returned first when all static buckets are not faulty.

在云平台10在检测到静态桶1的工作状态和静态桶2的工作状态均正常的情况下,在静态桶1和静态桶2中选择目标静态桶,将目标静态桶的IP地址作为目标IP地址返回至客户端20,其中目标静态桶所在区域是区域1和区域2中与客户端20的物理距离最近的区域。When the cloud platform 10 detects that the working status of static bucket 1 and the working status of static bucket 2 are both normal, it selects a target static bucket from static bucket 1 and static bucket 2, and returns the IP address of the target static bucket as the target IP address to the client 20, where the area where the target static bucket is located is the area in area 1 and area 2 that is physically closest to the client 20.

举例而言,云平台10可记录预设IP地址段范围所在的区域与区域1的物理距离1以及预设IP地址段范围所在的区域与区域2的物理距离2,在确认客户端20的IP地址(该IP地址携带于步骤S203的访问请求1的源IP地址中)属于所述预设IP地址段范围的情况下,从静态桶1和静态桶2中选择位于物理距离1和物理距离2中值最小者对应的区域中的静态桶作为目标静态桶。For example, the cloud platform 10 may record the physical distance 1 between the area where the preset IP address segment range is located and area 1, as well as the physical distance 2 between the area where the preset IP address segment range is located and area 2. When it is confirmed that the IP address of the client 20 (the IP address carried in the source IP address of the access request 1 in step S203) belongs to the preset IP address segment range, a static bucket located in the area corresponding to the smallest value of physical distance 1 and physical distance 2 is selected from static bucket 1 and static bucket 2 as the target static bucket.

进一步,可参见下表2:Further, see Table 2 below:

云平台10预先记录表2,并分析客户端20的IP地址114.115.0.2位于范围段114.115.0.0/16中,获取该范围段到区域1物理距离18,和该范围段到区域2的物理距离7,云平台10比较18和7的大小之后,确定客户端20到区域2的物理距离最短,将静态桶2作为目标静态桶,返回静态桶2的IP2至客户端20,从而使得客户端20可以就近访问区域2的静态桶2,可缩短网络传输时间,提高租户体验。The cloud platform 10 records Table 2 in advance, and analyzes that the IP address 114.115.0.2 of the client 20 is located in the range segment 114.115.0.0/16, and obtains the physical distance 18 from the range segment to area 1, and the physical distance 7 from the range segment to area 2. After comparing the sizes of 18 and 7, the cloud platform 10 determines that the physical distance from the client 20 to area 2 is the shortest, and uses the static bucket 2 as the target static bucket, and returns the IP2 of the static bucket 2 to the client 20, so that the client 20 can access the static bucket 2 in area 2 nearby, which can shorten the network transmission time and improve the tenant experience.

上述方案可保证所有静态桶均没发生故障时,客户端与要访问的静态桶的物理距离最近,可缩短网络传输距离。The above solution can ensure that when all static buckets are not faulty, the physical distance between the client and the static bucket to be accessed is the shortest, which can shorten the network transmission distance.

云平台10可向租户提供选项或输入接口,根据租户的输入选择当所有静态桶均没发生故障时,优先返回与客户端20物理距离最近的静态桶的IP地址。The cloud platform 10 may provide the tenant with options or an input interface, and based on the tenant's input selection, when all static buckets are not faulty, the IP address of the static bucket that is closest to the client 20 in physical distance is returned preferentially.

在本步骤中,假设静态桶1的工作状态异常,静态桶2的工作状态正常,此时云平台10返回静态桶2的IP地址IP2至客户端20。In this step, it is assumed that the working status of static bucket 1 is abnormal and the working status of static bucket 2 is normal. At this time, the cloud platform 10 returns the IP address IP2 of static bucket 2 to the client 20.

步骤S206:客户端20发送访问请求2至静态桶2。Step S206 : the client 20 sends an access request 2 to the static bucket 2 .

由于在步骤S205中,客户端20从云平台10获取到静态桶2的IP2,客户端20发送针对IP2的访问请求2至静态桶2。Since in step S205 , the client 20 obtains the IP2 of the static bucket 2 from the cloud platform 10 , the client 20 sends an access request 2 for the IP2 to the static bucket 2 .

访问请求2的目的IP地址是IP2,例如可携带有待上传数据或下载数据指令。The destination IP address of access request 2 is IP2, which may carry, for example, data to be uploaded or instructions for downloading data.

步骤S207:静态桶2根据访问请求2返回应答。在访问请求1携带有待上传数据的情况下,静态桶2接收客户端20的待上传数据并存储,桶访问请求携带下载数据指令的情况下,静态桶2将下载数据指令指定的对象发送至客户端20。Step S207: Static bucket 2 returns a response according to access request 2. In the case where access request 1 carries data to be uploaded, static bucket 2 receives and stores the data to be uploaded from client 20. In the case where the bucket access request carries a download data instruction, static bucket 2 sends the object specified by the download data instruction to client 20.

值得注意的是,为了便于说明,在本步骤中,静态桶2作为主体返回应答至客户端20,在实际应用中,实际上是由静态桶2所在的存储节点作为主体返回应答至客户端20,下文将会对存储节点和静态桶的关系作出详细说明。It is worth noting that for the sake of ease of explanation, in this step, static bucket 2 returns a response to client 20 as the main body. In actual applications, it is actually the storage node where static bucket 2 is located that returns a response to client 20 as the main body. The relationship between the storage node and the static bucket will be explained in detail below.

以上实施例中,假设了静态桶1、静态桶2、动态桶都在云平台10中设置好,上述实施例所揭示的系统基于设置好静态桶1、静态桶2、动态桶运行,从而实现了客户端只需访问动态桶的域名,即可获取到合适的静态桶的IP地址,然而静态桶1、静态桶2、动态桶在本发明实施例中均可由云平台10开放给租户自行选择创建及配置,使得租户可根据自身需求管理静态桶,下文对上述配置过程作出具体说明。In the above embodiments, it is assumed that static bucket 1, static bucket 2, and dynamic bucket are all set up in the cloud platform 10. The system disclosed in the above embodiments is based on the operation of static bucket 1, static bucket 2, and dynamic bucket. Therefore, the client only needs to access the domain name of the dynamic bucket to obtain the IP address of the appropriate static bucket. However, static bucket 1, static bucket 2, and dynamic bucket in the embodiments of the present invention can be opened by the cloud platform 10 to tenants for their own selection, creation, and configuration, so that tenants can manage static buckets according to their own needs. The above configuration process is specifically described below.

桶管理方法Bucket Management Method

为更一步清楚说明上述由云平台10实施的桶管理方法,可参考实施例一:To further explain the bucket management method implemented by the cloud platform 10, please refer to Example 1:

具体可参见图5和图6a至6i,图5是根据本发明实施例的云平台的桶管理方法的流程图,图6a至图6i是根据本发明实施例的云平台提供的控制台配置界面的示意图,如图5所示,该方法包括以下步骤:For details, please refer to FIG. 5 and FIG. 6a to FIG. 6i. FIG. 5 is a flow chart of a bucket management method of a cloud platform according to an embodiment of the present invention. FIG. 6a to FIG. 6i are schematic diagrams of a console configuration interface provided by a cloud platform according to an embodiment of the present invention. As shown in FIG. 5, the method includes the following steps:

步骤S301:接收租户输入的静态桶创建指令1,根据静态桶创建指令1在区域1创建静态桶1。Step S301: receiving a static bucket creation instruction 1 input by a tenant, and creating a static bucket 1 in region 1 according to the static bucket creation instruction 1.

举例而言,云平台10可通过配置界面或API接收租户输入的静态桶创建指令1。该静态桶创建指令用于指示租户指定的区域1和桶名bucket1,云平台10根据静态桶创建指令1在区域1创建静态桶1。For example, the cloud platform 10 may receive a static bucket creation instruction 1 input by a tenant through a configuration interface or an API. The static bucket creation instruction is used to indicate the region 1 and bucket name bucket1 specified by the tenant, and the cloud platform 10 creates a static bucket 1 in region 1 according to the static bucket creation instruction 1.

在本实施例中,以配置界面实现方式进行详细说明。In this embodiment, a configuration interface implementation is used for detailed description.

可结合图6a进行参考,如图6a,云平台10提供控制台配置界面1,租户在选择控制台配置界面1中的“静态桶创建”选项时,云平台10提供图6b所示的控制台配置界面2,租户输入要创建的静态桶名称“bucket1”,输入桶类型“静态桶”,并输入静态桶的区域“区域1”,然后点击“确认”选项,此时云平台10根据租户输入的上述静态桶创建指令在区域1的数据中心1(如图2所示)中创建桶名为“bucket1”的静态桶1,对应地,云平台10为静态桶1配置域名bucket1.region1.com和IP1。Reference can be made in conjunction with Figure 6a. As shown in Figure 6a, the cloud platform 10 provides a console configuration interface 1. When the tenant selects the "Static Bucket Creation" option in the console configuration interface 1, the cloud platform 10 provides a console configuration interface 2 shown in Figure 6b. The tenant enters the name of the static bucket to be created "bucket1", enters the bucket type "static bucket", and enters the region of the static bucket "region 1", and then clicks the "Confirm" option. At this time, the cloud platform 10 creates a static bucket 1 with the bucket name "bucket1" in the data center 1 of region 1 (as shown in Figure 2) according to the above-mentioned static bucket creation instruction entered by the tenant. Correspondingly, the cloud platform 10 configures the domain name bucket1.region1.com and IP1 for static bucket 1.

进一步,租户在创建静态桶1后,向静态桶1上传对象,其中该对象是租户上传的数据。Further, after creating static bucket 1, the tenant uploads an object to static bucket 1, where the object is the data uploaded by the tenant.

步骤S302:接收租户输入的静态桶创建指令2,根据静态桶创建指令2在区域2创建静态桶2。Step S302: receiving a static bucket creation instruction 2 input by the tenant, and creating a static bucket 2 in area 2 according to the static bucket creation instruction 2.

举例而言,云平台10可通过配置界面或API接收租户输入的静态桶创建指令2。该静态桶创建指令2用于指示租户指定的区域2和桶名bucket2,云平台10根据静态桶创建指令2在区域2创建静态桶2。For example, the cloud platform 10 may receive a static bucket creation instruction 2 input by a tenant through a configuration interface or an API. The static bucket creation instruction 2 is used to indicate the region 2 and bucket name bucket2 specified by the tenant, and the cloud platform 10 creates a static bucket 2 in region 2 according to the static bucket creation instruction 2.

类似地,租户可在图6c所示的控制台配置界面3创建静态桶2,云平台10根据租户输入的静态桶创建指令2在区域2的数据中心2(如图2所示)中创建桶名为“bucket2”的静态桶2,对应地,云平台10为静态桶2配置域名bucket2.region2.com和IP2。Similarly, the tenant can create a static bucket 2 in the console configuration interface 3 shown in Figure 6c. The cloud platform 10 creates a static bucket 2 with the bucket name "bucket2" in the data center 2 of region 2 (as shown in Figure 2) according to the static bucket creation instruction 2 input by the tenant. Correspondingly, the cloud platform 10 configures the domain name bucket2.region2.com and IP2 for the static bucket 2.

进一步,在创建静态桶过程中,云平台10可在图2所示的域名服务节点30注册bucket1.region1.com和IP1的对应关系1以及bucket2.region2.com和IP2的对应关系2。Furthermore, in the process of creating a static bucket, the cloud platform 10 may register the correspondence 1 between bucket1.region1.com and IP1 and the correspondence 2 between bucket2.region2.com and IP2 in the domain name service node 30 shown in FIG. 2 .

在步骤S301和S302中,云平台10为租户配置静态桶1和静态桶2。In steps S301 and S302 , the cloud platform 10 configures static bucket 1 and static bucket 2 for the tenant.

步骤S303:云平台10接收租户输入的桶间跨区域配置指令,根据桶间跨区域配置指令将源桶存储的对象跨区域复制至目标桶中。Step S303: the cloud platform 10 receives the inter-bucket cross-region configuration instruction input by the tenant, and copies the object stored in the source bucket to the target bucket across regions according to the inter-bucket cross-region configuration instruction.

其中,云平台10可通过配置界面或API接收租户输入的桶间跨区域配置指令,桶间跨区域配置指令用于指示静态桶1作为源桶并且静态桶2作为目标桶。The cloud platform 10 may receive inter-bucket cross-region configuration instructions input by the tenant through a configuration interface or an API, where the inter-bucket cross-region configuration instructions are used to indicate static bucket 1 as a source bucket and static bucket 2 as a target bucket.

举例而言,租户在选择控制台配置界面1中的“跨区域复制策略创建”选项时,云平台10提供图6e所示的控制台配置界面4,租户在控制台配置界面4的“源桶”选项输入静态桶1的名称“bucket1”,在控制台配置界面4的“目标桶”选项输入静态桶2的名称“bucket2”,并点击“确认”选项,此时,云平台10将静态桶1的对象跨区域以预定时间间隔定期同步复制到静态桶2中,使得静态桶1存储的对象和静态桶2存储的对象完全一致。For example, when the tenant selects the "Cross-region replication policy creation" option in the console configuration interface 1, the cloud platform 10 provides the console configuration interface 4 shown in Figure 6e. The tenant enters the name of static bucket 1 "bucket1" in the "Source bucket" option of the console configuration interface 4, enters the name of static bucket 2 "bucket2" in the "Target bucket" option of the console configuration interface 4, and clicks the "Confirm" option. At this time, the cloud platform 10 will periodically synchronize and replicate the objects of static bucket 1 to static bucket 2 across regions at predetermined time intervals, so that the objects stored in static bucket 1 and the objects stored in static bucket 2 are completely consistent.

每当静态桶1被上传新的对象,或对象被修改,该新的对象或被修改的对象可被云平台10同步存储至静态桶2中。Whenever a new object is uploaded to static bucket 1 or an object is modified, the new object or the modified object can be synchronously stored in static bucket 2 by the cloud platform 10 .

步骤S304:云平台10接收租户输入的动态桶创建指令,根据动态桶创建指令创建动态桶的域名,并将动态桶的域名与设置在区域1的静态桶1和设置在区域2的静态桶2关联。Step S304: the cloud platform 10 receives the dynamic bucket creation instruction input by the tenant, creates a domain name of the dynamic bucket according to the dynamic bucket creation instruction, and associates the domain name of the dynamic bucket with static bucket 1 set in area 1 and static bucket 2 set in area 2.

其中,云平台10可通过配置界面或API接收租户输入的动态桶创建指令,动态桶创建指令用于指示云平台10创建设置有动态桶的域名的动态桶,并将动态桶的域名与设置在区域1的静态桶1和设置在区域2的静态桶2关联。Among them, the cloud platform 10 can receive the dynamic bucket creation instruction input by the tenant through the configuration interface or API, and the dynamic bucket creation instruction is used to instruct the cloud platform 10 to create a dynamic bucket with a domain name of the dynamic bucket, and associate the domain name of the dynamic bucket with the static bucket 1 set in area 1 and the static bucket 2 set in area 2.

举例而言,可参见图6g所示的控制台配置界面5,租户输入动态桶的桶名“bucket3”,并在“关联桶”输入框输入设置与其关联的静态桶1的名称“bucket1”和静态桶2的名称“bucket2”,并点击“确认”选项,从而完成动态桶的创建。For example, referring to the console configuration interface 5 shown in Figure 6g, the tenant enters the bucket name "bucket3" of the dynamic bucket, and enters the name "bucket1" of the static bucket 1 and the name "bucket2" of the static bucket 2 associated with it in the "Associated Bucket" input box, and clicks the "Confirm" option to complete the creation of the dynamic bucket.

可选地,动态桶创建指令还可指定在静态桶1和静态桶2的工作状态均正常的情况下,让客户端优先访问静态桶1还是静态桶2,或者还可以指定根据静态桶与客户端的距离选择让客户端访问距离最短的静态桶。Optionally, the dynamic bucket creation instruction may also specify whether the client should access static bucket 1 or static bucket 2 first when both static bucket 1 and static bucket 2 are working normally, or may specify whether the client should access the static bucket with the shortest distance based on the distance between the static bucket and the client.

具体可结合图6h所示的控制台配置界面1,租户点击“桶访问策略创建”选项之后,云平台10提供图6i所示的控制台配置界面6,租户在该界面的“桶名称”输入框输入动态桶的名称“bucket3”,并在桶访问策略输入框选择“就近策略”选项,从而完成策略配置。Specifically, in combination with the console configuration interface 1 shown in Figure 6h, after the tenant clicks the "Bucket Access Policy Creation" option, the cloud platform 10 provides the console configuration interface 6 shown in Figure 6i. The tenant enters the name of the dynamic bucket "bucket3" in the "Bucket Name" input box of the interface, and selects the "Nearby Policy" option in the bucket access policy input box to complete the policy configuration.

值得注意的是,图6i所示界面并没有示出其他选项,例如优先访问bucket1,或优先访问bucket2,该些选项也是桶访问策略提供给租户的选项。It is worth noting that the interface shown in FIG. 6i does not show other options, such as giving priority to accessing bucket 1 or giving priority to accessing bucket 2, which are also options provided to tenants by the bucket access policy.

步骤S305:云平台10检测静态桶1和静态桶2的工作状态。Step S305: the cloud platform 10 detects the working status of static bucket 1 and static bucket 2.

其中,云平台10可定期地检测静态桶1和静态桶2的工作状态,记录静态桶1和静态桶2的工作状态,并定期更新所记录的工作状态。The cloud platform 10 may periodically detect the working status of the static bucket 1 and the static bucket 2, record the working status of the static bucket 1 and the static bucket 2, and periodically update the recorded working status.

步骤S305:云平台10接收客户端发送的针对动态桶的域名的访问请求1,根据工作状态向客户端发送与动态桶的域名关联的静态桶1的IP1或与桶域名关联的静态桶2的IP2。Step S305: the cloud platform 10 receives an access request 1 for the domain name of the dynamic bucket sent by the client, and sends the IP1 of the static bucket 1 associated with the domain name of the dynamic bucket or the IP2 of the static bucket 2 associated with the bucket domain name to the client according to the working status.

举例而言,云平台10根据访问请求1确定与动态桶关联的IP1和IP2(如图3及对应实施例所述),云平台10在静态桶1和静态桶2中的一者的工作状态发生异常的情况下,向客户端20发送从静态桶1和静态桶2中选择的工作状态正常的静态桶的IP地址。For example, the cloud platform 10 determines IP1 and IP2 associated with the dynamic bucket based on the access request 1 (as described in Figure 3 and the corresponding embodiment). When the working status of one of the static bucket 1 and the static bucket 2 is abnormal, the cloud platform 10 sends the IP address of the static bucket with normal working status selected from the static bucket 1 and the static bucket 2 to the client 20.

在动态桶创建指令还包括租户选择或输入的桶访问策略时,云平台10在确认静态桶1和静态桶2的工作状态均正常的情况下,向客户端20发送与租户指定的静态桶1或静态桶2的IP地址。When the dynamic bucket creation instruction also includes the bucket access policy selected or input by the tenant, the cloud platform 10 sends the IP address of the static bucket 1 or static bucket 2 specified by the tenant to the client 20 after confirming that the working status of the static bucket 1 and the static bucket 2 are normal.

可选地,在桶访问策略为“就近策略”时,云平台在确认静态桶1和静态桶2的工作状态均正常的情况下,向客户端20发送与所述客户端的物理距离最近的静态桶的IP地址。Optionally, when the bucket access policy is the "proximity policy", the cloud platform sends the IP address of the static bucket that is physically closest to the client 20 after confirming that the working status of static bucket 1 and static bucket 2 are both normal.

综上,本发明实施例的云平台10提供输入接口,例如配置界面或API,以供租户对桶进行管理,从而满足租户根据自身需求实现桶中数据跨区域备份的需求,并且,租户还可以通过创建动态桶,使其与至少两个静态桶管理,客户端只需访问动态桶的域名,就可以寻址到合适的静态桶,从而访问到所需访问的数据,客户端无需知道静态桶的工作状态是否正常,通过云平台10检测静态桶的工作状态,租户无需关心哪个静态桶的工作状态异常,因此对于租户来说更加便利。In summary, the cloud platform 10 of the embodiment of the present invention provides an input interface, such as a configuration interface or API, for tenants to manage buckets, thereby meeting the tenants' needs to implement cross-regional backup of data in buckets according to their own needs. In addition, tenants can also create dynamic buckets to manage them with at least two static buckets. The client only needs to access the domain name of the dynamic bucket to address the appropriate static bucket and access the required data. The client does not need to know whether the working status of the static bucket is normal. The cloud platform 10 detects the working status of the static bucket, and the tenant does not need to care about which static bucket has an abnormal working status, so it is more convenient for the tenant.

实施一由租户分别创建静态桶和动态桶,并由租户设置动态桶与静态桶关联,但在桶管理方法的其他实现方式中,与实施例一需创建静态桶不同,租户无需先在云平台10创建静态桶,直接通过在云平台10创建动态桶,并指定至少两个区域,云平台10可在后台创建多个与动态桶关联的静态桶,并设置动态桶的域名,且无需为静态桶设置静态桶的域名。In implementation one, the tenant creates a static bucket and a dynamic bucket respectively, and sets the dynamic bucket to be associated with the static bucket. However, in other implementations of the bucket management method, unlike the need to create a static bucket in implementation one, the tenant does not need to create a static bucket on the cloud platform 10 first. Instead, the tenant can directly create a dynamic bucket on the cloud platform 10 and specify at least two regions. The cloud platform 10 can create multiple static buckets associated with the dynamic bucket in the background and set the domain name of the dynamic bucket, and there is no need to set the domain name of the static bucket for the static bucket.

为更一步清楚说明由云平台10实施的桶管理方法,可参考实施例二:To further explain the bucket management method implemented by the cloud platform 10, please refer to Example 2:

请参见图7,图7是根据本发明实施例的桶管理方法的另一流程图,如图7所示,该方法包括以下步骤:Please refer to FIG. 7, which is another flow chart of the bucket management method according to an embodiment of the present invention. As shown in FIG. 7, the method includes the following steps:

S401:云平台10接收租户输入的动态桶创建指令,动态桶创建指令用于指定动态桶名称bucket3,及动态桶的关联区域,例如区域1和区域2。云平台10根据动态桶创建指令创建动态桶的域名bucket3.obs.huaweicloud.com,在区域1创建静态桶1,在区域2创建静态桶2,并将动态桶的域名bucket3.obs.huaweicloud.com与设置在区域1的静态桶1和设置在区域2的静态桶2关联,且静态桶2被云平台10设置为静态桶1的跨区域备份桶,即静态桶2存储的对象是静态桶1存储的对象的跨区域备份。S401: The cloud platform 10 receives a dynamic bucket creation instruction input by a tenant, and the dynamic bucket creation instruction is used to specify the dynamic bucket name bucket3 and the associated regions of the dynamic bucket, such as region 1 and region 2. The cloud platform 10 creates a domain name bucket3.obs.huaweicloud.com of the dynamic bucket according to the dynamic bucket creation instruction, creates a static bucket 1 in region 1, creates a static bucket 2 in region 2, and associates the domain name bucket3.obs.huaweicloud.com of the dynamic bucket with the static bucket 1 set in region 1 and the static bucket 2 set in region 2, and the static bucket 2 is set by the cloud platform 10 as a cross-region backup bucket of the static bucket 1, that is, the objects stored in the static bucket 2 are cross-region backups of the objects stored in the static bucket 1.

每当静态桶1被上传新的对象,或对象被修改,该新的对象或被修改的对象可被云平台同步存储至静态桶2中。Whenever a new object is uploaded to static bucket 1 or an object is modified, the new object or the modified object can be synchronously stored in static bucket 2 by the cloud platform.

并且,云平台10在域名服务节点30注册bucket3.obs.huaweicloud.com与云平台的IP0的对应关系。In addition, the cloud platform 10 registers the correspondence between bucket3.obs.huaweicloud.com and IP0 of the cloud platform in the domain name service node 30 .

其中,在静态桶1创建过程中,云平台10为静态桶1设置IP1,且不设置静态桶的域名,在静态桶2创建过程中,云平台10为静态桶2设置IP2,但不设置静态桶的域名和。Among them, during the creation process of static bucket 1, cloud platform 10 sets IP1 for static bucket 1, and does not set the domain name of the static bucket. During the creation process of static bucket 2, cloud platform 10 sets IP2 for static bucket 2, but does not set the domain name and of the static bucket.

S402:云平台10检测静态桶1和静态桶2的工作状态。S402: The cloud platform 10 detects the working status of static bucket 1 and static bucket 2.

本步骤与实施例一类似,于此不作赘述。This step is similar to that of the first embodiment and will not be described in detail here.

S403:云平台10接收客户端20发送的针对动态桶的域名的访问请求,根据工作状态向客户端发送与动态桶的域名关联的静态桶1的IP1或与动态桶的域名关联的静态桶2的IP2。S403: The cloud platform 10 receives an access request for the domain name of the dynamic bucket sent by the client 20, and sends the IP1 of the static bucket 1 associated with the domain name of the dynamic bucket or the IP2 of the static bucket 2 associated with the domain name of the dynamic bucket to the client according to the working status.

在本步骤中,客户端20发送针对动态桶的域名bucket3.obs.huaweicloud.com的访问请求至域名服务节点30,域名服务节点30根据bucket3.obs.huaweicloud.com与云平台的IP0的对应关系将该访问请求转发至云平台10。云平台10根据动态桶的域名bucket3.obs.huaweicloud.com确定静态桶1的IP1和静态桶2的IP2。In this step, the client 20 sends an access request for the domain name bucket3.obs.huaweicloud.com of the dynamic bucket to the domain name service node 30. The domain name service node 30 forwards the access request to the cloud platform 10 according to the correspondence between bucket3.obs.huaweicloud.com and IP0 of the cloud platform. The cloud platform 10 determines IP1 of static bucket 1 and IP2 of static bucket 2 according to the domain name bucket3.obs.huaweicloud.com of the dynamic bucket.

其中,在确认静态桶1和静态桶2中的一者的工作状态异常的情况下,云平台10向客户端20发送从静态桶1和静态桶2中选择的工作状态正常的静态桶的IP地址;在确认静态桶1和静态桶2的工作状态均正常的情况下,向客户端20发送静态桶1或静态桶2的IP地址。Among them, when it is confirmed that the working status of one of static bucket 1 and static bucket 2 is abnormal, the cloud platform 10 sends the IP address of the static bucket with normal working status selected from static bucket 1 and static bucket 2 to the client 20; when it is confirmed that the working status of static bucket 1 and static bucket 2 are both normal, the IP address of static bucket 1 or static bucket 2 is sent to the client 20.

可选地,在实施例2中,在确认静态桶1和静态桶2的工作状态均正常的情况下,云平台10可向客户端20随机地发送静态桶1或静态桶2的IP地址。Optionally, in Embodiment 2, when confirming that the working statuses of static bucket 1 and static bucket 2 are both normal, the cloud platform 10 may randomly send the IP address of static bucket 1 or static bucket 2 to the client 20 .

在本实施例中,云平台10可通过配置界面或API接收租户输入的动态桶创建指令,该动态桶指令还用于指示租户选择的区域1和区域2,以配置界面为例,可结合图8一并参考,在本实施例中,租户在如图6f点击“动态桶创建”选项之后,云平台10提供图8所示的控制台配置界面7,租户在输入要创建的动态桶名称之后,还可以进一步选择或输入多个区域,例如区域1和区域2,然后点击“确认”,云平台10根据上述动态桶创建指令在区域1创建静态桶1,在区域2创建静态桶2,静态桶1和静态桶2设置有IP1和IP2,但无需设置静态桶的域名,且云平台10只需在域名服务节点30中注册动态桶的域名与云平台的IP0的对应关系。In this embodiment, the cloud platform 10 can receive the dynamic bucket creation instruction input by the tenant through the configuration interface or API. The dynamic bucket instruction is also used to indicate the area 1 and area 2 selected by the tenant. Taking the configuration interface as an example, it can be referred to in conjunction with Figure 8. In this embodiment, after the tenant clicks the "Dynamic Bucket Creation" option as shown in Figure 6f, the cloud platform 10 provides a console configuration interface 7 shown in Figure 8. After the tenant enters the name of the dynamic bucket to be created, the tenant can further select or enter multiple areas, such as area 1 and area 2, and then click "Confirm". The cloud platform 10 creates static bucket 1 in area 1 and static bucket 2 in area 2 according to the above dynamic bucket creation instruction. Static bucket 1 and static bucket 2 are set with IP1 and IP2, but there is no need to set the domain name of the static bucket, and the cloud platform 10 only needs to register the correspondence between the domain name of the dynamic bucket and the IP0 of the cloud platform in the domain name service node 30.

在实施例一和实施例二中,租户需在云平台10创建动态桶,从而获得动态桶的域名,但是,在另外一些场景中,若租户已经创建了静态桶1,且客户端20已经设置为固定访问静态桶1的域名,而租户不想将客户端20的访问域名进行更改,此时可使用下文所介绍的桶管理方法的实施例三的方案,在实施例三中,租户无需创建静态桶,只需创建静态桶2,并向云平台10输入桶间跨区复制指令,此时云平台10根据桶间跨区复制指令将静态桶1的对象跨区域复制到动态桶2中,并静态桶1和静态桶2的工作状态,根据工作状态向客户端20返回静态桶1或静态桶2的IP地址。实施例三适用于租户不想更改已有的静态桶的域名为动态桶的域名的场景。In the first and second embodiments, the tenant needs to create a dynamic bucket on the cloud platform 10 to obtain the domain name of the dynamic bucket. However, in other scenarios, if the tenant has created a static bucket 1 and the client 20 has been set to a fixed domain name for accessing the static bucket 1, and the tenant does not want to change the domain name for accessing the client 20, the solution of the third embodiment of the bucket management method described below can be used. In the third embodiment, the tenant does not need to create a static bucket, but only needs to create a static bucket 2, and input the inter-bucket cross-region replication instruction to the cloud platform 10. At this time, the cloud platform 10 copies the objects of the static bucket 1 to the dynamic bucket 2 across regions according to the inter-bucket cross-region replication instruction, and returns the IP address of the static bucket 1 or the static bucket 2 to the client 20 according to the working status of the static bucket 1 and the static bucket 2. The third embodiment is suitable for the scenario where the tenant does not want to change the domain name of the existing static bucket to the domain name of the dynamic bucket.

具体可参见图9,图9是根据本发明实施例的桶管理方法的另一流程图,如图9所示,该方法包括以下步骤:For details, please refer to FIG. 9 , which is another flow chart of the bucket management method according to an embodiment of the present invention. As shown in FIG. 9 , the method includes the following steps:

步骤S501:云平台10接收租户输入的静态桶创建指令1,根据静态桶创建指令1在区域1创建静态桶1,静态桶创建指令1用于指示租户指定的区域1和桶名bucket1。该静态桶1设置有桶名bucket1,静态桶的域名bucket1.region1.com和IP1。Step S501: The cloud platform 10 receives the static bucket creation instruction 1 input by the tenant, and creates a static bucket 1 in region 1 according to the static bucket creation instruction 1, where the static bucket creation instruction 1 is used to indicate the region 1 and bucket name bucket 1 specified by the tenant. The static bucket 1 is set with a bucket name bucket 1, a domain name bucket 1.region 1.com and an IP 1 of the static bucket.

云平台10在域名服务节点30注册静态桶的域名bucket1.region1.com和IP1的对应关系1。The cloud platform 10 registers the correspondence 1 between the domain name bucket1.region1.com of the static bucket and IP1 in the domain name service node 30 .

举例而言,云平台10可通过配置界面或API接收租户输入的静态桶创建指令1。该静态桶创建指令用于指示租户指定的区域1,云平台10根据静态桶创建指令1在区域1创建静态桶1。For example, the cloud platform 10 may receive a static bucket creation instruction 1 input by a tenant through a configuration interface or an API. The static bucket creation instruction is used to indicate a region 1 specified by the tenant, and the cloud platform 10 creates a static bucket 1 in region 1 according to the static bucket creation instruction 1.

在本实施例中,以配置界面实现方式进行详细说明。In this embodiment, a configuration interface implementation is used for detailed description.

可结合图6a进行参考,如图6a,云平台10提供控制台配置界面1,租户在选择控制台配置界面1中的“静态桶创建”选项时,云平台10提供图6b所示的控制台配置界面2,租户输入要创建的静态桶名称“bucket1”,输入桶类型“静态桶”,并输入静态桶的区域“区域1”,然后点击“确认”选项,此时云平台10根据租户输入的上述静态桶创建指令在区域1的数据中心1(如图2所示)中创建桶名为“bucket1”的静态桶1,对应地,云平台10为静态桶1配置域名bucket1.region1.com和IP1。Reference can be made in conjunction with Figure 6a. As shown in Figure 6a, the cloud platform 10 provides a console configuration interface 1. When the tenant selects the "Static Bucket Creation" option in the console configuration interface 1, the cloud platform 10 provides a console configuration interface 2 shown in Figure 6b. The tenant enters the name of the static bucket to be created "bucket1", enters the bucket type "static bucket", and enters the region of the static bucket "region 1", and then clicks the "Confirm" option. At this time, the cloud platform 10 creates a static bucket 1 with the bucket name "bucket1" in the data center 1 of region 1 (as shown in Figure 2) according to the above-mentioned static bucket creation instruction entered by the tenant. Correspondingly, the cloud platform 10 configures the domain name bucket1.region1.com and IP1 for static bucket 1.

云平台10可在图2所示的域名服务节点30注册bucket1.region1.com和IP1的对应关系1。The cloud platform 10 may register the correspondence 1 between bucket1.region1.com and IP1 at the domain name service node 30 shown in FIG. 2 .

并且,租户在创建好静态桶1之后,向静态桶1上传对象,使得静态桶1存储该对象,且云平台10可向租户提供上传接口,于此不作赘述。Furthermore, after creating the static bucket 1, the tenant uploads the object to the static bucket 1 so that the static bucket 1 stores the object, and the cloud platform 10 can provide the tenant with an upload interface, which will not be described in detail here.

步骤S502:云平台10接收租户输入的静态桶创建指令2,根据静态桶创建指令2在区域2创建静态桶2。静态桶创建指令2用于指示租户指定的区域2和桶名bucket2。该静态桶2设置有桶名bucket2,静态桶的域名bucket2.region2.com和IP2。Step S502: The cloud platform 10 receives the static bucket creation instruction 2 input by the tenant, and creates a static bucket 2 in region 2 according to the static bucket creation instruction 2. The static bucket creation instruction 2 is used to indicate the region 2 and bucket name bucket 2 specified by the tenant. The static bucket 2 is set with a bucket name bucket 2, a domain name bucket 2.region 2.com and an IP 2 of the static bucket.

举例而言,云平台10可通过配置界面或API接收租户输入的静态桶创建指令2。该静态桶创建指令2用于指示租户指定的区域2和桶名bucket2,云平台10根据静态桶创建指令2在区域2创建静态桶2。For example, the cloud platform 10 may receive a static bucket creation instruction 2 input by a tenant through a configuration interface or an API. The static bucket creation instruction 2 is used to indicate the region 2 and bucket name bucket2 specified by the tenant, and the cloud platform 10 creates a static bucket 2 in region 2 according to the static bucket creation instruction 2.

类似地,租户可在图6c所示的控制台配置界面3创建静态桶2,云平台10根据租户输入的静态桶创建指令2在区域2的数据中心2(如图2所示)中创建桶名为“bucket2”的静态桶2,对应地,云平台10为静态桶2配置域名bucket2.region2.com和IP2。Similarly, the tenant can create a static bucket 2 in the console configuration interface 3 shown in Figure 6c. The cloud platform 10 creates a static bucket 2 with the bucket name "bucket2" in the data center 2 of region 2 (as shown in Figure 2) according to the static bucket creation instruction 2 input by the tenant. Correspondingly, the cloud platform 10 configures the domain name bucket2.region2.com and IP2 for the static bucket 2.

进一步,在创建静态桶过程中,云平台10可在图2所示的域名服务节点30注册bucket2.region2.com和IP2的对应关系2。Furthermore, in the process of creating a static bucket, the cloud platform 10 may register the correspondence 2 between bucket2.region2.com and IP2 in the domain name service node 30 shown in FIG. 2 .

步骤S503:云平台10接收租户输入的桶间跨区域配置指令,桶间跨区域配置指令用于指示静态桶1为源桶,静态桶2为目标桶,云平台10根据桶间跨区域配置指令将源桶存储的对象跨区域复制至目标桶中。Step S503: The cloud platform 10 receives the inter-bucket cross-region configuration instruction input by the tenant. The inter-bucket cross-region configuration instruction is used to indicate that static bucket 1 is the source bucket and static bucket 2 is the target bucket. The cloud platform 10 copies the objects stored in the source bucket to the target bucket across regions according to the inter-bucket cross-region configuration instruction.

每当静态桶1被上传新的对象,或对象被修改,该新的对象或被修改的对象可被云平台同步存储至静态桶2中。Whenever a new object is uploaded to static bucket 1 or an object is modified, the new object or the modified object can be synchronously stored in static bucket 2 by the cloud platform.

云平台10可通过配置界面或API接收租户输入的桶间跨区域配置指令,举例而言,在租户点击图6d所示的“跨区域复制策略创建”选项后,云平台10提供图10所示的控制台配置界面8,租户可在控制台配置界面8输入源桶的桶名和目标桶的桶名。The cloud platform 10 can receive inter-bucket cross-region configuration instructions input by the tenant through a configuration interface or API. For example, after the tenant clicks the "Cross-region Replication Policy Creation" option shown in Figure 6d, the cloud platform 10 provides the console configuration interface 8 shown in Figure 10, and the tenant can enter the bucket name of the source bucket and the bucket name of the target bucket in the console configuration interface 8.

可选地,桶间跨区域配置指令还包括租户的桶访问策略,桶访问策略用于指示云平台10在确认静态桶1和静态桶2的工作状态均正常的情况下,向客户端20发送租户指定的静态桶1或静态桶2的IP地址。或者指示云平台10在确认静态桶1和静态桶2的工作状态均正常的情况下,向客户端20发送与客户端20的物理距离最近的静态桶的IP地址Optionally, the bucket cross-region configuration instruction also includes the tenant's bucket access policy, which is used to instruct the cloud platform 10 to send the IP address of the static bucket 1 or static bucket 2 specified by the tenant to the client 20 when the working status of the static bucket 1 and the static bucket 2 are confirmed to be normal. Or instruct the cloud platform 10 to send the IP address of the static bucket that is physically closest to the client 20 to the client 20 when the working status of the static bucket 1 and the static bucket 2 are confirmed to be normal.

如图10所示,控制台配置界面8可提供“桶访问策略”配置项,租户可在该配置项输入或选择“就近访问”策略,用于指示云平台10在确认静态桶1和静态桶2的工作状态均正常的情况下,向客户端20发送与客户端20的物理距离最近的静态桶的IP地址。As shown in Figure 10, the console configuration interface 8 may provide a "bucket access policy" configuration item, in which the tenant may enter or select a "nearby access" policy to instruct the cloud platform 10 to send the IP address of the static bucket that is physically closest to the client 20 to the client 20 after confirming that the working status of static bucket 1 and static bucket 2 are both normal.

或者,直接在该配置项输入bucket1,指示云平台10在确认静态桶1和静态桶2的工作状态均正常的情况下,向客户端20发送静态桶1的IP地址;类似地,也可在该配置项输入bucket2,指示云平台10在确认静态桶1和静态桶2的工作状态均正常的情况下,向客户端20发送静态桶2的IP地址。Alternatively, bucket1 can be directly entered in the configuration item to instruct the cloud platform 10 to send the IP address of static bucket 1 to the client 20 after confirming that the working status of static bucket 1 and static bucket 2 are both normal. Similarly, bucket2 can also be entered in the configuration item to instruct the cloud platform 10 to send the IP address of static bucket 2 to the client 20 after confirming that the working status of static bucket 1 and static bucket 2 are both normal.

并且,云平台10进一步根据桶间跨区域配置指令在图3所示的域名服务节点30删除bucket1.region1.com和IP1的对应关系1,并重新注册bucket1.region1.com和云平台的IP0的对应关系4。In addition, the cloud platform 10 further deletes the correspondence 1 between bucket1.region1.com and IP1 at the domain name service node 30 shown in FIG. 3 according to the inter-bucket cross-region configuration instruction, and re-registers the correspondence 4 between bucket1.region1.com and IP0 of the cloud platform.

步骤S504:云平台10检测静态桶1和静态桶2的工作状态。Step S504: the cloud platform 10 detects the working status of static bucket 1 and static bucket 2.

步骤S505:云平台10接收客户端20发送的针对静态桶1的静态桶的域名bucket1.region1.com的访问请求,根据工作状态向客户端发送与静态桶1的IP1或与静态桶2的IP2。Step S505: the cloud platform 10 receives an access request for the domain name bucket1.region1.com of the static bucket 1 sent by the client 20, and sends the IP1 of the static bucket 1 or the IP2 of the static bucket 2 to the client according to the working status.

在本步骤中,客户端20发送的针对静态桶1的静态桶的域名bucket1.region1.com的访问请求至域名服务节点30,域名服务节点30根据bucket1.region1.com和云平台的IP0的对应关系4将该访问请求转发至云平台10。In this step, the client 20 sends an access request for the domain name bucket1.region1.com of the static bucket of static bucket 1 to the domain name service node 30, and the domain name service node 30 forwards the access request to the cloud platform 10 according to the correspondence 4 between bucket1.region1.com and IP0 of the cloud platform.

云平台10在静态桶1和静态桶2中的一者的工作状态发生异常的情况下,向客户端20发送从静态桶1和静态桶2中选择的工作状态正常的静态桶的IP地址。When the working status of one of static bucket 1 and static bucket 2 is abnormal, the cloud platform 10 sends the IP address of the static bucket with normal working status selected from static bucket 1 and static bucket 2 to the client 20 .

云平台10在确认静态桶1和静态桶2的工作状态均正常的情况下,向客户端20发送静态桶1或静态桶2的IP地址。When confirming that the working statuses of static bucket 1 and static bucket 2 are both normal, the cloud platform 10 sends the IP address of static bucket 1 or static bucket 2 to the client 20 .

可选地,在桶间跨区域配置指令还包括租户的桶访问策略的情况下,云平台10根据桶访问策略向客户端20发送与租户经由桶访问策略指定的静态桶1或静态桶2的IP地址;或者根据桶访问策略向客户端20发送与客户端20的物理距离最近的静态桶的IP地址。Optionally, when the cross-region configuration instructions between buckets also include the tenant's bucket access policy, the cloud platform 10 sends the IP address of static bucket 1 or static bucket 2 specified by the tenant via the bucket access policy to the client 20 according to the bucket access policy; or sends the IP address of the static bucket that is physically closest to the client 20 to the client 20 according to the bucket access policy.

因此,在实施例三中,客户端20无需改变需访问的域名bucket1.region1.com,租户只需在云平台10创建静态桶2,并向云平台10输入桶间跨区域配置指令,即可将客户端20发出的针对bucket1.region1.com的访问请求转发到云平台10,云平台10根据静态桶1和静态桶2的工作状态向客户端返回合适的IP地址。实施例三尤其适用于租户不想在客户端20更改已有的静态桶的域名为动态桶的域名的场景。Therefore, in the third embodiment, the client 20 does not need to change the domain name bucket1.region1.com to be accessed. The tenant only needs to create a static bucket 2 on the cloud platform 10 and input the cross-region configuration instruction between buckets to the cloud platform 10, so that the access request for bucket1.region1.com issued by the client 20 can be forwarded to the cloud platform 10, and the cloud platform 10 returns a suitable IP address to the client according to the working status of the static bucket 1 and the static bucket 2. The third embodiment is particularly suitable for the scenario where the tenant does not want to change the domain name of the existing static bucket to the domain name of the dynamic bucket on the client 20.

值得注意的是,在本发明实施例中,客户端20不一定是租户所操作,也可以由其他人操作,但这种情况下,客户端20设置有租户授权的令牌。It is worth noting that, in the embodiment of the present invention, the client 20 is not necessarily operated by the tenant, but may be operated by other persons. However, in this case, the client 20 is provided with a token authorized by the tenant.

进一步,在本发明其他实施例中,静态桶的域名也无需包括静态桶所在区域的标识,如静态桶1的域名bucket1.region1.com包括区域1的标识region1,可选地,静态桶1的域名可例如为bucket1.obs.huawei.com,其格式与动态桶的域名类似,本发明实施例对此不作限定。Furthermore, in other embodiments of the present invention, the domain name of the static bucket does not need to include the identifier of the region where the static bucket is located. For example, the domain name of static bucket 1, bucket1.region1.com, includes the identifier of region 1, region1. Optionally, the domain name of static bucket 1 may be, for example, bucket1.obs.huawei.com, and its format is similar to that of the domain name of the dynamic bucket. This is not limited in the embodiments of the present invention.

进一步,本发明实施例所述的“静态桶创建指令”和“动态桶创建指令”均为“数据桶创建指令”的一种具体实现方式。Furthermore, the “static bucket creation instruction” and the “dynamic bucket creation instruction” described in the embodiment of the present invention are both specific implementation methods of the “data bucket creation instruction”.

下文结合图11至13对图3所示的对象存储系统做出具体说明,图11是根据本发明实施例的对象存储系统中的数据中心的连接示意图,图12和图13是根据本发明实施例的存储节点的结构示意图。The object storage system shown in FIG3 is specifically described below in conjunction with FIGS. 11 to 13 . FIG. 11 is a connection diagram of a data center in an object storage system according to an embodiment of the present invention. FIGS. 12 and 13 are structural diagrams of storage nodes according to an embodiment of the present invention.

首先请参见图11,在本实施例中,云平台10设置在数据中心1,通过交换设备203分别与存储节点201、存储节点202以及远程连接网关204连接。数据中心2设置有交换设备206、存储节点207、存储节点208以及远程连接网关205连接,存储节点207、存储节点208以及远程连接网关205分别与交换设备206连接,数据中心1设置在区域1,数据中心2设置在区域2,远程连接网关204与远程连接网关205直接设置有远程连接通道,使得数据中心1和数据中心2实现跨区域连接。First, please refer to Figure 11. In this embodiment, the cloud platform 10 is set in the data center 1, and is connected to the storage node 201, the storage node 202 and the remote connection gateway 204 through the switching device 203. The data center 2 is provided with a switching device 206, a storage node 207, a storage node 208 and a remote connection gateway 205. The storage node 207, the storage node 208 and the remote connection gateway 205 are connected to the switching device 206 respectively. The data center 1 is set in the area 1, and the data center 2 is set in the area 2. The remote connection gateway 204 and the remote connection gateway 205 are directly provided with a remote connection channel, so that the data center 1 and the data center 2 are connected across regions.

举例而言,远程连接网关可以通过虚拟私有网络(Virtual Private Network,VPN)或专线网络实现,存储节点可通过设置有多个物理磁盘的服务器实现。For example, the remote connection gateway may be implemented through a virtual private network (VPN) or a dedicated network, and the storage node may be implemented through a server provided with multiple physical disks.

并请参见图12,存储节点201包括软件层和硬件层,硬件层包括磁盘控制器2015、物理网卡2016,物理磁盘1和物理磁盘2,软件层包括对象存储设备OSD控制单元2011和操作系统2012,OSD控制单元2011运行在操作系统2012上,操作系统2012中包括磁盘驱动2013和物理网卡驱动2014,云平台10可通过物理网卡2016与OSD控制单元2011进行通信,OSD控制单元2011通过磁盘驱动2013控制磁盘控制器2015将物理磁盘1和物理磁盘2设置为多个对象存储设备OSD,云平台10在接收到静态桶1的创建指令之后,通知OSD控制单元2011创建静态桶1,此时,OSD控制单元2011将OSD1-3设置为静态桶1。Please refer to Figure 12. The storage node 201 includes a software layer and a hardware layer. The hardware layer includes a disk controller 2015, a physical network card 2016, a physical disk 1 and a physical disk 2. The software layer includes an object storage device OSD control unit 2011 and an operating system 2012. The OSD control unit 2011 runs on the operating system 2012. The operating system 2012 includes a disk driver 2013 and a physical network card driver 2014. The cloud platform 10 can communicate with the OSD control unit 2011 through the physical network card 2016. The OSD control unit 2011 controls the disk controller 2015 through the disk driver 2013 to set the physical disk 1 and the physical disk 2 as multiple object storage devices OSD. After receiving the creation instruction of the static bucket 1, the cloud platform 10 notifies the OSD control unit 2011 to create the static bucket 1. At this time, the OSD control unit 2011 sets OSD1-3 as static bucket 1.

图13所示的存储节点207也具有类似结构,云平台10在接收到静态桶2的创建指令之后,通知OSD控制单元2071创建静态桶2,此时,OSD控制单元2071将OSD5-7设置为静态桶2。The storage node 207 shown in Figure 13 also has a similar structure. After receiving the creation instruction of static bucket 2, the cloud platform 10 notifies the OSD control unit 2071 to create static bucket 2. At this time, the OSD control unit 2071 sets OSD5-7 as static bucket 2.

进一步,云平台10接收到实施例一或实施例三所述的跨区配置策略指令,或实施例二所述的动态桶创建指令之后,通知OSD控制单元2011将静态桶1中OSD1-3存储的对象经远程连接通道发送至存储节点207,并由存储节点207中的OSD控制单元2071将该些对象存储到OSD5-7中。Further, after receiving the cross-zone configuration policy instructions described in Example 1 or Example 3, or the dynamic bucket creation instructions described in Example 2, the cloud platform 10 notifies the OSD control unit 2011 to send the objects stored in OSD1-3 in the static bucket 1 to the storage node 207 via the remote connection channel, and the OSD control unit 2071 in the storage node 207 stores these objects in OSD5-7.

以下请参见图14,图14是根据本发明实施例的云平台的装置结构示意图,如图14所示云平台10包括数据桶配置模块101、指令接收模块102、指令处理模块103、数据桶选择模块104、发送模块105,上述功能模块用于实现上述实施例一云平台10的相关功能。Please refer to Figure 14 below, which is a schematic diagram of the device structure of the cloud platform according to an embodiment of the present invention. As shown in Figure 14, the cloud platform 10 includes a data bucket configuration module 101, an instruction receiving module 102, an instruction processing module 103, a data bucket selection module 104, and a sending module 105. The above-mentioned functional modules are used to implement the relevant functions of the cloud platform 10 of the above-mentioned embodiment one.

以下请参见图15,图15是根据本发明实施例的云平台的装置结构示意图,如图15所示云平台10包括指令接收模块601、数据桶配置模块602、域名提供模块603、数据桶选择模块604、发送模块605、发送模块606,上述功能模块用于实现上述实施例一云平台10的相关功能。Please refer to Figure 15 below, which is a schematic diagram of the device structure of the cloud platform according to an embodiment of the present invention. As shown in Figure 15, the cloud platform 10 includes an instruction receiving module 601, a data bucket configuration module 602, a domain name providing module 603, a data bucket selection module 604, a sending module 605, and a sending module 606. The above-mentioned functional modules are used to implement the relevant functions of the cloud platform 10 in the above-mentioned embodiment one.

以下请参见图16,图16是根据本发明实施例的云平台的装置结构示意图,如图16所示云平台10包括数据桶配置模块701、数据桶选择模块702、发送模块703、指令接收模块704、对象复制模块705、桶访问策略获取模块706,上述功能模块用于实现上述实施例一云平台10的相关功能。Please refer to Figure 16 below, which is a schematic diagram of the device structure of the cloud platform according to an embodiment of the present invention. As shown in Figure 16, the cloud platform 10 includes a data bucket configuration module 701, a data bucket selection module 702, a sending module 703, an instruction receiving module 704, an object replication module 705, and a bucket access policy acquisition module 706. The above-mentioned functional modules are used to implement the relevant functions of the cloud platform 10 in the above-mentioned embodiment one.

进一步,请参见图17,图17是根据本发明实施例的计算机设备的装置结构示意图,如图17所示,计算机设备包括处理器1001、存储器1002、通信接口1003以及总线1004,处理器1001、存储器1002、通信接口1003分别与总线1004连接,存储器1002用于存储计算机执行指令,处理器1001用于执行存储器1002所存储的计算机执行指令,以使计算机设备实现上述云平台10所执行的方法。Further, please refer to Figure 17, which is a schematic diagram of the device structure of a computer device according to an embodiment of the present invention. As shown in Figure 17, the computer device includes a processor 1001, a memory 1002, a communication interface 1003 and a bus 1004. The processor 1001, the memory 1002, and the communication interface 1003 are respectively connected to the bus 1004, the memory 1002 is used to store computer execution instructions, and the processor 1001 is used to execute the computer execution instructions stored in the memory 1002, so that the computer device implements the method executed by the above-mentioned cloud platform 10.

可选地,云平台10也可以通过包括多个计算机设备的计算机集群来实现,本发明实施例对此不作限定。Optionally, the cloud platform 10 may also be implemented by a computer cluster including a plurality of computer devices, which is not limited in the embodiment of the present invention.

并且,本发明实施例还提供一种计算机存储介质,包括计算机可读指令,当所述计算机可读指令被执行时,实现上述云平台10所执行的方法。In addition, an embodiment of the present invention further provides a computer storage medium, including computer-readable instructions, which, when executed, implement the method executed by the above-mentioned cloud platform 10.

本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述云平台10所执行的方法。An embodiment of the present invention also provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the method executed by the above-mentioned cloud platform 10.

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。Through the description of the above implementation mode, the technicians in the field can clearly understand that the present application can be implemented by means of software plus necessary general hardware, and of course, it can also be implemented by special hardware including special integrated circuits, special CPUs, special memories, special components, etc. In general, all functions completed by computer programs can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be various, such as analog circuits, digital circuits or special circuits. However, for the present application, software program implementation is a better implementation mode in more cases. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer floppy disk, a U disk, a mobile hard disk, a ROM, a RAM, a disk or an optical disk, etc., including a number of instructions to enable a computer device (which can be a personal computer, a training device, or a network device, etc.) to execute the methods described in each embodiment of the present application.

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地生成按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字租户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, a computer, a training device, or a data center by wired (e.g., coaxial cable, optical fiber, digital tenant line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, training device, or data center. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device, a data center, etc. that includes one or more available media integrations. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)), etc.

Claims (12)

1. A method of providing cloud storage services, comprising:
Acquiring a third data bucket creation instruction input by a tenant;
providing domain names of the third data barrels to the tenants according to the third data barrel creation instruction;
According to the association instruction input by the tenant, the third data bucket is associated with a first data bucket arranged in a first area and a second data bucket arranged in a second area, the data object stored in the second data bucket is a trans-regional backup of the data object stored in the first data bucket, the third data bucket is used for determining a target data bucket for providing data required to be accessed from the first data bucket and the second data bucket after receiving an access request for the domain name of the third data bucket, and in the case that the working state of any one of the first data bucket and the second data bucket is abnormal, the data bucket with normal working state is selected from the first data bucket and the second data bucket to serve as the target data bucket; or selecting a data bucket closest to the physical distance of the client or a data bucket appointed by a tenant from the first data bucket and the second data bucket as the target data bucket.
2. The method according to claim 1, wherein the method further comprises:
Receiving a first data bucket creation instruction input by the tenant, wherein the first data bucket creation instruction is used for indicating the first area appointed by the tenant, and creating the first data bucket in the first area according to the first data bucket creation instruction, and the first data bucket is used for storing an object uploaded by the tenant;
And receiving a second data bucket creation instruction input by the tenant, wherein the second data bucket creation instruction is used for indicating the second area designated by the tenant, and creating the second data bucket in the second area according to the second data bucket creation instruction.
3. The method according to claim 1 or 2, wherein selecting, as the target data bucket, a data bucket or a tenant designated data bucket closest to a physical distance of a client from among the first data bucket and the second data bucket, comprises:
And under the condition that the working states of the first data bucket and the second data bucket are normal, selecting a data bucket closest to the physical distance of the client or a data bucket appointed by a tenant from the first data bucket and the second data bucket as the target data bucket.
4. The method according to claim 1 or 2, characterized in that the method further comprises:
receiving inter-bucket cross-region configuration instructions input by the tenant, wherein the inter-bucket cross-region configuration instructions are used for indicating the first data bucket as a source bucket and the second data bucket as a target bucket;
And copying the object stored in the source barrel to the target barrel in a transregional mode according to the transregional configuration instruction between barrels.
5. The method according to claim 1 or 2, further comprising obtaining a bucket access policy of the tenant, wherein the bucket access policy instructs a cloud platform to select, as the target data bucket, a data bucket closest to the physical distance of the client or a data bucket specified by the tenant, in a case where it is confirmed that the working states of the first data bucket and the second data bucket are both normal.
6. A cloud platform for providing cloud storage services, comprising:
the instruction receiving module is used for acquiring a third data bucket creation instruction input by the tenant;
The instruction processing module is used for providing domain names of the third data barrels for the tenants according to the third data barrel creation instruction; according to the association instruction input by the tenant, the third data bucket is associated with a first data bucket arranged in a first area and a second data bucket arranged in a second area, the data object stored in the second data bucket is a trans-regional backup of the data object stored in the first data bucket, the third data bucket is used for determining a target data bucket for providing data required to be accessed from the first data bucket and the second data bucket after receiving an access request for the domain name of the third data bucket, and in the case that the working state of any one of the first data bucket and the second data bucket is abnormal, the data bucket with normal working state is selected from the first data bucket and the second data bucket to serve as the target data bucket; or selecting a data bucket closest to the physical distance of the client or a data bucket appointed by a tenant from the first data bucket and the second data bucket as the target data bucket.
7. The cloud platform of claim 6, further comprising a data bucket configuration module to:
Receiving a first data bucket creation instruction input by the tenant, wherein the first data bucket creation instruction is used for indicating the first area appointed by the tenant, and creating the first data bucket in the first area according to the first data bucket creation instruction, and the first data bucket is used for storing an object uploaded by the tenant;
And receiving a second data bucket creation instruction input by the tenant, wherein the second data bucket creation instruction is used for indicating the second area designated by the tenant, and creating the second data bucket in the second area according to the second data bucket creation instruction.
8. The cloud platform of claim 6 or 7, further comprising a data bucket selection module comprising:
And under the condition that the working states of the first data bucket and the second data bucket are normal, selecting a data bucket closest to the physical distance of the client or a data bucket appointed by a tenant from the first data bucket and the second data bucket as the target data bucket.
9. The cloud platform of claim 6 or 7, further comprising an instruction receiving module for
Receiving inter-bucket cross-region configuration instructions input by the tenant, wherein the inter-bucket cross-region configuration instructions are used for indicating the first data bucket as a source bucket and the second data bucket as a target bucket;
and the instruction processing module is further used for copying the object stored in the source barrel to the target barrel in a cross-region mode according to the cross-region configuration instruction between barrels.
10. The cloud platform of claim 6 or 7, wherein the instruction receiving module is further configured to obtain a bucket access policy of the tenant, where the bucket access policy instructs the cloud platform to select, when it is confirmed that the working states of the first data bucket and the second data bucket are both normal, a data bucket closest to a physical distance of the client as the target data bucket, or select a data bucket specified by the tenant as the target data bucket.
11. A computer device, the computer device comprising: a processor and a memory;
the memory is used for storing computer execution instructions;
the processor is configured to execute computer-executable instructions stored in the memory to cause the computer device to implement the method of any one of claims 1 to 5.
12. A computer storage medium comprising computer readable instructions which, when executed, implement the method of any one of claims 1 to 5.
CN202311473520.XA 2020-12-14 2020-12-30 Cloud platform and bucket management method for object storage service provided by cloud platform Active CN117729217B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311473520.XA CN117729217B (en) 2020-12-14 2020-12-30 Cloud platform and bucket management method for object storage service provided by cloud platform

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN2020114690652 2020-12-14
CN202011469065 2020-12-14
CN202311473520.XA CN117729217B (en) 2020-12-14 2020-12-30 Cloud platform and bucket management method for object storage service provided by cloud platform
CN202011628962.3A CN114629921B (en) 2020-12-14 2020-12-30 Cloud platform and bucket management method for object storage service provided by cloud platform

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202011628962.3A Division CN114629921B (en) 2020-12-14 2020-12-30 Cloud platform and bucket management method for object storage service provided by cloud platform

Publications (2)

Publication Number Publication Date
CN117729217A CN117729217A (en) 2024-03-19
CN117729217B true CN117729217B (en) 2024-08-27

Family

ID=81897376

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311473520.XA Active CN117729217B (en) 2020-12-14 2020-12-30 Cloud platform and bucket management method for object storage service provided by cloud platform
CN202011628962.3A Active CN114629921B (en) 2020-12-14 2020-12-30 Cloud platform and bucket management method for object storage service provided by cloud platform

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202011628962.3A Active CN114629921B (en) 2020-12-14 2020-12-30 Cloud platform and bucket management method for object storage service provided by cloud platform

Country Status (4)

Country Link
US (1) US20230328138A1 (en)
EP (1) EP4277239A4 (en)
CN (2) CN117729217B (en)
WO (1) WO2022127762A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117389460A (en) * 2022-07-04 2024-01-12 华为云计算技术有限公司 Cross-region dumping method and related device based on object storage service
CN115208907A (en) * 2022-07-15 2022-10-18 上海七牛信息技术有限公司 Storage method and system based on object storage
WO2024032262A1 (en) * 2022-08-12 2024-02-15 华为云计算技术有限公司 Object storage service configuration method and apparatus based on cloud computing technology
CN115587390B (en) * 2022-12-12 2023-03-10 杭州优云科技有限公司 Method for realizing public cloud object storage
CN116233216A (en) * 2022-12-30 2023-06-06 天翼云科技有限公司 Cloud acceleration method, device and system, electronic equipment and storage medium
CN116894264A (en) * 2023-07-04 2023-10-17 上海速石信息科技有限公司 Data access control method and system based on cloud storage system
CN117714124B (en) * 2023-12-08 2024-08-06 北京华顺信安科技有限公司 Cloud protection method, system, terminal and storage medium based on domain name resolution
CN119854305A (en) * 2025-03-21 2025-04-18 山东港口科技集团青岛有限公司 Cloud platform-based control method, equipment and system for disaster recovery of different-place active-standby clusters

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107015884A (en) * 2016-01-28 2017-08-04 杭州海康威视数字技术股份有限公司 A kind of date storage method and device
CN109189324A (en) * 2018-07-09 2019-01-11 华为技术有限公司 A kind of data migration method and device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110307467A1 (en) * 2010-06-10 2011-12-15 Stephen Severance Distributed web crawler architecture
US10229144B2 (en) * 2013-03-15 2019-03-12 Cavium, Llc NSP manager
US11416444B2 (en) * 2014-03-18 2022-08-16 Netapp, Inc. Object-based storage replication and recovery
CN104268159B (en) * 2014-09-03 2017-06-20 河海大学 A kind of Real-time Data Warehouse data pre-storage based on dynamic mirror takes method
CN105426408B (en) * 2015-11-02 2019-03-08 北京锐安科技有限公司 A multi-index data processing method and device
US10645165B2 (en) * 2016-09-22 2020-05-05 Spectra Logic Corporation Hybrid cloud
CN106331166B (en) * 2016-10-11 2019-09-06 杭州宏杉科技股份有限公司 A kind of access method and device of storage resource
US10187278B2 (en) * 2017-02-24 2019-01-22 Satori Worldwide, Llc Channel management in scalable messaging system
US11086545B1 (en) * 2018-03-23 2021-08-10 Tintri By Ddn, Inc. Optimizing a storage system snapshot restore by efficiently finding duplicate data
US10459655B1 (en) * 2018-04-30 2019-10-29 Amazon Technologies, Inc. Rapid volume backup generation from distributed replica
CN111147235B (en) * 2019-12-23 2022-11-11 杭州宏杉科技股份有限公司 Object access method and device, electronic equipment and machine-readable storage medium
CN111371891B (en) * 2020-03-03 2022-08-05 腾讯云计算(北京)有限责任公司 Service processing method, device, equipment and storage medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107015884A (en) * 2016-01-28 2017-08-04 杭州海康威视数字技术股份有限公司 A kind of date storage method and device
CN109189324A (en) * 2018-07-09 2019-01-11 华为技术有限公司 A kind of data migration method and device

Also Published As

Publication number Publication date
CN114629921A (en) 2022-06-14
US20230328138A1 (en) 2023-10-12
CN117729217A (en) 2024-03-19
EP4277239A1 (en) 2023-11-15
CN114629921B (en) 2023-11-17
EP4277239A4 (en) 2024-09-11
WO2022127762A1 (en) 2022-06-23

Similar Documents

Publication Publication Date Title
CN117729217B (en) Cloud platform and bucket management method for object storage service provided by cloud platform
US12149581B2 (en) Link file sharing and synchronization
US10282522B2 (en) Cross-application authentication on a content management system
US10001913B2 (en) Shared workspaces with selective content item synchronization
JP6175181B2 (en) Local server for synchronized online content management system
JP6674532B2 (en) Content Item Block Replication Protocol for Hosting Digital Content Items in Multiple Campuses
DK2685697T3 (en) PROCEDURE FOR OBTAINING A VIRTUAL DESKTOP STORED IN A CLOUD STORAGE SYSTEM, A SIMILAR CLOUD BROKER AND CLOUD DESKTOP AGENT
JP6381776B2 (en) Generating unregistered user accounts for sharing content items
JP5976258B1 (en) Light installer
US9614826B1 (en) Sensitive data protection
US12314326B2 (en) Unified metadata search
EP3555771B1 (en) Systems and methods for list retrieval in a storage device
US10963430B2 (en) Shared workspaces with selective content item synchronization
CN106302609B (en) An access method and device
US11442752B2 (en) Central storage management interface supporting native user interface versions
US12099886B2 (en) Techniques for performing clipboard-to-file paste operations
WO2022073458A1 (en) Data modification method for object storage service, service node, client and device
CN104601666A (en) Log service method and cloud platform
CN107395416A (en) A kind of data transmission method for uplink and server cluster
CN118540315A (en) Communication method based on cloud computing technology and related equipment
CN117640639A (en) An object storage service configuration method and device based on cloud computing technology

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