云存储系统及其元数据写入方法、元数据读取方法

文档序号:6375456阅读:166来源:国知局
专利名称:云存储系统及其元数据写入方法、元数据读取方法
技术领域
本发明涉及一种云存储系统,尤其涉及用于存储大容量数据的云存储系统及其元数据内容写入方法和元数据内容读取方法。
背景技术
元数据是“关于数据的数据”在地理空间信息中用于描述地理数据集的内容、质量、表示方式、空间參考、管理方式以及数据集的其他特征,它是实现地理空间信息共享的核心标准之一。目前,国际上对空间元数据标准内容进行研究的组织主要有三个,分别是欧洲标准化委员会(CEN/TC287)、美国联邦地理数据委员会(FOTC)和国际标准化组织地理信息/地球信息技术委员会(IS0/TC211)。空间元数据标准内容分两个层次。第一层是目录信息,主要用于对数据集信息进行宏观描述,它适合在数字地球的国家级空间信息交換中心或区域以及全球范围内管理和查询空间信息时使用。第二层是详细信息,用来详细或全 面描述地理空间信息的空间元数据标准内容,是数据集生产者在提供空间数据集时必须要提供的信息。随着信息化程度的深入,信息数据量越来越大,广泛应用了元数据技术,出现了包括用于存储元数据(Metadata)的元数据服务器集群的云存储系统。现有的元数据服务器集群的云存储系统中,元数据服务器集群的各元数据服务器中存储整个云存储系统的元数据视图信息。然而,随着元数据内容的数据量越来越大。在非常海量的数据云存储系统中,元数据视图信息也会成为海量数据。此时,元数据服务器集群中的每个元数据服务器均需要存储所有的海量元数据视图信息,从而占用大量的存储空间。此外,如果元数据服务器集群中的每个元数据服务器都存储着大量的内容相同的元数据视图信息,则当客户端检索元数据内容时,在海量的元数据视图信息中捜索也将是非常耗费时间的。

