一种分布式对象存储系统的资源管理方法

文档序号:6620634阅读:257来源:国知局
一种分布式对象存储系统的资源管理方法
【专利摘要】本发明公开了一种分布式对象存储系统的资源管理方法,包括以下步骤:所述分布式对象存储系统将文件的存储路径属性与文件的元数据分离,存储路径属性包括文件所在的存储路径名称及相应的路径访问控制属性,文件的元数据包括文件名、创建时间、修改时间以及文件长度在内的访问属性;所述分布式对象存储系统包括存储路径索引服务器、元数据服务器和对象存储设备,其中,存储路径索引服务器为系统中所有存储路径建立索引项,每个索引项包括SPID和存储路径属性,其中,SPID是存储路径索引服务器为存储路径分配的一个全局唯一的存储路径ID;元数据服务器定位存储路径ID为SPID的存储路径对象所对应的对象存储设备。
【专利说明】一种分布式对象存储系统的资源管理方法

【技术领域】
[0001] 本发明涉及云计算计算机数据分布式对象存储的领域,尤其涉及一种云计算环境 下分布式对象存储系统的资源管理方法。

【背景技术】
[0002] 在云计算环境下,数据的存储是一个极其重要的问题。传统网络存储主要分为三 种:直接附加存储(Direct Attached Storage,DAS)、存储区域网(Storage Area Network, SAN)和网络附加存储(Network Attached Storage,NAS)。但是,DAS不适合大规模数据存 储;而对于SAN和NAS,随着数据规模的增大,元数据服务器很容易成为整个系统的瓶颈。
[0003] 相对于传统存储系统,新型的分布式对象存储系统(Object-Based Storage,0BS) 能够很好地解决上述问题。0BS提供了一个带有NAS系统的传统的文件共享和管理特征的 单系统映象(single-system-image)文件系统,并改进了 SAN的资源整合和可扩展的性能。 与传统面向块的逻辑单元不同,对象存储不提供对不相关的数据块的访问,它允许通过存 储对象来访问相关的数据块。存储对象是一个虚拟实体,它是一个客户认为相关的一组数 据,类似于平面文件系统中的大小不限的比特流文件,但对象又不同于文件,它只是有属性 的比特序列。尽管对象既不同与数据块,也不同于文件,但可通过对象语义的定义来实现文 件或数据块的输入/输出,因此,通过对象实现了文件输入/输出和数据块输入/输出的统 〇
[0004] 对象存储的管理分两部分:服务器和对象存储目标端(Object-based Storage Target,0ST)。服务器将所有存储目标端的存储空间虚拟为统一的存储空间,同时负责用户 的命名空间的管理,在认证用户请求后,分配给其唯一的对象ID,并按一定的算法实现用户 命名空间到存储空间的映射。0ST负责与其相连的存储设备的管理,它没有对象命名空间, 只有平面对象ID空间,0ST根据对象ID在存储设备中分配存储空间或访问存储对象。
[0005] 对象存储通过信用保证所有操作的安全,信用包括允许客户的操作集和完整性编 码。对每个操作简单提供信用,即使信用不加密,也能提供保护(由于完整性编码),因为不 可能偶然为一个操作提供一个可靠信用。为了提供安全,对信用的某些形式的加密保护是 必要的。对象存储提供安全和保护是在对象级而不是整个卷级,因此允许不可信的客户位 于存储网络中,并允许共享访问存储数据而不需访问整个卷的数据。由于客户不能直接访 问定位元数据,可提供额外的保护,因为不可能有错误配置和蠕虫主机破坏定位元数据。 [0006] 此外,对象存储体系结构在每一个级别上都提供了安全性:存储系统对存储设 备的认证;存储系统对计算节点的认证;存储系统对计算节点命令的认证;所有命令都经 CRC(Cyclic Redundancy Check,循环冗余校验码)的完整性检查;数据和命令经由IP的私 有性。这样的安全水平能给用户以信心,让他们可以更经济高效地管理并轻松地访问网络。 因此,分布式对象存储是一种高性能的、安全的大规模数据存储技术。
[0007] 对象存储系统在大规模数据存储、性能、数据共享和可扩展性方面已经取得了很 大的成就,并得到了业界的广泛认可。如Panasas公司是全球第一家0SD(0bject-based Storage Device,对象存储设备)产品的提供商,同时提供面向对象的存储和并行文件系 统。HP已经和开放源代码厂家Lustre文件系统合作,使用0SD作为HP StorageWork可扩 展文件系统的重要部分。
[0008] 在分布式对象存储系统中,数据对象的所有操作都需要访问元数据,在一些极端 情况下,系统对元数据的访问次数占据了大部分的数据访问时间,从而可能成为制约系统 性能的瓶颈。所以,高效的元数据管理方法对整个存储系统提供高性能和高可伸缩性至关 重要。同时,大规模分布式存储系统的存储容量往往是动态变化的,需要不断增加新的存储 节点,淘汰旧的存储节点,高可伸缩性、高可管理性要求数据对象能够实现自适应的、均衡 的分配,以保证数据对象在整个存储系统的分布总是负载均衡的。


