ceph元数据集群目录分配方法、系统、装置及可读存储介质与流程

文档序号:18163654发布日期:2019-07-13 09:27阅读:298来源:国知局
ceph元数据集群目录分配方法、系统、装置及可读存储介质与流程

本发明涉及分布式文件系统领域,特别涉及一种ceph元数据集群目录分配方法、系统、装置及计算机可读存储介质。



背景技术:

在分布式文件系统应用中,会有海量小文件使用场景。例如视频监控中摄像口存储卡口图片(500kb),高性能计算算例中素材文件(几kb~几百kb),广电媒资场景中动漫渲染素材(几kb~几百kb)等,这些场景每天都会产生上百万文件,每秒文件操作需求高达5000个/s。而分布式文件系统元数据性能是个瓶颈,需要使用元数据集群提升元数据并发。而元数据集群面临的关键问题是如何实现目录动态负载平衡。

现有技术中,目录均是归属于元数据服务器集群中的主元数据服务器,而其余的从元数据服务器仅有在主元数据服务器故障的时候,才接替主元数据服务器的功能,但仍是同一时间仅有一个元数据服务器在建立目录,元数据服务器负载不均衡,无法发挥元数据服务器集群的性能。

因此,为了实现元数据服务器负载均衡,发挥元数据服务器集群的性能,需要一种元数据集群目录分配方法。



技术实现要素:

有鉴于此,本发明的目的在于提供一种ceph元数据集群目录分配方法、系统、装置及计算机可读存储介质,实现元数据服务器负载均衡,发挥元数据服务器集群的性能。其具体方案如下:

一种ceph元数据集群目录分配方法,包括:

利用预先设置的目录设置参数,判断当前新建的目标目录是否为负载平衡目录;其中,所述目录设置参数,包括负载平衡目录的目录路径和相对设置级别;

如果是,将所述目标目录分配至元数据服务器集群中目标元数据服务器;

其中,所述目标元数据服务器为所述元数据服务器集群中当前轮询到的元数据服务器。

可选的,将所述目标目录分配至元数据服务器集群中目标元数据服务器的过程,包括:

发送与所述目标元数据服务器对应的子树分区请求至所述目标元数据服务器,以使所述目标目录分配至所述目标元数据服务器;

接收所述目标元数据服务器发送的分区成功应答,完成所述目标目录分配至所述目标元数据服务器。

可选的,还包括:

利用用户输入的目录服务器变更指令,获取与所述目录服务器变更指令对应的已分配目标目录的分区信息;

利用所述分区信息,判断与所述分区信息对应的已分配元数据服务器和所述已分配目标目录是否均存在;

如果均存在,则将所述已分配目标目录分配至所述目录服务器变更指令中记载的指定元数据服务器。

可选的,还包括:

定期检测元数据服务器集群中元数据服务器的热度;

将热度低于元数据服务器集群的平均热度的元数据服务器作为目标元数据服务器。

本发明还公开了一种ceph元数据集群目录分配系统,包括:

目录判断模块,用于利用预先设置的目录设置参数,判断当前新建的目标目录是否为负载平衡目录;其中,所述目录设置参数,包括负载平衡目录的目录路径和相对设置级别;

目录分配模块,用于当所述目录判断模块判定当前新建的目标目录为负载平衡目录,将所述目标目录分配至元数据服务器集群中目标元数据服务器;

其中,所述目标元数据服务器为所述元数据服务器集群中当前轮询到的元数据服务器。

可选的,所述目录分配模块,包括:

请求发送单元,用于发送与所述目标元数据服务器对应的子树分区请求至所述目标元数据服务器,以使所述目标目录分配至所述目标元数据服务器;

应答接收单元,用于接收所述目标元数据服务器发送的分区成功应答,完成所述目标目录分配至所述目标元数据服务器。

可选的,还包括:

分区信息获取模块,用于利用用户输入的目录服务器变更指令,获取与所述目录服务器变更指令对应的已分配目标目录的分区信息;

存在判断模块,用于利用所述分区信息,判断与所述分区信息对应的已分配元数据服务器和所述已分配目标目录是否均存在;

再分配模块,用于如果均存在,则将所述已分配目标目录分配至所述目录服务器变更指令中记载的指定元数据服务器。

可选的,还包括:

热度检测模块,用于定期检测元数据服务器集群中元数据服务器的热度;

服务器指定模块,用于将热度低于元数据服务器集群的平均热度的元数据服务器作为所述目标元数据服务器。

本发明还公开了一种ceph元数据集群目录分配装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序以实现如前述的ceph元数据集群目录分配方法。

本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的ceph元数据集群目录分配方法的步骤。

本发明中,ceph元数据集群目录分配方法,包括:利用预先设置的目录设置参数,判断当前新建的目标目录是否为负载平衡目录;其中,目录设置参数,包括负载平衡目录的目录路径和相对设置级别;如果是,将目标目录分配至元数据服务器集群中目标元数据服务器;其中,目标元数据服务器为元数据服务器集群中当前轮询到的元数据服务器。

本发明预先设置目录设置参数,设定新建负载均衡目录的设置条件,当新建目录时,利用目录设置参数将新建目录分配至指定的目标元数据服务器,而非总是默认的主元数据服务器中,使各元数据服务器均为目录提供服务,将新建的目录平均分配至了元数据服务器集群中,充分发挥元数据服务器集群的性能,提升分布式文件系统元数据性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例公开的一种ceph元数据集群目录分配方法流程示意图;

图2为本发明实施例公开的一种ceph元数据集群目录分配示意图;

图3为本发明实施例公开的一种ceph元数据集群目录分配系统结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种ceph(分布式文件系统)元数据集群目录分配方法,参见图1所示,该方法包括:

s11:利用预先设置的目录设置参数,判断当前新建的目标目录是否为负载平衡目录。

具体的,目录设置参数,包括负载平衡目录的目录路径和相对设置级别,负载平衡目录的目录路径用于判定以那个目录为基准目录,设置负载平衡目录,相对设置级别用于判定相对于基准目录第几个级别设置,例如,参见图2所示,基准目录为根目录,级别设置可以为第三级,根目录自身可以作为第一级,那么根目录下的子目录的子目录便为第三级目录,当新建根目录下的第三级的子目录时,第三级子目录便属于负载平衡目录。

其中,图2中,dir和des均为根目录/的子目录,mds表示元数据服务器集群1中的元数据服务器,df表示数据文件。

s12:如果是,将目标目录分配至元数据服务器集群中目标元数据服务器。

具体的,元数据服务器集群中包括主元数据服务器和多个从元数据服务器,各元数据服务器本身没有区别,主元数据服务器仅是预先设置的用于默认建立与目录对应关系的元数据服务器,因此,为实现元数据服务器的负载均衡,可以将各目录平均分配至各元数据服务器中。

其中,目标元数据服务器为元数据服务器集群中当前轮询到的元数据服务器,即,每个元数据服务器在分配到一个新建目录后,下一个新建目录分配至下一个元数据服务器,例如,共有第一元数据服务器、第二元数据服务器和第三元数据服务器,依次新建的第一新建目录、第二新建目录、第三新建目录和第四新建目录,以轮询方式分配新建目录的元数据服务器,当前轮询所指向的元数据服务器可以为第一元数据服务器,第一个新建的第一新建目录便可以分配至当前轮询所指向的第一元数据服务器,分配后,通过轮询机制,下一个接收新建目录的元数据服务器便为第二元数据服务器,第二新建目录便分配至第二元数据服务器,依次轮询,第四新建目录进行分配时,将轮训回第一元数据服务器,第四新建目录分配至第一元数据服务器。

可以理解的是,如果新建目录不是负载平衡目录,则可以将新建目录按照默认建立规则,将新建目录分配至主元数据服务器中,完成目录的建立。

需要说明的是,目录设置参数对以建立的目录没有影响,仅对新建的目录进行负载均衡分配。

可见,本发明实施例预先设置目录设置参数,设定新建负载均衡目录的设置条件,当新建目录时,利用目录设置参数将新建目录分配至指定的目标元数据服务器,而非总是默认的主元数据服务器中,使各元数据服务器均为目录提供服务,将新建的目录平均分配至了元数据服务器集群中,充分发挥元数据服务器集群的性能,提升分布式文件系统元数据性能。

本发明实施例公开了一种具体的ceph元数据集群目录分配方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:

具体的,上述s12中将目标目录分配至元数据服务器集群中目标元数据服务器的过程,可以具体包括s121和s122;其中,

s121:发送与目标元数据服务器对应的子树分区请求至目标元数据服务器,以使目标目录分配至目标元数据服务器。

具体的,发送子树分区请求至目标元数据服务器,以告知需要将新建目录分配至目标元数据服务器,目标元数据服务器在接收到子树分区请求后,将完成对目标目录的建立。

s122:接收目标元数据服务器发送的分区成功应答,完成目标目录分配至目标元数据服务器。

具体的,目标元数据服务器建立目标目录后,将会发送建立成功的分区成功应答,告知客户端,目标目录已分配至目标元数据服务器,完成整个目标目录分配至目标元数据服务器的过程。

可以理解的是,若用户对轮询分配结果不满意,还可以对已分配元数据服务器的已分配目录重新非配元数据服务器,具体的,还可以包括步骤s21至s23;其中,

s21:利用用户输入的目录服务器变更指令,获取与目录服务器变更指令对应的已分配目标目录的分区信息。

具体的,用户输入的目录服务器变更指令中包括已分配目标目录的分区信息,分区信息中记载了目录所对应的元数据服务器。

s22:利用分区信息,判断与分区信息对应的已分配元数据服务器和已分配目标目录是否均存在。

具体的,利用分区信息,需要判断与分区信息对应的已分配元数据服务器和已分配目标目录是否均存在,因为可能存在用户输入的分区信息存在错误或已经过时,没有对应的已分配目标目录或已分配元数据服务器,若不存在已分配目标目录或已分配元数据服务器,则无法执行服务器变更,若均存在,则执行s23。

s23:如果均存在,则将已分配目标目录分配至目录服务器变更指令中记载的指定元数据服务器。

可以理解的是,还可以定期判断各元数据服务器的热度,当任一元数据服务器的热度低于元数据服务器集群的平均热度时,可以将新建目录分配至该热度低于平均热度的元数据服务器,使低热度的元数据服务器作为目标元数据服务器,以更好的实现负载均衡。

需要说明的是,当低热度的元数据服务器的热度大于等于平均热度时,则可以继续采用轮询的方式分配元数据服务器,当然,也可以在向低热度的元数据服务器分配一定数量后的新建目录后,恢复轮询方式,即在满足预设的条件后,继续执行s12。

相应的,本发明实施例还公开了一种ceph元数据集群目录分配系统,参见图3所示,该系统包括:

目录判断模块11,用于利用预先设置的目录设置参数,判断当前新建的目标目录是否为负载平衡目录;其中,目录设置参数,包括负载平衡目录的目录路径和相对设置级别;

目录分配模块12,用于当目录判断模块11判定当前新建的目标目录为负载平衡目录,将目标目录分配至元数据服务器集群中目标元数据服务器;

其中,目标元数据服务器为元数据服务器集群中当前轮询到的元数据服务器。

具体的,目录分配模块12,包括请求发送单元和应答接收单元;其中,

请求发送单元,用于发送与目标元数据服务器对应的子树分区请求至目标元数据服务器,以使目标目录分配至目标元数据服务器;

应答接收单元,用于接收目标元数据服务器发送的分区成功应答,完成目标目录分配至目标元数据服务器。

具体的,还包括分区信息获取模块、存在判断模块和再分配模块;其中,

分区信息获取模块,用于利用用户输入的目录服务器变更指令,获取与目录服务器变更指令对应的已分配目标目录的分区信息;

存在判断模块,用于利用分区信息,判断与分区信息对应的已分配元数据服务器和已分配目标目录是否均存在;

再分配模块,用于如果均存在,则将已分配目标目录分配至目录服务器变更指令中记载的指定元数据服务器。

具体的,还包括热度检测模块和服务器指定模块;其中,

热度检测模块,用于定期检测元数据服务器集群中元数据服务器的热度;

服务器指定模块,用于将热度低于元数据服务器集群的平均热度的元数据服务器作为目标元数据服务器。

此外,本发明实施例还公开了一种ceph元数据集群目录分配装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序以实现如前述的ceph元数据集群目录分配方法。

另外,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述的ceph元数据集群目录分配方法的步骤。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

以上对本发明所提供的一种ceph元数据集群目录分配方法、系统、装置及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1