一种数据存储方法、装置及系统制造方法及图纸

技术编号:14707258 阅读:65 留言:0更新日期:2017-02-25 18:31
本发明专利技术实施例公开了一种数据存储方法、装置及系统,其中,所述方法包括:确定分布式文件系统中的子树路径;获取所述子树路径上的节点归属信息,所述节点归属信息指示了所述子树路径上的子树间的连接信息以及每一个子树的归属数据节点;存储所述子树路径上的节点归属信息。采用本发明专利技术实施例,能够解决MDS故障时子树接管时间长的问题,并降低了对MDS的子树信息的一致性要求。

【技术实现步骤摘要】

本专利技术涉及通信
,尤其涉及一种数据存储方法、装置及系统
技术介绍
分布式文件系统(DistributedFileSystem)是指将固定于某个节点的某个文件系统,扩展到任意多个节点/多个文件系统,通过众多的节点相连形成集群,从而组成的一个文件系统网络。系统中通常包括以下三种类型的节点:协议服务器(ProtocolServer)、元数据服务器(MetaDataServer,简称MDS)、数据服务器(DataServer,简称DS)。该分布式文件系统划分元数据服务的方式有多种,比如基于动态子树的方式。在基于动态子树的方式下,每个节点维护一个或多个子树,即负责一部分元数据服务。目前,在分布式文件系统中的某个MDS故障时,需要选择一个正常MDS(即接管者)将归属于故障MDS的子树接管过来,以便继续提供元数据服务,这一过程称为子树接管或子树恢复。子树接管的过程如下:接管者向系统中的所有节点收集子树路径信息及归属关系,并对收集的子树信息进行去重,重新生成故障MDS上的子树信息,即对故障MDS进行重建。该方式下,由于接管者需要向系统中所有MDS发送请求,使得在接管过程中集群较大,节点的收发消息量较大时,容易造成单点瓶颈,导致接管时间较长。而且,该方式要求各MDS的子树信息有较高的一致性,若各MDS的子树信息不一致则容易导致接管者的重建算法复杂。
技术实现思路
本专利技术实施例提供一种数据存储方法、装置及系统,能够解决数据节点故障时子树接管时间长的问题,并降低了对数据节点的子树信息的一致性要求。第一方面,本专利技术实施例提供了一种数据存储方法,包括:确定分布式文件系统中的子树路径,获取该子树路径上的节点归属信息,并存储该子树路径上的节点归属信息。其中,该子树路径可包括分布式文件系统中各数据节点中的子树的根节点(子树根节点,简称“子树根”)以及各数据节点的子树的根节点到该系统的根节点的路径上的子树节点。该节点归属信息指示了该子树路径上的子树间的连接信息以及每一个子树的归属数据节点。从而能够基于该存储的节点归属信息来进行子树迁移或子树接管等操作,降低了对系统中的子树信息的一致性要求。在可选的实施例中,所述存储所述子树路径上的节点归属信息,可以具体为:生成包括子树路径上的节点归属信息的子树路径归属表,并存储该子树路径归属表。如可将该子树路径归属表写入磁盘进行持久化存储。其中,该子树路径上的子树间的连接信息包括该子树路径上每一个子树节点的索引节点号、每一个子树节点的上一子树节点的索引节点号。可选的,该子树路径归属表中还可包括该子树路径上的子树根节点信息等等。在可选的实施例中,当归属于第一数据节点的目标子树需要迁移到第二数据节点时,可获取该目标子树的索引节点号;从该子树路径归属表中查找出与所述目标子树的索引节点号相同的索引节点号;将所述子树路径归属表中该查找出的索引节点号对应的归属数据节点更新为所述第二数据节点。其中,该目标子树的索引节点号可以具体指该目标子树的子树根节点的索引节点号。从而能够基于该存储的节点归属信息实现子树迁移。在可选的实施例中,还可接收指示第三数据节点出现故障的子树接管请求;响应该子树接管请求,将该子树路径归属表中归属于第三数据节点的子树的归属数据节点更新为第四数据节点;向所述第四数据节点返回更新之前该子树路径归属表中归属于该第三数据节点的子树信息,以使所述第四数据节点在所述第四数据节点的数据缓存中进行子树重建。使得能够基于该存储的节点归属信息进行子树接管,从而解决了数据节点如MDS故障时子树接管时间长的问题。第二方面,本专利技术实施例还提供了一种数据存储系统,包括:第一数据节点以及中心节点;其中,第一数据节点,用于为所述第一数据节点的子树提供数据服务;中心节点,用于确定该第一数据节点所在的分布式文件系统中的子树路径;获取所述子树路径上的节点归属信息,并存储所述子树路径上的节点归属信息。其中,该子树路径可包括分布式文件系统中各数据节点中的子树的根节点以及各数据节点的子树的根节点到该系统的根节点的路径上的子树节点。该节点归属信息指示了所述子树路径上的子树间的连接信息以及每一个子树的归属数据节点。可选的,该中心节点可以为该分布式文件系统中的任一数据节点如MDS,即在数据节点上叠加一种身份,其依然具有提供元数据服务的功能;或者为在该系统单独设置的节点,本专利技术实施例不做限定。在可选的实施例中,该中心节点还可用于生成包括所述子树路径上的节点归属信息的子树路径归属表,并存储所述子树路径归属表。其中,该子树路径上的子树间的连接信息可包括该子树路径上每一个子树节点的索引节点号、每一个子树节点的上一子树节点的索引节点号。可选的,该子树路径归属表中还可包括该子树路径上的子树根节点信息、与该索引节点号相关联的子树节点名称等等。进一步的,所述系统还可包括:第二数据节点;其中,所述第一数据节点,还可用于向中心节点发送迁移通知消息,该迁移通知消息指示了需要迁移的目标子树的索引节点号以及需要迁移到的第二数据节点;所述中心节点,还用于从该子树路径归属表中查找出与该目标子树的索引节点号相同的索引节点号;将该子树路径归属表中该查找出的索引节点号对应的归属数据节点更新为该第二数据节点。其中,该第一数据节点为需要进行子树迁移的数据节点,该第二数据节点为确定出的需要迁移到的数据节点。可选的,该需要迁移到的第二数据节点可以是按照预设规则选择出的,如热度最低的数据节点,也可以是随机选择出的,本专利技术实施例不做限定。从而能够基于该存储的节点归属信息实现子树迁移。进一步的,所述第二数据节点,还可用于构建数据缓存,并将所述缓存中所述目标子树的归属数据节点更新为所述第二数据节点;所述第一数据节点,还用于将所述第一数据节点的数据缓存中所述目标子树的归属数据节点更新为所述第二数据节点。也就是说,该第二数据节点还可构建数据缓存,在更新了该子树路径归属表之后,第二数据节点即可将缓存中的该目标子树的归属数据节点改为自己,该第一数据节点即可将缓存中的该目标子树的归属数据节点改为该第二数据节点。以便于快速提取子树信息。在可选的实施例中,所述系统可包括:第三数据节点和第四数据节点,该第三数据节点为出现故障的数据节点,该第四数据节点为确定出的接管该第三数据节点的子树的数据节点;其中,所述第四数据节点,用于向中心节点发送用于指示该第三数据节点出现故障的子树接管请求;所述中心节点,用于接收该子树接管请求,将该子树路径归属表中归属于第三数据节点的子树的归属数据节点更新为第四数据节点;并向该第四数据节点返回该更新之前该子树路径归属表中归属于该第三数据节点的子树信息;所述第四数据节点,还用于基于该第三数据节点的子树信息在所述第四数据节点的数据缓存中进行子树重建。其中,该中心节点、第一数据节点、第二数据节点、第三数据节点、第四数据节点等两两之间可以为同一数据节点,或者为不同的节点,本专利技术实施例不做限定。从而能够基于该存储的节点归属信息进行子树迁移及子树接管,由此解决了数据节点如MDS故障时子树接管时间长的问题,并降低了对系统中的子树信息的一致性要求。第三方面,本专利技术实施例还提供了一种数据存储装置,包括:路径确定模块、第一获取模块以及存储模块,该数据存储装置可通过上述模块实现上述第一本文档来自技高网...
一种数据存储方法、装置及系统

