CN112015710B - 一种确定目录分片关系的方法及装置 - Google Patents
一种确定目录分片关系的方法及装置 Download PDFInfo
- Publication number
- CN112015710B CN112015710B CN202010880500.4A CN202010880500A CN112015710B CN 112015710 B CN112015710 B CN 112015710B CN 202010880500 A CN202010880500 A CN 202010880500A CN 112015710 B CN112015710 B CN 112015710B
- Authority
- CN
- China
- Prior art keywords
- directory
- fragment
- processed
- local
- local directory
- 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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 239000012634 fragment Substances 0.000 claims abstract description 339
- 238000011156 evaluation Methods 0.000 claims description 75
- 238000012545 processing Methods 0.000 claims description 25
- 238000005192 partition Methods 0.000 claims description 19
- 238000012216 screening Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
-
- 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/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及计算机技术,特别涉及一种确定目录分片关系的方法及装置,用于提高目录分片之间关系的计算效率。该方法为:确定外部传入的待处理目录分片能够包含的本地目录分片集合后,根据层级关系和分片编号,分别计算所述待处理目录分片的权重,和所述本地目录分片集合中各个本地目录分片的权重之和,并根据所述权重和所述权重之和的比较结果,来判定所述待处理目录分片和所述本地目录分片之间的关系。这样,无需对各个目录分片的分片编号进行逐一比对,而是采用权重比较方式,即可迅速确定目录分片之间的关系,有效降低了确定目录分片之间关系的耗时,提高了计算效率,同时,也没有增加元数据服务器的实现复杂度,具有广泛的应用范围。
Description
技术领域
本公开涉及计算机技术,特别涉及一种确定目录分片关系的方法及装置。
背景技术
在分布式文件系统中,各个目录下通常会保存有较多的文件,而过多的文件总数目会影响检索等操作的效率。
参阅图1所示,已有技术下,采用目录分片方式来提高检索效率。所谓目录分片,即是将各个目录进一步细分多若干目录分片,每一个目录分片下保存有相应数目的文件,这样,可以基于目录分片对各个文件进行检索,进而提高检索效率。
由于目录分片的存在,在检索文件时,可以在运行中合理加载相应分片而无需加载所有的分片,因此,令多个元数据服务器协同工作成为了可能。
在协同工作的过程中,各个元数据服务器可以分别对磁盘中的不同目录分片进行读写操作,并分别在各自本地记录相应的目录分片配置信息,这便导致了不同元数据服务器上保存的目录分片数目是不完整的。
因此,为了保持数据一致性,各个元数据服务器均需要计算本地的目录分配置信息和外部的目录分片配置信息之间的关系,从而将本地的目录分片配置信息更新至最新。
然而,现有技术下,元数据服务器均是在目录分片之间的进行树关系探索,从而实现目录分片之间的关系比对,然而,当目录分片中包含有较多文件时,采用上述比对方式会耗费计算时长,降低比对效率。
发明内容
本公开实施例提供一种确定目录分片关系的方法及装置,用以解决现有技术中存在确定目录分片之间关系耗时较长的问题。
本公开实施例提供的具体技术方案如下:
第一方面,一种确定目录分片关系的方法,包括:
响应于待处理目录分片的读取请求,遍历所有的本地目录分片,确定各个本地目录分片的分片编号;
基于所述待处理目录分片的第一分片编号和各个本地目录分片的分片编号,从所有的本地目录分片中,确定出所述待处理目录分片包含的至少一个本地目录分片作为本地目录分片集合;
确定所述待处理目录分片和所述本地目录分片集合的关系。
可选的,基于所述待处理目录分片的第一分片编号和各个本地目录分片的分片编号,从所有的本地目录分片中,确定出所述待处理目录分片包含的至少一个本地目录分片作为本地目录分片集合之前,进一步包括:
基于所述待处理目录分片的第一分片编号和各个本地目录分片的编号,本地不存在能够包含所述待处理目录分片的本地目录分片。
可选的,若确定所述待处理目录分片不包含任何本地目录分片,则进一步包括:
确定所述待处理分片和本地目录分片的关系为:不相干关系。
可选的,若确定本地存在能够包含所述待处理目录分片的一个本地目录分片,则进一步包括:
确定所述待处理分片和所述一个本地目录分片的关系为:被包含关系。
可选的,从所有的本地目录分片中,确定出所述待处理目录分片包含的至少一个本地目录分片作为本地目录分片集合,包括:
基于所述待处理目录分片的第一分片编号和各个本地目录分片的分片编号,确定所述待处理分片和各个本地目录分片之间的层级关系;
基于所述层级关系,筛选出层级序号大于所述待处理目录分片的所有本地目录分片;
基于获得的各个本地目录分片的分片编号,进一步筛选出能够从所述处理目录分片的分片编号分化出的本地目录分片,作为所述待处理目录分片包含的本地目录分片集合。
可选的,确定所述待处理目录分片和所述本地目录分片集合的关系,包括:
基于所述待处理目录分片的层级序号的当前取值,以及预设的层级序号的最大取值,计算所述待处理目录分片的评估值;
以及基于所述各个本地目录分片的层级序号的当前取值,以及预设的层级序号的最大取值,分别计算相应的本地目录分片的评估值,并将各个本地目录分片的评估值相加,获得评估值之和;
若所述待处理目录分片的评估值,等于所述各个本地目录分片的评估值之和,则确定所述待处理目录分片和所述本地目录分片集合的关系为:相等;
若所述待处理目录分片的评估值,大于所述各个本地目录分片的评估值之和,则确定所述待处理目录分片和所述本地目录分片集合的关系为:包含关系。
可选的,进一步包括:
若确定所述待处理目录分片来自于具有唯一写权限的操作方,则基于所述待处理分片对本地目录分片进行更新。
第二方面,一种确定目录分片关系的装置,包括:
第一确定单元,用于响应于待处理目录分片的读取请求,遍历所有的本地目录分片,确定各个本地目录分片的分片编号;
第二确定单元,用于基于所述待处理目录分片的第一分片编号和各个本地目录分片的分片编号,从所有的本地目录分片中,确定出所述待处理目录分片包含的至少一个本地目录分片作为本地目录分片集合;
处理单元,用于确定所述待处理目录分片和所述本地目录分片集合的关系。
可选的,基于所述待处理目录分片的第一分片编号和各个本地目录分片的分片编号,从所有的本地目录分片中,确定出所述待处理目录分片包含的至少一个本地目录分片作为本地目录分片集合之前,所述第二确定单元进一步用于:
基于所述待处理目录分片的第一分片编号和各个本地目录分片的编号,确定本地不存在能够包含所述待处理目录分片的本地目录分片。
可选的,若确定所述待处理目录分片不包含任何本地目录分片,则所述处理单元进一步用于:
确定所述待处理分片和本地目录分片的关系为:不相干关系。
可选的,若确定本地存在能够包含所述待处理目录分片的一个本地目录分片,则所述处理单元进一步用于:
确定所述待处理分片和所述一个本地目录分片的关系为:被包含关系。
可选的,从所有的本地目录分片中,确定出所述待处理目录分片包含的至少一个本地目录分片作为本地目录分片集合,所述第二确定单元用于:
基于所述待处理目录分片的第一分片编号和各个本地目录分片的分片编号,确定所述待处理分片和各个本地目录分片之间的层级关系;
基于所述层级关系,筛选出层级序号大于所述待处理目录分片的所有本地目录分片;
基于获得的各个本地目录分片的分片编号,进一步筛选出能够从所述处理目录分片的分片编号分化出的本地目录分片,作为所述待处理目录分片包含的本地目录分片集合。
可选的,确定所述待处理目录分片和所述本地目录分片集合的关系,所述处理单元用于:
基于所述待处理目录分片的层级序号的当前取值,以及预设的层级序号的最大取值,计算所述待处理目录分片的评估值;
以及基于所述各个本地目录分片的层级序号的当前取值,以及预设的层级序号的最大取值,分别计算相应的本地目录分片的评估值,并将各个本地目录分片的评估值相加,获得评估值之和;
若所述待处理目录分片的评估值,等于所述各个本地目录分片的评估值之和,则确定所述待处理目录分片和所述本地目录分片集合的关系为:相等;
若所述待处理目录分片的评估值,大于所述各个本地目录分片的评估值之和,则确定所述待处理目录分片和所述本地目录分片集合的关系为:包含关系。
可选的,所述处理单元进一步用于:
若确定所述待处理目录分片来自于具有唯一写权限的操作方,则基于所述待处理分片对本地目录分片进行更新。
第三方面,一种计算机设备,包括:
存储器,用于存储可执行指令;
处理器,用于读取并执行存储器中存储的可执行指令,以实现如第一方面中任一项所述的方法。
第四方面,一种计算机可读存储介质,当所述计算机可读存储介质中的指令由处理器执行时,能够实现如第一方面中任一项所述的方法。
可选的,一种计算机程序产品,包含可执行指令,当所述计算机程序产品的可执行指令由处理器执行时,能够实现如第一方面中任一项所述的方法。
本公开实施例中,元数据服务器获取外部传入的待处理目录分片,并确定所述待处理目录分片能够包含的本地目录分片集合后,根据层级关系和分片编号,分别计算所述待处理目录分片的评估值,和所述本地目录分片集合中各个本地目录分片的评估值之和,并根据所述评估值和所述评估值之和的比较结果,来判定所述待处理目录分片和所述本地目录分片之间的关系。这样,无需对各个目录分片的分片编号进行逐一比对,而是采用评估值比较方式,即可迅速确定目录分片之间的关系,有效降低了确定目录分片之间关系的耗时,提高了计算效率,同时,也没有增加元数据服务器的实现复杂度,具有广泛的应用范围。
附图说明
图1为已有技术下分布式文件系统架构示意图;
图2为本公开实施例中确定目录分片关系流程示意图;
图3为本公开实施例中元数据服务器实体结构示意图;
图4为本公开实施例中元数据服务器逻辑结构示意图。
具体实施方式
为了解决确定目录分片之间关系耗时较长的问题,本公开实施例中,根据目录分片对应的级别,确定目录分片对应的评估值,再按照评估值来判定目录分片之间的关系。
下面结合附图对本公开优选的实施方式作出进一步详细说明。
首先,先对分布式文件系统中,目录分片之间的多种关系进行介绍。
假设在整个分布式文件系统中,存在三个层级的目录分片,分片编号如下:
层级1:*;
层级2:0*1*;
0*和1*均是由*分化而来,即,当在*下保存的文件数目达到一定级别时,自动分化出下一个级别的两个新的分片编号0*和1*;
层级3:00*01*10*11*;
其中,00*和01*均是由0*分化而来,10*和11*均是由1*分化而来。
……
以此类推,其中,每个层级对应的分片编号数目,记为2n-1,n为层级序号,如,层级1,对应的分片编号数目为21-1=20=1,即存在一个分片编号*。
假设在元数据服务器X的内存中所保存的目录分片配置信息中,记录有三个分片编号,分别为:00*01*10*。
那么,当元数据服务器X从外部获取其他位置记录的目录分片配置信息后,便存在以下几种情况:
情况1:若传入的目录分片的分片编号为0*,则说明外部保存的目录分片,完全包含元数据服务器X上保存的目录分片,即0*能够完全包含00*01*,简称为:完全包含关系。
情况2:若传入的目录分片的分片编号为1*,则说明外部保存的目录分片,不完全包含元数据服务器X上保存的目录分片,即1*可以包含10*和11*,但是元数据服务器X上仅有10*,简称为:不完全包含关系。
情况3:若传入的目录分片的编号为000*,则说明外部保存的目录分片,被包含在元数据服务器X上保存的目录分片中,即00*可以包含000*001*010*011*110*111*,简称为:被包含关系。
情况4:若传入的目录分片的编号为11*,则说明外部保存的目录分片,与元数据服务器X上保存的目录分片,没有任何包含关系,即00*01*10*和11*,是并列关系,简称为:不相干关系。
而本公开实施例中,即是要通过以下技术方案,迅速精准地确定两个目录分片之间的上述各类关系,从而提高计算效率。
参阅图2所示,本公开实施例中,元数据服务器确定目录分片关系的详细流程如下:
步骤200:元数据服务器从外部获得一个待处理目录分片。
实际应用中,元数据服务器从外部获得待处理目录分片的方式有多种,可以从日志文件中获得,也可以从其他元数据服务器获得。
例如,元数据服务器X关机后,假设元数据服务器Y继续对磁盘中的目录分片进行写操作,从而产生了新的目录分片,进而导致系统日志文件更新。
那么,当元数据服务器X重启后,会获得最新的系统日志文件,并从中逐条读取系统日志,每一条系统日志中记录了元数据服务器Y对磁盘上的目录分片的一次写操作,那么,在读取系统日志后,元数据服务器X便可以获得由元数据服务器Y产生的新的目录分片,称为待处理目录分片。
又例如,元数据服务器X在运行过程中,元数据服务器Y对磁盘中的目录分片进行写操作,从而产生了重要的新的目录分片,为了及时实现信息同步,元数据服务器Y将修改内容通知元数据服务器X,那么,在接收到通知消息后,元数据服务器X便可以获得由元数据服务器Y产生的新的目录分片,亦可称为待处理目录分片。
实际应用中,待处理目录分片的数量可以是一个也可以是多个,本公开实施例中,为了便于描述,只以一次处理一个待处理目录分片为例进行说明,实际应用中,元数据服务器可以并行处理多个待处理目录分片,在此不再赘述。
步骤210:元数据服务器遍历本地的本地目录分片。
本公开实施例中,元数据服务器会遍历本地保存的所有目录分片,以确定和待处理目录分片之间的关系,为了与待处理目录分片进行区分,将元数据服务器本地的目录分片,称为本地目录分片。
步骤220:元数据服务器根据各个本地目录分片的分片编号和所述待处理目录分片的分片编号,确定所述待处理目录分片在本地的层级关系。
根据分片编号,元数据服务器可以明确地获知待处理分片的分片编号在本地的层级,以及与其他本地目录分片之间的关系。
例如,假设本地目录分片x的分片编号为0*,而待处理目录分片的分片编号为11*,则说明本地目录分片x位于层级2,而待处理目录分片位于层级3。
即本地目录分片x位于上级,而待处理目录分片位于下级。
例如,假设本地目录分片y的分片编号为000*,而待处理目录分片的分片编号为11*,则说明本地目录分片y位于层级4,而待处理目录分片位于层级3。
即待处理目录分片位于上级,本地目录分片x位于下级。
换言之,通过分片编号,元数据服务器可以获知待处理目录分片和各个本地目录分片之间的上下级关系。
步骤230:元数据服务器根据所述层级关系,结合分片编号,判断是否存在能够完全包含所述待处理目录分片的一个本地目录分片?若是,则执行步骤240;否则,执行步骤250。
所谓相干关系,即是否具有上下级层级关系,通常上级层级能够包含下级层级,如,0*包含01*,又如,0*不包含11*。
由于不同元数据服务器是遵循相同规则,来产生新的目录分片并分配分片编号,因此,根据上述元数据服务器各个本地目录分片的分片编号,以及待处理目录分片的分片编号,即可以获知,待处理目录分片位于本地的哪个层级,以及和各个本地目录分片之间的上下级层级关系。
步骤240:元数据服务器确定待处理目录分片和所述一个本地目录分片的关系为:被包含关系。
例如,假设待处理目录分片的分片编号为11*,而一个本地目录分片a的分片编号为1*,显然,1*经过写操作后,可以分化出新的目录分片10*和11*,因此,1*包含11*,即待处理目录分片和本地目录分片a的关系为:被包含关系。
步骤250:元数据服务器根据所述层级关系和分片编号,确定所述待处理目录分片包含的本地目录分片集合,并分别计算所述待处理目录分片的评估值,以及所述本地目录分片集合中各个本地目录分片各自的评估值。
具体的,在筛选出所述待处理目录分片对应的本地目录分片集合时,具体包含:
首先,基于所述层级关系,筛选出层级序号大于所述待处理目录分片的所有本地目录分片。
其次,基于获得的各个本地目录分片的分片编号,进一步筛选出能够从所述处理目录分片的分片编号分化出的本地目录分片,作为所述待处理目录分片包含的本地目录分片集合。
例如,假设待处理目录分片的分片编号为00*,而本地目录分片有000*、0010*、110*、0011*……,那么,由于00*能够分化为000*001*,而001*能够进一步分化为0010*0011*,因此,经筛选后,待处理目录分片包含的本地目录分片集合为{000*0010*0011*}。
通常情况下,对于位于某个层级的目录分片而言,计算评估值时可以但不限于采用以下公式:
目录分片的评估值=1<<(N-fg.bits());
其中,N表征预设的层级序号的最大取值,而fg.bits()表征目录分片的层级序号的当前取值。
例如:本公开实施例中,可选的,N=24,那么,01*的层级序号的当前取值为2,即在层级2,那么01*的评估值是2。
实际应用中,无论是待处理目录分片或者本地目录分片,均可以采用上述公式计算相应的评估值,而各个本地目录分片的评估值相加,即可得到相应的评估值之和,在此不再赘述。
步骤260:元数据服务器对所述待处理目录分片的评估值,和所述各个本地目录分片的评估值之和进行比较?若两者相等,则执行步骤270;否则,若前者大于后者,则执行步骤280。
步骤270:元数据服务器确定待处理目录分片和所述本地目录分片集合的关系为:相等。
具体的,在元数据服务器上,所有层级等级小于待处理目录分片的各个本地目录分片,其评估值之和,也会小于等于待处理目录分片的评估值。
因此,无需对各个本地目录分片的分片编号进行逐一核对,而只需比较待处理目录分片的评估值,和待处理目录分片包含的本地目录分片集合对应的评估值之和,即可以知道两者之间的关系。
例如,假设元数据服务器X传入的待处理目录分片为*,而元数据服务器X在本地保存的可被待处理目录分片包含的本地目录分片集合b为{00*01*10*11*}”,由于*可以分化为0*和1*,而0*可以分化为00*和01*,1*可以分化为01*和11*,那么,在计算评估值后,待处理目录分片的评估值=本地目录分片集合b的评估值之和。
因此,待处理目录分片与本地目录分片集合b的关系为:相等。
步骤280:元数据服务器确定待处理目录分片和所述本地目录分片集合的关系为:包含关系。
例如,假设元数据服务器X传入的待处理目录分片为*,而元数据服务器X在本地保存的可被待处理目录分片c包含的本地目录分片集合c为{00*10*},由于*可以分化为0*和1*,而0*可以分化为00*和01*,1*可以分化为01*和11*,那么,在计算评估值后,待处理目录分片的评估值>本地目录分片集合c的评估值之和。
因此,待处理目录分片与本地目录分片集合c的关系为:包含关系。
另一方面,在上述实施例中,若元数据服务器确定本地不存在能够包含所述待处理目录分片的本地目录分片,以及确定所述待处理目录分片不包含任何本地目录分片,则元数据服务器确定所述待处理分片和本地目录分片的关系为:不相干关系。
例如,假设元数据服务器X传入的待处理目录分片为00*,而本地保存的本地目录分片为01*11*,则待处理目录分片和本地目录分片位于同一层级,彼此之间不相干。
进一步地,实际应用中,元数据服务器从外部获取待处理目录分片时,可以从其他元数据服务器上读取,也可以从日志文件中读取。
日志文件的生成日期往往具有多样性,如,生成日期十分久远,又如,能够生成日志文件的元数据服务器数量众多,而每个元数据服务器对目录分片的操作方式有可能不相同。因此,若从日志文件中读取待处理目录分片,元数据则只需要判定待处理目录分片和本地目录分片之间的关系即可,后续是否需要对相应的本地目录分片进行更新,需要另行进行判断。
而从其他元数据服务器上读取时,若所述其他元数据服务器对待处理目录分片具有唯一写权限,则无论待处理目录分片与本地目录分片是何种关系,均需要基于所述待处理分片对本地目录分片进行更新。
例如:元数据服务器x从元数据服务器y上获提待处理目录分片00*,而元数据服务器y具有唯一写权限。
假设情况1:本地目录分片为0*,则两者关系为:被包含关系。
说明元数据服务器y对其保存的0*进行了分化,写入了新的数据,生成了待处理目录分片00*,因此,元数据服务器x需要对本地目录分片0*进行更新。
假设情况2:本地目录分片为01*,则两者关系为:不相干关系。
说明元数据服务器y之前对其保存的0*进行了分化,而元数据服务器x上仅保存了01*,因此,元数据服务器x需要将待处理目录分片00*作为新的本地目录分片进行保存。
假设情况3:本地目录分片为000*,则两者关系为:包含关系。
说明元数据服务器y对本地保存的数据进行了删除,因此之前分化出的000*被删除,恢复为00*,因此,元数据服务器x需要将待处理目录分片00*作为新的本地目录分片进行保存。
假设情况3:本地目录分片为000*001*,则两者关系为:相等关系。
同理,说明元数据服务器y对本地保存的数据进行了删除,因此之前分化出的000*001*被删除,恢复为00*,因此,元数据服务器x需要将待处理目录分片00*作为新的本地目录分片进行保存。
基于上述实施例,参阅图3所示,本公开实施例中,元数据服务器包括第一确定单元31、第二确定单元32,处理单元33,其中,
第一确定单元31,用于响应于待处理目录分片的读取请求,遍历所有的本地目录分片,确定各个本地目录分片的分片编号;
第二确定单元32,用于基于所述待处理目录分片的第一分片编号和各个本地目录分片的分片编号,从所有的本地目录分片中,确定出所述待处理目录分片包含的至少一个本地目录分片作为本地目录分片集合;
处理单元33,用于确定所述待处理目录分片和所述本地目录分片集合的关系。
可选的,基于所述待处理目录分片的第一分片编号和各个本地目录分片的分片编号,从所有的本地目录分片中,确定出所述待处理目录分片包含的至少一个本地目录分片作为本地目录分片集合之前,所述第二确定单元32进一步用于:
基于所述待处理目录分片的第一分片编号和各个本地目录分片的编号,确定本地不存在能够包含所述待处理目录分片的本地目录分片。
可选的,若确定所述待处理目录分片不包含任何本地目录分片,则所述处理单元33进一步用于:
确定所述待处理分片和本地目录分片的关系为:不相干关系。
可选的,若确定本地存在能够包含所述待处理目录分片的一个本地目录分片,则所述处理单元33进一步用于:
确定所述待处理分片和所述一个本地目录分片的关系为:被包含关系。
可选的,从所有的本地目录分片中,确定出所述待处理目录分片包含的至少一个本地目录分片作为本地目录分片集合,所述第二确定单元32用于:
基于所述待处理目录分片的第一分片编号和各个本地目录分片的分片编号,确定所述待处理分片和各个本地目录分片之间的层级关系;
基于所述层级关系,筛选出层级序号大于所述待处理目录分片的所有本地目录分片;
基于获得的各个本地目录分片的分片编号,进一步筛选出能够从所述处理目录分片的分片编号分化出的本地目录分片,作为所述待处理目录分片包含的本地目录分片集合。
可选的,确定所述待处理目录分片和所述本地目录分片集合的关系,所述处理单元33用于:
基于所述待处理目录分片的层级序号的当前取值,以及预设的层级序号的最大取值,计算所述待处理目录分片的评估值;
以及基于所述各个本地目录分片的层级序号的当前取值,以及预设的层级序号的最大取值,分别计算相应的本地目录分片的评估值,并将各个本地目录分片的评估值相加,获得评估值之和;
若所述待处理目录分片的评估值,等于所述各个本地目录分片的评估值之和,则确定所述待处理目录分片和所述本地目录分片集合的关系为:相等;
若所述待处理目录分片的评估值,大于所述各个本地目录分片的评估值之和,则确定所述待处理目录分片和所述本地目录分片集合的关系为:包含关系。
可选的,所述处理单元33进一步用于:
若确定所述待处理目录分片来自于具有唯一写权限的操作方,则基于所述待处理分片对本地目录分片进行更新。
基于同一发明构思,参阅图4所示,本公开实施例提供一种网络设备400(如,元数据服务器),存储器401,用于存储可执行指令;处理器402,用于读取并执行存储器中存储的可执行指令,并执行上述第一方面中的任意一种方法。处理器402通常控制网络设备400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。存储器401被配置为存储各种类型的数据以支持在网络设备400上的操作。这些数据的示例包括用于在网络设备400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器401可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
基于同一发明构思,本公开实施例提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由处理器执行时,能够实现上述各个实施例中元数据服务器执行的任意一种方法。
基于同一发明构思,本公开实施例一种计算机程序产品,包含可执行指令,当所述计算机程序产品的可执行指令由处理器执行时,能够实现上述各个实施例中元数据服务器执行的任意一种方法。
综上所述,本公开实施例中,元数据服务器获取外部传入的待处理目录分片,并确定所述待处理目录分片能够包含的本地目录分片集合后,根据层级关系和分片编号,分别计算所述待处理目录分片的评估值,和所述本地目录分片集合中各个本地目录分片的评估值之和,并根据所述评估值和所述评估值之和的比较结果,来判定所述待处理目录分片和所述本地目录分片之间的关系。这样,无需对各个目录分片的分片编号进行逐一比对,而是采用评估值比较方式,即可迅速确定目录分片之间的关系,有效降低了确定目录分片之间关系的耗时,提高了计算效率,同时,也没有增加元数据服务器的实现复杂度,具有广泛的应用范围。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
显然,本领域的技术人员可以对本公开实施例进行各种改动和变型而不脱离本公开实施例的精神和范围。这样,倘若本公开实施例的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
Claims (14)
1.一种确定目录分片关系的方法,其特征在于,包括:
响应于待处理目录分片的读取请求,遍历所有的本地目录分片,确定各个本地目录分片的分片编号;
基于所述待处理目录分片的第一分片编号和各个本地目录分片的分片编号,从所有的本地目录分片中,确定出所述待处理目录分片包含的至少一个本地目录分片作为本地目录分片集合;
基于所述待处理目录分片的层级序号的当前取值,以及预设的层级序号的最大取值,计算所述待处理目录分片的评估值;
以及基于所述各个本地目录分片的层级序号的当前取值,以及预设的层级序号的最大取值,分别计算相应的本地目录分片的评估值,并将各个本地目录分片的评估值相加,获得评估值之和;
若所述待处理目录分片的评估值,等于所述各个本地目录分片的评估值之和,则确定所述待处理目录分片和所述本地目录分片集合的关系为:相等;
若所述待处理目录分片的评估值,大于所述各个本地目录分片的评估值之和,则确定所述待处理目录分片和所述本地目录分片集合的关系为:包含关系;
其中,目录分片的评估值=1<<(N-fg.bits()),N表征预设的层级序号的最大取值,fg.bits()表征目录分片的层级序号的当前取值。
2.如权利要求1所述的方法,其特征在于,基于所述待处理目录分片的第一分片编号和各个本地目录分片的分片编号,从所有的本地目录分片中,确定出所述待处理目录分片包含的至少一个本地目录分片作为本地目录分片集合之前,进一步包括:
基于所述待处理目录分片的第一分片编号和各个本地目录分片的编号,确定本地不存在能够包含所述待处理目录分片的本地目录分片。
3.如权利要求2所述的方法,其特征在于,若确定所述待处理目录分片不包含任何本地目录分片,则进一步包括:
确定所述待处理目录分片和本地目录分片的关系为:不相干关系。
4.如权利要求2所述的方法,其特征在于,若确定本地存在能够包含所述待处理目录分片的一个本地目录分片,则进一步包括:
确定所述待处理目录分片和所述一个本地目录分片的关系为:被包含关系。
5.如权利要求1-4任一项所述的方法,其特征在于,从所有的本地目录分片中,确定出所述待处理目录分片包含的至少一个本地目录分片作为本地目录分片集合,包括:
基于所述待处理目录分片的第一分片编号和各个本地目录分片的分片编号,确定所述待处理目录分片和各个本地目录分片之间的层级关系;
基于所述层级关系,筛选出层级序号大于所述待处理目录分片的所有本地目录分片;
基于获得的各个本地目录分片的分片编号,进一步筛选出能够从所述处理目录分片的分片编号分化出的本地目录分片,作为所述待处理目录分片包含的本地目录分片集合。
6.如权利要求1-4任一项所述的方法,其特征在于,进一步包括:
若确定所述待处理目录分片来自于具有唯一写权限的操作方,则基于所述待处理目录分片对本地目录分片进行更新。
7.一种确定目录分片关系的装置,其特征在于,包括:
第一确定单元,用于响应于待处理目录分片的读取请求,遍历所有的本地目录分片,确定各个本地目录分片的分片编号;
第二确定单元,用于基于所述待处理目录分片的第一分片编号和各个本地目录分片的分片编号,从所有的本地目录分片中,确定出所述待处理目录分片包含的至少一个本地目录分片作为本地目录分片集合;
处理单元,用于基于所述待处理目录分片的层级序号的当前取值,以及预设的层级序号的最大取值,计算所述待处理目录分片的评估值;以及基于所述各个本地目录分片的层级序号的当前取值,以及预设的层级序号的最大取值,分别计算相应的本地目录分片的评估值,并将各个本地目录分片的评估值相加,获得评估值之和;若所述待处理目录分片的评估值,等于所述各个本地目录分片的评估值之和,则确定所述待处理目录分片和所述本地目录分片集合的关系为:相等;若所述待处理目录分片的评估值,大于所述各个本地目录分片的评估值之和,则确定所述待处理目录分片和所述本地目录分片集合的关系为:包含关系;
其中,目录分片的评估值=1<<(N-fg.bits()),N表征预设的层级序号的最大取值,fg.bits()表征目录分片的层级序号的当前取值。
8.如权利要求7所述的装置,其特征在于,基于所述待处理目录分片的第一分片编号和各个本地目录分片的分片编号,从所有的本地目录分片中,确定出所述待处理目录分片包含的至少一个本地目录分片作为本地目录分片集合之前,所述第二确定单元进一步用于:
基于所述待处理目录分片的第一分片编号和各个本地目录分片的编号,确定本地不存在能够包含所述待处理目录分片的本地目录分片。
9.如权利要求8所述的装置,其特征在于,若确定所述待处理目录分片不包含任何本地目录分片,则所述处理单元进一步用于:
确定所述待处理目录分片和本地目录分片的关系为:不相干关系。
10.如权利要求8所述的装置,其特征在于,若确定本地存在能够包含所述待处理目录分片的一个本地目录分片,则所述处理单元进一步用于:
确定所述待处理目录分片和所述一个本地目录分片的关系为:被包含关系。
11.如权利要求7-10任一项所述的装置,其特征在于,从所有的本地目录分片中,确定出所述待处理目录分片包含的至少一个本地目录分片作为本地目录分片集合,所述第二确定单元用于:
基于所述待处理目录分片的第一分片编号和各个本地目录分片的分片编号,确定所述待处理目录分片和各个本地目录分片之间的层级关系;
基于所述层级关系,筛选出层级序号大于所述待处理目录分片的所有本地目录分片;
基于获得的各个本地目录分片的分片编号,进一步筛选出能够从所述处理目录分片的分片编号分化出的本地目录分片,作为所述待处理目录分片包含的本地目录分片集合。
12.如权利要求7-10任一项所述的装置,其特征在于,所述处理单元进一步用于:
若确定所述待处理目录分片来自于具有唯一写权限的操作方,则基于所述待处理目录分片对本地目录分片进行更新。
13.一种计算机设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于读取并执行存储器中存储的可执行指令,以实现如权利要求1-6所述的方法。
14.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由处理器执行时,能够实现如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010880500.4A CN112015710B (zh) | 2020-08-27 | 2020-08-27 | 一种确定目录分片关系的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010880500.4A CN112015710B (zh) | 2020-08-27 | 2020-08-27 | 一种确定目录分片关系的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112015710A CN112015710A (zh) | 2020-12-01 |
CN112015710B true CN112015710B (zh) | 2023-11-21 |
Family
ID=73502527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010880500.4A Active CN112015710B (zh) | 2020-08-27 | 2020-08-27 | 一种确定目录分片关系的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112015710B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477486A (zh) * | 2009-01-22 | 2009-07-08 | 中国人民解放军国防科学技术大学 | 一种基于扇区重组的文件备份恢复方法 |
CN103902632A (zh) * | 2012-12-31 | 2014-07-02 | 华为技术有限公司 | 键值存储系统中构建文件系统的方法、装置及电子设备 |
CN109522270A (zh) * | 2018-10-19 | 2019-03-26 | 平安科技(深圳)有限公司 | 基于区块链的文件存读方法、电子装置及可读存储介质 |
WO2019067024A1 (en) * | 2017-09-29 | 2019-04-04 | Oracle International Corporation | MANIPULATION OF SEMI-STRUCTURED AND UNSTRUCTURED DATA IN A PARTITIONED DATABASE ENVIRONMENT |
CN110389940A (zh) * | 2019-07-19 | 2019-10-29 | 苏州浪潮智能科技有限公司 | 一种数据均衡方法、装置和计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7321956B2 (en) * | 2004-03-25 | 2008-01-22 | International Business Machines Corporation | Method and apparatus for directory-based coherence with distributed directory management utilizing prefetch caches |
-
2020
- 2020-08-27 CN CN202010880500.4A patent/CN112015710B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477486A (zh) * | 2009-01-22 | 2009-07-08 | 中国人民解放军国防科学技术大学 | 一种基于扇区重组的文件备份恢复方法 |
CN103902632A (zh) * | 2012-12-31 | 2014-07-02 | 华为技术有限公司 | 键值存储系统中构建文件系统的方法、装置及电子设备 |
WO2019067024A1 (en) * | 2017-09-29 | 2019-04-04 | Oracle International Corporation | MANIPULATION OF SEMI-STRUCTURED AND UNSTRUCTURED DATA IN A PARTITIONED DATABASE ENVIRONMENT |
CN109522270A (zh) * | 2018-10-19 | 2019-03-26 | 平安科技(深圳)有限公司 | 基于区块链的文件存读方法、电子装置及可读存储介质 |
CN110389940A (zh) * | 2019-07-19 | 2019-10-29 | 苏州浪潮智能科技有限公司 | 一种数据均衡方法、装置和计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
Ceph文件系统元数据访问性能优化研究;葛凯凯;中国优秀硕士学位论文全文数据库 基础科学辑;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112015710A (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11474972B2 (en) | Metadata query method and apparatus | |
CN110888837B (zh) | 对象存储小文件归并方法及装置 | |
GB2518158A (en) | Method and system for data access in a storage infrastructure | |
KR101766790B1 (ko) | 메인 메모리 데이터 베이스를 관리 하기 위한 방법 및 컴퓨팅 장치 | |
CN103064797B (zh) | 数据处理方法和虚拟机管理平台 | |
US11100047B2 (en) | Method, device and computer program product for deleting snapshots | |
CN111414424B (zh) | 一种配置数据自动同步redis的方法、系统、介质及设备 | |
CN111708755A (zh) | 数据迁移方法、装置、系统、电子设备以及可读存储介质 | |
US11372568B2 (en) | System and method for storing and accessing blockchain data | |
CN107085613B (zh) | 入库文件的过滤方法和装置 | |
CN115840731A (zh) | 文件处理方法、计算设备及计算机存储介质 | |
CN115114232A (zh) | 一种历史版本对象列举方法、装置及其介质 | |
CN113253932B (zh) | 一种分布式存储系统的读写控制方法和系统 | |
CN113495883A (zh) | 一种针对数据库的数据存储方法及装置 | |
CN112015710B (zh) | 一种确定目录分片关系的方法及装置 | |
CN113672255A (zh) | 一种分布式存储软件升级方法及装置 | |
CN113239012A (zh) | 一种数据库迁移方法、装置、电子设备和存储介质 | |
KR20170106626A (ko) | 메인 메모리 데이터 베이스를 관리 하기 위한 방법 및 컴퓨팅 장치 | |
CN109783274B (zh) | 一种磁盘快照的管理方法、装置以及可读存储介质 | |
CN108021562B (zh) | 应用于分布式文件系统的存盘方法、装置及分布式文件系统 | |
CN114281242A (zh) | 存储器负载均衡的方法、装置和设备 | |
CN109254870B (zh) | 数据备份的方法和装置 | |
CN114968069A (zh) | 一种数据存储方法、装置、电子设备和存储介质 | |
CN114675995A (zh) | 数据备份方法、装置和电子设备 | |
JP2010191903A (ja) | 分散ファイルシステムのストライピング種別選択方法及びその分散ファイルシステム |
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 |