发明内容
本发明所要解决的技术问题之ー是需要提供一种可减小网络的带宽消耗的云存储系统及其元数据写入方法、元数据读取方法。为了解决上述技术问题,本发明提供了ー种云存储系统。该系统包括元数据服务器集群、视图管理模块和客户端,其中客户端用于向用户提供访问所述云存储系统的接ロ,井根据用户的访问请求解析出用户要访问的元数据服务器的视图位置;视图管理模块用于存储整个元数据服务器集群的全部元数据视图信息,根据所述全部元数据视图信息构建元数据服务器集群中的各元数据服务器之间的逻辑关联关系,并根据该逻辑关联关系向每个元数据服务器分发与该元数据服务器自身相关联的元数据视图信息;
元数据服务器集群中各元数据服务器用于存储由视图管理模块分发的元数据视图信息,井根据客户端或其它元数据服务器发来的元数据服务器的视图位置确定与该元数据服务器的视图位置对应的元数据服务器的网络访问地址信息;所述元数据服务器集群的多个元数据服务器分层部署,所述元数据服务器集群中处于最底层的元数据服务器还用于存储元数据内容和视图管理模块分发的元数据视图信息,井根据用户请求将自身存储的元数据信息提供给用户。进ー步,所述元数据服务器集群的每个元数据服务器均只存储了整个所述云存储系统的部分元数据内容。根据本发明另一方面,所述视图管理模块进一歩包括数据管理単元、信息处理单元和内容视图单元,其中数据管理単元,用于存储所述云存储系统的全部元数据视图信息;信息处理单元,用于根据所述数据管理単元存储的全部元数据视图信息,构建所述元数据集群的中各元数据服务器的逻辑关联关系,并对元数据视图信息 进行处理,得到元数据视图信息,井向各个元数据服务器分发所述元数据视图信息,使得各个元数据服务器存储与该元数据服务器自身相关联的视图信息;内容视图单元,用于在所述云存储系统中一元数据服务器中存储的一文件的元数据内容频繁地被另一元数据服务器访问时,将该文件写入该另一元数据服务器。根据本发明另一方面,所述数据管理単元还根据不同的预设视图策略相应地存储了多套完整的与各预设视图策略分别对应的元数据视图信息;以及,所述视图管理模块进一歩包括决策单元,用于在客户端基于元数据访问请求和所述预设视图策略确定了多个用于访问的目标元数据服务器时,将所述多个用于访问目标元数据服务器之一确定为最终访问的元数据服务器。根据本发明另一方面,所述视图管理模块进一歩包括接收单元,其中所述接收单元用于从各元数据服务器接收到每个最底层的元数据服务器的负载信息;所述信息处理单元还基于元数据服务器的负载信息进行预测,得到下一时期的元数据服务器的负载预测信息;所述决策単元,用于在客户端基于元数据访问请求和所述预设视图策略确定了多个用于访问的目标元数据服务器时,根据所述负载预测信息将所述多个用于访问目标元数据服务器之一确定为最終访问的元数据服务器。根据本发明另一方面,所述决策单元进一步进行如下负载均衡控制当所述信息处理单元基于所述负载预测信息发现存在发生了故障或没有响应的元数据服务器发时,所述决策単元基于所述数据管理単元中存储的所述云存储系统的全部元数据视图信息来更新与发生故障的元数据服务器关联的元数据服务器的元数据视图信息,以不再向发生故障或没有响应的元数据服务器发送元数据访问请求;以及/或者在由信息处理单元基于负载预测信息发现存在负载过大的元数据服务器时,所述决策単元指示该负载过大的元数据服务器停止提供元数据服务或者将全部或部分元数据复制给所述云存储系统中负载小的元数据服务器,或者所述决策単元在负载小的元数据服务器上触发生成ー个所述负载过大的元数据服务器的镜像。根据本发明又一方面,还提供一种云存储系统的元数据写入方法。该方法包括客户端在接收到用户的要写入待写元数据的写入请求时,根据预设接入策略确定用于访问接入的接入元数据服务器,所述写入请求包括待写入元数据内容;
所述客户端对所述写入请求进行预处理,以得到用于存放所述待写入元数据内容的目标元数据服务器的视图位置;若所确定的目标元数据服务器的视图位置对应的元数据服务器是所述接入元数据服务器,则将所述接入元数据服务器的网络访问地址信息确定为目标元数据服务器的网络访问地址信息,反之,基于所述元数据集群中各元数据服务器的层级关系,根据所述接入元数据服务器中存储的元数据视图信息和目标元数据服务器的视图位置,从所述接入元数据服务器起逐级查找目标元数据服务器,以确定目标元数据服务器的网络访问地址信息;依据所确定的目标元数据服务器的网络访问地址信息,将该待写元数据写入所述目标元数据服务器。进ー步,所述预设接入策略为将物理地域上离所述用户最近的元数据服务器确定为所述接入元数据服务器、或者将依据所述预设视图策略对应的元数据视图信息被确定为所述用户访问最快的元数据服务器确定为所述接入元数据服务器。
进ー步,若所述客户端保存了与多种所述预设视图策略分别对应的多套元数据视图,则在所述客户端根据各种所述预设视图策略所对应的各套元数据视图信息确定了多个目标元数据服务器的视图位置时,将该多个目标元数据服务器的视图位置之一确定为最終的目标元数据服务器的视图位置;依据所确定的最終的目标元数据服务器的网络访问地址信息,将该待写元数据写入所述目标元数据服务器。根据本发明的又一方面,还提供了一种云存储系统的元数据读取的方法。该方法包括客户端收到用户的期望读取待元数据的读取请求时,根据预设接入策略确定用于访问接入的接入元数据服务器;所述客户端根据所述读取请求以及所述客户端保存的元数据写入记录和元数据视图信息来确定存放了用户期望读取的元数据的目标元数据服务器的视图位置;若所确定的目标元数据服务器的视图位置对应的元数据服务器不是所述接入元数据服务器,则基于所述云存储系统中各元数据服务器的层级关系,根据接入元数据服务器中存储的元数据视图信息和目标元数据服务器的视图位置,从接入元数据服务器起逐级查找目标元数据服务器,以确定目标元数据服务器的网络访问地址信息,并基于目标元数据服务器的网络访问地址信息请求所述目标元数据服务器根据所述读取请求将用户所要读取的元数据内容分发到接入元数据服务器;所述客户端从所述接入元数据服务器读取所述用户所要读取的元数据。与现有技术相比,本发明的一个或多个实施例可以具有如下优点根据本发明实施例提供的云存储系统能较好地应用于视图信息量大的云存储系统,由分层设置的各元数据服务器根据各自所存储的元数据视图来相互协调地实现元数据访问,相比传统技术,可减小网络的带宽消耗,满足网络流量和元数据服务器的视图均衡的要求。本发明的其他优点、目标,和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书,权利要求书,以及附图中所特别指出的结构来实现和获得。