【技术保护点】
一种数据存储方法,其特征在于,包括:确定分布式文件系统中的子树路径;获取所述子树路径上的节点归属信息,所述节点归属信息指示了所述子树路径上的子树间的连接信息以及每一个子树的归属数据节点;存储所述子树路径上的节点归属信息。

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:确定分布式文件系统中的子树路径;获取所述子树路径上的节点归属信息,所述节点归属信息指示了所述子树路径上的子树间的连接信息以及每一个子树的归属数据节点;存储所述子树路径上的节点归属信息。2.根据权利要求1所述的方法,其特征在于,所述存储所述子树路径上的节点归属信息,包括:生成包括所述子树路径上的节点归属信息的子树路径归属表,并存储所述子树路径归属表;其中,所述子树路径上的子树间的连接信息包括所述子树路径上每一个子树节点的索引节点号、每一个子树节点的上一子树节点的索引节点号。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当归属于第一数据节点的目标子树需要迁移到第二数据节点时,获取所述目标子树的索引节点号;从所述子树路径归属表中查找出与所述目标子树的索引节点号相同的索引节点号;将所述子树路径归属表中该查找出的索引节点号对应的归属数据节点更新为所述第二数据节点。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:接收指示第三数据节点出现故障的子树接管请求;响应所述子树接管请求,将所述子树路径归属表中归属于所述第三数据节点的子树的归属数据节点更新为第四数据节点;向所述第四数据节点返回所述更新之前所述子树路径归属表中归属于所述第三数据节点的子树信息,以使所述第四数据节点在所述第四数据节点的数据缓存中进行子树重建。5.一种数据存储系统,其特征在于,包括:第一数据节点以及中心节点;其中,所述第一数据节点,用于为所述第一数据节点的子树提供数据服务;所述中心节点,用于确定所述第一数据节点所在的分布式文件系统中的子树路径;获取所述子树路径上的节点归属信息,并存储所述子树路径上的节点归属信息;其中,所述节点归属信息指示了所述子树路径上的子树间的连接信息以及每一个子树的归属数据节点。6.根据权利要求5所述的系统,其特征在于,所述中心节点,还用于生成包括所述子树路径上的节点归属信息的子树路径归属表,并存储所述子树路径归属表;其中,所述子树路径上的子树间的连接信息包括所述子树路径上每一个子树节点的索引节点号、每一个子树节点的上一子树节点的索引节点号。7.根据权利要求6所述的系统,其特征在于,所述系统还包括:第二数据节点;其中,所述第一数据节点,还用于向所述中心节点发送迁移通知消息,所述迁移通知消息指示了需要迁移的目标子树的索引节点号以及需要迁移到的第二数据节点;所述中心节点,还用于从所述子树路径归属表中查找出与所述目标子树的索引节点号相同的索引节点号;将所述子树路径归属表中该查找出的索引节点号对应的归属数据节点更新为所述第二数据节点。8.根据权利要求7所述的系统,其特征在于,所述第二数据节点,还用于构建数据缓存,并将所述缓存中所述目标子树的归属数据节点更新为所述第二数据节点;所述第一数据节点,还用...

【专利技术属性】
技术研发人员:任永强谢晓芹
申请(专利权)人:华为数字技术成都有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1