CN117640639A - 一种基于云计算技术的对象存储服务配置方法及装置 - Google Patents
一种基于云计算技术的对象存储服务配置方法及装置 Download PDFInfo
- Publication number
- CN117640639A CN117640639A CN202310064313.2A CN202310064313A CN117640639A CN 117640639 A CN117640639 A CN 117640639A CN 202310064313 A CN202310064313 A CN 202310064313A CN 117640639 A CN117640639 A CN 117640639A
- Authority
- CN
- China
- Prior art keywords
- hard connection
- attribute
- source object
- source
- management platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000005516 engineering process Methods 0.000 title claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 38
- 230000015654 memory Effects 0.000 claims description 36
- 238000004891 communication Methods 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 100
- 238000010586 diagram Methods 0.000 description 10
- 206010047289 Ventricular extrasystoles Diseases 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 238000005129 volume perturbation calorimetry Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 101100384355 Mus musculus Ctnnbip1 gene Proteins 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于云计算技术的对象存储服务配置方法,包括:云管理平台记录对象存储服务的数据桶中的源对象的标识与源对象的属性的对应关系,该源对象的属性用于指示源对象在基础设施中的数据块分布位置以及数据大小;从硬连接创建接口接收客户端发送的硬连接创建请求,硬连接创建请求携带有数据桶中的源对象的标识,并用于指示云管理平台在数据桶中创建与源对象具有硬连接关系的第一对象;根据硬连接创建请求在数据桶中创建与源对象具有硬连接关系的第一对象,为第一对象设置标识和属性,并记录第一对象的标识与第一对象的属性的对应关系,第一对象的属性设置为与源对象的属性相同。由此实现了在对象存储服务中创建硬连接。
Description
本申请要求于2022年8月12日提交中国国家知识产权局、申请号为202210965641.5、申请名称为“一种对象存储实现硬链接的方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及信息技术(informat ion techno logy,I T)技术领域,尤其涉及一种基于云计算技术的对象存储服务配置方法及装置。
背景技术
对象存储服务是公有云的一个基于对象的海量存储服务,为公有云的租户提供海量、安全、高可靠、低成本的数据存储能力。由于对象存储和文件存储不同,这使得在对象存储中无法使用文件存储中所涉及的硬连接。因此,如何在对象存储服务中创建硬连接是目前亟需解决的技术问题。
发明内容
本申请提供了一种一种基于云计算技术的对象存储服务配置方法、装置、计算设备、计算设备集群、计算机存储介质及计算机产品,能够实现在对象存储服务中创建硬连接。
第一方面,本申请提供一种基于云计算技术的对象存储服务配置方法,该方法可以应用于云管理平台。其中,该云管理平台可以用于管理运行对象存储服务的基础设施。该基础设施中可以包括设置在不同区域的多个数据中心,每个数据中心包括多个服务器。
该方法可以包括:云管理平台记录对象存储服务的数据桶中的源对象的标识与源对象的属性的对应关系,该源对象的属性用于指示源对象在基础设施中的数据块分布位置以及数据大小;云管理平台从硬连接创建接口接收第一客户端发送的第一硬连接创建请求,第一硬连接创建请求携带有数据桶中的源对象的标识,并用于指示云管理平台在数据桶中创建与源对象具有硬连接关系的第一对象,其中,硬连接创建接口设置在云管理平台;云管理平台根据第一硬连接创建请求在数据桶中创建与源对象具有硬连接关系的第一对象,为第一对象设置标识和属性,并记录第一对象的标识与第一对象的属性的对应关系,其中,第一对象的属性设置为与源对象的属性相同。
由此,在对象存储服务中,将一个源对象的属性(其用于指示源对象在基础设施中的数据块分布位置以及数据大小)与多个对象的标识相关联,使得一个对象的属性指向了不同的对象的标识,从而在对象存储服务中完成了将一个对象硬连接到另一个对象,即实现了在对象存储服务中创建硬连接。示例性的,对象的属性可以通过对象的索引节点(inode)元数据指示,对象的标识可以通过对象的目录项(dentry)元数据指示。
在一种可能的实现方式中,源对象的标识通过源对象的目录项(dentry)元数据指示,源对象的属性通过源对象的索引节点(inode)元数据指示,其中,源对象的dentry元数据和inode元数据通过对源对象的元数据进行拆分得到;第一对象的标识通过第一对象的dentry元数据指示,第一对象的属性通过源对象的inode元数据指示。
在一种可能的实现方式中,该方法还可以包括:云管理平台从硬连接创建接口接收第一客户端或第二客户端发送的第二硬连接创建请求,第二硬连接创建请求携带有数据桶中的源对象的标识,并用于指示在数据桶创建与源对象具有硬连接关系的第二对象;云管理平台根据第二硬连接创建请求在数据桶中创建与源对象具有硬连接关系的第二对象,为第二对象设置标识和属性,并记录第二对象的标识与第二对象的属性的对应关系,其中,第二对象的属性设置为与源对象的属性相同。由此即可以将源对象直接硬连接到其他的对象上。
在一种可能的实现方式中,该方法还可以包括:云管理平台从硬连接创建接口接收第一客户端或第二客户端发送的第二硬连接创建请求,第二硬连接创建请求携带有数据桶中的第一对象的标识并用于指示在数据桶创建与第一对象具有硬连接关系的第二对象;云管理平台根据第二硬连接创建请求在数据桶中创建与第一对象具有硬连接关系的第二对象,为第二对象设置标识和属性,并记录第二对象的标识与第一对象的属性的对应关系,其中,第二对象的属性设置为与第一对象的属性相同。由于第一对象的属性与源对象的属性相同,所以第二对象的属性也与源对象的属性相同,由此即可以将源对象间接硬连接到其他的对象上。
在一种可能的实现方式中,云管理平台中还记录有与源对象的属性具有对应关系的标识的数量。由此以便于云管理平台对用于指示源对象的属性的inode元数据进行管理,其中,当该数量为0时,云管理平台可以删除源对象的inode元数据。
在一种可能的实现方式中,该方法还可以包括:响应于租户对目标对象的删除操作,云管理平台删除目标对象,以及,更新与源对象的属性具有对应关系的标识的数量,其中,目标对象为源对象或与源对象具有硬连接关系的对象。
在一种可能的实现方式中,该方法还可以包括:在与源对象的属性具有对应关系的标识的数量为0的情况下,云管理平台删除源对象的索引节点(inode)元数据,源对象的inode元数据用于指示源对象的属性。
在一种可能的实现方式中,该方法还可以包括:响应于租户对目标对象的修订操作,云管理平台对目标对象进行更新,并同步对与目标对象具有硬连接关系的对象进行更新,目标对象为源对象或与源对象具有硬连接关系的对象。
在一种可能的实现方式中,该方法还可以包括:云管理平台在数据桶中创建出与源对象具有硬连接关系的对象后,向目标客户端返回用于指示硬连接创建成功的消息,目标客户端为下发硬连接创建请求的客户端。由此以便于租户可以获知到硬连接是否创建成功。
第二方面,本申请提供一种基于云计算技术的对象存储服务配置装置,该装置可以部署于云管理平台。该云管理平台可以用于管理运行对象存储服务的基础设施。该基础设施包括设置在不同区域的多个数据中心,每个数据中心包括多个服务器。
该装置可以包括:存储模块、通信模块和处理模块。其中,存储模块用于记录OBS服务的数据桶中的源对象的标识与源对象的属性的对应关系,源对象的属性用于指示源对象在基础设施中的数据块分布位置以及数据大小。通信模块用于从硬连接创建接口接收第一客户端发送的第一硬连接创建请求,第一硬连接创建请求携带有数据桶中的源对象的标识,并用于指示云管理平台在数据桶中创建与源对象具有硬连接关系的第一对象,其中,硬连接创建接口设置在云管理平台。处理模块用于根据第一硬连接创建请求在数据桶中创建与源对象具有硬连接关系的第一对象,为第一对象设置标识和属性,并记录第一对象的标识与第一对象的属性的对应关系,其中,第一对象的属性设置为与源对象的属性相同。
在一种可能的实现方式中,源对象的标识通过源对象的目录项(dentry)元数据指示,源对象的属性通过源对象的索引节点(inode)元数据指示,其中,源对象的dentry元数据和inode元数据通过对源对象的元数据进行拆分得到;第一对象的标识通过第一对象的dentry元数据指示,第一对象的属性通过源对象的inode元数据指示。
在一种可能的实现方式中,通信模块,还用于从硬连接创建接口接收第一客户端或第二客户端发送的第二硬连接创建请求,第二硬连接创建请求携带有数据桶中的源对象的标识,并用于指示在数据桶创建与源对象具有硬连接关系的第二对象。处理模块,还用于根据第二硬连接创建请求在数据桶中创建与源对象具有硬连接关系的第二对象,为第二对象设置标识和属性,并记录第二对象的标识与第二对象的属性的对应关系,其中,第二对象的属性设置为与源对象的属性相同。
在一种可能的实现方式中,通信模块,还用于从硬连接创建接口接收第一客户端或第二客户端发送的第二硬连接创建请求,第二硬连接创建请求携带有数据桶中的第一对象的标识并用于指示在数据桶创建与第一对象具有硬连接关系的第二对象。处理模块,还用于根据第二硬连接创建请求在数据桶中创建与第一对象具有硬连接关系的第二对象,为第二对象设置标识和属性,并记录第二对象的标识与第一对象的属性的对应关系,其中,第二对象的属性设置为与第一对象的属性相同。
在一种可能的实现方式中,存储模块中还记录有与源对象的属性具有对应关系的标识的数量。
在一种可能的实现方式中,处理模块,还用于响应于租户对目标对象的删除操作,删除目标对象,以及,更新与源对象的属性具有对应关系的标识的数量,其中,目标对象为源对象或与源对象具有硬连接关系的对象。
在一种可能的实现方式中,处理模块,还用于在与源对象的属性具有对应关系的标识的数量为0的情况下,删除源对象的索引节点(inode)元数据,源对象的inode元数据用于指示源对象的属性。
在一种可能的实现方式中,处理模块,还用于响应于租户对目标对象的修订操作,对目标对象进行更新,并同步对与目标对象具有硬连接关系的文件进行更新,目标对象为源对象或与源对象具有硬连接关系的文件。
在一种可能的实现方式中,通信模块,还用于在处理模块在数据桶中创建出与源对象具有硬连接关系的对象后,向目标客户端返回用于指示硬连接创建成功的消息,目标客户端为下发硬连接创建请求的客户端。
第三方面,本申请提供一种计算设备,包括:至少一个存储器,用于存储程序;至少一个处理器,用于执行存储器存储的程序;其中,当存储器存储的程序被执行时,处理器用于执行第一方面或第一方面的任一种可能的实现方式所描述的方法。
第四方面,本申请提供一种计算设备集群,包括至少一个计算设备,每个计算设备均包括处理器和存储器;至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得计算设备集群执行第一方面或第一方面的任一种可能的实现方式所描述的方法。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序在处理器上运行时,使得处理器执行第一方面或第一方面的任一种可能的实现方式所描述的方法。
第六方面,本申请提供一种计算机程序产品,当计算机程序产品在处理器上运行时,使得处理器执行第一方面或第一方面的任一种可能的实现方式所描述的方法。
可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1是本申请实施例提供的一种对象存储服务的逻辑架构示意图;
图2是本申请实施例提供的一种用户与云管理平台的交互形态的示意图;
图3是本申请实施例提供的一种基于云计算技术的对象存储服务配置方法的流程示意图;
图4是本申请实施例提供的一种基于云计算技术的对象存储服务配置装置的结构示意图;
图5是本申请实施例提供的一种数据中心的结构示意图;
图6是本申请实施例提供的一种计算设备的结构示意图;
图7是本申请实施例提供的一种计算设备集群的结构示意图。
具体实施方式
本文中术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本文中符号“/”表示关联对象是或者的关系,例如A/B表示A或者B。
本文中的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一响应消息和第二响应消息等是用于区别不同的响应消息,而不是用于描述响应消息的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或者两个以上,例如,多个处理单元是指两个或者两个以上的处理单元等;多个元件是指两个或者两个以上的元件等。
为了便于理解本申请实施例,首先,对本申请涉及的部分术语进行解释说明。
(1)云管理平台
云管理平台可提供与公有云服务相关的页面以供租户远程访问公有云服务,租户可通过预先注册的账号密码在公有云访问页面登录云管理平台,并在登录成功之后,在公有云访问页面选择并购买对应的公有云服务,例如对象存储服务、虚拟机服务、容器服务等,针对对象存储服务而言,租户可进一步通过公有云访问页面上提供的配置界面、应用程序编程接口(app l icat ion programming interface,API)或者与租户交互的接口等对对象存储服务进行配置,例如创建桶,配置桶的访问策略,从租户本地的计算机通过互联网上传对象到桶中等等针对桶的操作。示例性的,对象存储服务可以为OBS(object storageservice)、COS(c loud object storage service)、Amazon S3(amazon s imp le storageservice)等。
(2)桶(bucket)
桶(也可以称之为“数据桶”)是对象存储服务中存储对象的容器,对象存储提供了基于桶和对象的扁平化存储方式,桶中的所有对象都处于同一逻辑层级,去除了文件系统中的多层级树形目录结构。每个桶都有自己的存储类别、访问权限、所属区域等属性,租户可以在不同区域创建不同存储类别和访问权限的桶,并配置更多高级属性来满足不同场景的存储诉求。
在对象存储服务中,桶名是全局唯一的且不能修改,即租户创建的桶不能与自己已创建的其他桶名称相同,也不能与其他租户创建的桶名称相同。桶所属的区域在创建后也不能修改。每个桶在创建时都会生成默认的桶访问列表(access contro l l i st,ACL),ACL的每项包含了对被授权租户授予什么样的权限,如读取权限、写入权限等。租户只有对桶有相应的权限,才可以对桶进行操作,如创建、删除、显示、设置桶ACL等。
租户可使用账号在云管理平台登录,通过云管理平台提供的公有云访问页面上的配置界面、API或者与租户交互的接口等可创建多个桶,每个桶中存放的对象的数量和大小总和没有限制,租户不需要考虑数据的可扩展性,对象存储服务是基于表述性状态传递(representat iona l state transfer,REST)风格和超文本传送协议(hypertexttransport protoco l,HTTP)和超文本传输安全协议(hypertext transfer protoco lsecure,HTTPS)协议的服务,租户可以通过统一资源定位符(un iform resource locator,URL,本实施例又称为域名)来定位桶资源,对象存储服务中桶和对象的关系如图1所示,图1是对象存储服务的逻辑架构示意图,如图1所述,每个桶可以包括多个对象(下文详细介绍),桶之间的对象相互隔离,租户通过操作客户端远程购买对象存储服务,对象存储服务向租户提供桶,具体而言,可以提供桶的域名,租户可操作客户端访问该域名,从而可向桶中上传数据,并且,可从桶中下载数据,其中,上传的数据以对象方式存储在桶中。
(3)对象(object)
对象是对象存储服务中数据存储的基本单位,一个对象实际是一个文件的数据与其相关属性信息(元数据)的集合体。租户上传至对象存储服务的数据都以对象的形式保存在桶中。对象包括了键值Key,元数据Metadata,数据Data三部分。
Key:键值,即对象的名称,例如为经过UTF-8编码的长度大于0且不超过1024的字符序列,一个桶里的每个对象拥有唯一的对象键值。
Metadata:元数据,即对象的描述信息(比如:对象名、对象大小、对象权限、数据块分布等),包括系统元数据和租户元数据,这些元数据以键值对(Key-Va l ue)的形式被上传到对象存储服务中。系统元数据由对象存储服务自动产生,在处理对象数据时使用,包括日期Date,内容长度Content-length,上次修改时间Last-mod ify,MD5加密内容Content-MD5等。租户元数据由租户在上传对象到桶时指定,是租户自定义的对象描述信息。
Data:数据,即租户上传的数据内容。
通常,可将对象等同于文件来进行管理,但是为了使租户更方便进行管理数据,对象存储服务提供了一种方式模拟文件夹:通过在对象的名称中增加“/”,例如“test/123.jpg”,此时,“test”就被模拟成了一个文件夹,“123.jpg”则模拟成“test”文件夹下的文件名了,而实际上,对象名称(Key)是“test/123.jpg”,数据Data为123.jpg文件本身。
(4)目录项(dentry)元数据
dentry元数据指l inux文件系统的目录项,dentry元数据主要包括目录/对象名、索引节点号(inode number),不包括其他属性,例如对象大小、对象的所有者、数据块分布。dentry元数据可以用于根据对象名查询对应的inode元数据。
(5)索引节点(inode)元数据
inode元数据用于记录除对象名之外的文件属性,包括inode number、对象大小、对象的所有者、数据块分布等。
(6)硬连接
硬连接是指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的对象不管是什么类型都给它分配一个编号,称为索引节点号(I node I ndex)。在Linux中,多个对象名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个对象拥有多个有效路径名,这样用户就可以建立硬连接到重要对象,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,对象的数据块及目录的连接才会被释放。也就是说,对象真正删除的条件是与之相关的所有硬连接对象均被删除。
(7)对象存储设备(object storage device,OSD)
OSD是对象存储系统的基本存储单元,设置在物理磁盘上,具体为物理磁盘的固定大小的存储空间,对象存储系统将多个计算设备的物理磁盘以OSD形式进行管理。
接下来,对本申请实施例提供的技术方案进行介绍。
示例性的,图2示出了一种租户与云管理平台的交互形态的示意图。如图2所示,租户与云管理平台200的交互形态主要包括:租户通过客户端网页登录云管理平台200,在云管理平台200中选择并购买对象存储服务的云服务,购买后,租户即可以基于对象存储服务提供的功能进行对象存储。其中,云管理平台200主要是用于管理运行对象存储服务的基础设施。示例性的,运行对象存储服务的基础设施可以包括设置在不同区域的多个数据中心,每个数据中心包括多个服务器。数据中心可以为对象存储服务提供基础资源,比如:计算资源、存储资源等。因此,租户在购买和使用对象存储服务时,主要是对使用的资源进行付费。租户在使用对象存储服务时,通过云管理平台200提供的配置界面、API或与租户交互的接口等输入命令云管理平台200即可以执行租户输入的命令,比如创建硬连接等。
接下来基于图2所示的内容,对本申请实施例提供的一种基于云计算技术的对象存储服务配置方法进行介绍。
示例性的,图3示出了一种基于云计算技术的对象存储服务配置方法的流程示意图。如图3所示,该基于云计算技术的对象存储服务配置方法可以包括以下步骤:
S301、云管理平台记录对象存储服务的数据桶中源对象的标识与源对象的属性的对应关系,源对象的属性用于指示源对象在基础设施中的数据块分布位置以及数据大小。
本实施例中,在租户将源对象存储至对象存储服务中的数据桶中后,云管理平台可以记录数据桶中源对象的标识和属性间的对应关系。其中,源对象的属性可以用于指示源对象在提供对象存储服务的基础设施中的数据块分布位置以及数据大小。在一些实施例中,本实施例中描述的源对象可以包括文件或对象。其中,文件可以映射为对象。例如,当源对象为文件时,在将该文件存储到对象存储服务中后,该文件可以称之为对象;在将该文件存储到对象存储服务之前,该文件可以称之为文件。
在一些实施例中,云管理平台记录的源对象的标识可以通过源对象的dentry元数据指示,源对象的属性可以通过源对象的inode元数据指示。其中,源对象的dentry元数据和inode元数据可以通过对源对象的元数据进行拆分得到。示例性的,源对象的元数据可以理解为是源对象的描述信息,比如:对象名、对象的数据大小、数据块分布位置等。源对象的dentry元数据可以包括源对象的对象名和inode number,源对象的inode元数据中包括源对象的数据大小和数据块分布位置。
S302、客户端获取租户输入的硬连接创建命令,该硬连接创建命令可以用于将数据桶中的源对象硬连接到第一对象。
本实施例中,租户可以打开安装有客户端的计算设备上的命令行窗口,并在该窗口中输入硬连接创建命令。当然,租户也可以通过其他的方式输入硬连接创建命令,比如:在租户通过计算设备登录到云管理平台后,租户可以通过云管理平台上的配置界面输入硬连接创建命令,此处不做限定。在租户完成输入,并下发确认指令后,计算设备即获取到租户输入的硬连接创建命令。其中,该硬连接创建命令用于将对象存储服务中数据桶中的源对象硬连接到第一对象。示例性的,该硬连接创建命令中可以包括:数据桶的标识、源对象的标识和第一对象的标识。其中,第一对象和源对象位于同一数据桶中。在一些实施例中,第一对象可以为数据桶中已存在的对象,也可以为数据桶中不存在的对象。
举例来说,当计算设备的操作系统为Linux系统时,若用户希望为在对象存储服务中的桶(bucket)1内,将bucket1中的对象(fi le)1硬连接到对象(fi le)2,则租户在打开计算设备上的命令窗口后,可以在该窗口中输入“I n/bucket1/fi le1/fi le2”。其中,bucket1为数据桶的标识,fi le1为源对象的标识,fi le2为需与源对象建立硬连接的对象的标识。
进一步地,计算设备获取到硬连接创建命令后,可以通过其上的系统内核(例如,Linux内核)将该命令发送至其上已安装的客户端(比如:s3fs、s3cur l等)。其中,计算设备上的系统内核和其上的客户端之间可以通过用户空间文件系统(fi lesystem inuserspace,FUSE)协议进行通信。
作为一种可能的实现方式,租户还可以直接在客户端上进行输入。此时,在租户完成硬连接创建命令的输入,并下发确认指令后,客户端即可以获取到该硬连接创建命令。
S303、客户端向云管理平台发送硬连接创建请求,该硬连接创建请求中可以携带有数据桶中的源对象的标识,并用于指示云管理平台在数据桶中创建与源对象具有硬连接关系的第一对象。
本实施例中,客户端获取到硬连接创建命令后,可以通过超文本传输协议(hypertext transfer protoco l,HTTP)与云管理平台进行通信,并向云管理平台发送硬连接创建请求。该硬连接创建请求中可以携带有数据桶中的源对象的标识,并用于指示云管理平台在数据桶中创建与源对象具有硬连接关系的第一对象。示例性的,该硬连接创建请求可以称之为第一硬连接创建请求。
举例来说,客户端可以使用HTTP中定义的POST请求方法发送硬连接创建请求。若租户输入的硬连接创建命令为:I n/bucket1/fi le1/fi le2,则该POST请求的格式可以为:POST/bucket1/fi le1?createhard l ink&destfi le=fi le2 HTTP/1.1。另外,在该POST请求中还可以包含数据桶的域名,比如:Host:bucket1.obs.cn-north-4.xxxcloud.com;也可以包含租户的签名等,比如:Author izat ion:s ignatureVa l ue。
S304、云管理平台通过其上的硬连接创建接口接收客户端发送的硬连接创建请求,该硬连接创建请求携带有数据桶中的源对象的标识,并用于指示云管理平台在数据桶中创建与源对象具有硬连接关系的第一对象。
本实施例中,在云管理平台上配置有硬连接创建接口。通过该硬连接创建接口,云管理平台可以接收到客户端发送的硬连接创建请求。示例性的,云管理平台上的硬连接创建接口可以但不限于包括配置界面、API或者与租户交互的接口等。其中,在客户端发送硬连接创建请求后,云管理平台即可以获取到该硬连接创建请求。
S305、云管理平台根据该硬连接创建请求在数据桶中创建与源对象具有硬连接关系的第一对象,为第一对象设置标识和属性,并记录第一对象的标识与第一对象的属性的对应关系,其中,第一对象的属性设置为与源对象的属性相同。
本实施例中,云管理平台获取到硬连接创建请求后,可以基于该硬连接创建请求中所携带的数据和指示,在源对象所在的数据桶中创建与源对象具有硬连接关系的第一对象,并为该第一对象设置标识和属性,以及,记录第一对象的标识与第一对象的属性的对应关系。其中,云管理平台可以将第一对象的属性设置为与源对象的属性相同。
在一些实施例中,云管理平台记录的第一对象的标识可以通过第一对象的dentry元数据指示,第一对象的属性可以通过源对象的inode元数据指示。也即说,第一对象和源对象具有相同的inode元数据。
S306、云管理平台向客户端返回用于指示硬连接创建成功的消息。
本实施例中,云管理平台在建立第一对象的标识和源对象的属性间的对应关系后,即完成将源对象硬连接到第一对象。此时,云管理平台可以通HTTP协议向客户端返回用于指示硬连接创建成功的消息。
S307、客户端输出硬连接创建成功的信息。
本实施例中,客户端在获取到云管理平台返回的返回用于指示硬连接创建成功的消息后,可以输出硬连接创建成功的信息,以告知租户硬连接创建成功。
由此,在对象存储服务中,将一个对象的属性与多个对象的标识相关联,使得一个对象的属性指向了不同的对象的标识,从而在对象存储服务中完成了将一个对象硬连接到另一个对象,即实现了在对象存储服务中创建硬连接。
在一些实施例中,在图3中将源对象硬连接到第一对象后,租户在有其他的硬连接需求时,其还可以将源对象硬连接到其他的对象(以下简称“第二对象”)。此时,可以直接将源对象硬连接到第二对象,也可以通过将第一对象硬连接到第二对象的方式,间接将源对象硬连接到第二对象。下面分别进行描述。
a)直接将源对象硬连接到第二对象。
此时,可以通过前述图3中S302至S303中描述的方式向云管理平台发送硬连接创建请求,只需将S302至S303中的第一对象替换为第二对象即可,详见上文描述。此时,该硬连接创建请求中可以携带有数据桶中的源对象的标识,并用于指示在数据桶创建与源对象具有硬连接关系的第二对象。
然后,云管理平台可以从其上的硬连接创建接口接收某个客户端(该客户端可以与图3中描述的客户端相同,也可以不同,此处不做限定)发送的硬连接创建请求。
最后,云管理平台可以根据硬连接创建请求在源对象所在的数据桶中创建与源对象具有硬连接关系的第二对象,并为第二对象设置标识和属性,以及记录第二对象的标识与第二对象的属性的对应关系。其中,云管理平台可以将第二对象的属性设置为与源对象的属性相同。在一些实施例中,云管理平台记录的第二对象的标识可以通过第二对象的dentry元数据指示,第二对象的属性可以通过源对象的inode元数据指示。也即说,第二对象、第一对象和源对象具有相同的inode元数据。
这样,第二对象的标识即与源对象的属性相关联,即源对象的属性指向了第二对象的标识,从而完成了直接将源对象硬连接到第二对象。另外,云管理平台还可以向相应的客户端返回用于指示硬连接创建成功的消息,以便租户获知到硬连接是否创建成功。
b)通过将第一对象硬连接到第二对象的方式,间接将源对象硬连接到第二对象。
此时,可以通过前述图3中S302至S303中描述的方式向云管理平台发送硬连接创建请求,只需先将S302至S303中的源对象替换为第一对象,再将原有的第一对象替换为第二对象即可,例如:此时在S302中硬连接创建命令将变为用于将对象存储服务中数据桶中的第一对象硬连接到第二对象,详见上文描述。此时,该硬连接创建请求中可以携带有数据桶中的第一对象的标识,并用于指示在数据桶创建与第一对象具有硬连接关系的第二对象。
然后,云管理平台可以从其上的硬连接创建接口接收某个客户端(该客户端可以与图3中描述的客户端相同,也可以不同,此处不做限定)发送的硬连接创建请求。
最后,云管理平台可以根据硬连接创建请求在第一对象所在的数据桶中创建与第一对象具有硬连接关系的第二对象,并为第二对象设置标识和属性,以及记录第二对象的标识与第二对象的属性的对应关系。其中,云管理平台可以将第二对象的属性设置为与第一对象的属性相同。在一些实施例中,云管理平台记录的第二对象的标识可以通过第二对象的dentry元数据指示,第二对象的属性可以通过源对象的inode元数据指示。也即说,第二对象、第一对象和源对象具有相同的inode元数据。
由于第一对象的属性与源对象的属性相同,因此,第二对象的标识即与源对象的属性相关联,即源对象的属性指向了第二对象的标识,从而完成了通过将第一对象硬连接到第二对象的方式,间接将源对象硬连接到第二对象。另外,云管理平台还可以向计算设备上的客户端返回用于指示硬连接创建成功的消息,以便租户获知到硬连接是否创建成功。
在一些实施例中,云管理平台中除了记录各个对象的标识和属性间的对应关系外,还可以记录与源对象的属性具有对应关系的标识的数量。由此以便于对用于指示源对象的属性的数据进行管理。
其中,云管理平台每在将源对象硬连接到一个对象时,其均可以将与源对象的属性具有对应关系的标识的数量增加1。例如,在图3中,若源对象只硬连接到第一对象,此时则与源对象的属性具有对应关系的标识的数量为2。
另外,在租户删除源对象或者与源对象具有硬连接关系的对象时,云管理平台在获取到租户的删除操作后,可以在对象存储服务中删除相应的对象,同时,可以更新与源对象的属性具有对应关系的标识的数量。例如,在图3中,若源对象只硬连接到第一对象,此时,若租户删除了源对象,云管理平台则可以在对象存储服务中删除源对象,并将与源对象的属性具有对应关系的标识的数量由2更新为1。
由于在与源对象的属性具有对应关系的标识的数量为0时,表明源对象和与源对象具有硬连接关系的对象均已经被删除,因此,此时,云管理平台可以删除其内记录的源对象的inode元数据,源对象的inode元数据用于指示源对象的属性。其中,云管理平台在删除对象存储服务中的对象时,即可以删除其记录的对象的dentry元数据,对象的dentry元数据用于指示对象的标识。
在一些实施例中,由于具有硬连接关系的对象可以理解为是同一对象,因此,当租户对某个对象进行修订,且云管理平台获取到租户的修订操作时,云管理平台可以对租户所修订的对象进行更新,并同步对与该对象具有硬连接关系的对象进行更新。
在一些实施例中,云管理平台在数据桶中创建出与源对象具有硬连接关系的对象后,可以向目标客户端返回用于指示硬连接创建成功的消息。其中,目标客户端为下发硬连接创建请求的客户端。
可以理解的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。此外,在一些可能的实现方式中,上述实施例中的各步骤可以根据实际情况选择性执行,可以部分执行,也可以全部执行,此处不做限定。
以上即是对本申请实施例提供的基于云计算技术的对象存储服务配置方法的介绍。为便于理解下面举例进行说明。
示例性的,以在对象存储服务的数据桶中存储有对象1(以下简称“fi le1”),租户需要将fi le1硬连接到对象2(以下简称“fi le2”)为例,云管理平台中记录的fi le1的标识和属性的对应关系可以如表1所示。在表1中,fi le1的标识为fi le1,属性所指示的数据大小为10000,数据块分布位置为xxx。另外,在表1中,对象名和indode NO.可以理解为是file1的dentry元数据,数据大小、对象所有者、数据块分布位置和其他可以理解为是fi le1的inode元数据。
表1
另外,在云管理平台中记录的fi le1的标识和属性的对应关系还可以如表2所示。在表2中,fi le1的标识为fi le1,其用fi le1的dentry元数据指示;fi le1的属性所指示的数据大小为10000,数据块分布位置为xxx,其用fi le1的inode元数据指示。在表2中,file1的dentry元数据和inode元数据是通过对表1中fi le1的元数据进行拆分得到。在表2中,fi le1的inode元数据中链接数是指fi le1的inode元数据所指向的dentry元数据的数量。当然,该链接数也可以单独存在,即不归属在fi le1的inode元数据中,此处不再限定。示例性的,在表2中还可以记录有fi le1的元数据,此处不做限定。
表2
云管理平台在通过其上的硬连接创建接口接收到硬连接创建请求后,可以在file1所在的数据桶中创建fi le2,并将fi le2的标识设置为“fi le2”。同时,云管理平台可以对fi le1的元数据进行拆分,以得到fi le1的dentry元数据和inode元数据。当云管理平台中记录的fi le1的标识和属性的对应关系是如表2所示时,表明云管理平台预先完成了对fi le1的元数据的拆分,因此,此时不用再进行拆分。
接着,云管理平台可以将fi le2的属性设置为fi le1的属性,即将fi le1的inode元数据作为fi le2的inode元数据。此时,云管理平台中所记录的fi le1的标识和属性间的对应关系,以及,fi le2的标识和属性间的对应关系,可以如表3所示。在表3中,fi le2的dentry元数据指示了fi le2的标识,fi le2的inode元数据即为fi le1的inode元数据。另外,在表3中,由于fi le1的inode元数据所指向的dentry元数据的数量为2,所以,fi le1的inode元数据中链接数是2。示例性的,在表3中还可以记录有fi le1的元数据,此处不做限定。
/>
表3
当租户需要将fi le1或fi le2硬连接到对象3(以下简称“fi le3”)时,云管理平台在接收到硬连接创建请求后,可以fi le1所在的数据桶中创建fi le3,并将fi le3的标识设置为“fi le3”,以及,将fi le3的属性设置为fi le1的属性,即将fi le1的inode元数据作为fi le3的inode元数据。此时,云管理平台中所记录的fi le1的标识和属性间的对应关系,fi le2的标识和属性间的对应关系,以及,fi le3的标识和属性间的对应关系,可以如表4所示。在表4中,fi le3的dentry元数据指示了fi le3的标识,fi le3的inode元数据即为fi le1的inode元数据。另外,在表4中,由于fi le1的inode元数据所指向的dentry元数据的数量为3,所以,fi le1的inode元数据中链接数是3。
表4
由表2、3和4可知,在将fi le1硬连接到其他的对象时,云管理平台只需在其所记录的具有fi le1的dentry元数据和inode元数据的表中,增加其他对象的dentry元数据,和,变更fi le1的inode元数据所指向的dentry元数据的数量即可。在表4中,当租户删除file3后,云管理平台可以在表4中删除fi le3的dentry元数据,并将fi le1的inode元数据的链接数更改为2,此时即得到表3。
由此,通过将对象存储服务中源对象的元数据拆分成dentry元数据和inode元数据,并创建出源对象所需硬连接到的对象的dentry元数据,以及,源对象的inode元数据作为源对象所需硬连接到的对象的i node元数据,即在云管理平台提供的对象存储服务中完成硬连接的创建。应理解的是,由于在完成硬连接的创建之后,同一个inode元数据指向了不同的对象的dentry元数据,因此,当通过任意一个对象对inode元数据进行修改后,该inode元数据所指向的其他的对象也可以读出租户所做的修改。
基于上述实施例中的基于云计算技术的对象存储服务配置方法,本申请实施例提供了一种基于云计算技术的对象存储服务配置装置。
示例性的,图4示出了一种基于云计算技术的对象存储服务配置装置的结构示意图。该云管理平台可以用于管理运行对象存储服务的基础设施。该基础设施包括设置在不同区域的多个数据中心,每个数据中心包括多个服务器。
如图4所示,该基于云计算技术的对象存储服务配置装置400可以包括:存储模块401、通信模块402和处理模块403。其中,存储模块401用于记录对象存储服务的数据桶中的源对象的标识与源对象的属性的对应关系,源对象的属性用于指示源对象在基础设施中的数据块分布位置以及数据大小。
通信模块402用于从硬连接创建接口接收第一客户端发送的第一硬连接创建请求,第一硬连接创建请求携带有数据桶中的源对象的标识,并用于指示云管理平台在数据桶中创建与源对象具有硬连接关系的第一对象,其中,硬连接创建接口设置在云管理平台。
处理模块403用于根据第一硬连接创建请求在数据桶中创建与源对象具有硬连接关系的第一对象,为第一对象设置标识和属性,并记录第一对象的标识与第一对象的属性的对应关系,其中,第一对象的属性设置为与源对象的属性相同。
在一些实施例中,源对象的标识通过源对象的目录项(dentry)元数据指示,源对象的属性通过源对象的索引节点(inode)元数据指示,其中,源对象的dentry元数据和inode元数据通过对源对象的元数据进行拆分得到;第一对象的标识通过第一对象的dentry元数据指示,第一对象的属性通过源对象的inode元数据指示。
在一些实施例中,通信模块402,还用于从硬连接创建接口接收第一客户端或第二客户端发送的第二硬连接创建请求,第二硬连接创建请求携带有数据桶中的源对象的标识,并用于指示在数据桶创建与源对象具有硬连接关系的第二对象。处理模块403,还用于根据第二硬连接创建请求在数据桶中创建与源对象具有硬连接关系的第二对象,为第二对象设置标识和属性,并记录第二对象的标识与第二对象的属性的对应关系,其中,第二对象的属性设置为与源对象的属性相同。
在一些实施例中,通信模块402,还用于从硬连接创建接口接收第一客户端或第二客户端发送的第二硬连接创建请求,第二硬连接创建请求携带有数据桶中的第一对象的标识并用于指示在数据桶创建与第一对象具有硬连接关系的第二对象。处理模块403,还用于根据第二硬连接创建请求在数据桶中创建与第一对象具有硬连接关系的第二对象,为第二对象设置标识和属性,并记录第二对象的标识与第一对象的属性的对应关系,其中,第二对象的属性设置为与第一对象的属性相同。
在一些实施例中,存储模块401中还记录有与源对象的属性具有对应关系的标识的数量。
在一些实施例中,处理模块403,还用于响应于租户对目标对象的删除操作,删除目标对象,以及,更新与源对象的属性具有对应关系的标识的数量,其中,目标对象为源对象或与源对象具有硬连接关系的对象。
在一些实施例中,处理模块403,还用于在与源对象的属性具有对应关系的标识的数量为0的情况下,删除源对象的索引节点(inode)元数据,源对象的inode元数据用于指示源对象的属性。
在一些实施例中,处理模块403,还用于响应于租户对目标对象的修订操作,对目标对象进行更新,并同步对与目标对象具有硬连接关系的对象进行更新,目标对象为源对象或与源对象具有硬连接关系的对象。
在一些实施例中,通信模块402,还用于在处理模块403在数据桶中创建出与源对象具有硬连接关系的对象后,向目标客户端返回用于指示硬连接创建成功的消息,目标客户端为下发硬连接创建请求的客户端。
在一些实施例中,存储模块401、通信模块402和处理模块403均可以通过软件实现,或者可以通过硬件实现。示例性的,接下来以存储模块401为例,介绍存储模块401的实现方式。类似的,通信模块402和处理模块403的实现方式可以参考存储模块401的实现方式。
模块作为软件功能单元的一种举例,存储模块401可以包括运行在计算实例上的代码。其中,计算实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,存储模块401可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。进一步地,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(avai l abi l ity zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(vi rtua l pr ivate c loud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
模块作为硬件功能单元的一种举例,存储模块401可以包括至少一个计算设备,如服务器等。或者,存储模块401也可以是利用专用集成电路(app l icat ion-specificintegrated ci rcu it,ASIC)实现、或可编程逻辑器件(programmab le logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(comp lex programmab lelogica l device,CPLD)、现场可编程门阵列(fie ld-programmab le gate array,FPGA)、通用阵列逻辑(gener ic array logic,GAL)或其任意组合实现。
存储模块401包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。存储模块401包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,存储模块401包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
需要说明的是,在其他实施例中,存储模块401可以用于执行前述所描述的方法中的任意步骤,通信模块402可以用于执行上述实施例提供的方法中的任意步骤,处理模块402可以用于执行上述实施例提供的方法中的任意步骤,或者,存储模块401、通信模块402和处理模块403负责实现的步骤可根据需要指定,通过存储模块401、通信模块402和处理模块403分别实现上述实施例提供的方法中不同的步骤来实现基于云计算技术的对象存储服务配置装置400的全部功能。
本申请还提供了一种数据中心500。该数据中心500可以但不限于为图2中所描述的数据中心。如图5所示,数据中心500可以包括:多个计算设备501。不同的计算设备501间可以通过网络进行通信。每个计算设备501均包括软件层和硬件层。每个计算设备501中的硬件层均包括磁盘控制器5015、物理网卡5016,至少一个物理磁盘;软件层均包括OSD控制单元5012和操作系统5012,OSD控制单元5012运行在操作系统5012上,操作系统5012中包括磁盘驱动5013和物理网卡驱动5014。对于数据中心500中的任意一个计算设备501,图2中所示的云管理平台200均可通过该计算设备上的物理网卡5016与OSD控制单元5011进行通信,OSD控制单元5011通过磁盘驱动5013控制磁盘控制器5015将该计算设备中的物理磁盘设置为多个对象存储设备OSD,图2中所示的云管理平台200在接收到数据桶的创建指令之后,通知OSD控制单元5011创建数据桶,此时,OSD控制单元5011将OSD1至3设置为数据桶。
在数据中心500中,数据桶中各个对象的数据块的分布位置可以但不限于为图2中所示的云管理平台200中记录的地址,该地址的形式可以为:计算设备标识+OSD标识+偏移量+数据长度。其中,具有硬链接关系的两个对象的地址相同,但在租户看来是不同名称的对象。
本申请还提供一种计算设备600。如图6所示,计算设备600包括:总线602、处理器604、存储器606和通信接口608。处理器604、存储器606和通信接口608之间通过总线602通信。计算设备600可以是服务器或终端设备。应理解,本申请不限定计算设备600中的处理器、存储器的个数。
总线602可以是外设部件互连标准(per iphera l component interconnect,PCI)总线或扩展工业标准结构(extended industry standard arch itecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线604可包括在计算设备600各个部件(例如,存储器606、处理器604、通信接口608)之间传送信息的通路。
处理器604可以包括中央处理器(centra l process ing un it,CPU)、图形处理器(graph ics process ing un it,GPU)、微处理器(micro processor,MP)或者数字信号处理器(d igita l s igna l processor,DSP)等处理器中的任意一种或多种。
存储器606可以包括易失性存储器(vo l at i le memory),例如随机存取存储器(random access memory,RAM)。处理器104还可以包括非易失性存储器(non-vo l at i lememory),例如只读存储器(read-on ly memory,ROM),快闪存储器,机械硬盘(hard d i skdr ive,HDD)或固态硬盘(so l id state dr ive,SSD)。
存储器606中存储有可执行的程序代码,处理器604执行该可执行的程序代码以分别实现前述存储模块401、通信模块402和处理模块403的功能,从而实现上述实施例中方法的全部或部分步骤。也即,存储器606上存有用于执行上述实施例方法中全部或部分步骤的指令。
或者,存储器606中存储有可执行的代码,处理器604执行该可执行的代码以分别实现前述基于云计算技术的对象存储服务配置装置400的功能,从而实现上述实施例方法中全部或部分步骤。也即,存储器606上存有用于执行上述实施例方法中全部或部分步骤的指令。
通信接口603使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备600与其他设备或通信网络之间的通信。
本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。
如图6所示,所述计算设备集群包括至少一个计算设备600。计算设备集群中的一个或多个计算设备600中的存储器606中可以存有相同的用于执行上述实施例方法中全部或部分步骤的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备600的存储器606中也可以分别存有用于执行上述实施例方法中全部或部分步骤的部分指令。换言之,一个或多个计算设备600的组合可以共同执行用于执行上述实施例方法中全部或部分步骤的指令。
需要说明的是,计算设备集群中的不同的计算设备600中的存储器606可以存储不同的指令,分别用于执行基于云计算技术的对象存储服务配置装置400的部分功能。也即,不同的计算设备600中的存储器606存储的指令可以实现前述存储模块401、通信模块402和处理模块403中的一个或多个模块的功能。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。
基于上述实施例中的方法,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序在处理器上运行时,使得处理器执行上述实施例中的方法。
基于上述实施例中的方法,本申请实施例提供了一种计算机程序产品,当计算机程序产品在处理器上运行时,使得处理器执行上述实施例中的方法。
可以理解的是,本申请的实施例中的处理器可以是中央处理单元(centra lprocess ing un it,CPU),还可以是其他通用处理器、数字信号处理器(d igita l s ignal processor,DSP)、专用集成电路(app l icat ion specific integrated ci rcu it,ASIC)、现场可编程门阵列(fie ld programmab le gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-on ly memory,ROM)、可编程只读存储器(programmab le rom,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(e lectr ica l ly EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(so l id state d i sk,SSD))等。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。
Claims (22)
1.一种基于云计算技术的对象存储服务配置方法,其特征在于,所述方法应用于云管理平台,所述云管理平台用于管理运行对象存储服务的基础设施,所述基础设施包括设置在不同区域的多个数据中心,每个数据中心包括多个服务器,所述方法包括:
所述云管理平台记录所述对象存储服务的数据桶中的源对象的标识与所述源对象的属性的对应关系,所述源对象的属性用于指示所述源对象在所述基础设施中的数据块分布位置以及数据大小;
所述云管理平台从硬连接创建接口接收第一客户端发送的第一硬连接创建请求,所述第一硬连接创建请求携带有所述数据桶中的源对象的标识,并用于指示所述云管理平台在所述数据桶中创建与所述源对象具有硬连接关系的第一对象,其中,所述硬连接创建接口设置在所述云管理平台;
所述云管理平台根据所述第一硬连接创建请求在所述数据桶中创建与所述源对象具有硬连接关系的所述第一对象,为所述第一对象设置标识和属性,并记录所述第一对象的标识与所述第一文件的属性的对应关系,其中,所述第一对象的属性设置为与所述源对象的属性相同。
2.根据权利要求1所述的方法,其特征在于,所述源对象的标识通过所述源对象的目录项(dentry)元数据指示,所述源对象的属性通过所述源对象的索引节点(inode)元数据指示,其中,所述源对象的dentry元数据和inode元数据通过对所述源对象的元数据进行拆分得到;
所述第一对象的标识通过所述第一对象的dentry元数据指示,所述第一对象的属性通过所述源对象的inode元数据指示。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述云管理平台从所述硬连接创建接口接收所述第一客户端或第二客户端发送的第二硬连接创建请求,所述第二硬连接创建请求携带有所述数据桶中的源对象的标识,并用于指示在所述数据桶创建与所述源对象具有硬连接关系的第二对象;
所述云管理平台根据所述第二硬连接创建请求在所述数据桶中创建与所述源对象具有硬连接关系的所述第二对象,为所述第二对象设置标识和属性,并记录所述第二对象的标识与所述第二对象的属性的对应关系,其中,所述第二对象的属性设置为与所述源对象的属性相同。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述云管理平台从所述硬连接创建接口接收所述第一客户端或第二客户端发送的第二硬连接创建请求,所述第二硬连接创建请求携带有所述数据桶中的第一对象的标识并用于指示在所述数据桶创建与所述第一对象具有硬连接关系的第二对象;
所述云管理平台根据所述第二硬连接创建请求在所述数据桶中创建与所述第一对象具有硬连接关系的所述第二对象,为所述第二对象设置标识和属性,并记录所述第二对象的标识与所述第一对象的属性的对应关系,其中,所述第二对象的属性设置为与所述第一对象的属性相同。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述云管理平台中还记录有与所述源对象的属性具有对应关系的标识的数量。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
响应于租户对目标对象的删除操作,所述云管理平台删除所述目标对象,以及,更新与所述源对象的属性具有对应关系的标识的数量,其中,所述目标对象为所述源对象或与所述源对象具有硬连接关系的对象。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
在与所述源对象的属性具有对应关系的标识的数量为0的情况下,所述云管理平台删除所述源对象的索引节点(inode)元数据,所述源对象的inode元数据用于指示所述源对象的属性。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
响应于租户对目标对象的修订操作,所述云管理平台对所述目标对象进行更新,并同步对与所述目标对象具有硬连接关系的对象进行更新,所述目标对象为所述源对象或与所述源对象具有硬连接关系的对象。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:
所述云管理平台在所述数据桶中创建出与所述源对象具有硬连接关系的对象后,向目标客户端返回用于指示硬连接创建成功的消息,所述目标客户端为下发硬连接创建请求的客户端。
10.一种基于云计算技术的对象存储服务配置装置,其特征在于,所述装置部署于云管理平台,所述云管理平台用于管理运行对象存储服务的基础设施,所述基础设施包括设置在不同区域的多个数据中心,每个数据中心包括多个服务器,所述装置包括:
存储模块,用于记录所述对象存储服务的数据桶中的源对象的标识与所述源对象的属性的对应关系,所述源对象的属性用于指示所述源对象在所述基础设施中的数据块分布位置以及数据大小;
通信模块,用于从硬连接创建接口接收第一客户端发送的第一硬连接创建请求,所述第一硬连接创建请求携带有所述数据桶中的源对象的标识,并用于指示所述云管理平台在所述数据桶中创建与所述源对象具有硬连接关系的第一对象,其中,所述硬连接创建接口设置在所述云管理平台;
处理模块,用于根据所述第一硬连接创建请求在所述数据桶中创建与所述源对象具有硬连接关系的所述第一对象,为所述第一对象设置标识和属性,并记录所述第一对象的标识与所述第一对象的属性的对应关系,其中,所述第一对象的属性设置为与所述源对象的属性相同。
11.根据权利要求10所述的装置,其特征在于,所述源对象的标识通过所述源对象的目录项(dentry)元数据指示,所述源对象的属性通过所述源对象的索引节点(inode)元数据指示,其中,所述源对象的dentry元数据和inode元数据通过对所述源对象的元数据进行拆分得到;
所述第一对象的标识通过所述第一对象的dentry元数据指示,所述第一对象的属性通过所述源对象的inode元数据指示。
12.根据权利要求10或11所述的装置,其特征在于,
所述通信模块,还用于从所述硬连接创建接口接收所述第一客户端或第二客户端发送的第二硬连接创建请求,所述第二硬连接创建请求携带有所述数据桶中的源对象的标识,并用于指示在所述数据桶创建与所述源对象具有硬连接关系的第二对象;
所述处理模块,还用于根据所述第二硬连接创建请求在所述数据桶中创建与所述源对象具有硬连接关系的所述第二对象,为所述第二对象设置标识和属性,并记录所述第二对象的标识与所述第二对象的属性的对应关系,其中,所述第二对象的属性设置为与所述源对象的属性相同。
13.根据权利要求10或11所述的装置,其特征在于,
所述通信模块,还用于从所述硬连接创建接口接收所述第一客户端或第二客户端发送的第二硬连接创建请求,所述第二硬连接创建请求携带有所述数据桶中的第一对象的标识并用于指示在所述数据桶创建与所述第一对象具有硬连接关系的第二对象;
所述处理模块,还用于根据所述第二硬连接创建请求在所述数据桶中创建与所述第一对象具有硬连接关系的所述第二对象,为所述第二对象设置标识和属性,并记录所述第二对象的标识与所述第一对象的属性的对应关系,其中,所述第二对象的属性设置为与所述第一对象的属性相同。
14.根据权利要求10-13任一项所述的装置,其特征在于,所述存储模块中还记录有与所述源对象的属性具有对应关系的标识的数量。
15.根据权利要求14所述的装置,其特征在于,
所述处理模块,还用于响应于租户对目标对象的删除操作,删除所述目标对象,以及,更新与所述源对象的属性具有对应关系的标识的数量,其中,所述目标对象为所述源对象或与所述源对象具有硬连接关系的对象。
16.根据权利要求14或15所述的装置,其特征在于,
所述处理模块,还用于在与所述源对象的属性具有对应关系的标识的数量为0的情况下,删除所述源对象的索引节点(inode)元数据,所述源对象的inode元数据用于指示所述源对象的属性。
17.根据权利要求10-16任一项所述的装置,其特征在于,
所述处理模块,还用于响应于租户对目标对象的修订操作,对所述目标对象进行更新,并同步对与所述目标对象具有硬连接关系的对象进行更新,所述目标对象为所述源对象或与所述源对象具有硬连接关系的对象。
18.根据权利要求10-17任一项所述的装置,其特征在于,
所述通信模块,还用于在所述处理模块在所述数据桶中创建出与所述源对象具有硬连接关系的对象后,向目标客户端返回用于指示硬连接创建成功的消息,所述目标客户端为下发硬连接创建请求的客户端。
19.一种计算设备,其特征在于,包括:
至少一个存储器,用于存储程序;
至少一个处理器,用于执行所述存储器存储的程序;
其中,当所述存储器存储的程序被执行时,所述处理器用于执行如权利要求1-9任一所述的方法。
20.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备均包括处理器和存储器;
所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1-9任一所述的方法。
21.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在处理器上运行时,使得所述处理器执行如权利要求1-9任一所述的方法。
22.一种计算机程序产品,其特征在于,当所述计算机程序产品在处理器上运行时,使得所述处理器执行如权利要求1-9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2023/105068 WO2024032262A1 (zh) | 2022-08-12 | 2023-06-30 | 一种基于云计算技术的对象存储服务配置方法及装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2022109656415 | 2022-08-12 | ||
CN202210965641 | 2022-08-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117640639A true CN117640639A (zh) | 2024-03-01 |
Family
ID=90032744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310064313.2A Pending CN117640639A (zh) | 2022-08-12 | 2023-01-31 | 一种基于云计算技术的对象存储服务配置方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117640639A (zh) |
-
2023
- 2023-01-31 CN CN202310064313.2A patent/CN117640639A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11985192B2 (en) | Synchronized content library | |
US9967339B2 (en) | Migrating shared content items between accounts | |
JP6276388B2 (ja) | 共有コンテンツのアクセス許可 | |
US11689604B2 (en) | Interfacing with remote content management systems | |
US20130091183A1 (en) | Volume Management | |
EP2922273A1 (en) | Resource sharing method, apparatus, system, and terminal, and resource management center | |
US11442752B2 (en) | Central storage management interface supporting native user interface versions | |
US11531712B2 (en) | Unified metadata search | |
JP2016533604A (ja) | クライアントアプリケーションがコンテンツ管理システム上のユーザアカウントにアクセスすることの予備認証 | |
US20200082077A1 (en) | Identifying malware based on content item identifiers | |
CN112511627B (zh) | 迁移元数据的方法和装置 | |
CN114629921A (zh) | 云平台及其提供的对象存储服务的桶管理方法 | |
US11144292B2 (en) | Packaging support system and packaging support method | |
US20230101774A1 (en) | Techniques for performing clipboard-to-file paste operations | |
TWI571754B (zh) | 用來進行檔案同步控制之方法與裝置 | |
CN117640639A (zh) | 一种基于云计算技术的对象存储服务配置方法及装置 | |
WO2024032262A1 (zh) | 一种基于云计算技术的对象存储服务配置方法及装置 | |
CN113806668A (zh) | 一种对象存储系统的数据访问方法及对象存储系统 | |
CN114327249A (zh) | 对象存储服务的数据修改方法、服务节点、客户端及设备 | |
WO2024093901A1 (zh) | 一种基于对象存储服务的存储方法及装置 | |
CN116684282B (zh) | 新增云端服务器初始化方法、装置和计算机设备 | |
US9961132B2 (en) | Placing a user account in escrow | |
CN118034571A (zh) | 一种数据处理方法及装置 | |
US11748511B2 (en) | Protecting data based on context of data movement operation | |
CN107256240B (zh) | 一种分布式文件服务的响应方法及其系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |