CN115952005B - 一种元数据负载均衡方法、装置、设备及可读存储介质 - Google Patents
一种元数据负载均衡方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN115952005B CN115952005B CN202310161610.9A CN202310161610A CN115952005B CN 115952005 B CN115952005 B CN 115952005B CN 202310161610 A CN202310161610 A CN 202310161610A CN 115952005 B CN115952005 B CN 115952005B
- Authority
- CN
- China
- Prior art keywords
- metadata
- migration
- service
- subtree
- partition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种元数据负载均衡方法、装置、设备及可读存储介质,涉及分布式存储技术领域,包括:获取分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息;根据各元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量;获取各目标元数据服务中各子树分区分别对应的迁移参数;根据各迁移参数确定导出子树分区和导入子树分区;当达到元数据迁移时刻时,将待迁移元数据数量的元数据从导出子树分区迁移至导入子树分区。本发明提升了对业务负载特征的辨识度,较大地降低了产生对元数据进行不必要、无效的迁移的概率,具有较好的元数据负载均衡特性。
Description
技术领域
本发明涉及分布式存储技术领域,特别是涉及一种元数据负载均衡方法、装置、设备及可读存储介质。
背景技术
分布式文件存储系统已被广泛应用于大数据服务计算等许多关键领域,在分布式文件存储系统中,元数据与数据分开管理。这种解耦方式支持元数据和数据相互独立,采用不同的存储介质,例如,采用NvmeSSD(NVM Express Solid State Disk,非易失性内存主机控制器接口规范固态硬盘)存储元数据,使用HDD(Hard Disk Drive,机械硬盘)存储数据。在这种架构中,必须先获取元数据,然后再进行实际数据访问。最近的研究表明,许多文件系统工作负载是元数据密集型的,即超过60%的文件系统操作集中在元数据上。此外,绝大多数文件都很小,字节级占比较高,元数据请求压力不均衡,元数据密集访问是造成文件系统服务性能瓶颈重要原因,所有这些趋势使元数据负载均衡变得至关重要。
为了提高海量分布式文件系统元数据访问性能,扩展和提高分布式MDS(MetadataServer,元数据服务)集群的性能具有挑战性。该挑战主要是因为元数据包含文件系统结构信息,并且表现出更高程度的相互依赖性,当前技术下,通常采用动态子树分区的方法,将文件系统的目录分解为几个子目录,然后根据文件访问热度情况进行动态调整。动态调整是指在多个元数据服务之间进行迁移,该方法通过拆分以及分层命名空间方式在多个元数据服务之间分发子树来提高元数据扩展特性。然而,这种方法存在严重的不均衡问题,分布式元数据服务不平衡、预测不准确。究其原因,该方法对业务负载特征辨识度低,易产生对元数据进行不必要、无效的迁移,导致分布式文件系统性能不佳。
综上所述,如何有效地解决现有的元数据负载均衡方法对业务负载特征辨识度低,易产生对元数据进行不必要、无效的迁移,导致分布式文件系统性能不佳等问题,是目前本领域技术人员急需解决的问题。
发明内容
本发明的目的是提供一种元数据负载均衡方法,该方法提升了对业务负载特征的辨识度,较大地降低了产生对元数据进行不必要、无效的迁移的概率,具有较好的元数据负载均衡特性,提升了分布式存储系统的稳定性;本发明的另一目的是提供一种元数据负载均衡装置、设备及计算机可读存储介质。
为解决上述技术问题,本发明提供如下技术方案:
一种元数据负载均衡方法,包括:
获取分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息;
根据各所述元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量;
获取各所述目标元数据服务中各子树分区分别对应的迁移参数;
根据各所述迁移参数确定导出子树分区和导入子树分区;
当达到所述元数据迁移时刻时,将所述待迁移元数据数量的元数据从所述导出子树分区迁移至所述导入子树分区。
在本发明的一种具体实施方式中,获取分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息,包括:
通过部署于所述分布式文件存储集群中各所述元数据服务的负载监视器获取各所述元数据服务分别对应的元数据负载压力信息。
在本发明的一种具体实施方式中,根据各所述元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量,包括:
通过设置于预选元数据服务的元数据迁移启动程序,根据各所述元数据负载压力信息确定所述元数据迁移时刻、待元数据迁移的各所述目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量。
在本发明的一种具体实施方式中,获取各所述目标元数据服务中各子树分区分别对应的迁移参数,包括:
通过部署于各所述元数据服务的负载分析组件获取各所述目标元数据服务中各子树分区分别对应的迁移参数;
根据各所述迁移参数确定导出子树分区和导入子树分区,包括:
通过部署于各所述元数据服务的子树选择组件根据各所述迁移参数确定所述导出子树分区和所述导入子树分区。
在本发明的一种具体实施方式中,通过部署于各所述元数据服务的负载分析组件获取各所述目标元数据服务中各子树分区分别对应的迁移参数,包括:
通过部署于各所述元数据服务的负载分析组件获取各所述目标元数据服务中各子树分区分别对应的迁移参数和所述分布式文件存储集群的工作负载I/O 模式;
通过部署于各所述元数据服务的子树选择组件根据各所述迁移参数确定所述导出子树分区和所述导入子树分区,包括:
当确定所述工作负载I/O模式为元数据密集型IO时,通过部署于各所述元数据服务的子树选择组件根据各所述迁移参数确定所述导出子树分区和所述导入子树分区。
在本发明的一种具体实施方式中,通过部署于各所述元数据服务的负载分析组件获取各所述目标元数据服务中各子树分区分别对应的迁移参数,包括:
通过部署于各所述元数据服务的负载分析组件统计各所述子树分区分别对应的历史工作负载;
根据各所述历史工作负载确定各所述子树分区的元数据访问差异;
根据所述元数据访问差异确定各子树分区分别对应的迁移参数。
在本发明的一种具体实施方式中,根据所述元数据访问差异确定各子树分区分别对应的迁移参数,包括:
获取预设的元数据最大吞吐量;
当确定存在大于所述元数据最大吞吐量的历史工作负载时,根据所述元数据访问差异确定各所述子树分区分别对应的迁移参数。
在本发明的一种具体实施方式中,在根据各所述迁移参数确定导出子树分区和导入子树分区之后,还包括:
当分别在各所述元数据服务中维护的历史元数据访问请求表中存在体现空间局部性的历史元数据访问请求表时,从与所述导出子树分区同级的子树分区中选取目标子树分区;
将所述目标子树分区的迁移参数增加预设值。
在本发明的一种具体实施方式中,获取分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息,包括:
获取所述分布式文件存储集群中各所述元数据服务分别对应的单位时长内处理的元数据请求数;
根据各所述元数据服务分别对应的单位时长内处理的元数据请求数确定各所述元数据服务分别对应的元数据负载压力信息。
在本发明的一种具体实施方式中,根据各所述元数据服务分别对应的单位时长内处理的元数据请求数确定各所述元数据服务分别对应的元数据负载压力信息,包括:
根据预设时长内统计的各所述元数据服务分别对应的单位时长内处理的元数据请求数确定各所述元数据服务分别对应的元数据负载压力信息。
在本发明的一种具体实施方式中,根据各所述元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量,包括:
根据各所述元数据负载压力信息确定各所述元数据服务分别对应的元数据负载均衡值;
根据各所述元数据负载均衡值确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量。
在本发明的一种具体实施方式中,根据各所述元数据负载均衡值确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量,包括:
判断是否存在超出预设阈值的元数据负载均衡值;
若是,则执行所述根据各所述元数据负载均衡值确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量的步骤。
在本发明的一种具体实施方式中,根据各所述元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量,包括:
获取各所述元数据服务分别能承受的负载差异;
结合各所述元数据负载压力信息和所述负载差异确定所述元数据迁移时刻、待元数据迁移的各所述目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量。
在本发明的一种具体实施方式中,获取分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息,包括:
分别获取分布式文件存储集群中各所述元数据服务每秒进行读写操作的次数;
根据各所述元数据服务每秒进行读写操作的次数确定各所述元数据服务分别对应的元数据负载压力信息。
在本发明的一种具体实施方式中,根据各所述迁移参数确定导出子树分区和导入子树分区,包括:
根据各所述迁移参数对各所述子树分区进行排序,得到排序结果;
根据所述排序结果从迁移参数大的一端选取第一预设数量的子树分区作为所述导出子树分区,并从迁移参数小的一端选取第二预设数量的子树分区作为所述导入子树分区。
在本发明的一种具体实施方式中,在根据所述排序结果从迁移参数大的一端选取第一预设数量的子树分区作为所述导出子树分区之后,还包括:
将除所述导出子树分区之外的其余子树分区确定为无效迁移的候选项。
在本发明的一种具体实施方式中,从迁移参数小的一端选取第二预设数量的子树分区作为所述导入子树分区,包括:
统计各子树分区中备用容量大于等于预设容量值的子树分区数量;
当所述备用容量大于等于预设容量值的子树分区数量大于等于所述第二预设数量时,则从迁移参数小的一端选取第二预设数量的子树分区作为所述导入子树分区;
当所述备用容量大于等于所述预设容量值的子树分区数量小于所述第二预设数量时,则将所述备用容量大于等于所述预设容量值的子树分区确定为所述导入子树分区。
一种元数据负载均衡装置,包括:
负载压力获取模块,用于获取分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息;
迁移信息确定模块,用于根据各所述元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量;
迁移参数获取模块,用于获取各所述目标元数据服务中各子树分区分别对应的迁移参数;
子树分区确定模块,用于根据各所述迁移参数确定导出子树分区和导入子树分区;
元数据迁移模块,用于当达到所述元数据迁移时刻时,将所述待迁移元数据数量的元数据从所述导出子树分区迁移至所述导入子树分区。
一种元数据负载均衡设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前所述元数据负载均衡方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述元数据负载均衡方法的步骤。
本发明所提供的元数据负载均衡方法,获取分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息;根据各元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量;获取各目标元数据服务中各子树分区分别对应的迁移参数;根据各迁移参数确定导出子树分区和导入子树分区;当达到元数据迁移时刻时,将待迁移元数据数量的元数据从导出子树分区迁移至导入子树分区。
由上述技术方案可知,根据获取到的各元数据服务分别对应的元数据负载压力信息,准确地确定出元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量,并根据各目标元数据服务中各子树分区分别对应的迁移参数准确确定导出子树分区和导入子树分区,实现对元数据的准确迁移。提升了对业务负载特征的辨识度,较大地降低了产生对元数据进行不必要、无效的迁移的概率,有效提高了元数据吞吐量,改善高并发元数据密集型文件系统业务中元数据造成的性能瓶颈,具有较好的元数据负载均衡特性,提升了分布式存储系统的稳定性。
相应的,本发明还提供了与上述元数据负载均衡方法相对应的元数据负载均衡装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中元数据负载均衡方法的一种实施流程图;
图2为本发明实施例中一种分布式文件存储元数据服务子树分区的结构示意图;
图3为本发明实施例中元数据负载均衡方法的另一种实施流程图;
图4为本发明实施例中一种分布式文件存储的元数据均衡方法架构图;
图5为本发明实施例中一种元数据负载均衡装置的结构框图;
图6为本发明实施例中一种元数据负载均衡设备的结构框图;
图7为本实施例提供的一种元数据负载均衡设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1为本发明实施例中元数据负载均衡方法的一种实施流程图,该方法可以包括以下步骤:
S101:获取分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息。
预先对分布式文件存储集群中各元数据服务的元数据负载压力进行监控,获取分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息,如监控各元数据服务在单位时长或预设时长内的元数据请求数量。
在本发明的一种具体实施方式中,步骤S101可以包括以下步骤:
步骤一:获取分布式文件存储集群中各元数据服务分别对应的单位时长内处理的元数据请求数;
步骤二:根据各元数据服务分别对应的单位时长内处理的元数据请求数确定各元数据服务分别对应的元数据负载压力信息。
为方便描述,可以将上述两个步骤结合起来进行说明。
预先对分布式文件存储集群中各元数据服务单位时长内处理的元数据请求数进行监控,获取分布式文件存储集群中各元数据服务分别对应的单位时长内处理的元数据请求数,如收集各元数据服务每秒处理的元数据请求数,根据各元数据服务分别对应的单位时长内处理的元数据请求数确定各元数据服务分别对应的元数据负载压力信息。通过根据各元数据服务单位时长内处理的元数据请求数确定各元数据服务分别对应的元数据负载压力信息,提升了对各元数据服务元数据负载压力统计的准确性。
在本发明的一种具体实施方式中,根据各元数据服务分别对应的单位时长内处理的元数据请求数确定各元数据服务分别对应的元数据负载压力信息,可以包括以下步骤:
根据预设时长内统计的各元数据服务分别对应的单位时长内处理的元数据请求数确定各元数据服务分别对应的元数据负载压力信息。
预先设置通过监控预设时长内统计的各元数据服务分别对应的单位时长内处理的元数据请求数来确定各元数据服务的元数据负载压力,如可以设置通过监控连续10秒内各元数据服务每秒处理的元数据请求数来确定各元数据服务的元数据负载压力。通过以连续一段时长内收集的各元数据服务单位时长内处理的元数据请求数来确定各元数据服务的元数据负载压力,如将10秒内收集到的每个元数据服务10次元数据请求数的均值作为各元数据服务的元数据负载压力,降低了由于元数据请求数偶然性波动造成元数据负载压力评估不准确发生的概率,提高了元数据负载压力评估的准确性。
在本发明的一种具体实施方式中,步骤S101可以包括以下步骤:
步骤一:分别获取分布式文件存储集群中各元数据服务每秒进行读写操作的次数;
步骤二:根据各元数据服务每秒进行读写操作的次数确定各元数据服务分别对应的元数据负载压力信息。
为方便描述,可以将上述两个步骤结合起来进行说明。
预先设置通过统计各元数据服务每秒进行读写操作的次数(Input/OutputOperations Per Second,IOPS)对各元数据服务的元数据负载压力进行记录。分别获取分布式文件存储集群中各元数据服务每秒进行读写操作的次数,根据各元数据服务每秒进行读写操作的次数确定各元数据服务分别对应的元数据负载压力信息。通过采用各元数据服务每秒进行读写操作的次数作为主要指标来估计各元数据服务的繁忙程度,该值反映了每个元数据服务的即时负载。如可以通过统计一段时间内平均每秒进行读写操作的次数确定各元数据服务分别对应的元数据负载压力信息,进而提升元数据负载压力评估的准确性。
S102:根据各元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量。
在获取到分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息之后,根据各元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量。通过准确的确定何时尝试重新平衡过程,并对迁移的负载量做出正确的决策,从而减少迁移频率,并避免长期迁移过程造成资源负载浪费。
在本发明的一种具体实施方式中,步骤S102可以包括以下步骤:
步骤一:根据各元数据负载压力信息确定各元数据服务分别对应的元数据负载均衡值;
步骤二:根据各元数据负载均衡值确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量。
为方便描述,可以将上述两个步骤结合起来进行说明。
根据各元数据负载压力信息确定各元数据服务分别对应的元数据负载均衡值(Load Balance Value,LBV),用元数据负载均衡值表示每个时间间隔(默认10s)元数据负载不平衡的强度水平,根据各元数据负载均衡值确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量。元数据负载均衡值准确统计了各元数据服务中的负载均衡情况,提升了对元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量预估的准确性。
在本发明的一种具体实施方式中,根据各元数据负载均衡值确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量,可以包括以下步骤:
步骤一:判断是否存在超出预设阈值的元数据负载均衡值,若是,则执行步骤二,若否,则不做处理;
步骤二:根据各元数据负载均衡值确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量。
为方便描述,可以将上述两个步骤结合起来进行说明。
根据统计的每个元数据服务负载情况,并非所有不平衡情况都需要执行重新负载平衡过程,预先设置元数据负载均衡阈值,在根据各元数据负载压力信息确定各元数据服务分别对应的元数据负载均衡值之后,判断是否存在超出预设阈值的元数据负载均衡值,若是,则触发负载重新平衡过程,并生成迁移计划,该计划将导出元数据服务(exporterMDS)和导入元数据服务(importer MDS)分配给元数据集群。根据各元数据负载均衡值确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量,若否,则暂时不触发负载重新平衡过程,不做处理。
在本发明的一种具体实施方式中,步骤S102可以包括以下步骤:
步骤一:获取各元数据服务分别能承受的负载差异;
步骤二:结合各元数据负载压力信息和负载差异确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量。
为方便描述,可以将上述两个步骤结合起来进行说明。
在获取到分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息之后,考虑各元数据服务所能承受的负载差异,获取各元数据服务分别能承受的负载差异,结合各元数据负载压力信息和负载差异确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量。通过结合各元数据服务所能承受的负载差异来确定各目标元数据服务之间的待迁移元数据数量,进一步提升了元数据迁移的准确性。
S103:获取各目标元数据服务中各子树分区分别对应的迁移参数。
参见图2,图2为本发明实施例中一种分布式文件存储元数据服务子树分区的结构示意图。每个元数据服务包含一个或多个子树分区,预先设置通过迁移参数确定元数据服务的负载趋势,迁移参数越大,相应子树分区被迁移的概率越高。获取各目标元数据服务中各子树分区分别对应的迁移参数。
S104:根据各迁移参数确定导出子树分区和导入子树分区。
在获取到各目标元数据服务中各子树分区分别对应的迁移参数之后,具有较高迁移参数的子树分区会将繁忙的元数据服务中的多余工作负载传送到负载较少的元数据服务,根据各迁移参数确定导出子树分区和导入子树分区。
在本发明的一种具体实施方式中,在步骤S104之后,该方法可以包括以下步骤:
步骤一:当分别在各元数据服务中维护的历史元数据访问请求表中存在体现空间局部性的历史元数据访问请求表时,从与导出子树分区同级的子树分区中选取目标子树分区;
步骤二:将目标子树分区的迁移参数增加预设值。
为方便描述,可以将上述两个步骤结合起来进行说明。
预先在每个元数据服务上维护历史元数据访问请求表,当分别在各元数据服务中维护的历史元数据访问请求表中存在体现空间局部性的历史元数据访问请求表时,从与导出子树分区同级的子树分区中选取目标子树分区,即同级子树分区之间存在很强的访问相关性,将目标子树分区的迁移参数增加预设值,如将目标子树分区的迁移参数增加1,从而降低空间局部性的影响,实现对各子树分区的迁移参数的准确统计。
在本发明的一种具体实施方式中,步骤S104可以包括以下步骤:
步骤一:根据各迁移参数对各子树分区进行排序,得到排序结果;
步骤二:根据排序结果从迁移参数大的一端选取第一预设数量的子树分区作为导出子树分区,并从迁移参数小的一端选取第二预设数量的子树分区作为导入子树分区。
方便描述,可以将上述两个步骤结合起来进行说明。
在获取到各目标元数据服务中各子树分区分别对应的迁移参数之后,根据各迁移参数对各子树分区进行排序,得到排序结果,根据排序结果从迁移参数大的一端选取第一预设数量的子树分区作为导出子树分区,并从迁移参数小的一端选取第二预设数量的子树分区作为导入子树分区。从而使得具有较高迁移参数的子树分区将繁忙的元数据服务中的多余工作负载传送到负载较少的元数据服务。元数据集群导入导出过程保证了数据一致性,数据具有安全性。
需要说明的是,第一预设数量与第二预设数量中的第一、第二并无大小和先后顺序之分,仅是为了对导出子树分区的数量和导入子树分区的数量进行区分,第一预设数量与第二预设数量可以相同,也可以不同。
在本发明的一种具体实施方式中,在根据排序结果从迁移参数大的一端选取第一预设数量的子树分区作为导出子树分区之后,该方法还可以包括以下步骤:
将除导出子树分区之外的其余子树分区确定为无效迁移的候选项。
在根据排序结果从迁移参数大的一端选取第一预设数量的子树分区作为导出子树分区之后,将除导出子树分区之外的其余子树分区确定为无效迁移的候选项,从而避免进行无效迁移。
在本发明的一种具体实施方式中,从迁移参数小的一端选取第二预设数量的子树分区作为导入子树分区,可以包括以下步骤:
步骤一:统计各子树分区中备用容量大于等于预设容量值的子树分区数量;
步骤二:当备用容量大于等于预设容量值的子树分区数量大于等于第二预设数量时,则从迁移参数小的一端选取第二预设数量的子树分区作为导入子树分区;
步骤三:当备用容量大于等于预设容量值的子树分区数量小于第二预设数量时,则将备用容量大于等于预设容量值的子树分区确定为导入子树分区。
为方便描述,可以将上述三个步骤结合起来进行说明。
考虑到导入子树分区需要具备一定的备用容量,可容纳传入负载。统计各子树分区中备用容量大于等于预设容量值的子树分区数量,当备用容量大于等于预设容量值的子树分区数量大于等于第二预设数量时,则从迁移参数小的一端选取第二预设数量的子树分区作为导入子树分区,当备用容量大于等于预设容量值的子树分区数量小于第二预设数量时,则将备用容量大于等于预设容量值的子树分区确定为导入子树分区。本发明制定元数据服务子树分区迁移计划,以选择合理数量的子树分区作为导入子树分区的候选者,选择负载最低的元数据服务进行迁移,从而在保证选取到的导入子树分区满足容量需求的同时,能够尽可能地扩展导入子树分区的数量。迁移任务到达后,子树选择组件会选择一组合适的子树分区进行元数据迁移,达到分布式文件存储集群的元数据最优均衡状态。
S105:当达到元数据迁移时刻时,将待迁移元数据数量的元数据从导出子树分区迁移至导入子树分区。
在确定出元数据迁移时刻、待迁移元数据数量、导出子树分区及导入子树分区之后,当达到元数据迁移时刻时,将待迁移元数据数量的元数据从导出子树分区迁移至导入子树分区。通过对迁移的负载量做出正确的决策,以减少迁移频率并避免长期迁移过程造成资源负载浪费。
由上述技术方案可知,根据获取到的各元数据服务分别对应的元数据负载压力信息,准确地确定出元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量,并根据各目标元数据服务中各子树分区分别对应的迁移参数准确确定导出子树分区和导入子树分区,实现对元数据的准确迁移。提升了对业务负载特征的辨识度,较大地降低了产生对元数据进行不必要、无效的迁移的概率,有效提高了元数据吞吐量,改善高并发元数据密集型文件系统业务中元数据造成的性能瓶颈,具有较好的元数据负载均衡特性,提升了分布式存储系统的稳定性。
需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
参见图3,图3为本发明实施例中元数据负载均衡方法的另一种实施流程图,该方法可以包括以下步骤:
S301:通过部署于分布式文件存储集群中各元数据服务的负载监视器获取各元数据服务分别对应的元数据负载压力信息。
参见图4,图4为本发明实施例中一种分布式文件存储的元数据均衡方法架构图。预先在每个元数据服务中部署一个负载监视器来监视元数据负载压力,通过部署于分布式文件存储集群中各元数据服务的负载监视器获取各元数据服务分别对应的元数据负载压力信息。
S302:通过设置于预选元数据服务的元数据迁移启动程序,根据各元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量。
如图4所示,在分布式文件存储系统集群其中一个元数据服务中设置一个迁移启动程序(Initiator),负责决定何时进行迁移以及元数据服务之间应该交换多少元数据。通过设置于预选元数据服务的元数据迁移启动程序,根据各元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量。本发明迁移启动程序在分布式文件存储系统中是一个单节点组件,但它不会成为性能瓶颈,因为迁移过程是在存储后台进行的,根据配置参数每次都会运行(可配置,默认为10秒),并且很少消耗CPU(Central Processing Unit,中央处理器)、内存和网络带宽等资源。
S303:通过部署于各元数据服务的负载分析组件获取各目标元数据服务中各子树分区分别对应的迁移参数。
如图4所示,预先在每个元数据服务中分别部署独立运行的负载感知迁移规划模块,负载感知迁移规划模块包含负载分析组件,通过部署于各元数据服务的负载分析组件获取各目标元数据服务中各子树分区分别对应的迁移参数。
在本发明的一种具体实施方式中,步骤S303可以包括以下步骤:
步骤一:通过部署于各元数据服务的负载分析组件统计各子树分区分别对应的历史工作负载;
步骤二:根据各历史工作负载确定各子树分区的元数据访问差异;
步骤三:根据元数据访问差异确定各子树分区分别对应的迁移参数。
为方便描述,可以将上述三个步骤结合起来进行说明。
通过部署于各元数据服务的负载分析组件统计各子树分区分别对应的历史工作负载,根据各历史工作负载确定各子树分区的元数据访问差异,根据元数据访问差异确定各子树分区分别对应的迁移参数。通过利用各元数据服务的负载分析组件统计历史工作负载的影响,并预测元数据访问的差异来计算其迁移概率,提升了迁移参数统计的准确性。
在本发明的一种具体实施方式中,根据元数据访问差异确定各子树分区分别对应的迁移参数,可以包括以下步骤:
步骤一:获取预设的元数据最大吞吐量;
步骤二:当确定存在大于元数据最大吞吐量的历史工作负载时,根据元数据访问差异确定各子树分区分别对应的迁移参数。
为方便描述,可以将上述两个步骤结合起来进行说明。
根据统计的每个元数据服务负载情况,并非所有不平衡情况都需要执行重新负载平衡过程,尽管每个元数据服务的每秒进行读写操作的次数负载存在差异,但所有元数据服务都远低于其元数据最大吞吐量,如预先设置分布式文件存储单节点的单个元数据服务的最大每秒进行读写操作的次数为1300。获取预设的元数据最大吞吐量,当确定存在大于元数据最大吞吐量的历史工作负载时,根据元数据访问差异确定各子树分区分别对应的迁移参数。还可以引入了参数mds_migration(元数据服务迁移)来描述当前的不平衡的程度。该值越高,迁移的紧迫程度越高。参数mds_migration通过统计相同时期的元数据最大吞吐量,与理论值1300相比,其平滑度为(0,1)的范围,方便进行迁移时机识别。通过预先设置元数据最大吞吐量作为是否需执行重新负载平衡过程的衡量标准,能够准确判断分布式文件存储集群中元数据负载不平衡程度及其紧迫性,降低进行不必要元数据迁移的概率。
S304:通过部署于各元数据服务的子树选择组件根据各迁移参数确定导出子树分区和导入子树分区。
如图4所示,预先在每个元数据服务中分别部署负载感知迁移规划模块中还包含子树选择组件,通过部署于各元数据服务的子树选择组件根据各迁移参数确定导出子树分区和导入子树分区。通过子树选择组件选择一组适当的子树分区进行迁移。
在本发明的一种具体实施方式中,步骤S303可以包括以下步骤:
通过部署于各元数据服务的负载分析组件获取各目标元数据服务中各子树分区分别对应的迁移参数和分布式文件存储集群的工作负载I/O 模式;
相应的,步骤S304可以包括以下步骤:
当确定工作负载I/O模式为元数据密集型IO时,通过部署于各元数据服务的子树选择组件根据各迁移参数确定导出子树分区和导入子树分区。
通过部署于各元数据服务的负载分析组件获取各目标元数据服务中各子树分区分别对应的迁移参数和分布式文件存储集群的工作负载I/O模式,当确定工作负载I/O模式为元数据密集型IO时,例如,元数据请求占比70%以上的机器学习或建模业务,业务特征跨越1000个目录中的180万个小文件,平均大小为15KB,通过部署于各元数据服务的子树选择组件根据各迁移参数确定导出子树分区和导入子树分区。通过结合各子树分区分别对应的迁移参数和分布式文件存储集群的工作负载I/O模式来确定是否需执行重新负载平衡过程,进一步降低了进行不必要元数据迁移的概率。
S305:当达到元数据迁移时刻时,将待迁移元数据数量的元数据从导出子树分区迁移至导入子树分区。
当达到元数据迁移时刻时,将待迁移元数据数量的元数据从导出子树分区迁移至导入子树分区。本发明具有较好的元数据负载均衡,有效提高元数据吞吐量,改善高并发元数据密集型文件系统业务中元数据造成的性能瓶颈。此外,本发明具备更短的元数据响应耗时,能够处理元数据集群扩展和客户端工作负载增长,提高分布式集群线性扩展性。
相应于上面的方法实施例,本发明还提供了一种元数据负载均衡装置,下文描述的元数据负载均衡装置与上文描述的元数据负载均衡方法可相互对应参照。
参见图5,图5为本发明实施例中一种元数据负载均衡装置的结构框图,该装置可以包括:
负载压力获取模块51,用于获取分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息;
迁移信息确定模块52,用于根据各元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量;
迁移参数获取模块53,用于获取各目标元数据服务中各子树分区分别对应的迁移参数;
子树分区确定模块54,用于根据各迁移参数确定导出子树分区和导入子树分区;
元数据迁移模块55,用于当达到元数据迁移时刻时,将待迁移元数据数量的元数据从导出子树分区迁移至导入子树分区。
由上述技术方案可知,根据获取到的各元数据服务分别对应的元数据负载压力信息,准确地确定出元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量,并根据各目标元数据服务中各子树分区分别对应的迁移参数准确确定导出子树分区和导入子树分区,实现对元数据的准确迁移。提升了对业务负载特征的辨识度,较大地降低了产生对元数据进行不必要、无效的迁移的概率,有效提高了元数据吞吐量,改善高并发元数据密集型文件系统业务中元数据造成的性能瓶颈,具有较好的元数据负载均衡特性,提升了分布式存储系统的稳定性。
在本发明的一种具体实施方式中,负载压力获取模块51具体为通过部署于分布式文件存储集群中各元数据服务的负载监视器获取各元数据服务分别对应的元数据负载压力信息的模块。
在本发明的一种具体实施方式中,迁移信息确定模块55具体为通过设置于预选元数据服务的元数据迁移启动程序,根据各元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量的模块。
在本发明的一种具体实施方式中,迁移参数获取模块53具体为通过部署于各元数据服务的负载分析组件获取各目标元数据服务中各子树分区分别对应的迁移参数的模块;
子树分区确定模块54具体为通过部署于各元数据服务的子树选择组件根据各迁移参数确定导出子树分区和导入子树分区的模块。
在本发明的一种具体实施方式中,迁移参数获取模块53具体为通过部署于各元数据服务的负载分析组件获取各目标元数据服务中各子树分区分别对应的迁移参数和分布式文件存储集群的工作负载I/O 模式的模块;
子树分区确定模块54具体为当确定工作负载I/O模式为元数据密集型IO时,通过部署于各元数据服务的子树选择组件根据各迁移参数确定导出子树分区和导入子树分区的模块。
在本发明的一种具体实施方式中,迁移参数获取模块53包括:
历史工作负载统计子模块,用于通过部署于各元数据服务的负载分析组件统计各子树分区分别对应的历史工作负载;
元数据访问差异确定子模块,用于根据各历史工作负载确定各子树分区的元数据访问差异;
迁移参数确定子模块,用于根据元数据访问差异确定各子树分区分别对应的迁移参数。
在本发明的一种具体实施方式中,迁移参数确定子模块包括:
元数据最大吞吐量获取单元,用于获取预设的元数据最大吞吐量;
迁移参数确定单元,用于当确定存在大于元数据最大吞吐量的历史工作负载时,根据元数据访问差异确定各子树分区分别对应的迁移参数。
在本发明的一种具体实施方式中,该装置还可以包括:
子树分区选取模块,用于在根据各迁移参数确定导出子树分区和导入子树分区之后,当分别在各元数据服务中维护的历史元数据访问请求表中存在体现空间局部性的历史元数据访问请求表时,从与导出子树分区同级的子树分区中选取目标子树分区;
迁移参数增加模块,用于将目标子树分区的迁移参数增加预设值。
在本发明的一种具体实施方式中,负载压力获取模块51包括:
元数据请求数获取子模块,用于获取分布式文件存储集群中各元数据服务分别对应的单位时长内处理的元数据请求数;
负载压力确定子模块,用于根据各元数据服务分别对应的单位时长内处理的元数据请求数确定各元数据服务分别对应的元数据负载压力信息。
在本发明的一种具体实施方式中,负载压力确定子模块具体为根据预设时长内统计的各元数据服务分别对应的单位时长内处理的元数据请求数确定各元数据服务分别对应的元数据负载压力信息的模块。
在本发明的一种具体实施方式中,迁移信息确定模块52包括:
负载均衡值确定子模块,用于根据各元数据负载压力信息确定各元数据服务分别对应的元数据负载均衡值;
迁移信息确定子模块,用于根据各元数据负载均衡值确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量。
在本发明的一种具体实施方式中,迁移信息确定子模块包括:
判断单元,用于判断是否存在超出预设阈值的元数据负载均衡值;
移信息确定单元,用于当确定存在超出预设阈值的元数据负载均衡值时,根据各元数据负载均衡值确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量。
在本发明的一种具体实施方式中,迁移信息确定模块52包括:
负载差异获取子模块,用于获取各元数据服务分别能承受的负载差异;
迁移信息确定子模块,用于结合各元数据负载压力信息和负载差异确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量。
在本发明的一种具体实施方式中,负载压力获取模块51包括:
读写操作次数获取子模块,用于分别获取分布式文件存储集群中各元数据服务每秒进行读写操作的次数;
负载压力确定子模块,用于根据各元数据服务每秒进行读写操作的次数确定各元数据服务分别对应的元数据负载压力信息。
在本发明的一种具体实施方式中,子树分区确定模块包括:
子树分区排序子模块,用于根据各迁移参数对各子树分区进行排序,得到排序结果;
子树分区选取子模块,用于根据排序结果从迁移参数大的一端选取第一预设数量的子树分区作为导出子树分区,并从迁移参数小的一端选取第二预设数量的子树分区作为导入子树分区。
在本发明的一种具体实施方式中,该装置还可以包括:
无效迁移候选项确定模块,用于在根据排序结果从迁移参数大的一端选取第一预设数量的子树分区作为导出子树分区之后,将除导出子树分区之外的其余子树分区确定为无效迁移的候选项。
在本发明的一种具体实施方式中,子树分区选取子模块包括:
子树分区数量统计单元,用于统计各子树分区中备用容量大于等于预设容量值的子树分区数量;
第一导入子树分区选取单元,用于当备用容量大于等于预设容量值的子树分区数量大于等于第二预设数量时,则从迁移参数小的一端选取第二预设数量的子树分区作为导入子树分区;
第二导入子树分区选取单元,用于当备用容量大于等于预设容量值的子树分区数量小于第二预设数量时,则将备用容量大于等于预设容量值的子树分区确定为导入子树分区。
相应于上面的方法实施例,参见图6,图6为本发明所提供的元数据负载均衡设备的示意图,该设备可以包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的元数据负载均衡方法的步骤。
具体的,请参考图7,图7为本实施例提供的一种元数据负载均衡设备的具体结构示意图,该元数据负载均衡设备可因配置或性能不同而产生比较大的差异,可以包括处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储器332通信,在元数据负载均衡设备301上执行存储器332中的一系列指令操作。
元数据负载均衡设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的元数据负载均衡方法中的步骤可以由元数据负载均衡设备的结构实现。
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
获取分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息;根据各元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各目标元数据服务之间的待迁移元数据数量;获取各目标元数据服务中各子树分区分别对应的迁移参数;根据各迁移参数确定导出子树分区和导入子树分区;当达到元数据迁移时刻时,将待迁移元数据数量的元数据从导出子树分区迁移至导入子树分区。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (18)
1.一种元数据负载均衡方法,其特征在于,包括:
获取分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息;
根据各所述元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量;
通过部署于各所述元数据服务的负载分析组件获取各所述目标元数据服务中各子树分区分别对应的迁移参数和所述分布式文件存储集群的工作负载I/O 模式;
当确定所述工作负载I/O模式为元数据密集型IO时,通过部署于各所述元数据服务的子树选择组件根据各所述迁移参数确定导出子树分区和导入子树分区;
当达到所述元数据迁移时刻时,将所述待迁移元数据数量的元数据从所述导出子树分区迁移至所述导入子树分区。
2.根据权利要求1所述的元数据负载均衡方法,其特征在于,获取分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息,包括:
通过部署于所述分布式文件存储集群中各所述元数据服务的负载监视器获取各所述元数据服务分别对应的元数据负载压力信息。
3.根据权利要求1所述的元数据负载均衡方法,其特征在于,根据各所述元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量,包括:
通过设置于预选元数据服务的元数据迁移启动程序,根据各所述元数据负载压力信息确定所述元数据迁移时刻、待元数据迁移的各所述目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量。
4.根据权利要求1所述的元数据负载均衡方法,其特征在于,通过部署于各所述元数据服务的负载分析组件获取各所述目标元数据服务中各子树分区分别对应的迁移参数,包括:
通过部署于各所述元数据服务的负载分析组件统计各所述子树分区分别对应的历史工作负载;
根据各所述历史工作负载确定各所述子树分区的元数据访问差异;
根据所述元数据访问差异确定各子树分区分别对应的迁移参数。
5.根据权利要求4所述的元数据负载均衡方法,其特征在于,根据所述元数据访问差异确定各子树分区分别对应的迁移参数,包括:
获取预设的元数据最大吞吐量;
当确定存在大于所述元数据最大吞吐量的历史工作负载时,根据所述元数据访问差异确定各所述子树分区分别对应的迁移参数。
6.根据权利要求4所述的元数据负载均衡方法,其特征在于,在根据各所述迁移参数确定导出子树分区和导入子树分区之后,还包括:
当分别在各所述元数据服务中维护的历史元数据访问请求表中存在体现空间局部性的历史元数据访问请求表时,从与所述导出子树分区同级的子树分区中选取目标子树分区;
将所述目标子树分区的迁移参数增加预设值。
7.根据权利要求1所述的元数据负载均衡方法,其特征在于,获取分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息,包括:
获取所述分布式文件存储集群中各所述元数据服务分别对应的单位时长内处理的元数据请求数;
根据各所述元数据服务分别对应的单位时长内处理的元数据请求数确定各所述元数据服务分别对应的元数据负载压力信息。
8.根据权利要求7所述的元数据负载均衡方法,其特征在于,根据各所述元数据服务分别对应的单位时长内处理的元数据请求数确定各所述元数据服务分别对应的元数据负载压力信息,包括:
根据预设时长内统计的各所述元数据服务分别对应的单位时长内处理的元数据请求数确定各所述元数据服务分别对应的元数据负载压力信息。
9.根据权利要求1所述的元数据负载均衡方法,其特征在于,根据各所述元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量,包括:
根据各所述元数据负载压力信息确定各所述元数据服务分别对应的元数据负载均衡值;
根据各所述元数据负载均衡值确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量。
10.根据权利要求9所述的元数据负载均衡方法,其特征在于,根据各所述元数据负载均衡值确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量,包括:
判断是否存在超出预设阈值的元数据负载均衡值;
若是,则执行所述根据各所述元数据负载均衡值确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量的步骤。
11.根据权利要求1所述的元数据负载均衡方法,其特征在于,根据各所述元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量,包括:
获取各所述元数据服务分别能承受的负载差异;
结合各所述元数据负载压力信息和所述负载差异确定所述元数据迁移时刻、待元数据迁移的各所述目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量。
12.根据权利要求1所述的元数据负载均衡方法,其特征在于,获取分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息,包括:
分别获取分布式文件存储集群中各所述元数据服务每秒进行读写操作的次数;
根据各所述元数据服务每秒进行读写操作的次数确定各所述元数据服务分别对应的元数据负载压力信息。
13.根据权利要求1所述的元数据负载均衡方法,其特征在于,根据各所述迁移参数确定导出子树分区和导入子树分区,包括:
根据各所述迁移参数对各所述子树分区进行排序,得到排序结果;
根据所述排序结果从迁移参数大的一端选取第一预设数量的子树分区作为所述导出子树分区,并从迁移参数小的一端选取第二预设数量的子树分区作为所述导入子树分区。
14.根据权利要求13所述的元数据负载均衡方法,其特征在于,在根据所述排序结果从迁移参数大的一端选取第一预设数量的子树分区作为所述导出子树分区之后,还包括:
将除所述导出子树分区之外的其余子树分区确定为无效迁移的候选项。
15.根据权利要求13所述的元数据负载均衡方法,其特征在于,从迁移参数小的一端选取第二预设数量的子树分区作为所述导入子树分区,包括:
统计各子树分区中备用容量大于等于预设容量值的子树分区数量;
当所述备用容量大于等于预设容量值的子树分区数量大于等于所述第二预设数量时,则从迁移参数小的一端选取第二预设数量的子树分区作为所述导入子树分区;
当所述备用容量大于等于所述预设容量值的子树分区数量小于所述第二预设数量时,则将所述备用容量大于等于所述预设容量值的子树分区确定为所述导入子树分区。
16.一种元数据负载均衡装置,其特征在于,包括:
负载压力获取模块,用于获取分布式文件存储集群中各元数据服务分别对应的元数据负载压力信息;
迁移信息确定模块,用于根据各所述元数据负载压力信息确定元数据迁移时刻、待元数据迁移的各目标元数据服务及各所述目标元数据服务之间的待迁移元数据数量;
迁移参数获取模块,用于通过部署于各所述元数据服务的负载分析组件获取各所述目标元数据服务中各子树分区分别对应的迁移参数和所述分布式文件存储集群的工作负载I/O 模式;
子树分区确定模块,用于当确定所述工作负载I/O模式为元数据密集型IO时,通过部署于各所述元数据服务的子树选择组件根据各所述迁移参数确定导出子树分区和导入子树分区;
元数据迁移模块,用于当达到所述元数据迁移时刻时,将所述待迁移元数据数量的元数据从所述导出子树分区迁移至所述导入子树分区。
17.一种元数据负载均衡设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至15任一项所述元数据负载均衡方法的步骤。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至15任一项所述元数据负载均衡方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310161610.9A CN115952005B (zh) | 2023-02-24 | 2023-02-24 | 一种元数据负载均衡方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310161610.9A CN115952005B (zh) | 2023-02-24 | 2023-02-24 | 一种元数据负载均衡方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115952005A CN115952005A (zh) | 2023-04-11 |
CN115952005B true CN115952005B (zh) | 2023-05-30 |
Family
ID=85892300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310161610.9A Active CN115952005B (zh) | 2023-02-24 | 2023-02-24 | 一种元数据负载均衡方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115952005B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523158A (zh) * | 2011-12-15 | 2012-06-27 | 杭州电子科技大学 | 一种基于权重的元数据服务器集群负载均衡方法 |
CN103744882A (zh) * | 2013-12-20 | 2014-04-23 | 浪潮(北京)电子信息产业有限公司 | 一种基于键值对的目录片段表示方法及装置 |
CN111338801A (zh) * | 2020-02-29 | 2020-06-26 | 苏州浪潮智能科技有限公司 | 一种实现元数据负载均衡的子树迁移方法、装置 |
CN112711461A (zh) * | 2019-10-24 | 2021-04-27 | 华为技术有限公司 | 一种虚拟机迁移方法及相关设备 |
WO2022063322A1 (en) * | 2020-09-28 | 2022-03-31 | Zhejiang Dahua Technology Co., Ltd. | Hard drive migration method, distributed storage cluster system and storage medium |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279568A (zh) * | 2013-06-18 | 2013-09-04 | 无锡紫光存储系统有限公司 | 一种元数据管理系统及方法 |
CN106034080A (zh) * | 2015-03-10 | 2016-10-19 | 中兴通讯股份有限公司 | 分布式系统中元数据的迁移方法及装置 |
CN106598744A (zh) * | 2017-01-13 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种元数据集群动态子树分区方法及装置 |
CN107145307A (zh) * | 2017-04-27 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种基于分布式存储的动态元数据优化方法和系统 |
CN107239569A (zh) * | 2017-06-27 | 2017-10-10 | 郑州云海信息技术有限公司 | 一种分布式文件系统子树存储方法及装置 |
CN115563073A (zh) * | 2022-09-23 | 2023-01-03 | 北京星辰天合科技股份有限公司 | 分布式元数据的数据处理的方法、装置及电子设备 |
-
2023
- 2023-02-24 CN CN202310161610.9A patent/CN115952005B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523158A (zh) * | 2011-12-15 | 2012-06-27 | 杭州电子科技大学 | 一种基于权重的元数据服务器集群负载均衡方法 |
CN103744882A (zh) * | 2013-12-20 | 2014-04-23 | 浪潮(北京)电子信息产业有限公司 | 一种基于键值对的目录片段表示方法及装置 |
CN112711461A (zh) * | 2019-10-24 | 2021-04-27 | 华为技术有限公司 | 一种虚拟机迁移方法及相关设备 |
CN111338801A (zh) * | 2020-02-29 | 2020-06-26 | 苏州浪潮智能科技有限公司 | 一种实现元数据负载均衡的子树迁移方法、装置 |
WO2022063322A1 (en) * | 2020-09-28 | 2022-03-31 | Zhejiang Dahua Technology Co., Ltd. | Hard drive migration method, distributed storage cluster system and storage medium |
Non-Patent Citations (1)
Title |
---|
LaMeta: An efficient locality aware metadata management technique for an ultra-large distributed storage system;Harcharan Jit Singh et al;《Computer and Information Sciences》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115952005A (zh) | 2023-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5400482B2 (ja) | 管理計算機、リソース管理方法、リソース管理プログラム、記録媒体および情報処理システム | |
US7849180B2 (en) | Load balanced storage provisioning | |
US8209511B2 (en) | Storage management apparatus, a storage management method and a storage management program | |
US9256448B2 (en) | Process grouping for improved cache and memory affinity | |
CN106469018B (zh) | 分布式存储系统的负载监控方法及设备 | |
CN107122126B (zh) | 数据的迁移方法、装置和系统 | |
US9606735B2 (en) | Storage management apparatus, and performance adjusting method | |
US9069623B2 (en) | Management apparatus, method, and privileged and confidential medium storing program to migrate a virtual machine when a resource shortage or booting occurs | |
US9807008B2 (en) | Tournament scheduling | |
US9268609B2 (en) | Application thread to cache assignment | |
JP2009223497A (ja) | 管理マシン、管理システム、管理プログラム、および、管理方法 | |
CN110297743B (zh) | 一种负载测试方法、装置和存储介质 | |
US10853365B2 (en) | Database management system, computer, and database management method | |
CN112306383A (zh) | 执行作业的方法、计算节点、管理节点及计算设备 | |
CN109788013B (zh) | 分布式系统中作业资源分配方法、装置及设备 | |
CN115952005B (zh) | 一种元数据负载均衡方法、装置、设备及可读存储介质 | |
CN113204421A (zh) | 无服务器功能与存储池的同分布 | |
Groot et al. | Modeling i/o interference for data intensive distributed applications | |
CN114860449B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN111858656A (zh) | 一种基于分布式架构的静态数据的查询方法和设备 | |
US20220229697A1 (en) | Management computer, management system, and recording medium | |
CN115576924A (zh) | 一种数据迁移的方法 | |
CN111078160B (zh) | 基于调用比例及响应时长的数据迁移存储方法及装置 | |
CN115328865A (zh) | 一种csv文件的批量导入方法和相关设备 | |
CN116932156A (zh) | 一种任务处理方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |