CN107480310A - 一种元数据集群目录动态负载平衡方法及系统 - Google Patents
一种元数据集群目录动态负载平衡方法及系统 Download PDFInfo
- Publication number
- CN107480310A CN107480310A CN201710909948.2A CN201710909948A CN107480310A CN 107480310 A CN107480310 A CN 107480310A CN 201710909948 A CN201710909948 A CN 201710909948A CN 107480310 A CN107480310 A CN 107480310A
- Authority
- CN
- China
- Prior art keywords
- subdirectory
- temperature
- root
- metadata
- threshold value
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种元数据集群目录动态负载平衡方法及系统,包括:判断主元数据服务器的目录树的根目录的热度是否大于预设的阈值;如果是,则判断当前子目录是否只包含文件,其中,当前子目录为满足热度大于阈值的根目录的子目录;如果是,则通过轮询方式将当前子目录分配给从元数据服务器;如果否,则将当前子目录的子目录作为新的当前子目录;本申请通过设定热度阈值,判断元数据服务的主元数据服务器的目录树的根目录的热度是否大于预设的阈值,如果大于,则查找到作为热度源只包含文件满足热度大于预设的阈值的子目录,将该子目录通过轮询的方式分配给与主元数据服务器对应的从元数据服务器中,实现元数据服务负载均衡。
Description
技术领域
本发明涉及分布式文件领域,特别涉及一种元数据集群目录动态负载平衡方法及系统。
背景技术
在分布式文件系统应用中,会有海量小文件使用场景。例如视频监控中摄像口存储卡口图片(500KB),高性能计算算例中素材文件(几KB~几百KB),广电媒资场景中动漫渲染素材(几KB~几百KB)等,这些场景每天都会产生上百万文件,每秒文件操作需求高达5000个/s。而分布式文件系统元数据性能是个瓶颈,需要使用元数据集群提升元数据并发。而元数据集群面临的关键问题是如何实现目录动态负载平衡。目前研究元数据集群动态子树分区技术较多,但是没有厂商应用实际生产环境。其中的难题是目录负载平衡问题。由于不同应用场景IO模型不一样,很难有适用所有场景的动态目录负载平衡机制。
现有技术中,元数据集群中元数据服务以目录为单位统计目录热度,目录热度就代表了元数据服务负载,用将负载高的mds进程分出部分负载给负载少的mds,通过多目录元数据并发提升元数据性能,但需频繁统计目录热度和元数据负载,增加元数据处理延时,且现有算法会出现频繁目录切换元数据服务,反而会降低性能,难以应用于生产环境。
因此,发明一种能够实现元数据服务负载均衡,提升分布式文件系统元数据性能,使得分布式文件系统可用于海量小文件场景的元数据集群目录动态负载平衡方法是当前需要解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种元数据集群目录动态负载平衡方法及系统,实现元数据服务负载均衡,提升分布式文件系统元数据性能,使得分布式文件系统可用于海量小文件场景。其具体方案如下:
一种元数据集群目录动态负载平衡方法,包括:
判断主元数据服务器的目录树的根目录的热度是否大于预设的阈值;
如果是,则判断当前子目录是否只包含文件,其中,当前子目录为满足热度大于所述阈值的所述根目录的子目录;
如果是,则通过轮询方式将当前子目录分配给从元数据服务器;
如果否,则将当前子目录的子目录作为新的当前子目录。
可选的,还包括:实时更新主元数据服务器的目录树的热度。
可选的,所述判断主元数据服务器的目录树的根目录的热度是否大于预设的阈值的过程,包括:
定时判断主元数据服务器的目录树的根目录的热度是否大于预设的阈值。
本发明还公开了一种元数据集群目录动态负载平衡系统,包括:
根目录判断模块,用于判断主元数据服务器的目录树的根目录的热度是否大于预设的阈值;
子目录判断模块,用于当所述根目录判断模块判定所述根目录的热度大于所述阈值,则判断当前子目录是否只包含文件,其中,当前子目录为满足热度大于所述阈值的所述根目录的子目录;
分配模块,用于当所述子目录判断模块判定当前子目录只包含文件,则通过轮询方式将当前子目录分配给从元数据服务器;
子目录更新模块,用于当所述子目录判断模块判定当前子目录不只包含文件,则将当前子目录的子目录作为新的当前子目录。
可选的,还包括:
热度更新模块,用于实时更新主元数据服务器的目录树的热度。
可选的,所述根目录判断模块,具体用于定时判断主元数据服务器的目录树的根目录的热度是否大于预设的阈值。
本发明中,元数据集群目录动态负载平衡方法,包括:判断主元数据服务器的目录树的根目录的热度是否大于预设的阈值;如果是,则判断当前子目录是否只包含文件,其中,当前子目录为满足热度大于阈值的根目录的子目录;如果是,则通过轮询方式将当前子目录分配给从元数据服务器;如果否,则将当前子目录的子目录作为新的当前子目录。本发明通过设定热度阈值,判断元数据服务的主元数据服务器的目录树的根目录的热度是否大于预设的阈值,如果大于,则查找到作为热度源只包含文件满足热度大于预设的阈值的子目录,将该子目录通过轮询的方式分配给与主元数据服务器对应的从元数据服务器中,实现元数据服务负载均衡,提升分布式文件系统元数据性能,使得分布式文件系统可用于海量小文件场景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种元数据集群目录动态负载平衡方法流程示意图;
图2为本发明实施例公开的一种元数据集群目录动态负载平衡系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种元数据集群目录动态负载平衡方法,参见图1所示,该方法包括:
步骤S11:判断主元数据服务器的目录树的根目录的热度是否大于预设的阈值。
具体的,分布式文件系统默认有一个元数据服务,元数据服务中保存有一个保存有不同元数据目录的目录树,目录树的根目录保存在主元数据服务器管理,根目录的子目录也同样保存在主元数据服务器上。
为了实现目录负载平衡,判断主元数据服务器的目录树的根目录的热度是否大于预设的阈值,其中,阈值为由用户预先设定的值,例如,设定阈值为200,判断根目录的热度是否大于200。
步骤S12:如果是,则判断当前子目录是否只包含文件,其中,当前子目录为满足热度大于阈值的根目录的子目录。
具体的,如果根目录的热度大于预设的阈值,则表明根目录下存在的热度大于阈值的子目录,通过查找到热度大于阈值的当前子目录,继续判断当前子目录是否还有子目录,即判断当前子目录是否只包含文件,如果当前子目录没有子目录,则当前子目录为只包含文件的子目录,以此来判断当前子目录是否还有子目录,或者当前子目录就是热度源。
可以理解的是,如果根目录的热度未大于预设的阈值,则等待下一次热度判断。
步骤S13:如果是,则通过轮询方式将当前子目录分配给从元数据服务器。
具体的,如果当前子目录是包含文件的子目录,表明当前子目录即热度源,为此通过轮询方式将当前子目录分配给从元数据服务器,其中,主元数据服务器下对应多个从元数据服务器,当查找出作为热度源的子目录后,通过轮询方式将作为热度源的子目录分配给当前轮询到的从元数据服务器,实现元数据服务负载均衡。
步骤S14:如果否,则将当前子目录的子目录作为新的当前子目录。
具体的,如果当前子目录还有子目录,则继续从当前子目录的一个或多个子目录中查找到满足热度大于阈值的子目录,将当前子目录的满足热度大于阈值的子目录作为新的当前子目录,执行步骤S12,继续判断新的当前子目录是否只包含文件,直到查找到作为热度源的子目录,并将作为热度源的子目录分配给从元数据服务器,实现元数据服务负载均衡。
可见,本发明实施例通过设定热度阈值,判断元数据服务的主元数据服务器的目录树的根目录的热度是否大于预设的阈值,如果大于,则查找到作为热度源只包含文件满足热度大于预设的阈值的子目录,将该子目录通过轮询的方式分配给与主元数据服务器对应的从元数据服务器中,实现元数据服务负载均衡,提升分布式文件系统元数据性能,使得分布式文件系统可用于海量小文件场景。
本发明实施例中,可以实时更新主元数据服务器的目录树的热度,从目录树的根目录开始更新热度,直至更新到所有只包含文件的子目录,从而实现对整个目录树的热度更新,当然也可以采用定时更新主元数据服务器的目录树的热度,例如,每10秒更新一次主元数据服务器的目录树的热度,能够进一步降低对于元数据服务的负载。
由于目录的热度是逐渐达到阈值的,因此,可以采用定时判断主元数据服务器的目录树的根目录的热度是否大于预设的阈值,而不用实时判断根目录的热度,以减少对元数据服务的负载。
相应的,本发明实施例还公开了一种元数据集群目录动态负载平衡系统,参见图2所示,该系统包括:
根目录判断模块11,用于判断主元数据服务器的目录树的根目录的热度是否大于预设的阈值;
子目录判断模块12,用于当根目录判断模块判定根目录的热度大于阈值,则判断当前子目录是否只包含文件,其中,当前子目录为满足热度大于阈值的根目录的子目录;
分配模块13,用于当子目录判断模块判定当前子目录只包含文件,则通过轮询方式将当前子目录分配给从元数据服务器;
子目录更新模块14,用于当子目录判断模块判定当前子目录不只包含文件,则将当前子目录的子目录作为新的当前子目录。
可见,本发明实施例通过设定热度阈值,判断元数据服务的主元数据服务器的目录树的根目录的热度是否大于预设的阈值,如果大于,则查找到作为热度源只包含文件满足热度大于预设的阈值的子目录,将该子目录通过轮询的方式分配给与主元数据服务器对应的从元数据服务器中,实现元数据服务负载均衡。
本发明实施例中,还可以包括:
热度更新模块,用于实时更新主元数据服务器的目录树的热度。
本发明实施例中,上述根目录判断模块11,可以具体用于定时判断主元数据服务器的目录树的根目录的热度是否大于预设的阈值。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的一种元数据集群目录动态负载平衡方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种元数据集群目录动态负载平衡方法,其特征在于,包括:
判断主元数据服务器的目录树的根目录的热度是否大于预设的阈值;
如果是,则判断当前子目录是否只包含文件,其中,当前子目录为满足热度大于所述阈值的所述根目录的子目录;
如果是,则通过轮询方式将当前子目录分配给从元数据服务器;
如果否,则将当前子目录的子目录作为新的当前子目录。
2.根据权利要求1所述的元数据集群目录动态负载平衡方法,其特征在于,还包括:
实时更新主元数据服务器的目录树的热度。
3.根据权利要求1或2所述的元数据集群目录动态负载平衡方法,其特征在于,所述判断主元数据服务器的目录树的根目录的热度是否大于预设的阈值的过程,包括:
定时判断主元数据服务器的目录树的根目录的热度是否大于预设的阈值。
4.一种元数据集群目录动态负载平衡系统,其特征在于,包括:
根目录判断模块,用于判断主元数据服务器的目录树的根目录的热度是否大于预设的阈值;
子目录判断模块,用于当所述根目录判断模块判定所述根目录的热度大于所述阈值,则判断当前子目录是否只包含文件,其中,当前子目录为满足热度大于所述阈值的所述根目录的子目录;
分配模块,用于当所述子目录判断模块判定当前子目录只包含文件,则通过轮询方式将当前子目录分配给从元数据服务器;
子目录更新模块,用于当所述子目录判断模块判定当前子目录不只包含文件,则将当前子目录的子目录作为新的当前子目录。
5.根据权利要求4所述的元数据集群目录动态负载平衡系统,其特征在于,还包括:
热度更新模块,用于实时更新主元数据服务器的目录树的热度。
6.根据权利要求4或5所述的元数据集群目录动态负载平衡系统,其特征在于,所述根目录判断模块,具体用于定时判断主元数据服务器的目录树的根目录的热度是否大于预设的阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710909948.2A CN107480310B (zh) | 2017-09-29 | 2017-09-29 | 一种元数据集群目录动态负载平衡方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710909948.2A CN107480310B (zh) | 2017-09-29 | 2017-09-29 | 一种元数据集群目录动态负载平衡方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107480310A true CN107480310A (zh) | 2017-12-15 |
CN107480310B CN107480310B (zh) | 2020-09-04 |
Family
ID=60605679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710909948.2A Active CN107480310B (zh) | 2017-09-29 | 2017-09-29 | 一种元数据集群目录动态负载平衡方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107480310B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189341A (zh) * | 2018-08-30 | 2019-01-11 | 郑州云海信息技术有限公司 | 分布式存储系统的目录负载均衡方法、装置、设备及介质 |
CN110008029A (zh) * | 2019-04-12 | 2019-07-12 | 苏州浪潮智能科技有限公司 | ceph元数据集群目录分配方法、系统、装置及可读存储介质 |
CN113625962A (zh) * | 2021-07-09 | 2021-11-09 | 济南浪潮数据技术有限公司 | 分布式存储的动态子树优化方法、系统、终端及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279568A (zh) * | 2013-06-18 | 2013-09-04 | 无锡紫光存储系统有限公司 | 一种元数据管理系统及方法 |
CN103688257A (zh) * | 2012-11-27 | 2014-03-26 | 华为技术有限公司 | 元数据管理方法和装置 |
CN104484460A (zh) * | 2014-12-29 | 2015-04-01 | 浪潮(北京)电子信息产业有限公司 | 一种分布式文件系统元数据热度统计方法 |
CN106598744A (zh) * | 2017-01-13 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种元数据集群动态子树分区方法及装置 |
CN106980697A (zh) * | 2017-04-07 | 2017-07-25 | 广东浪潮大数据研究有限公司 | 一种目录分布查询方法及装置 |
US20170220598A1 (en) * | 2016-01-29 | 2017-08-03 | Vmware, Inc. | Fine-Grained Metadata Management in a Distributed File System |
CN103793534B (zh) * | 2014-02-28 | 2017-09-08 | 苏州博纳讯动软件有限公司 | 分布式文件系统及均衡元数据存储和访问负载的实现方法 |
-
2017
- 2017-09-29 CN CN201710909948.2A patent/CN107480310B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103688257A (zh) * | 2012-11-27 | 2014-03-26 | 华为技术有限公司 | 元数据管理方法和装置 |
CN103279568A (zh) * | 2013-06-18 | 2013-09-04 | 无锡紫光存储系统有限公司 | 一种元数据管理系统及方法 |
CN103793534B (zh) * | 2014-02-28 | 2017-09-08 | 苏州博纳讯动软件有限公司 | 分布式文件系统及均衡元数据存储和访问负载的实现方法 |
CN104484460A (zh) * | 2014-12-29 | 2015-04-01 | 浪潮(北京)电子信息产业有限公司 | 一种分布式文件系统元数据热度统计方法 |
US20170220598A1 (en) * | 2016-01-29 | 2017-08-03 | Vmware, Inc. | Fine-Grained Metadata Management in a Distributed File System |
CN106598744A (zh) * | 2017-01-13 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种元数据集群动态子树分区方法及装置 |
CN106980697A (zh) * | 2017-04-07 | 2017-07-25 | 广东浪潮大数据研究有限公司 | 一种目录分布查询方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189341A (zh) * | 2018-08-30 | 2019-01-11 | 郑州云海信息技术有限公司 | 分布式存储系统的目录负载均衡方法、装置、设备及介质 |
CN109189341B (zh) * | 2018-08-30 | 2021-07-16 | 郑州云海信息技术有限公司 | 分布式存储系统的目录负载均衡方法、装置、设备及介质 |
CN110008029A (zh) * | 2019-04-12 | 2019-07-12 | 苏州浪潮智能科技有限公司 | ceph元数据集群目录分配方法、系统、装置及可读存储介质 |
CN110008029B (zh) * | 2019-04-12 | 2020-07-07 | 苏州浪潮智能科技有限公司 | ceph元数据集群目录分配方法、系统、装置及可读存储介质 |
CN113625962A (zh) * | 2021-07-09 | 2021-11-09 | 济南浪潮数据技术有限公司 | 分布式存储的动态子树优化方法、系统、终端及存储介质 |
CN113625962B (zh) * | 2021-07-09 | 2023-12-29 | 济南浪潮数据技术有限公司 | 分布式存储的动态子树优化方法、系统、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107480310B (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10805388B2 (en) | System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients | |
CN107735807B (zh) | 被撤销数据的智能删除 | |
CN107480310A (zh) | 一种元数据集群目录动态负载平衡方法及系统 | |
EP3111406B1 (en) | Systems and methods for ephemeral eventing | |
AU2014384635B2 (en) | Systems and methods for managing content items having multiple resolutions | |
US11553196B2 (en) | Media storage | |
US9239874B1 (en) | Integrated search for shared storage using index throttling to maintain quality of service | |
WO2020205145A8 (en) | Monitoring network functions | |
EP2357558A3 (en) | Independent access to virtual machine desktop content | |
US20110264704A1 (en) | Methods and Systems for Deleting Large Amounts of Data From a Multitenant Database | |
CN109194711B (zh) | 一种组织架构的同步方法、客户端、服务端及介质 | |
JP2017510171A (ja) | ユーザデバイス上でローカルにインタラクティビティ機能のセットをユーザに提供するためのシステム及び方法 | |
EP1482735A4 (en) | A VIDEO CONTENT TRANSMISSION DEVICE AND METHOD, VIDEO CONTINUITY STORAGE DEVICE, VIDEO CONTENT REPRODUCING DEVICE AND METHOD, METADA GENERATION APPARATUS AND VIDEO CONTENT MANAGEMENT METHOD | |
WO2007076264A3 (en) | Method and ppaeatus for managing content in a mobile device | |
EP3525101B1 (en) | Data backup method, apparatus, storage medium, and terminal | |
CN105208401B (zh) | 一种识别广告视频的方法和装置 | |
CN106598744A (zh) | 一种元数据集群动态子树分区方法及装置 | |
CN103368951A (zh) | 文件下载方法及系统 | |
CN103716340A (zh) | 终端设备以及信息处理方法 | |
CN105306249A (zh) | 上传云端照片时实时显示上传状态的方法 | |
US20140115632A1 (en) | Content management apparatus, content management method, program, and content display method | |
CN104202407A (zh) | 一种视频文件同步方法及装置 | |
CN105550245A (zh) | 基于Android平台网络图片加载及缓存的优化系统及方法 | |
CN102054036A (zh) | 一种文件同步方法和装置 | |
CN104917819B (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 |