【发明内容】

[0009] 发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种分布式 对象存储系统的资源管理方法,以分别实现高效的元数据组织、定位和访问控制,以及数据 对象分配的动态负载均衡。
[0010] 为了解决上述技术问题,本发明公开了一种分布式对象存储系统的资源管理方 法,所述分布式对象存储系统将文件的存储路径属性与文件的元数据分离,存储路径属性 包括文件所在的存储路径名称及相应的路径访问控制属性,文件的元数据包括文件名、创 建时间、修改时间以及文件长度在内的访问属性;
[0011] 所述分布式对象存储系统包括存储路径索引服务器、元数据服务器和对象存储设 备,其中,存储路径索引服务器为系统中所有存储路径建立索引项,每个索引项包括SPID 和存储路径属性,其中,SPID是存储路径索引服务器为存储路径分配的一个全局唯一的存 储路径ID ;元数据服务器定位存储路径ID为SPID的存储路径对象所对应的对象存储设 备;
[0012] 所述分布式对象存储系统在存储路径索引服务器上建立SPID与元数据服务器的 映射表,并将兀数据服务器映射表分为主兀数据服务器映射表和从兀数据服务器映射表, 其中主元数据服务器映射表是将SPID的散列值与元数据服务器映射,从映射表则是直接 将SPID值与元数据服务器映射;
[0013] 所述分布式对象存储系统将SPID做为存储路径索引服务器中索引项的主关键 字,根据SPID与元数据服务器的映射表定位文件元数据对应的不同的元数据服务器;元数 据服务器根据文件名的散列值和存储路径对象的元数据信息计算文件元数据对应的桶对 象,并在对象存储设备中确定该桶对象。
[0014] 本发明中,新建文件元数据包括以下步骤:
[0015] 步骤1 :存储路径索引服务器获取文件的存储路径及相应的访问控制属性,并记 录在索引项;
[0016] 步骤la、存储路径索引服务器获取文件的存储路径及相应的路径访问控制属性;
[0017] 步骤lb、存储路径索引服务器检查存储路径访问控制属性,确认用户是否有新建 文件元数据的权限;
[0018] 步骤1C、如果用户有新建文件元数据权限,则存储路径索引服务器将存储路径及 相应的访问控制属性记录在索引项,否则结束;
[0019] 步骤2 :存储路径索引服务器为存储路径分配SPID,并记录在索引项;
[0020] 步骤3 :定位文件元数据对应的元数据服务器,将文件元数据存储到对应的对象 存储设备上;
[0021] 步骤3a、在存储路径索引服务器上建立SPID与元数据服务器的映射表,其中主映 射表是将SPID的散列值与元数据服务器映射,从映射表则是直接将SPID值与元数据服务 器映射;
[0022] 步骤3b、根据SPID和元数据服务器映射表定位主元数据服务器和从元数据服务 器;
[0023] 步骤3c、元数据服务器定位存储路径ID为SPID的存储路径对象所在的对象存储 设备;
[0024] 步骤3d、将文件名转换成整数,根据它的散列值以及存储路径对象的元数据信息 计算文件元数据对应的桶对象ID,根据桶对象ID在对象存储设备中确定该桶对象;
[0025] 步骤3e、将文件元数据存储到所述桶对象中。
[0026] 本发明中,访问文件元数据包括如下步骤:
[0027] 步骤4 :将文件分解为存储路径和文件名两部分;
[0028] 步骤5 :存储路径索引服务器获取存储路径的访问控制属性及其SPID
[0029] 步骤5a、客户端在本地缓存中查找是否有缓存项;
[0030] 步骤5b、如果没有,则客户端访问存储路径索引服务器,如果有,则客户端根据缓 存项确定存储元数据的桶对象,直接访问元数据;
[0031] 步骤5c、存储路径索引服务器根据存储路径的散列值检索是否存在索引项,如果 存在,则检查用户是否有访问权限,如果不存在,则结束;如果有权限,则返回索引项中的访 问控制属性和SPID,否则结束;
[0032] 步骤5d、客户端获得返回的索引项,将它保存在本地的缓存中;
[0033] 步骤6 :客户端获取文件的元数据;
[0034] 步骤6a、客户端在本地缓存中查找是否有缓存项;
[0035] 步骤6b、如果没有,则根据SPID的散列值确定主元数据服务器,访问主元数据服 务器,如果有,则客户端根据缓存项确定存储元数据的桶对象,直接访问元数据;
[0036] 步骤6c、主元数据服务器查找缓存中是否有存储路径ID为SPID的存储路径对象, 如果没有,根据SPID从对象存储设备中读取该存储路径对象,否则,主元数据服务器直接 确定存储元数据的桶对象;
[0037] 步骤6d、将文件名转换成整数,根据它的散列值以及存储路径对象的元数据信息 计算文件元数据所在的桶对象ID,如果该桶对象不在本地缓存中,根据桶对象ID从对象存 储设备中读取该桶对象;
[0038] 步骤6e、客户端从桶对象中获得文件的元数据;
[0039] 步骤6f、如果主元数据服务器过载,从存储路径索引服务器获得负载较轻的从元 数据服务器,查询从元数据服务器获得所需要的文件元数据;
[0040] 步骤6g、客户端将获得的元数据项保存在本地的缓存中。
[0041] 本发明中,在当前存储路径新建目录时,构建新存储路径的访问控制属性包括以 下步骤:
[0042] 步骤7、用户查询当前存储路径的访问控制属性,确认用户是否有新建目录的权 限,如果有权限,则执行步骤2,否则结束;
[0043] 步骤8、用户设定新建目录的访问权限属性;
[0044] 步骤9、根据当前存储路径的访问控制属性以及新建目录的访问权限属性,构造新 存储路径的访问控制属性。
[0045] 本发明实现了分布式对象存储系统的资源管理方法,具有以下优点:
[0046] 1、实现了高效的元数据组织、定位和访问控制;
[0047] 2、实现了对系统中对象等数据资源的高效管理。
[0048] 3、解决了大规模数据存储系统资源管理不易等问题,保证了云存储环境下数据的 安全。

【专利附图】

【附图说明】
[0049] 下面结合附图和【具体实施方式】对本发明做更进一步的具体说明,本发明的上述和 /或其他方面的优点将会变得更加清楚。
[0050] 图1为存储路径对象内部结构。
[0051] 图2a和图2b分别为MDS主、从映射表。
[0052] 图3为创建新文件元数据的流程图。
[0053] 图4为访问文件元数据的流程图。
[0054] 图5为对象资源管理工作内容。

【具体实施方式】
[0055] 本发明针对云计算环境下分布式对象存储的特点,提出了一种分布式对象存储的 资源管理方法。
[0056] (1)元数据管理
[0057] 对象存储系统将文件和数据分开管理,文件系统的元数据信息与实际数据读写分 离,减轻了系统的元数据工作负载,提高了系统的整体性能。本发明将存储路径属性与文件 的元数据进一步分离,存储路径属性包括文件所在的存储路径名称及相应的路径访问控制 属性,文件的元数据包括文件名、创建时间、修改时间、文件长度等访问属性。目录属性由存 储路径索引服务器(Storage Path Index Server,SPIS)专门管理,为系统中的所有存储路 径分配一个全局唯一的存储路径ID。存储路径索引服务器中的目录属性包括:
[0058] · SPID :表示全局唯一的存储路径ID ;
[0059] 籲ACp :表示该存储路径的访问控制属性;
[0060] · StoragePath :表示该存储路径名字。
[0061] 每次创建目录时,SPIS将获得的路径访问控制属性记录在当前索引项中,在该目 录下创建新的目录时,不再需要遍历前面目录,只需递归使用当前的路径访问控制属性与 新建目录文件的访问控制属性即可构建新的存储路径访问控制属性。SPID为存储路径索引 服务器中索引的主关键字,存储路径下的文件元数据通过SPID的散列值分布到不同的元 数据服务器(Metadata Server, MDS)。这种方法可以在SPID不改变的条件下任意修改文 件路径中目录名和访问权限,避免了由于目录名和访问权限的修改导致该存储路径下文件 的元数据更新,从而也避免了大量的元数据迁移。
[0062] 元数据服务器主要负责存储和管理数据文件的元数据,这些元数据都包含在一种 称为存储路径对象(Storage Path Object,SP0)的逻辑结构中。SP0包含一个或多个固定 大小的桶(Bucket)对象,每一个Bucket对象包含固定数量的文件或目录文件元数据的登 记项入口(Entry),每一个Entry则包含着某一文件的全部元数据。在存储路径对象的起始 位置包含描述该存储路径对象属性的元数据,存储路径对象的内部结构如图1所示。
[0063] 通常采用静态散列法根据文件的标志值散列到不同的MDS中。本发明结合字典与 散列法,在SPIS上建立SPID与MDS的映射表,并将MDS映射表分为主MDS映射表和从MDS 映射表,其中主映射表是将SPID的散列值与MDS映射,从映射表则是直接将SPID值与MDS 映射。从映射表的目的是为了防止过载访问的极端情况。主、从映射表如图2a和图2b所 /_J、1 〇
[0064] 新建文件元数据的流程如下,其流程图如图3所示:
[0065] 步骤一 :SPIS获取文件的存储路径及相应的访问控制属性,并记录在索引项;
[0066] i、SPIS获取文件的存储路径相应的访问控制属性;
[0067] ii、SIPS查询存储路径访问控制属性,确认用户是否有新建文件的权限;
[0068] iii、如果用户有新建文件权限,则SPIS将存储路径及相应的访问控制属性记录在 索引项,否则结束。
[0069] 步骤二:SPIS为存储路径分配SPID,并记录在索引项;
[0070] 步骤三:定位文件元数据对应的MDS,将文件元数据存储到对应的0SD上;
[0071] i、在SPIS上建立SPID与MDS的映射表,其中主映射表是将SPID的散列值与MDS 映射,从映射表则是直接将SPID值与MDS映射;
[0072] ii、根据SPID和MDS映射表确定主MDS和从MDS ;
[0073] iii、MDS定位存储路径ID为SPID的存储路径对象所在的0SD ;
[0074] iv、将文件名转换成整数,根据它的散列值以及存储路径对象的元数据信息计算 文件元数据对应的桶对象ID,根据桶对象ID在0SD中确定该桶对象;
[0075] v、将文件的元数据存储到桶对象中。
[0076] 访问文件元数据的流程如下,其流程图如图4所示:
[0077] 步骤一:将文件分解为存储路径和文件名两部分;
[0078] 步骤二:SPIS获取存储路径的访问控制属性及其SPID :
[0079] i、客户端在本地Cache中查找是否有缓存项;
[0080] ii、如果没有,则客户端访问SPIS,如果有,则客户端根据缓存项确定存储元数据 的桶对象,直接访问元数据;
[0081] iii、SPIS根据存储路径的散列值快速检索是否存在索引项,如果存在,则检查用户 是否有访问权限,如果不存在,则结束;如果有,则返回索引项中的访问控制属性和SPID, 否则结束;
[0082] iv、如果客户端获得返回的索引项,将它保存在本地的Cache中;
[0083] 步骤三:客户端获取文件的元数据;
[0084] i、客户端在本地Cache中查找是否有缓存项;
[0085] ii、如果没有,则根据SPID的散列值确定主MDS,访问主MDS,如果有,则客户端根 据缓存项确定存储元数据的桶对象,直接访问元数据;
[0086] iii、主MDS查找Cache中是否有存储路径ID为SPID的存储路径对象,如果没有, 根据SPID从0SD中读取该存储路径对象,否则,主元数据服务器直接确定存储元数据的桶 对象;
[0087] iv、将文件名转换成整数,根据它的散列值以及存储路径对象的元数据信息计算 文件元数据所在的桶对象ID,如果该桶对象不在Cache中,根据桶对象ID从0SD中读取该 桶对象;
[0088] v、客户端从桶对象中获得文件的元数据;
[0089] vi、如果主MDS过载,从SPIS获得负载较轻的从MDS,查询从MDS获得所需要的文 件元数据;
[0090] Vii、客户端将获得的元数据项保存在本地的缓存Cache中。
[0091] (2)对象资源管理
[0092] 在对象存储系统中,对象数据作为一种资源,需要进行合理的管理和操作,从而提 高对象存储系统性能和资源利用率。
[0093] 对象的管理主要包括对象资源管理,对象基本操作管理,对象性能管理等,各项具 体工作内容如图5所示。在对象资源管理中,对象存储系统根据系统中存储节点的规模和 权值将单位区间分割成长度不同的区间,并在这些区间与存储节点之间建立映射关系。通 过将数据对象映射到均匀分布在单位区间[0,1)中的随机数集合中,根据映射确定数据对 象的存储位置,从而实现对象数据在系统中的均衡存储。
[0094] 实施例
[0095] (1)元数据管理
[0096] 元数据管理主要涉及元数据定位和文件访问控制属性管理两方面。
[0097] 元数据定位操作的基本步骤是当客户端需要访问数据文件时,首先需要访问 SPIS,查询所要访问文件的存储路径的访问控制属性以及SPID。如果有访问权限,则需要根 据SPID进行散列计算,确定存储文件元数据的主MDS。在正常访问情况下,通过查询主MDS 即可获得所需要的文件元数据,如果主MDS过载,则从SPIS获得负载较轻的从MDS,查询从 MDS获得所需要的文件元数据。以访问文件/home/src/test/HelloWorld. Java的元数据为 例,说明具体的访问过程。
[0098] 步骤一:将以下文件 /home/src/test/HelloWorld. java 分解为存储路径 /home/ src/test/和文件名 HelloWorld. java 两部分;
[0099] 步骤二:获取存储路径/home/src/test/的访问控制属性及其SPID ;
[0100] i、在本地Cache中查找是否有缓存项;
[0101] ?、如果没有,则访问SPIS ;
[0102] iii、SPIS根据/home/src/test/的散列值快速检索是否存在索引项,如果存在,则 检查用户是否有访问权限;如果有,则返回索引项中的访问控制属性和SPID ;
[0103] iv、如果获得返回的索引项,将它保存在本地的Cache中;
[0104] 步骤三:获取文件HelloWorld. java的元数据;
[0105] i、在本地Cache中查找是否有缓存项;
[0106] ?、如果没有,则根据SPID的散列值确定主MDS,访问主MDS ;
[0107] iii、主MDS查找Cache中是否有存储路径ID为SPID的存储路径对象,如果没有, 根据SPID从0SD中读取该存储路径对象;
[0108] iv、将HelloWorld. java转换成整数,根据它的散列值以及存储路径对象的元数 据信息计算HelloWorld. java所在的Bucket对象ID,如果该Bucket对象不在Caehe中,从 0SD中读取该Bucket对象;
[0109] v、从Bucket对象中获得HelloWorld. java的元数据;
[0110] vi、如果主MDS过载,从SPIS获得负载较轻的从MDS,查询从MDS获得所需要的文 件元数据;
[0111] Vii、将获得的元数据项保存在本地的Cache中。
[0112] 文件访问控制属性管理的基本操作过程是将文件本身的访问控制属性与所在的 存储路径访问控制属性分开管理。构造存储路径的访问控制属性时,每次创建新的目录都 需要将获得的路径访问控制属性记录在当前索引项中。在该目录下创建新的子目录时,只 需要结合当前的路径访问控制属性与新建目录的访问控制属性即可构建新的存储路径访 问控制属性,而无需遍历前面的各层目录。这种方法的好处是,只需要通过SPIS即可查询 文件的存储路径访问控制属性,无需遍历文件所在路径的所有目录,大大提高了元数据访 问效率。以下是在目录/home/src下新建目录test时,构造存储路径/home/src/test的 访问控制属性过程如下:
[0113] 步骤一:用户查询存储路径/home/src的访问控制属性,获得/home/src的访问控 制属性为:rwxr-xr-x,即用户有新建目录的权限;
[0114] 步骤二:用户设定新建目录test的访问权限属性为:rwxr-r-;
[0115] 步骤三:根据存储路径/home/src的访问控制属性以及新建目录test的访问权限 属性,构造存储路径/home/src/test的访问控制属性为:rwxr-r-。
[0116] (2)对象资源管理
[0117] 对象资源管理主要涉及到数据对象的资源分配、数据对象操作、系统性能监控、资 源回收等内容,其具体步骤如下:
[0118] 步骤一:对象存储系统接收来自用户的对象资源申请,申请信息包括所需资源大 小。对象存储系统将资源申请中的所需资源大小与自身存储能力进行对比,如果存储资源 充足,则为申请分配对象资源,否则产生资源不足告警。
[0119] 步骤二:对象存储分配对象资源时,通过线性散列函数H(x)为数据对象X产生全 局唯一的ID,并映射到随机产生的均匀分布在单位区间[0, 1)上的随机数集合上。
[0120] 步骤三:对象存储系统将单位区间[0, 1)分割成如果干个不交叉的独立区间。通 过比较存储系统中所有存储节点的权重,在区间与存储节点之间建立映射关系,映射到同 一个存储节点的区间构成了一个区间域,区间域中的区间按照区间的左边界递增的顺序进 行排列,每个区间域中所有区间长度之和代表存储节点的权重。
[0121] 步骤四:对象存储系统查找数据对象X所对应的随机数所属的映射区间和区间 域,由区间域唯一确定对应的存储节点,并将数据对象X存储到对应的存储节点。
[0122] 步骤六:在对象存储系统运行过程中,系统对自身存储性能进行监控,并生成性能 记录数据。如果系统性能低于预定门限,则对象存储系统发出告警。
[0123] 步骤五:如果用户提交操作对象资源的请求,对象存储系统根据用户请求对对象 资源进行相关操作。例如,如果用户提交对数据对象X的删除操作,则对象存储根据对象X 所在区间域确定存储节点,从该存储节点中删除数据对象X,并释放相应的存储资源。
[0124] 本发明提供了一种分布式对象存储系统的资源管理方法,具体实现该技术方案的 方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通 技术人员来说,在不脱离本发明原理的前提下,还可以做出如果干改进和润饰,这些改进和 润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实 现。
【权利要求】
1. 一种分布式对象存储系统的资源管理方法,其特征在于, 所述分布式对象存储系统将文件的存储路径属性与文件的元数据分离,存储路径属性 包括文件所在的存储路径名称及相应的路径访问控制属性,文件的元数据包括文件名、创 建时间、修改时间以及文件长度在内的访问属性; 所述分布式对象存储系统包括存储路径索引服务器、元数据服务器和对象存储设备, 其中,存储路径索引服务器为系统中所有存储路径建立索引项,每个索引项包括SPID和存 储路径属性,其中,SPID是存储路径索引服务器为存储路径分配的一个全局唯一的存储路 径ID ;元数据服务器定位存储路径ID为SPID的存储路径对象所对应的对象存储设备; 所述分布式对象存储系统在存储路径索引服务器上建立SPID与元数据服务器的映 射表,并将兀数据服务器映射表分为主兀数据服务器映射表和从兀数据服务器映射表,其 中主元数据服务器映射表是将SPID的散列值与元数据服务器映射,从映射表则是直接将 SPID值与元数据服务器映射; 所述分布式对象存储系统将SPID做为存储路径索引服务器中索引项的主关键字,根 据SPID与元数据服务器的映射表定位文件元数据对应的不同的元数据服务器;元数据服 务器根据文件名的散列值和存储路径对象的元数据信息计算文件元数据对应的桶对象,并 在对象存储设备中确定该桶对象。
2. 根据权利要求1所述的一种分布式对象存储系统的资源管理方法,其特征在于,新 建文件元数据包括以下步骤: 步骤1 :存储路径索引服务器获取文件的存储路径及相应的访问控制属性,并记录在 索引项; 步骤la、存储路径索引服务器获取文件的存储路径及相应的路径访问控制属性; 步骤lb、存储路径索引服务器检查存储路径访问控制属性,确认用户是否有新建文件 元数据的权限; 步骤lc、如果用户有新建文件元数据权限,则存储路径索引服务器将存储路径及相应 的访问控制属性记录在索引项,否则结束; 步骤2 :存储路径索引服务器为存储路径分配SPID,并记录在索引项; 步骤3 :定位文件元数据对应的元数据服务器,将文件元数据存储到对应的对象存储 设备上; 步骤3a、在存储路径索引服务器上建立SPID与元数据服务器的映射表,其中主映射表 是将SPID的散列值与元数据服务器映射,从映射表则是直接将SPID值与元数据服务器映 射; 步骤3b、根据SPID和元数据服务器映射表定位主元数据服务器和从元数据服务器; 步骤3c、元数据服务器定位存储路径ID为SPID的存储路径对象所在的对象存储设 备; 步骤3d、将文件名转换成整数,根据它的散列值以及存储路径对象的元数据信息计算 文件元数据对应的桶对象ID,根据桶对象ID在对象存储设备中确定该桶对象; 步骤3e、将文件元数据存储到所述桶对象中。
3. 根据权利要求1所述的一种分布式对象存储系统的资源管理方法,其特征在于,访 问文件元数据包括如下步骤: 步骤4 :将文件分解为存储路径和文件名两部分; 步骤5 :存储路径索引服务器获取存储路径的访问控制属性及其SPID 步骤5a、客户端在本地缓存中查找是否有缓存项; 步骤5b、如果没有,则客户端访问存储路径索引服务器,如果有,则客户端根据缓存项 确定存储元数据的桶对象,直接访问元数据; 步骤5c、存储路径索引服务器根据存储路径的散列值检索是否存在索引项,如果存在, 则检查用户是否有访问权限,如果不存在,则结束;如果有权限,则返回索引项中的访问控 制属性和SPID,否则结束; 步骤5d、客户端获得返回的索引项,将它保存在本地的缓存中; 步骤6 :客户端获取文件的元数据; 步骤6a、客户端在本地缓存中查找是否有缓存项; 步骤6b、如果没有,则根据SPID的散列值确定主元数据服务器,访问主元数据服务器, 如果有,则客户端根据缓存项确定存储元数据的桶对象,直接访问元数据; 步骤6c、主元数据服务器查找缓存中是否有存储路径ID为SPID的存储路径对象,如果 没有,根据SPID从对象存储设备中读取该存储路径对象,否则,主元数据服务器直接确定 存储元数据的桶对象; 步骤6d、将文件名转换成整数,根据它的散列值以及存储路径对象的元数据信息计算 文件元数据所在的桶对象ID,如果该桶对象不在本地缓存中,根据桶对象ID从对象存储设 备中读取该桶对象; 步骤6e、客户端从桶对象中获得文件的元数据; 步骤6f、如果主元数据服务器过载,从存储路径索引服务器获得负载较轻的从元数据 服务器,查询从元数据服务器获得所需要的文件元数据; 步骤6g、客户端将获得的元数据项保存在本地的缓存中。
4.根据权利要求1所述的一种分布式对象存储系统的资源管理方法,其特征在于,在 当前存储路径新建目录时,构建新存储路径的访问控制属性包括以下步骤: 步骤7、用户查询当前存储路径的访问控制属性,确认用户是否有新建目录的权限,如 果有权限,则执行步骤2,否则结束; 步骤8、用户设定新建目录的访问权限属性; 步骤9、根据当前存储路径的访问控制属性以及新建目录的访问权限属性,构造新存储 路径的访问控制属性。
【文档编号】G06F17/30GK104123359SQ201410343218
【公开日】2014年10月29日 申请日期:2014年7月17日 优先权日:2014年7月17日
【发明者】张文健, 房磊, 朱晨鸣, 张云帆, 乔爱锋, 乔长兵 申请人:江苏省邮电规划设计院有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1