一种大数据环境下的元数据管理方法及系统技术方案

技术编号:36512127 阅读:13 留言:0更新日期:2023-02-01 15:41
本发明专利技术涉及元数据数据存储管理技术领域,具体涉及一种大数据环境下的元数据管理方法及系统,该方法包括基于获取的主节点集群、从节点集群和各主节点的存储容量获得主节点与从节点映射集合和主节点与哈希槽的映射集合;利用心跳机制对所有主节点进行超时判断;获取客户端发送的请求指令,基于请求指令的文件名获得目标哈希槽,结合主节点与哈希槽的映射集合确定目标主节点;若请求指令为读请求则从目标主节点或与目标主节点连接的从节点取出元数据;若请求指令为写请求则向目标主节点写入元数据,利用目标主节点向与目标主节点连接的所有从节点发送日志项进行数据同步。根据本发明专利技术方法解决了元数据服务器读写请求的负载均衡和数据的一致性问题。衡和数据的一致性问题。衡和数据的一致性问题。

【技术实现步骤摘要】
一种大数据环境下的元数据管理方法及系统


[0001]本专利技术涉及元数据数据存储管理
,尤其涉及一种大数据环境下的元数据管理方法及系统。

技术介绍

[0002]众所周知,在大规模数据存储系统中,元数据量虽然之于整个系统的数据存储量的比重很小,但是却有60%~80%的访问请求属于元数据操作。为了加强对元数据的管理并消除元数据对于数据存储和访问的性能瓶颈,不少存储系统将元数据存储管理与用户数据的存储分离,将元数据存储与管理业务交给独立的元数据服务器(MDS)进行处理,MDS充当用户数据请求与数据文件的映射中介。其中储存和管理元数据的系统包括集中式元数据管理系统和分布式元数据管理系统,分布式元数据管理系统,实际上是集中式元数据管理系统的改进,元数据服务器的角色由一组基于分布式架构进行组织的服务器来承担,使得元数据处理能力、可靠性级别、以及系统可扩展性都有明显提升。集群中的每个元数据服务器是完全对等的,每个都可以独立对外提供元数据服务,然后集群内部进行元数据同步,保持数据一致性。分布式元数据管理系统中的元数据管理和访问是影响系统高性能和可扩展性的关键因素。随着大数据时代的到来,面对TB级乃至EB级的海量数据,单点MDS的分离方案难以应对海量数据存储需求。为此,有必要提供去中心化的、可扩展性强的MDS集群方案,将元数据划分到各个MDS结点,通过负载分享以实现数据访问的高性能和可扩展性,同时解决如何在海量元数据读写请求的情况下,保证元数据服务器读写请求的负载均衡以及保证数据的一致性。

技术实现思路

