专利名称:一种文件的元数据管理系统以及元数据管理方法
技术领域:
本发明涉及计算机存储技术领域,更具体地,涉及云计算环境下的文件的元数据管理方法和系统。
背景技术:
云存储系统通常由多个分布在多个地方的站点共同构成,通过互联网面向世界各地的用户提供服务。要使得应用能够使用云存储系统的全部数据,而无须关心文件具体位置信息,从而有效地管理存储系统内的数据,必须实现全局命名空间的管理。全局命名空间技术是指在任一访问入口均可看到并操作全部数据。通过全局命名空间管理,可以实现真正意义上的存储跨地域无缝管理,使得存储于不同地域的资源能够实现最大程度的共享。在全局命名空间的支持下,存储系统可以根据各种不同的智能策略,实现对数据存储不同级别的保护,保证在发生意外状况时,数据总是可以恢复。同时,通过全局命名空间的管理,可以实现在不同地域对用户数据访问上的优化。一个文件系统的命名空间是指它所能管理的文件名字集合和逻辑关系。全局命名空间技术整合多个文件系统的命名空间,可以提供更大范围的统一视图。业界流行的文件系统,如Ext3/4,ReiserFs文件系统在一台服务器上同时管理文件的数据和元数据,这种集中管理负载限制了单个文件系统可以管理的空间、文件个数的能力。一些网络附加存储(Network Attachment Storage, NAS)系统,仍然需要海量存储空间被划分成不同的单元,分别由不同的文件系统来管理,这些文件系统相互之间没有逻辑关系,无法实现数据共享和统一管理。EMC的Celerra,以及华赛的N8000都属于此类。具体地,此类产品通过将多个独立命名空间进行整合,形成单一命名空间。该类全局命名空间的缺陷在于多个子命名空间相互之间没有逻辑关系,无法实现数据共享和统一管理。
此外,基于目录和索引节点inode结构的传统文件系统,实现跨地域的全局命名空间会面临异地频繁访问高层目录导致成本过高的问题,因而需要采用分片的方案来实现。但传统文件系统的树形结构切分要考虑到多地保存的容量和性能的平衡性,而再平衡的代价很闻。而在对象模型存储系统中,由于所有用户的对象位于同一个线性空间中,因此可以很容易地建立和维护对象范围和站点的映射关系。目前实现全局命名空间的系统多数是此类系统,如Data Direct Networks公司的W0S、EMC公司的Atmos等。该类全局命名空间的缺陷在于与传统文件系统的树状拓扑进行兼容比较困难,Atmos通过在元数据节点上存储文件的路径信息,并且需要在客户端上进行复杂的重建得到文件系统的目录树结构,而WOS则没有提供对于传统文件系统目录树的支持。
发明内容
为解决现有技术存在的问题,本发明提供了一种文件的元数据管理系统以及管理方法。
根据本发明的实施例中,一种文件的元数据管理系统,包括元数据管理子系统,用于存储并管理文件的元数据;元数据位置管理子系统,用于存储并管理所述元数据的存储位置信息;服务接入节点,用于在接收到所述文件的应用请求时,从所述元数据位置管理子系统获取所述文件的元数据的存储位置信息,并根据所述元数据的存储位置信息从所述元数据管理子系统获取所述元数据。在可选实施例中,所述元数据位置管理子系统包括一个或多个第一存储节点,用于存储文件的元数据的存储位置信息;元数据存储位置管理模块,用于接收到所述服务接入节点发送的文件的元数据的存储位置信息的查询时,从一个或多个第一存储节点中查询所述文件的元数据存储位置信息,并将查询到的文件的元数据存储位置信息返回给所述服务接入节点。在可选实施例中,所述元数据管理子系统包括一个或多个第二存储节点和元数据管理模块,其中所述一个或多个第二存储节点,用于存储所述文件的元数据和所述元数据的副本。在可选实施例中,所述元数据管理子系统具有一个存储节点时,所述元数据管理模块还用于将文件的元数据复制到一个存储节点的磁盘阵列中的不同磁盘。在可选实施例中,所述元数据管理子系统具有多个第二存储节点时,所述元数据管理模块,还用于将文件的元数据复制到多个第二存储节点中,和/或将文件的元数据复制到一个第二存储节点的磁盘 阵列中的不同磁盘。在可选实施例中,每个文件具有一个全局存储空间标识ID,所述元数据管理模块,用于基于文件的全局存储空间标识ID划分若干区间,以及将每个区间内的文件的元数据存储在一组第二存储节点中。在可选实施例中,所述元数据位置管理子系统,包括元数据存储位置管理模块,用于在每个文件创建时为每个文件分配一个全局存储空间标识ID。 在可选实施例中,所述元数据存储位置管理模块设置在一个第一存储节点中。在可选实施例中,所述元数据存储位置管理模块是与所述存储节点不同的服务器节点。在可选实施例中,所述元数据存储位置管理模块,还用于将文件的元数据的存储位置信息复制到多个第一存储节点中;和/或将文件的元数据存储位置信息复制到一个第一存储节点的磁盘阵列中的不同磁盘。在可选实施例中,所述元数据管理子系统,还用于在接收到所述服务接入节点发送的文件的元数据管理请求时,根据所述元数据管理请求中的服务质量QoS要求确定是否需要在异地服务站点建立所述文件的元数据副本,如果确定为是,则选择合适的异地服务站点,并将所述文件的元数据信息以及元数据创建任务发送给所述异地服务站点;所述元数据位置管理子系统,用于在接收到所述元数据管理子系统发送的元数据副本异地创建的消息时,将所述文件的元数据存储位置信息复制给所述异地服务站点。根据本发明的另一方面,还提供了一种文件的元数据管理方法,包括元数据存储位置管理模块将所述元数据的存储位置信息存储在一个或多个第一存储节点;
元数据管理模块将文件的元数据存储在一个或多个第二存储节点中;服务接入节点在接收到所述文件的应用请求时,获取所述文件的元数据的存储位置信息,并根据所述元数据的存储位置信息通过所述元数据管理模块从所述第二存储节点获取所述元数据。在可选实施例中,所述元数据管理方法还包括所述元数据存储位置管理模块在每个文件创建时,为每个文件分配一个全局空间命名标识ID ;所述元数据管理模块基于文件的全局存储空间标识ID划分若干区间,以及将每个区间内的文件的元数据以及元数据的副本存储在一组第二存储节点中。在可选实施例中,所述元数据管理方法还包括所述元数据管理模块在接收到所述服务接入节点发送的文件的元数据管理请求时,根据所述元数据管理请求中的服务质量QoS要求确定是否需要在异地服务站点建立所述文件的元数据副本,如果确定为是,则选择合适的异地服务站点,并将所述文件的元数据信息以及元数据创建任务发送给所述异地存储节点;所述元数据存储位置管理模块,在所述元数据管理模块发送的元数据副本异地创建的消息时,将所述文件的元数据的存储位置信息复制给所述异地服务站点。在本发明实施例的文件的元数据管理系统通过对文件的元数据采用分级方式进行管理,使得对外提供的元数据的并发访问能力能够提高。并且,由于对文件采用了跨地域全局命名空间的管理方法,使得基于元数据的管理可以将分布在各个不同站点的存储资源进行统一管理,并实行资源的 最优化支配。
图1是根据本发明实施例的一种文件的元数据管理系统。图2是根据本发明实施例的元数据存储位置信息访问的结构框图。图3是根据本发明实施例的元数据存储的逻辑结构框图。图4是根据本发明实施例的元数据管理系统包括在本地服务站点和异地服务站点建立元数据副本的工作流程图。
具体实施例方式下面结合附图对本发明进行进一步地详细说明。在本发明中,采用元数据和数据分离存储的技术,使得能够避免因为数据访问对磁盘和网络的压力影响到元数据访问。为了实现云存储系统对跨地域的全局命名空间进行管理,本发明在逻辑上对文件系统的元数据管理采用分层管理的方式,即第一级的元数据位置管理层和第二级的元数据管理层。图1是根据本发明实施例的一种文件系统的元数据管理系统。所述文件系统的元数据管理系统包括服务接入节点I和处于元数据位置管理层的元数据位置管理子系统2以及处于元数据管理层的元数据管理子系统3。该元数据位置管理子系统2用于管理文件的元数据所在的服务器位置信息。此外,元数据位置管理子系统还用于存储构成用户视图的目录树结构。在可选实施例中,为了实现全局命名空间,文件的元数据位置信息会在各个服务器节点或服务站点之间进行同步,以便其他的服务器节点或服务站点可以访问到本服务器节点的元数据信息。在本发明实施例中,文件包括普通文件、视频数据文件、音频数据文件等。服务站点是另一个提供元数据位置管理服务、元数据管理服务以及数据(或文件)服务的系统。而且,全局命名空间可以向用户提供全局统一的视图,包括数据视图和元数据视图。应用的最终视图可以在服务接入点中体现。在本发明可选实施例中,对于第一级的元数据位置管理层,元数据存储位置管理可以采用树结构管理,对应于传统文件系统的目录项管理。对于存储系统中的每一个文件,采用文件的全局空间标识ID来标识文件,例如,通用资源标志符(Uniform ResourceIdentifier, URI)。该标识ID是在文件生成时,由元数据存储位置管理模块负责分配。考虑到全局命名空间需要千亿的数量级,而存储需求量不超过数百TB级别(磁盘空间单位,ITB = 1024GB),因此可配置多个高性能的存储服务器,然后配以本地服务器的磁盘阵列RAID6 (Redundant Arrays of Inexpensive Disks)级别冗余和服务节点级别副本冗余。图2是根据本发明实施例的元数据存储位置信息访问的结构框图。如图2所示,对于元数据存储位置信息访问,当服务接入节点10接收到应用请求时,将文件的元数据存储位置信息的查询任务发送给数据位置管理子系统。元数据位置管理子系统包括第一存储节点30和32,用于存储文件的元数据存储位置信息和元数据存储位置管理模块20,用于根据服务接入节点10发送的元数据位置信息的查询任务查询所存储的文件的元数据存储位置信息,并将查询到的文件的元数据存储位置信息返回给所述服务接入节点 。对于元数据存储位置信息查询服务,通常情况下,元数据存储位置管理模块内设置有默认查找的第一存储节点,或者默认查找的第一存储节点上的某个磁盘。在通过该第一存储节点或该第一存储节点的磁盘上查找不到文件的元数据存储位置信息时,才查找其他的磁盘或者其他的存储节点。在可选实施例中,元数据位置管理子系统可以包括一个第一存储节点30,包括磁盘、缓存等存储单元。在可选实施例中,存储节点30可以是存储服务器,元数据存储位置管理模块20也可以设置在该服务器中。第一存储节点30可以以磁盘阵列方式设置。一份文件的元数据存储位置信息可以分别存储在磁盘阵列中的一个或多个磁盘中,即第一存储节点中可包括若干元数据存储位置信息的副本。 在可选实施例中,元数据存储位置管理模块20可以是单独的一个服务器。在进一步可选的实施例中,第一存储节点30也可以是存储服务器。在本发明的一实施例中,元数据存储位置信息可以同时配以同一存储节点的RAID6级别冗余(即元数据存储位置信息及其副本分别存储在多个磁盘中,如图2中所示的第一存储节点30的各磁盘中)和节点级别的副本冗余(即元数据存储位置信息的副本还存储于图2中所示的第一存储节点32中。在进一步的可选实施例中,如果具有文件的元数据的副本存储于异地服务站点,那么,元数据存储位置信息的副本也会存储于异地服务站点的第一存储节点中。在本发明的可选实施例中,由于元数据存储位置的访问需求较大,且常规应用模式下,以查询访问为主,因此在本发明可选实施例中,存储元数据存储位置信息的存储设备和访问元数据存储位置信息的访问设备可以是分离的。例如,服务接入节点10中可以设置有元数据存储位置信息查询服务模块。服务接入节点在接收到查询服务请求时,服务接入节点10的元数据存储位置信息查询服务模块首先操作内存缓存。这是由于之前访问的和/或常用的元数据存储位置信息会存储于服务接入节点的内存缓存中。当对内存缓存进行操作获取不到文件的元数据存储位置信息时,才访问元数据存储位置管理模块20以进行磁盘访问操作。由于提供元数据存储位置信息的服务节点与存储节点不同,因此可以避免提供查询元数据存储位置信息的服务成为存储设备的瓶颈。对于第二级的元数据管理层,在文件系统的元数据管理系统中对应于图1中的元数据管理子系统3。元数据管理子系统3用于存储并管理文件的元数据信息,其中,元数据信息包括文件的基本属性(例如文件的大小、修改时间等)、用户数据存储位置信息、文件扩展属性(如权限配置)等。在可选实施例中,所述元数据管理子系统包括一个或多个第二存储节点和元数据管理模块,其中所述一个或多个第二存储节点,用于存储所述文件的元数据和所述元数据的副本;元数据管理模块,用于对元数据的存取进行管理。在可选实施例中,所述元数据管理子系统具有一个第二存储节点时,所述元数据管理模块还用于将文件的元数据复制到一个第二存储节点的磁盘阵列中的不同磁盘。在可选实施例中,所述元 数据管理子系统具有多个第二存储节点时,所述元数据管理模块,还用于将文件的元数据复制到多个第二存储节点中,和/或将文件的元数据复制到一个第二存储节点的磁盘阵列中的不同磁盘。在云存储系统中,由于需要管理海量文件,每个文件的元数据量较多,因此该级的元数据信息存储需求较第一级的元数据存储位置信息存储需求大。因此,在本发明的优选实施例中,设置多个存储节点共同承担元数据的存储,同时采用服务节点内部RAID6的元数据信息副本和服务节点间的元数据信息副本技术,来实现数据冗余。由于元数据存储位置信息管理模块在文件生成时会为每个文件分配一个全局空间ID,因此在文件的元数据信息存储时,元数据管理模块可以将全局空间ID分成若干区间部分,然后将每个区间的文件的元数据信息存储在一组存储节点中,以实现存储空间的均衡。图3示出了根据本发明实施例的元数据存储的逻辑结构框图。如图3所示,全局空间标识在区间[ID1, IDk]的文件的元数据信息存储在一组元数据服务器中,其中该组元数据服务器还存储有位于该区间的元数据信息的主副本和从副本。可选地或者此外,该组元数据服务器还可以存储全局空间标识在区间[IDk+1,ID2k]的文件的元数据信息。而全局空间标识在区间[ID2k+1,ID3k],[ID3k+1,ID4J的文件的元数据信息以及其副本存储在另一组元数据服务器中。在本发明的实施例中,为实现跨地域的数据冗余,同时提高异地数据访问的效率,还可以采用跨地域的服务站点副本技术。图4是根据本发明实施例的元数据管理系统包括在本地服务站点和异地服务站点建立元数据副本的工作流程图。如图4所示,该工作流程包括S401,服务接入节点接收到文件的应用请求(如文件查找、读写等)。S402,服务接入节点向元数据位置管理子系统发送文件的元数据位置管理请求。S403,元数据位置管理子系统在接收所述元数据位置管理请求后,为文件分配全局空间标识ID,以及获取与该文件对应的元数据管理子系统,然后将所述全局空间标识ID和元数据管理子系统的指示返回给服务接入节点。在可选实施例中,元数据位置管理子系统还在所述元数据位置管理请求后,为文件创建相应的目录项。S404,服务接入节点向元数据管理子系统发送文件的元数据管理请求。在可选实施例中,所述元数据管理请求中携带有该文件的全局空间标识和QoS要求。S405,元数据管理子系统根据所述元数据管理请求选择存储该文件的元数据的本地存储节点、元数据副本的本地存储节点以及元数据副本的异地服务站点。在可选实施例中,元数据管理子系统中的元数据管理模块根据元数据管理请求中的全局空间标识ID确定存储该文件的元数据的存储服务器组。在可选实施例中,元数据管理模块根据元数据管理请求中的QoS要求确定是否需要选择该元数据选择异地服务站点在存储元数据副本。例如,QoS要求为O时,表示不需要选择元数据副本的异地服务站点,为I时,表示需要选择元数据副本的异地服务站点。S406,元数据管理子系统在选择出的本地存储节点上创建元数据以及元数据副本,然后返回创建完成的指示给服务接入节点。S407,元数据管理子系统将元数据信息和元数据副本创建任务发送给选择出的异地服务站点。可选地,元数据管理子系统还在接收到元数据副本创建成功的指示后更新元数据,S408,元数据位置管理子系统在接收到元数据副本异地创建的消息时,将元数据存储位置信息复制给所述异 地服务站点。在本发明的一实施例中,元数据管理子系统可以在选择出异地服务站点时,向元数据位置管理子系统发送元数据副本异地创建的消息。在该消息中具有指示所选择的异地服务站点的信息。在本发明的另一实施例中,元数据管理子系统可以在接收到异地服务站发送的元数据副本创建成功的指示后,向元数据位置管理子系统发送文件的元数据副本异地创建的消息。在该消息中具有指示所选择的异地服务站点的信息,或者该消息中具有指示所选择的异地服务站点的信息以及文件的元数据副本异地创建成功的信息。通过上述元数据异步副本的方法,使得进行异地访问时,可以方便直接定位文件的元数据存储的位置,而不需要到原始站点去进行元数据查询操作可以降低异地元数据访问的开销,从而降低异地数据访问的开销,并且可以降低访问的延迟。在本发明实施例中,由于文件的元数据采用分级管理,使得对外提供的元数据的并发访问能力能够提高,甚至可以支持千亿级别的元数据并发访问。并且,由于对文件采用了跨地域全局命名空间的管理方法,使得基于元数据的管理可以将分布在各个不同站点的存储资源进行统一管理,并实行资源的最优化支配。此外,通过采用对文件采用全局命名空间的方式,可以实现数据和元数据的异地备份,大大降低数据丢失的风险,而且能够使得数据跨地域无缝共享,从而满足云存储环境下对于数据访存的需求。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种文件的元数据管理系统,包括 元数据管理子系统,用于存储并管理文件的元数据; 元数据位置管理子系统,用于存储并管理所述元数据的存储位置信息; 服务接入节点,用于在接收到文件的应用请求时,从所述元数据位置管理子系统获取所述文件的元数据的存储位置信息,并根据所述元数据的存储位置信息从所述元数据管理子系统获取所述元数据。
2.根据权利要求1所述的元数据管理系统,其特征在于,所述元数据位置管理子系统包括 一个或多个第一存储节点,用于存储文件的元数据的存储位置信息; 元数据存储位置管理模块,用于接收到所述服务接入节点发送的元数据存储位置信息的查询消息时,从一个或多个第一存储节点中查询文件的元数据的存储位置信息,并将查询到的所述文件的元数据的存储位置信息返回给所述服务接入节点。
3.根据权利要求1所述的元数据管理系统,其特征在于,所述元数据管理子系统包括一个或多个第二存储节点和元数据管理模块,其中 所述一个或多个第二存储节点,用于存储文件的元数据以及该元数据的副本 所述元数据管理子系统具有一个第二存储节点时,所述元数据管理模块用于将文件的元数据复制到所述第二存储节点的磁盘阵列中的不同磁盘; 所述元数据管理子系统具有多个第二存储节点时,所述元数据管理模块用于将文件的元数据复制到多个第二存储节点中,和/或将文件的元数据复制到一个第二存储节点的磁盘阵列中的不同磁盘。
4.根据权利要求3所述的元数据管理系统,其特征在于,每个文件具有一个全局存储空间标识ID, 所述元数据管理模块,用于基于文件的全局存储空间标识ID划分若干区间,以及将每个区间内的文件的元数据存储在一组第二存储节点中。
5.根据权利要求4所述的元数据管理系统,其特征在于,所述元数据位置管理子系统包括元数据存储位置管理模块,用于在每个文件创建时为每个文件分配一个全局存储空间标识ID ;或者, 所述元数据位置管理子系统还用于存储构成用户视图的目录树结构。
6.根据权利要求2所述的元数据管理系统,其特征在于,所述元数据存储位置管理模块设置在一个第一存储节点中;或者, 所述元数据存储位置管理模块是与所述一个或多个第一存储节点不同的服务器节点。
7.根据权利要求2所述的元数据管理系统,其特征在于,所述元数据存储位置管理模块,还用于将文件的元数据的存储位置信息复制到多个第一存储节点中;和/或 将文件的元数据存储位置信息复制到一个第一存储节点的磁盘阵列中的不同磁盘。
8.根据权利要求1所述的元数据管理系统,其特征在于 所述元数据管理子系统,还用于在接收到所述服务接入节点发送的文件的元数据管理请求时,根据所述元数据管理请求中的服务质量QoS要求确定是否需要在异地服务站点建立该文件的元数据副本, 如果确定为是,则选择合适的异地服务站点,并将该文件的元数据信息以及元数据创建任务发送给所述异地存储节点; 所述元数据位置管理子系统,用于在接收到所述元数据管理子系统发送的元数据副本异地创建的消息时,将所述文件的元数据存储位置信息复制给所述异地存储节点。
9.一种文件的元数据管理方法,包括 元数据存储位置管理模块将文件的元数据的存储位置信息存储在一个或多个第一存储节点; 元数据管理模块将文件的元数据存储在一个或多个第二存储节点中; 服务接入节点在接收到文件的应用请求时,获取该文件的元数据的存储位置信息,并根据所述元数据的存储位置信息通过所述元数据管理模块从所述第二存储节点获取该文件的元数据。
10.根据权利要求9所述的元数据管理方法,其特征在于,所述元数据管理方法还包括 所述元数据存储位置管理模块在每个文件创建时,为每个文件分配一个全局空间命名标识ID ; 所述元数据管理模块基于文件的全局存储空间标识ID划分若干区间,以及将每个区间内的文件的元数据以及元数据的副本存储在一组第二存储节点中。
11.根据权利要求9所述的元数据管理方法,其特征在于,所述元数据管理方法还包括 所述元数据管理模块在接收到所述服务接入节点发送的文件的元数据管理请求时,根据所述元数据管理请求中的服务质量QoS要求确定是否需要在异地服务站点建立该文件的元数据副本, 如果确定为是,则选择合适的异地服务站点,并将该文件的元数据信息以及元数据创建任务发送给所述异地服务站点; 所述元数据存储位置管理模块,在所述元数据管理模块发送的元数据副本异地创建的消息时,将该文件的元数据的存储位置信息复制给所述异地服务站点。
全文摘要
本发明公开了一种文件的元数据管理系统,包括元数据管理子系统,用于存储并管理文件的元数据;元数据位置管理子系统,用于存储并管理所述元数据的存储位置信息;以及服务接入节点,用于在接收到文件的应用请求时,从所述元数据位置管理子系统获取所述文件的元数据的存储位置信息,并根据所述元数据的存储位置信息从所述元数据管理子系统获取所述元数据。相应地,本发明还公开了一种文件的元数据管理方法。采用本发明,可以使对外提供的元数据的并发访问能力提高。
文档编号H04L29/08GK103067461SQ20121055374
公开日2013年4月24日 申请日期2012年12月18日 优先权日2012年12月18日
发明者杨浩, 马照云, 马振杰, 苗艳超, 刘新春, 邵宗有 申请人:曙光信息产业(北京)有限公司