附图用来提供对本发明的进ー步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中图I是根据本发明实施例一的云存储系统的结构示意图;图2是根据本发明实施例ニ的云存储系统的元数据写入方法的流程图;图3是根据本发明实施例三的云存储系统的元数据读取方法的流程图。
具体实施例方式为使本发明的目的、技术特征和实施效果更加清楚,下面将结合附图及具体实施例对本发明的实施例进行详细描述。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。以下本发明实施例中提到的内容即为用户需要访问的元数据内容,本发明实施例中提到的文件,即为包含元数据内容的文件。实施例一图I描述了本发明实施例提供的一种云存储系统的结构示意图。该系统包括元数据服务器集群10、视图管理模块20和客户端30。元数据服务器集群10的多个元数据服务器分层部署。元数据服务器集群10的服务器可以通过网络来实现合作,即相互请求服务和提供服务。元数据服务器集群10中各元数据服务器用于存储由视图管理模块20分发的视图信息,井根据客户端30或其它元数据服务器发来的请求、查询指定的元数据服务器的网络访问地址信息。该网络访问地址信息可为例如网址、域名等使得客户端30能够访问元数据服务器的网络地址信息。进ー步,元数据服务器集群10中处于最底层的元数据服务器还用于存储元数据内容(亦称作元数据信息或元数据)和视图管理模块20分发的视图信息,井根据用户请求将自身存储的元数据信息提供给用户。需要说明的是,每个元数据服务器均没有存储整个云存储系统的全部元数据内容(即,每个元数据服务器只存储了整个所述云存储系统的部分元数据内容),各个元数据服务器存储的元数据内容的并集是全部元数据内容。视图管理模块20,用于存储整个元数据服务器集群10的全部元数据视图信息(亦将全部元数据视图信息称为视图索引信息),以及根据该视图索引信息,构建元数据服务器集群10中的各元数据服务器之间的逻辑关联关系(或称为逻辑连接关系),并根据该逻辑关联关系向每个元数据服务器分发与该元数据服务器自身相关联的视图信息。与某个元数据服务器自身相关联的视图信息可以包括该元数据服务器自身的名称、地理空间信息及网络访问地址信息、与该元数据服务器逻辑关联的其它元数据服务器的名称、地理空间信息及网络访问地址信息等。优选地,视图管理模块20还可周期性地检测元数据服务器集群10中每个元数据服务器的负载信息,可优选地只周期性检测每个最底层元数据服务器的负载信息。这样,便于云存储系统将负载压カ过大的元数据服务器的服务切换到相对负载小的其他元数据服务器上。所述周期可以设为10分钟、一小时、一天等,可以根据元数据内容的访问频率的变化快慢来确定,如访问频率变化较快则周期可以设短ー些,访问频率变化较慢则周期可以设长ー些。优选地,视图管理模块20还可根据不同的预设视图策略,构建元数据服务器集群10中的各元数据服务器之间的多套逻辑关联关系,井根据该多套逻辑关联关系向每个元数据服务器分发与该元数据服务器自身相关联的多套视图信息。各套视图信息与各套逻辑关联关系相对应。这样,各元数据服务器存储着与各套逻辑关联关系对应的各套与该元数据服务器自身相关联的视图信息。当客户端30要通过访问存储着多套视图信息的元数据服务器来确定要访问的元数据服务器的网络访问地址信息时,要先基于各套与该元数据服务器自身相关联的视图信息分别确定一网络访问地址信息,然后再由决策单元最終确定所要用到的网络访问地址信息,从而尽量将元数据内容分发给云存储系统中最合适的元数据服务器。预设视图策略可以多种多祥,例如,预设视图策略可以根据实际地域分布,如中国下面分华北、华东、华南…,华北下面分北京、天津、河北…,北京下面分海淀区、朝阳区、东城区、西城 区。预设视图策略还可以根据文件种类,如分为工作、娱乐、学习等,工作下面分技木、经济、人文等,娱乐下面分音乐、体育、电影等。还可以根据业务的不同,拆成不同的逻辑关系。如图I所述,第n层元数据服务器在接收到来自客户端30的元数据访问请求吋,根据自身存储的元数据视图信息来获取客户端30所要访问的元数据服务器的网络访问地址信息(详见实施例ニ)。在本发明中,第n层元数据服务器作为元数据内容的实际存储位置;每个第n层元数据服务器没有存储全部元数据信息,所有第n层元数据服务器存储的内容之和是完整的元数据内容。需要说明的是,视图管理模块20可以设置在某个元数据服务器上,也可以是单独的逻辑模块。此外,所述元数据视图信息既可以是元数据服务器的地域信息(地理空间信息),也可以是普通的树形结构信息,或者用户自定义的逻辑关系信息,或根据特定的方法(比如hash算法)构造的元数据视图信息。客户端30用于向用户提供访问所述云存储系统的接ロ,解析用户的读写访问请求,该访问请求包含要访问的元数据服务器的视图位置信息(简称视图位置)、文件标识、文件大小等信息。此外,客户端30还保存关于写入元数据的写入信息记录。视图位置信息可以为需要访问的元数据在元存储网络中的网络访问地址,如果按地域构建的视图信息,可以为中国-华北-北京-海淀具体元数据文件。较佳的,所述视图管理模块20可包括数据管理単元、信息处理单元、接收单元、决策单元和内容视图单元。数据管理単元,用于存储云存储系统的全部元数据视图信息。优选地,可以根据不同的预设视图策略相应地存储多套完整的与各预设视图策略分别对应的元数据视图信息,这样,使得各元数据服务器存储与不同的预设视图策略一一对应的多套元数据视图信息。在这种情况下,各元数据服务器中存储的各套元数据视图信息均不是整套的元数据视图信息,而是各个整套(全部)元数据视图信息中与自己相关的那部分元数据视图信息。信息处理单元,用于根据数据管理単元存储的全部元数据视图信息,构建元数据集群中各元数据服务器的逻辑关联关系,并对元数据视图信息进行处理,得到要向各个元数据服务器分发的元数据视图信息,并进行分发,使得各个元数据服务器存储与该元数据服务器自身相关联的视图信息。优选地,该云存储系统还可包括接收单元。接收单元从各元数据服务器接收到每个最底层的元数据服务器的负载信息。进ー步,可由信息处理单元基于元数据服务器的负载信息进行预测,得到下一时期的元数据服务器的负载预测信息。例如,根据预先设定的负载均衡策略,按预先设置的权重整合多个历史时期的状态数据得到对下ー时期的元数据服务器的负载预测信息。所述负载信息可以包括云存储系统中各个元数据服务器上的各个元数据的访问频率,以及各个元数据服务器的可用存储容量、出口带宽、入口 带宽和服务视图容量(可用存储空间)、特定的负载算法和响应时延等。决策单元,用于在客户端30基于用户的元数据访问请求和前述预设视图策略确定了多个用于访问的目标元数据服务器吋,将多个用于访问目标元数据服务器之一确定为最終访问的元数据服务器。其中,用户的元数据访问请求可以为读取请求或写入请求等。这样,决策単元可综合几种预设视图策略来实现元数据更合理分发。例如,决策单元可根据信息处理单元处理得到的负载预测信息,将上述多个目标元数据服务器之一确定为要访问的元数据服务器并将其通知客户端30。也就是说,当客户端30根据多种预设视图策略确定了不同的目标元数据服务器时,客户端30不知道最終要访问哪个元数据服务器,因此与决策单元进行交互,由决策单元来通知客户端30最終要访问这些目标元数据服务器中的哪ー个。此外,当信息处理单元基于负载预测信息发现存在发生了故障或没有响应的元数据服务器发时,决策单元进行负载均衡控制。更具体地,可由决策单元动态地基于所述数据管理単元中存储的所述云存储系统的全部元数据视图信息来更新与该发生故障的元数据服务器关联的元数据服务器的元数据视图信息,以不再向那个发生了故障或没有响应的元数据服务器发送元数据访问请求,例如,可以将元数据视图信息中关于发生故障的元数据服务器的信息删除。此外,在由信息处理单元基于负载预测信息发现存在负载过大的元数据服务器时,可以由决策单元进行负载均衡控制,例如,决策单元可自动指示该负载过大的元数据服务器停止提供元数据服务或者将其全部或部分元数据复制给该系统中负载较小的元数据服务器,或者可通过决策単元在负载较小的元数据服务器上触发生成一个该负载过大的元数据服务器的镜像,从而由该负载较小的元数据服务器替代该负载过大的元数据服务器来供服务。内容视图单元,用于根据所述元数据内容的视图位置信息,将元数据内容分发给所述云存储系统中合适视图的元数据服务器。更具体地,内容视图单元可以在云存储系统中某一元数据服务器中存储的一文件的元数据内容频繁地被另一元数据服务器访问时,将该文件写入另一元数据服务器,并将该文件写入所述的另一元数据服务器的路径信息反馈给客户端30。这样,系统可更快的对客户提供元数据文件访问服务。进ー步,为了保证数据的一致性,系统可对元数据服务器进行分组,使得组内的元数据服务器之间进行数据备份。如有500个元数据服务器,5个为一組,组内进行数据备份,保证数据的一致性,这样不但保证了数据的可靠性,同时还提升了对外访问的效率、性能。本发明实施例提供了一种云存储系统,应用于视图信息量大的云存储系统,由分层设置的各元数据服务器根据自各所存储的元数据视图来相互协调地实现元数据访问,相比传统技术,可减小网络的带宽消耗,提高用户访问元数据内容的命中率,满足网络流量和元数据服务器的视图均衡的要求。实施例ニ前述实施例中关于云存储系统的相关说明,同样适应于本实施例。图2是本发明实施例提供的一种云存储系统的元数据写入方法的流程图。下面结合图2来详细说明本发明实施例ニ的云存储系统的元数据写入方法。 步骤S210,客户端30在接收到用户的要写入待写元数据的写入请求时,根据预设接入策略确定用于访问接入的元数据服务器(简称接入元数据服务器)。该预设接入策略可以为例如将物理地域上离该用户最近的元数据服务器确定为接入元数据服务器、或将按前述预设视图策略对应的视图信息确定该用户访问最快的元数据服务器确定为接入元数据服务器等。该接入元数据服务器优选为处于最底层的元数据服务器。该写入请求包括要写入的元数据内容(简称为待写入元数据内容)。步骤S220,客户端30可对写入请求进行预处理,以用于存放该待写入元数据内容的目标元数据服务器的视图位置。可选地,步骤S220还可进一歩包括若该客户端30保存了与多种预设视图策略分别对应的多套元数据视图,则在客户端30根据各种预设视图策略所对应的各套元数据视图信息确定了多个目标元数据服务器的视图位置时,客户端30可利用决策单元来将该多个目标元数据服务器的视图位置之一确定为最終的目标元数据服务器的视图位置,从而使元数据访问量可更均衡地分布到各个元数据服务器。步骤S230,判断在步骤S220中确定的目标元数据服务器的视图位置所对应的元数据服务器(出现多个目标元数据服务器的视图位置吋,该目标元数据服务器的视图位置指最終的接入元数据服务器的视图位置)是否为步骤S210中确定的接入元数据服务器。如果是,则进入步骤S240,反之,进入步骤S250。步骤S240,将接入元数据服务器的网络访问地址信息确定为目标元数据服务器的网络访问地址信息。步骤S250基于各元数据服务器的层级关系,根据接入元数据服务器中存储的视图信息和目标元数据服务器的视图位置,从接入元数据服务器起逐级查找目标元数据服务器,以确定目标元数据服务器的网络访问地址信息。更具体地,根据接入元数据服务器中存储的视图信息确定与该接入元数据服务器中存储的视图信息关联的元数据服务器(简称ー级关联服务器),若一级关联服务器中存在该目标元数据服务器,则根据接入元数据服务器中存储的视图信息来确定目标元数据服务器的网络访问地址信息;反之,进ー步根据(多个)一级关联服务器中存储的视图信息,来确定与ー级关联服务器相关联的元数据服务器(简称ニ级关联服务器),若ニ级关联服务器中存在该目标元数据服务器,则根据一级关联服务器中存储的视图信息来确定目标元数据服务器的网络访问地址信息,依此类推,在视图信息中查找到该目标元数据服务器,从而确定该目标元数据服务器的网络访问地址信息。步骤S260,依据步骤S240或S250中确定的该目标元数据服务器的网络访问地址信息,将该待写元数据写入该目标元数据服务器。可选地,步骤S270,目标元数据服务器可将结果返回给客户端30,客户端30可保存与写入元数据相关的元数据写入记录。这样,提高用户在从云存储系统中读取元数据时确定目标元数据服务器的视图位置和/或接入元数据服务器的效率。综上所述,通过数据服务器集群中分层设置的元数据服务器来协助查找要最后要写入的目标元数据服务器的网络访问地址信息,可以将确定目标元数据服务器的网络访问地址信息的处理分布到各级的元数据服务器来进行,从而使负载更均衡。实施例三 前述实施例中关于云存储系统的相关说明,同样适应于本实施例。图3是本发明实施例提供的一种云存储系统的元数据读取的方法的流程图。下面结合图3来详细说明本发明实施例三的云存储系统的元数据读取方法。步骤S310,客户端30收到用户的期望读取待元数据的读取请求时,根据预设接入策略确定用于访问接入的元数据服务器(简称接入元数据服务器)。该步骤中确定接入元数据服务器的方式与步骤S210中类似,在此不再详细展开说明。该读取请求可包括用户期望读取的元数据的属性。用户期望读取的元数据的属性可以为用户期望读取的元数据的ー个或多个字段的值。步骤S320,客户端30根据该读取请求以及该客户端30保存的元数据写入记录和视图信息来确定存放了用户期望读取的元数据的目标元数据服务器的视图位置。更具体地,基于所保存的元数据写入记录及视图信息来对待读取元数据内容进行预处理,得到存放了用户期望读取的元数据的目标元数据服务器的视图位置。步骤S330,判断在步骤S320中确定的目标元数据服务器的视图位置所对应的元数据服务器是否为步骤S310中确定的接入元数据服务器。如果是,则进入步骤S360,反之,进入步骤S340。步骤S340,基于各元数据服务器的层级关系,根据接入元数据服务器中存储的视图信息和目标元数据服务器的视图位置,从接入元数据服务器起逐级查找目标元数据服务器,以确定目标元数据服务器的网络访问地址信息,然后进入步骤S350。该步骤的处理与步骤S250类似,在此不再展开说明。步骤S350,基于目标元数据服务器的网络访问地址信息请求目标元数据服务器根据该读取请求将用户所要读取的元数据内容分发到接入元数据服务器。步骤S360,客户端30从接入元数据服务器读取用户所要读取的元数据。综上所述,通过在接入元数据服务器不是目标元数据服务器时、从接入元数据服务器起逐级查找目标元数据服务器以确定目标元数据服务器的网络访问地址信息,这样较好的減少单个元数据服务器存储的视图信息的数据量,从而提高搜索效率。本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
权利要求
1.一种云存储系统,其特征在于,包括元数据服务器集群、视图管理模块和客户端,其中 客户端用于向用户提供访问所述云存储系统的接ロ,井根据用户的访问请求解析出用户要访问的元数据服务器的视图位置; 视图管理模块用于存储整个元数据服务器集群的全部元数据视图信息,根据所述全部元数据视图信息构建元数据服务器集群中的各元数据服务器之间的逻辑关联关系,并根据该逻辑关联关系向每个元数据服务器分发与该元数据服务器自身相关联的元数据视图信息; 元数据服务器集群中各元数据服务器用于存储由视图管理模块分发的元数据视图信息,井根据客户端或其它元数据服务器发来的元数据服务器的视图位置确定与该元数据服务器的视图位置对应的元数据服务器的网络访问地址信息; 所述元数据服务器集群的多个元数据服务器分层部署,所述元数据服务器集群中处于最底层的元数据服务器还用于存储元数据内容和视图管理模块分发的元数据视图信息,并根据用户请求将自身存储的元数据信息提供给用户。
2.根据权利要求I所述的云存储系统,其特征在于,所述元数据服务器集群的每个元数据服务器均只存储了整个所述云存储系统的部分元数据内容。
3.根据权利要求I所述的云存储系统,其特征在于,所述视图管理模块进一歩包括数据管理単元、信息处理单元和内容视图单元,其中 数据管理単元,用于存储所述云存储系统的全部元数据视图信息; 信息处理单元,用于根据所述数据管理単元存储的全部元数据视图信息,构建所述元数据集群的中各元数据服务器的逻辑关联关系,并对元数据视图信息进行处理,得到元数据视图信息,井向各个元数据服务器分发所述元数据视图信息,使得各个元数据服务器存储与该元数据服务器自身相关联的视图信息; 内容视图单元,用于在所述云存储系统中一元数据服务器中存储的一文件的元数据内容频繁地被另一元数据服务器访问时,将该文件写入该另一元数据服务器。
4.根据权利要求3所述的云存储系统,其特征在干 所述数据管理単元还根据不同的预设视图策略相应地存储了多套完整的与各预设视图策略分别对应的元数据视图信息;以及, 所述视图管理模块进一歩包括决策单元,用于在客户端基于元数据访问请求和所述预设视图策略确定了多个用于访问的目标元数据服务器吋,将所述多个用于访问目标元数据服务器之一确定为最終访问的元数据服务器。
5.根据权利要求4所述的云存储系统,其特征在干,所述视图管理模块进一歩包括接收单元,其中 所述接收単元用于从各元数据服务器接收到每个最底层的元数据服务器的负载信息; 所述信息处理单元还基于元数据服务器的负载信息进行预测,得到下一时期的元数据服务器的负载预测信息; 所述决策単元,用于在客户端基于元数据访问请求和所述预设视图策略确定了多个用于访问的目标元数据服务器时,根据所述负载预测信息将所述多个用于访问目标元数据服务器之一确定为最終访问的元数据服务器。
6.根据权利要求5所述的云存储系统,其特征在干,所述决策单元进一步进行如下负载均衡控制 当所述信息处理单元基于所述负载预测信息发现存在发生了故障或没有响应的元数据服务器发时,所述决策単元基于所述数据管理単元中存储的所述云存储系统的全部元数据视图信息来更新与发生故障的元数据服务器关联的元数据服务器的元数据视图信息,以不再向发生故障或没有响应的元数据服务器发送元数据访问请求;以及/或者 在由信息处理单元基于负载预测信息发现存在负载过大的元数据服务器时,所述决策単元指示该负载过大的元数据服务器停止提供元数据服务或者将全部或部分元数据复制给所述云存储系统中负载小的元数据服务器,或者所述决策単元在负载小的元数据服务器上触发生成一个所述负载过大的元数据服务器的镜像。
7.—种云存储系统的元数据写入方法,其特征在干, 客户端在接收到用户的要写入待写元数据的写入请求时,根据预设接入策略确定用于访问接入的接入元数据服务器,所述写入请求包括待写入元数据内容; 所述客户端对所述写入请求进行预处理,以得到用于存放所述待写入元数据内容的目标元数据服务器的视图位置; 若所确定的目标元数据服务器的视图位置对应的元数据服务器是所述接入元数据服务器,则将所述接入元数据服务器的网络访问地址信息确定为目标元数据服务器的网络访问地址信息,反之,基于所述元数据集群中各元数据服务器的层级关系,根据所述接入元数据服务器中存储的元数据视图信息和目标元数据服务器的视图位置,从所述接入元数据服务器起逐级查找目标元数据服务器,以确定目标元数据服务器的网络访问地址信息; 依据所确定的目标元数据服务器的网络访问地址信息,将该待写元数据写入所述目标元数据服务器。
8.根据权利要求7所述的方法,其特征在于,所述预设接入策略为将物理地域上离所述用户最近的元数据服务器确定为所述接入元数据服务器、或者将依据所述预设视图策略对应的元数据视图信息被确定为所述用户访问最快的元数据服务器确定为所述接入元数据服务器。
9.根据权利要求7所述的方法,其特征在于 若所述客户端保存了与多种所述预设视图策略分别对应的多套元数据视图,则在所述客户端根据各种所述预设视图策略所对应的各套元数据视图信息确定了多个目标元数据服务器的视图位置时,将该多个目标元数据服务器的视图位置之一确定为最終的目标元数据服务器的视图位置; 依据所确定的最終的目标元数据服务器的网络访问地址信息,将该待写元数据写入所述目标元数据服务器。
10.一种云存储系统的元数据读取的方法,其特征在干 客户端收到用户的期望读取待元数据的读取请求时,根据预设接入策略确定用于访问接入的接入元数据服务器; 所述客户端根据所述读取请求以及所述客户端保存的元数据写入记录和元数据视图信息来确定存放了用户期望读取的元数据的目标元数据服务器的视图位置;若所确定的目标元数据服务器的视图位置对应的元数据服务器不是所述接入元数据服务器,则基于所述云存储系统中各元数据服务器的层级关系,根据接入元数据服务器中存储的元数据视图信息和目标元数据服务器的视图位置,从接入元数据服务器起逐级查找 目标元数据服务器,以确定目标元数据服务器的网络访问地址信息,并基于目标元数据服务器的网络访问地址信息请求所述目标元数据服务器根据所述读取请求将用户所要读取的元数据内容分发到接入元数据服务器; 所述客户端从所述接入元数据服务器读取所述用户所要读取的元数据。
全文摘要
本发明公开了一种云存储系统及其元数据写入方法、元数据读取方法。该系统包括包括元数据服务器集群、视图管理模块和客户端。客户端向用户提供访问云存储系统的接口并解析用户要访问的元数据服务器的视图位置;视图管理模块存储全部元数据视图信息,根据全部元数据视图信息构建各元数据服务器之间的逻辑关联关系,并向每个元数据服务器分发与元数据服务器自身相关联的元数据视图信息;各元数据服务器存储由视图管理模块分发的元数据视图信息,并确定的元数据服务器的网络访问地址信息;元数据服务器分层部署,最底层的元数据服务器还存储元数据内容和元数据视图信息并根据用户请求将自身存储的元数据信息提供给用户。本发明能减小带宽消耗。
文档编号G06F17/30GK102833331SQ20121029962
公开日2012年12月19日 申请日期2012年8月21日 优先权日2012年8月21日
发明者严杰, 熊晖, 周娟娟 申请人:北京邦诺存储科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1