CN113625962B - 分布式存储的动态子树优化方法、系统、终端及存储介质 - Google Patents

分布式存储的动态子树优化方法、系统、终端及存储介质 Download PDF

Info

Publication number
CN113625962B
CN113625962B CN202110780425.9A CN202110780425A CN113625962B CN 113625962 B CN113625962 B CN 113625962B CN 202110780425 A CN202110780425 A CN 202110780425A CN 113625962 B CN113625962 B CN 113625962B
Authority
CN
China
Prior art keywords
directory
balanced
metadata service
cache
service process
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
Application number
CN202110780425.9A
Other languages
English (en)
Other versions
CN113625962A (zh
Inventor
解志阳
孟祥瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202110780425.9A priority Critical patent/CN113625962B/zh
Publication of CN113625962A publication Critical patent/CN113625962A/zh
Application granted granted Critical
Publication of CN113625962B publication Critical patent/CN113625962B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种分布式存储的动态子树优化方法、系统、终端及存储介质,包括:监控元数据服务进程热度,并将热度超过预设热度阈值的元数据服务进程作为待均衡进程;获取待均衡进程的热点目录的缓存数据量,若缓存数据量超过预设数据阈值则查找热点目录下的子热点目录作为均衡目录;获取均衡目录的目录数量和预先选定的目标元数据服务进程的单次接受目录数量阈值,根据目标元数据服务进程的单次接受目录数量阈值分批次向目标元数据服务进程导入均衡目录。本发明优化了动态子树过程,降低动态子树导致的存储业务波动,提升了分布式文件存储系统的业务流畅程度和可用性。

Description

分布式存储的动态子树优化方法、系统、终端及存储介质
技术领域
本发明属于分布式文件存储系统技术领域,具体涉及一种分布式存储的动态子树优化方法、系统、终端及存储介质。
背景技术
分布式文件存储系统(Distributed File System,DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点(可简单的理解为一台计算机)相连;或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统。DFS为分布在网络上任意位置的资源提供一个逻辑上的树形文件系统结构,从而使用户访问分布在网络上的共享文件更加简便。单独的DFS共享文件夹的作用是相对于通过网络上的其他共享文件夹的访问点。元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。在分布式存储架构中,为了提高系统性能,更有效地管理元数据和文件数据,通常把元数据的处理和文件数据的访问分开。由元数据服务进程(MDS)管理文件系统命名空间和文件各种属性,并负责与客户端交互,提高文件访问权限和文件存储位置等信息,同时由存储服务器负责存储文件,并直接处理客户端对文件数据的各种读写请求。
在大型分布式文件存储系统中,为了扩展元数据性能可以配置多个活跃的元数据服务进程(MDS),它们会共同承担元数据负载。当前发挥MDS集群性能的方式有三种:静态子树分区、目录负载平衡和动态子树。其中,静态子树分区需要人工干预,手动将目录导出至不同MDS,进行压力负载;目录负载平衡功能将指定层级目录进行均分至所有MDS,需要事先知道用户的目录结构以及应用特性;动态负载均衡功能即动态子树功能,根据目录热度进行子树划分,实现元数据负载均衡。静态子树分区和目录负载平衡,很难通过一次部署来满足客户所有时间节点的需求。动态子树可以大幅提升系统对不同业务负载的自动适应能力,简化部署,简化现网局点使用。
动态子树方案是基于热度进行负载均衡。每隔一段时间,MDS会向其它MDS广播消息收集所有MDS的热度。根据收集到的MDS的热度,计算出一个热度的平均值,热度高的MDS根据热度差,找到符合条件的目录,然后导出给热度低的MDS。然而在实际使用过程中,发现动态子树引发的目录导出会导致业务的波动,甚至断流。
发明内容
针对现有技术的上述不足,本发明提供一种分布式存储的动态子树优化方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种分布式存储的动态子树优化方法,包括:
监控元数据服务进程热度,并将热度超过预设热度阈值的元数据服务进程作为待均衡进程;
获取待均衡进程的热点目录的缓存数据量,若缓存数据量超过预设数据阈值则查找热点目录下的子热点目录作为均衡目录;
获取均衡目录的目录数量和预先选定的目标元数据服务进程的单次接受目录数量阈值,根据目标元数据服务进程的单次接受目录数量阈值分批次向目标元数据服务进程导入均衡目录。
进一步的,获取待均衡进程的热点目录的缓存数据量,若缓存数据量超过预设数据阈值则查找热点目录下的子热点目录作为均衡目录,包括:
通过在利用dir命令中增设缓存计数项,记录各目录的缓存数据量;
利用dir命令查询待均衡进程的初次选定的热点目录的缓存数据量,并判断所述缓存数据量是否超过预设数据阈值:
若是,则从所述热点目录的下级目录中查找均衡目录;
若否,则将所述热点目录作为均衡目录。
利用dir命令对待导出目录进行缓存数据量校验,能够有效避免大目录在导出时,大量缓存数据打包,打包过程耗时长,导致存储业务断流的问题。通过限制大目录导出,限制导出目录的缓存数据量,令存储业务正常运行,提高分布式文件存储系统的使用效果。
进一步的,通过在利用dir命令中增设缓存计数字段,记录各目录的缓存数据量,包括:
dir命令对目录项修改后同步对缓存计数项中的缓存数据量进行更新。
通过增设缓存计数项能够实时记录目录的缓存数据量,在后续需要获取目录的缓存数据量时,直接从缓存计数项读取数值即可,无需再计算目录的缓存数据量,大大简化了处理逻辑,提高了动态子树执行效率。
进一步的,获取均衡目录的目录数量和预先选定的目标元数据服务进程的单次接受目录数量阈值,根据目标元数据服务进程的单次接受目录数量阈值分批次向目标元数据服务进程导入均衡目录,包括:
从热度低于平均热度值的元数据服务进程中随机选取初始目标元数据服务进程;
预先设置元数据服务进程的单次接受目录数量阈值;
若均衡目录数量的目录数量未超过所述单次接受目录数量阈值,则将均衡目录导入初始目标元数据服务进程;
若均衡目录数量的目录数量超过所述单次接受目录数量阈值,则重新选择多个目标元数据服务进程,并依次向多个目标元数据服务进程分批导入均衡目录的部分目录,且向目标元数据服务进程导入目录的数量与目标元数据服务进程的单次接受目录数量阈值相等。
每次目录导出操作,导出MDS和导入MDS中存在约十个左右的消息交互。当同一时刻产生大量的目录导出操作时,大量的导入导出处理消息,会阻塞前端业务的处理,同样导致业务的波动。通过设置MDS可接受的目录数量阈值,避免MDS接受过多目录数量影响MDS的存储业务。
第二方面,本发明提供一种分布式存储的动态子树优化系统,包括:
热度监控单元,用于监控元数据服务进程热度,并将热度超过预设热度阈值的元数据服务进程作为待均衡进程;
缓存校验单元,用于获取待均衡进程的热点目录的缓存数据量,若缓存数据量超过预设数据阈值则查找热点目录下的子热点目录作为均衡目录;
目录校验单元,用于获取均衡目录的目录数量和预先选定的目标元数据服务进程的单次接受目录数量阈值,根据目标元数据服务进程的单次接受目录数量阈值分批次向目标元数据服务进程导入均衡目录。
进一步的,所述缓存校验单元包括:
缓存记录模块,用于通过在利用dir命令中增设缓存计数项,记录各目录的缓存数据量;
缓存判断模块,用于利用dir命令查询待均衡进程的初次选定的热点目录的缓存数据量,并判断所述缓存数据量是否超过预设数据阈值;
下级查找模块,用于若所述缓存数据量超过预设数据阈值,则从所述热点目录的下级目录中查找均衡目录;
目录确定模块,用于若所述缓存数据量未超过预设数据阈值,则将所述热点目录作为均衡目录。
进一步的,所述缓存记录模块包括:
同步更新子模块,用于dir命令对目录项修改后同步对缓存计数项中的缓存数据量进行更新。
进一步的,所述目录校验单元包括:
初始选取模块,用于从热度低于平均热度值的元数据服务进程中随机选取初始目标元数据服务进程;
阈值设置模块,用于预先设置元数据服务进程的单次接受目录数量阈值;
目标确认模块,用于若均衡目录数量的目录数量未超过所述单次接受目录数量阈值,则将均衡目录导入初始目标元数据服务进程;
分批导入模块,用于若均衡目录数量的目录数量超过所述单次接受目录数量阈值,则重新选择多个目标元数据服务进程,并依次向多个目标元数据服务进程分批导入均衡目录的部分目录,且向目标元数据服务进程导入目录的数量与目标元数据服务进程的单次接受目录数量阈值相等。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的分布式存储的动态子树优化方法,通过设置热度阈值触发元数据服务进程的均衡,避免了频繁均衡影响分布式文件存储系统的业务性能。同时通过限定均衡目录的缓存数据量和单次均衡的目录数量,避免了动态子树执行过程导致存储业务断流的问题。本发明优化了动态子树过程,降低动态子树导致的存储业务波动,提升了分布式文件存储系统的业务流畅程度和可用性。
本发明提供的分布式存储的动态子树优化系统,通过热度监控单元设置热度阈值触发元数据服务进程的均衡,避免了频繁均衡影响分布式文件存储系统的业务性能。同时通过缓存校验单元和目录校验单元限定均衡目录的缓存数据量和单次均衡的目录数量,避免了动态子树执行过程导致存储业务断流的问题。本发明优化了动态子树过程,降低动态子树导致的存储业务波动,提升了分布式文件存储系统的业务流畅程度和可用性。
本发明提供的终端,包括处理器,处理器运行可实现分布式存储的动态子树优化方法,本发明优化了动态子树过程,降低动态子树导致的存储业务波动,提升了分布式文件存储系统的业务流畅程度和可用性。
本发明提供的存储介质,存储有执行分布式存储的动态子树优化方法的程序,本发明优化了动态子树过程,降低动态子树导致的存储业务波动,提升了分布式文件存储系统的业务流畅程度和可用性。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是现有均衡方法的示意性效果图。
图3是本发明一个实施例的方法的示意性效果图。
图4是本发明一个实施例的系统的示意性框图。
图5为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种分布式存储的动态子树优化系统。
如图1所示,该方法包括:
步骤110,监控元数据服务进程热度,并将热度超过预设热度阈值的元数据服务进程作为待均衡进程;
步骤120,获取待均衡进程的热点目录的缓存数据量,若缓存数据量超过预设数据阈值则查找热点目录下的子热点目录作为均衡目录;
步骤130,获取均衡目录的目录数量和预先选定的目标元数据服务进程的单次接受目录数量阈值,根据目标元数据服务进程的单次接受目录数量阈值分批次向目标元数据服务进程导入均衡目录。
为了便于对本发明的理解,下面以本发明分布式存储的动态子树优化方法的原理,结合实施例中对分布式存储的动态子树方法进行优化的过程,对本发明提供的分布式存储的动态子树优化方法做进一步的描述。
具体的,所述分布式存储的动态子树优化方法包括:
S1、监控元数据服务进程热度,并将热度超过预设热度阈值的元数据服务进程作为待均衡进程。
现有动态子树方法触发均衡程序的过程为:每隔一段时间,MDS会向其它MDS广播消息收集所有MDS的热度。根据收集到的MDS的热度,计算出一个热度的平均值,热度高的MDS根据热度差,找到符合条件的目录,然后导出给热度低的MDS。当整体MDS热度均不高时,这种触发方法仍然会触发均衡程序,导致计算资源的浪费。
添加配置项,用于配置MDS的热度阈值;每次动态子树时,判断MDS当前热度是否超过阈值。如果不超过,直接退出本次均衡;如果超过则最多导出超过阈值的部分,用于减少导出目录的数量。
本实施例通过设置热度阈值,当某个MDS的热度达到该热度阈值后触发均衡程序。触发均衡程序后MDS会向其它MDS广播消息收集所有MDS的热度。根据收集到的MDS的热度,计算出一个热度的平均值,将热度低于平均值的MDS均作为待选MDS。待选MDS是接收触发均衡程序的高热度MDS的目标。
S2、获取待均衡进程的热点目录的缓存数据量,若缓存数据量超过预设数据阈值则查找热点目录下的子热点目录作为均衡目录。
通过在利用dir命令中增设缓存计数项,记录各目录的缓存数据量;利用dir命令查询待均衡进程的初次选定的热点目录的缓存数据量,并判断所述缓存数据量是否超过预设数据阈值:若是,则从所述热点目录的下级目录中查找均衡目录;若否,则将所述热点目录作为均衡目录。
具体校验目录缓存数据量方法如下:
(1)添加配置项,用于配置可以导出的目录的缓存数量阈值。
(2)在dir中增加字段num_in_cache,用于记录dir下所有在缓存中的dentry(目录项)的数量。
(3)当dir添加或删除dentry时,dir中num_in_cache递增或递减。且递归处理dir所有的上层目录(直到子树根),num_in_cache都递增或递减。
(4)动态子树过程中,根据热度查找目录时,判断目录下的num_in_cache是否超过阈值。如果超过,值继续查找该目录的子目录;如果不超过,则继续判断是否符合其它判断逻辑。
通过增设缓存计数项能够实时记录目录的缓存数据量,在后续需要获取目录的缓存数据量时,直接从缓存计数项读取数值即可,无需再计算目录的缓存数据量,大大简化了处理逻辑,提高了动态子树执行效率。
S3、获取均衡目录的目录数量和预先选定的目标元数据服务进程的单次接受目录数量阈值,根据目标元数据服务进程的单次接受目录数量阈值分批次向目标元数据服务进程导入均衡目录。
每次目录导出操作,导出MDS和导入MDS中存在约十个左右的消息交互。当同一时刻产生大量的目录导出操作时,大量的导入导出处理消息,会阻塞前端业务的处理,同样导致业务的波动。
如图2所示,现有动态子树方法是将热点MDS的热点目录一次性导出至目标MDS,单次导出目录数量太大会导致存储业务阻塞。
本实施例的目录导出方法效果如图3所示,本实施例提供的方法是从热度低于平均热度值的元数据服务进程中随机选取初始目标元数据服务进程;预先设置元数据服务进程的单次接受目录数量阈值;若均衡目录数量的目录数量未超过所述单次接受目录数量阈值,则将均衡目录导入初始目标元数据服务进程;若均衡目录数量的目录数量超过所述单次接受目录数量阈值,则重新选择多个目标元数据服务进程,并依次向多个目标元数据服务进程分批导入均衡目录的部分目录,且向目标元数据服务进程导入目录的数量与目标元数据服务进程的单次接受目录数量阈值相等。
具体的,本实施例的目录导出方法如下:
添加配置项,用于配置每次负载均衡导出到单个MDS的单次接受目录数量阈值,假设单次接受目录数量阈值为10次;动态子树流程中记录已经导出的目录的数量,当导出给某个目标MDS的目录数量达到阈值10后,再往下一个目标MDS导出。目标MDS接收到目录后将目录导入本地进程,当目标MDS将目录导入完成后,其正在处理的目录数量归零,可再次向该目标MDS导入目录。这样就可以实现多次分批导出均衡目录,避免了转移目录时MDS之间多次信息交互阻塞存储业务。
如图4所示,该系统400包括:
热度监控单元410,用于监控元数据服务进程热度,并将热度超过预设热度阈值的元数据服务进程作为待均衡进程;
缓存校验单元420,用于获取待均衡进程的热点目录的缓存数据量,若缓存数据量超过预设数据阈值则查找热点目录下的子热点目录作为均衡目录;
目录校验单元430,用于获取均衡目录的目录数量和预先选定的目标元数据服务进程的单次接受目录数量阈值,根据目标元数据服务进程的单次接受目录数量阈值分批次向目标元数据服务进程导入均衡目录。
可选地,作为本发明一个实施例,所述缓存校验单元包括:
缓存记录模块,用于通过在利用dir命令中增设缓存计数项,记录各目录的缓存数据量;
缓存判断模块,用于利用dir命令查询待均衡进程的初次选定的热点目录的缓存数据量,并判断所述缓存数据量是否超过预设数据阈值;
下级查找模块,用于若所述缓存数据量超过预设数据阈值,则从所述热点目录的下级目录中查找均衡目录;
目录确定模块,用于若所述缓存数据量未超过预设数据阈值,则将所述热点目录作为均衡目录。
可选地,作为本发明一个实施例,所述缓存记录模块包括:
同步更新子模块,用于dir命令对目录项修改后同步对缓存计数项中的缓存数据量进行更新。
可选地,作为本发明一个实施例,所述目录校验单元包括:
初始选取模块,用于从热度低于平均热度值的元数据服务进程中随机选取初始目标元数据服务进程;
阈值设置模块,用于预先设置元数据服务进程的单次接受目录数量阈值;
目标确认模块,用于若均衡目录数量的目录数量未超过所述单次接受目录数量阈值,则将均衡目录导入初始目标元数据服务进程;
分批导入模块,用于若均衡目录数量的目录数量超过所述单次接受目录数量阈值,则重新选择多个目标元数据服务进程,并依次向多个目标元数据服务进程分批导入均衡目录的部分目录,且向目标元数据服务进程导入目录的数量与目标元数据服务进程的单次接受目录数量阈值相等。
图5为本发明实施例提供的一种终端500的结构示意图,该终端500可以用于执行本发明实施例提供的分布式存储的动态子树优化方法。
其中,该终端500可以包括:处理器510、存储器520及通信单元530。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器520可以用于存储处理器510的执行指令,存储器520可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器520中的执行指令由处理器510执行时,使得终端500能够执行以下上述方法实施例中的部分或全部步骤。
处理器510为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器510可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元530,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过设置热度阈值触发元数据服务进程的均衡,避免了频繁均衡影响分布式文件存储系统的业务性能。同时通过限定均衡目录的缓存数据量和单次均衡的目录数量,避免了动态子树执行过程导致存储业务断流的问题。本发明优化了动态子树过程,降低动态子树导致的存储业务波动,提升了分布式文件存储系统的业务流畅程度和可用性,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (6)

1.一种分布式存储的动态子树优化方法,其特征在于,包括:
监控元数据服务进程热度,并将热度超过预设热度阈值的元数据服务进程作为待均衡进程;
获取待均衡进程的热点目录的缓存数据量,若缓存数据量超过预设数据阈值则查找热点目录下的子热点目录作为均衡目录;
获取均衡目录的目录数量和预先选定的目标元数据服务进程的单次接受目录数量阈值,根据目标元数据服务进程的单次接受目录数量阈值分批次向目标元数据服务进程导入均衡目录;
获取待均衡进程的热点目录的缓存数据量,若缓存数据量超过预设数据阈值则查找热点目录下的子热点目录作为均衡目录,包括:
通过在利用dir命令中增设缓存计数项,记录各目录的缓存数据量;
利用dir命令查询待均衡进程的初次选定的热点目录的缓存数据量,并判断所述缓存数据量是否超过预设数据阈值:
若是,则从所述热点目录的下级目录中查找均衡目录;
若否,则将所述热点目录作为均衡目录;
获取均衡目录的目录数量和预先选定的目标元数据服务进程的单次接受目录数量阈值,根据目标元数据服务进程的单次接受目录数量阈值分批次向目标元数据服务进程导入均衡目录,包括:
从热度低于平均热度值的元数据服务进程中随机选取初始目标元数据服务进程;
预先设置元数据服务进程的单次接受目录数量阈值;
若均衡目录数量的目录数量未超过所述单次接受目录数量阈值,则将均衡目录导入初始目标元数据服务进程;
若均衡目录数量的目录数量超过所述单次接受目录数量阈值,则重新选择多个目标元数据服务进程,并依次向多个目标元数据服务进程分批导入均衡目录的部分目录,且向目标元数据服务进程导入目录的数量与目标元数据服务进程的单次接受目录数量阈值相等。
2.根据权利要求1所述的方法,其特征在于,通过在利用dir命令中增设缓存计数字段,记录各目录的缓存数据量,包括:
dir命令对目录项修改后同步对缓存计数项中的缓存数据量进行更新。
3.一种分布式存储的动态子树优化系统,其特征在于,包括:
热度监控单元,用于监控元数据服务进程热度,并将热度超过预设热度阈值的元数据服务进程作为待均衡进程;
缓存校验单元,用于获取待均衡进程的热点目录的缓存数据量,若缓存数据量超过预设数据阈值则查找热点目录下的子热点目录作为均衡目录;
目录校验单元,用于获取均衡目录的目录数量和预先选定的目标元数据服务进程的单次接受目录数量阈值,根据目标元数据服务进程的单次接受目录数量阈值分批次向目标元数据服务进程导入均衡目录;
所述缓存校验单元包括:
缓存记录模块,用于通过在利用dir命令中增设缓存计数项,记录各目录的缓存数据量;
缓存判断模块,用于利用dir命令查询待均衡进程的初次选定的热点目录的缓存数据量,并判断所述缓存数据量是否超过预设数据阈值;
下级查找模块,用于若所述缓存数据量超过预设数据阈值,则从所述热点目录的下级目录中查找均衡目录;
目录确定模块,用于若所述缓存数据量未超过预设数据阈值,则将所述热点目录作为均衡目录;
所述目录校验单元包括:
初始选取模块,用于从热度低于平均热度值的元数据服务进程中随机选取初始目标元数据服务进程;
阈值设置模块,用于预先设置元数据服务进程的单次接受目录数量阈值;
目标确认模块,用于若均衡目录数量的目录数量未超过所述单次接受目录数量阈值,则将均衡目录导入初始目标元数据服务进程;
分批导入模块,用于若均衡目录数量的目录数量超过所述单次接受目录数量阈值,则重新选择多个目标元数据服务进程,并依次向多个目标元数据服务进程分批导入均衡目录的部分目录,且向目标元数据服务进程导入目录的数量与目标元数据服务进程的单次接受目录数量阈值相等。
4.根据权利要求3所述的系统,其特征在于,所述缓存记录模块包括:
同步更新子模块,用于dir命令对目录项修改后同步对缓存计数项中的缓存数据量进行更新。
5.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-2任一项所述的方法。
6.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-2中任一项所述的方法。
CN202110780425.9A 2021-07-09 2021-07-09 分布式存储的动态子树优化方法、系统、终端及存储介质 Active CN113625962B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110780425.9A CN113625962B (zh) 2021-07-09 2021-07-09 分布式存储的动态子树优化方法、系统、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110780425.9A CN113625962B (zh) 2021-07-09 2021-07-09 分布式存储的动态子树优化方法、系统、终端及存储介质

Publications (2)

Publication Number Publication Date
CN113625962A CN113625962A (zh) 2021-11-09
CN113625962B true CN113625962B (zh) 2023-12-29

Family

ID=78379449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110780425.9A Active CN113625962B (zh) 2021-07-09 2021-07-09 分布式存储的动态子树优化方法、系统、终端及存储介质

Country Status (1)

Country Link
CN (1) CN113625962B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101196929A (zh) * 2007-12-29 2008-06-11 中国科学院计算技术研究所 一种拆分名字空间的元数据管理方法
CN104113587A (zh) * 2014-06-23 2014-10-22 华中科技大学 一种分布式文件系统客户端元数据缓存优化方法
CN107480310A (zh) * 2017-09-29 2017-12-15 郑州云海信息技术有限公司 一种元数据集群目录动态负载平衡方法及系统
CN108959549A (zh) * 2018-06-29 2018-12-07 北京奇虎科技有限公司 数据写入方法、装置、计算设备及计算机存储介质
CN111737027A (zh) * 2020-05-28 2020-10-02 苏州浪潮智能科技有限公司 分布式存储系统的Lookup处理方法、系统、终端及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190213268A1 (en) * 2018-01-10 2019-07-11 Red Hat, Inc. Dynamic subtree pinning in storage systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101196929A (zh) * 2007-12-29 2008-06-11 中国科学院计算技术研究所 一种拆分名字空间的元数据管理方法
CN104113587A (zh) * 2014-06-23 2014-10-22 华中科技大学 一种分布式文件系统客户端元数据缓存优化方法
CN107480310A (zh) * 2017-09-29 2017-12-15 郑州云海信息技术有限公司 一种元数据集群目录动态负载平衡方法及系统
CN108959549A (zh) * 2018-06-29 2018-12-07 北京奇虎科技有限公司 数据写入方法、装置、计算设备及计算机存储介质
CN111737027A (zh) * 2020-05-28 2020-10-02 苏州浪潮智能科技有限公司 分布式存储系统的Lookup处理方法、系统、终端及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
可扩展的分布式元数据管理系统设计;黄秋兰;程耀东;杜然;陈刚;;计算机工程(第05期);全文 *
基于退火策略的分布式资源负载均衡算法;吴建军;王征;;计算机应用与软件(第03期);全文 *

Also Published As

Publication number Publication date
CN113625962A (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
CN107622091B (zh) 一种数据库查询方法和装置
CN104699718A (zh) 用于快速引入业务数据的方法和装置
CN103078898B (zh) 文件系统、接口服务装置和数据存储服务提供方法
CN104615606A (zh) 一种Hadoop分布式文件系统及其管理方法
CN111241177B (zh) 数据采集方法、系统及网络设备
US11451629B2 (en) Distributed metadata management method for distributed file system
CN106503008B (zh) 文件存储方法和装置及文件查询方法和装置
CN111782640B (zh) 一种云平台的数据处理方法、系统、电子设备及存储介质
CN111984892A (zh) 页面访问方法、装置、设备及存储介质
CN114490527A (zh) 元数据检索方法、系统、终端及存储介质
US20220342888A1 (en) Object tagging
CN104915376B (zh) 一种云存储中文件的归档压缩方法
CN111399999B (zh) 计算机资源处理方法、装置、可读存储介质和计算机设备
CN107181773A (zh) 分布式存储系统的数据存储及数据管理方法、设备
CN113625962B (zh) 分布式存储的动态子树优化方法、系统、终端及存储介质
CN112486664A (zh) 一种节点扩容方法、系统、终端及存储介质
CN114116646A (zh) 日志数据处理方法、装置、设备和存储介质
CN111209304B (zh) 数据处理方法、装置及系统
CN115499514A (zh) 数据存储服务的访问方法、计算设备及计算机存储介质
CN111352917B (zh) 信息录入方法、装置、电子设备及存储介质
CN109151016B (zh) 流量转发方法和装置、服务系统、计算设备及存储介质
CN113742378A (zh) 数据查询及存储方法、相关设备及存储介质
CN114764403A (zh) 一种数据迁移方法、装置、设备及存储介质
CN112749189A (zh) 数据查询方法及装置
CN112804335B (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