[0003]本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。
[0004]为此,本专利技术的第一个目的在于提出一种大数据环境下的元数据管理方法,主要目的在于解决元数据服务器读写请求的负载均衡和数据的一致性的问题。
[0005]本专利技术的第二个目的在于提出一种大数据环境下的元数据管理系统。
[0006]本专利技术的第三个目的在于提出一种大数据环境下的元数据管理设备。
[0007]本专利技术的第四个目的在于提出一种非瞬时计算机可读存储介质。
[0008]为达上述目的,本专利技术第一方面实施例提出了一种大数据环境下的元数据管理方法,应用于元数据服务器集群,所述元数据服务器集群包括多个节点,每个节点存储有元数据,所述节点分为主节点和从节点,每个主节点与至少一个从节点连接,所述管理方法包括:获取主节点集群、从节点集群和各主节点的存储容量,基于所述主节点集群、从节点集群和各主节点的存储容量获得主节点与从节点映射集合和主节点与哈希槽的映射集合;利用心跳机制对所述主节点集群中所有主节点进行超时判断,以使任一主节点与
其他主节点建立心跳连接;获取客户端发送的请求指令,基于所述请求指令的文件名获得目标哈希槽,基于所述目标哈希槽和所述主节点与哈希槽的映射集合确定目标主节点;若所述请求指令为读请求,则从所述目标主节点或与所述目标主节点连接的从节点取出元数据,并将元数据送至客户端;若所述请求指令为写请求,则向所述目标主节点中写入元数据,并利用目标主节点向与目标主节点连接的所有从节点发送日志项,进行数据同步。
[0009]在本专利技术的一个实施例中,所述基于所述主节点集群、从节点集群和各主节点的存储容量获得主节点与从节点映射集合和主节点与哈希槽的映射集合,包括:基于所述主节点集群和所述从节点集群获得主节点与从节点映射集合;基于所述各主节点的存储容量计算总存储空间;基于所述总存储空间和各主节点的存储容量获得各主节点的哈希槽区间;基于所述主节点集群和所述各主节点的哈希槽区间获得主节点与哈希槽的映射集合。
[0010]在本专利技术的一个实施例中,所述利用心跳机制对所述主节点集群中所有主节点进行超时判断,以使任一主节点与其他主节点建立心跳连接,包括:选择所述主节点集群中任一个主节点,判断该主节点的心跳是否超时;若超时,则计算与该主节点连接的所有从节点的负载指标,选择负载指标最小的从节点作为新的主节点,将该新的主节点更新至所述主节点集群,并与所述主节点集群中的其他主节点建立心跳连接;若不超时,则该主节点与其他主节点存在心跳连接。
[0011]在本专利技术的一个实施例中,所述基于所述请求指令的文件名获得目标哈希槽,包括:对所述请求指令的文件名进行哈希处理获得哈希值;基于所述哈希值的前预设位数获得哈希槽定位;基于所述哈希槽定位和所述各主节点的哈希槽区间获得目标哈希槽。
[0012]在本专利技术的一个实施例中,所述从所述目标主节点或与所述目标主节点连接的从节点取出元数据,并将元数据送至客户端,包括:在所述目标主节点的元数据缓存中查找是否存在与所述请求指令的文件名一致的元数据,若存在,则取出元数据,并将元数据送至客户端;若不存在,则遍历与所述目标主节点连接的从节点,计算与所述目标主节点连接的从节点集合的负载指标,进而选择目标从节点,从目标从节点取出元数据,并将元数据送至客户端。
[0013]在本专利技术的一个实施例中,所述计算与所述目标主节点连接的从节点集合的负载指标,进而选择目标从节点,包括:若与所述目标主节点连接的从节点集合的负载指标大于等于节点集群最小负载阈值,且小于等于节点集群最大负载阈值,则选择负载指标最小的从节点作为目标从节点。
[0014]在本专利技术的一个实施例中,所述利用目标主节点向与目标主节点连接的所有从节点发送日志项,进行数据同步,包括:利用目标主节点向与目标主节点连接的所有从节点发送日志项,并统计从节点向目标主节点发送的成功接收日志项的应答消息数,当应答消息数等于与目标主节点连接的从节点总数时,完成数据同步。
[0015]为达上述目的,本专利技术第二方面实施例提出了一种大数据环境下的元数据管理系统,应用于元数据服务器集群,所述元数据服务器集群包括多个节点,每个节点存储有元数据,所述节点分为主节点和从节点,每个主节点与至少一个从节点连接,所述管理系统包括:
获取模块,用于获取主节点集群、从节点集群和各主节点的存储容量,基于所述主节点集群、从节点集群和各主节点的存储容量获得主节点与从节点映射集合和主节点与哈希槽的映射集合;心跳判断模块,用于利用心跳机制对所述主节点集群中所有主节点进行超时判断,以使任一主节点与其他主节点建立心跳连接;指令处理模块,用于获取客户端发送的请求指令,基于所述请求指令的文件名获得目标哈希槽,基于所述目标哈希槽和所述主节点与哈希槽的映射集合确定目标主节点;控制模块,用于若所述请求指令为读请求,则从所述目标主节点或与所述目标主节点连接的从节点取出元数据,并将元数据送至客户端;还用于若所述请求指令为写请求,则向所述目标主节点中写入元数据,并利用目标主节点向与目标主节点连接的所有从节点发送日志项,进行数据同步。
[0016]为达上述目的,本专利技术第三方面实施例提出了一种大数据环境下的元数据管理设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种大数据环境下的元数据管理方法,其特征在于,应用于元数据服务器集群,所述元数据服务器集群包括多个节点,每个节点存储有元数据,所述节点分为主节点和从节点,每个主节点与至少一个从节点连接,所述管理方法包括:获取主节点集群、从节点集群和各主节点的存储容量,基于所述主节点集群、从节点集群和各主节点的存储容量获得主节点与从节点映射集合和主节点与哈希槽的映射集合;利用心跳机制对所述主节点集群中所有主节点进行超时判断,以使任一主节点与其他主节点建立心跳连接;获取客户端发送的请求指令,基于所述请求指令的文件名获得目标哈希槽,基于所述目标哈希槽和所述主节点与哈希槽的映射集合确定目标主节点;若所述请求指令为读请求,则从所述目标主节点或与所述目标主节点连接的从节点取出元数据,并将元数据送至客户端;若所述请求指令为写请求,则向所述目标主节点中写入元数据,并利用目标主节点向与目标主节点连接的所有从节点发送日志项,进行数据同步。2.根据权利要求1所述的大数据环境下的元数据管理方法,其特征在于,所述基于所述主节点集群、从节点集群和各主节点的存储容量获得主节点与从节点映射集合和主节点与哈希槽的映射集合,包括:基于所述主节点集群和所述从节点集群获得主节点与从节点映射集合;基于所述各主节点的存储容量计算总存储空间;基于所述总存储空间和各主节点的存储容量获得各主节点的哈希槽区间;基于所述主节点集群和所述各主节点的哈希槽区间获得主节点与哈希槽的映射集合。3.根据权利要求2所述的大数据环境下的元数据管理方法,其特征在于,所述利用心跳机制对所述主节点集群中所有主节点进行超时判断,以使任一主节点与其他主节点建立心跳连接,包括:选择所述主节点集群中任一个主节点,判断该主节点的心跳是否超时;若超时,则计算与该主节点连接的所有从节点的负载指标,选择负载指标最小的从节点作为新的主节点,将该新的主节点更新至所述主节点集群,并与所述主节点集群中的其他主节点建立心跳连接;若不超时,则该主节点与其他主节点存在心跳连接。4.根据权利要求3所述的大数据环境下的元数据管理方法,其特征在于,所述基于所述请求指令的文件名获得目标哈希槽,包括:对所述请求指令的文件名进行哈希处理获得哈希值;基于所述哈希值的前预设位数获得哈希槽定位;基于所述哈希槽定位和所述各主节点的哈希槽区间获得目标哈希槽。5.根据权利要求4所述的大数据环境下的元数据管理方法,其特征在于,所述从所述目标主节点或与所述目标主节点连接的从节点取出元数据,并将元数据送至客户端,包括:在所述目标主节点的元数据缓存中查找是否存在与所述请求指令的文件名一致的元数据,若存在,则取出元数据,并将...

【专利技术属性】
技术研发人员:韦玮王世军舒安杰王威杨慧璋周悠雪李小翔冯帆杨永前付雄薛丽孙可欣
申请(专利权)人:华能置业有限公司
类型:发明
国别省市:

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

1