CN111061681A - 一种基于大小写不敏感的目录分片方法、装置及存储介质 - Google Patents
一种基于大小写不敏感的目录分片方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111061681A CN111061681A CN201911121494.8A CN201911121494A CN111061681A CN 111061681 A CN111061681 A CN 111061681A CN 201911121494 A CN201911121494 A CN 201911121494A CN 111061681 A CN111061681 A CN 111061681A
- Authority
- CN
- China
- Prior art keywords
- directory
- file
- fragment
- files
- target
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000000638 solvent extraction Methods 0.000 title abstract description 8
- 239000012634 fragment Substances 0.000 claims abstract description 148
- 238000013467 fragmentation Methods 0.000 claims abstract description 35
- 238000006062 fragmentation reaction Methods 0.000 claims abstract description 35
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
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/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- 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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于大小写不敏感的目录分片方法,包括:将目标目录下所有文件的文件名称分别转换成相应的统一类型字符;计算各统一类型字符的哈希值,并将哈希值相同的文件名称设置于同一分片目录中;根据各分片目录中的文件名称,将对应的文件设置于与分片目录对应的分片中。相较于现有技术中,在需要查找某个待查找文件时,需要加载目标目录下所有的分片目录的方式,本方法能够大大减少在查找文件时需加载的分片目录的数量,提高基于分片目录查找文件的效率,提升系统性能的稳定性。本申请还公开了一种基于大小写不敏感的目录分片装置及计算机可读存储介质,均具有上述有益效果。
Description
技术领域
本发明涉及文件存储领域,特别涉及一种基于大小写不敏感的目录分片方法、装置及计算机可读存储介质。
背景技术
Windows系统和Linux系统对文件名称的大小写有不同的处理方式,具体的,Windows系统对文件名称的大小写不敏感,例如,Windows系统会认为同级目录下ab.txt和AB.txt是同一个文件,在同级目录下只能存在一份;而Linux系统则认为是不同的文件,因此可以在同级目录下存储。为了适用不同场景需求和系统兼容的需求,现有技术开发了大小写不敏感功能。具体的,通过在目标目录的inode(索引节点)中设置一个map<key,value><string,set<string>>文件列表,key为大写的文件名称,set集合中存放该目标目录下文件的文件名称。如目录A下存在文件“Abc”,“ABc”,则在目录A的inode中的文件列表中存在一条数据:key-“ABC”,set集合包含“Abc”,“ABc”。当目标目录下的文件数量超过预设数量阈值时,则需要对目标目录进行分片操作,将该目标目录分成多个同等地位的分片,由每个分片承载对应分片目录下的不同文件。具体是通过计算各文件名称对应的哈希值,将哈希值相同的文件名称设置在同一分片目录中。但是,按照现有技术的方法,在基于大小写不敏感的情况下需要根据目标目录查找“Abc”对应的待查找文件时,由于无法确定待查找文件存在于哪一个分片中,因此需要先加载目标目录inode下的所有分片目录,然后从分片目录中查找待查找文件的文件名称,这种方式不仅查找效率低,而且需要加载大量分片目录的过程将影响系统性能。
因此,如何提高基于分片目录查找文件的效率,提升系统性能的稳定性,是本领域技术人员目前需要解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种基于大小写不敏感的目录分片方法,能够提高基于分片目录查找文件的效率,提升系统性能的稳定性;本发明的另一目的是提供一种基于大小写不敏感的目录分片装置及计算机可读存储介质,均具有上述有益效果。
为解决上述技术问题,本发明提供一种基于大小写不敏感的目录分片方法,包括:
将目标目录下所有文件的文件名称分别转换成相应的统一类型字符;
计算各所述统一类型字符的哈希值,并将哈希值相同的文件名称设置于同一分片目录中;
根据各所述分片目录中的文件名称,将对应的文件设置于与所述分片目录对应的分片中。
优选地,所述将目标目录下所有文件的文件名称分别转换成相应的统一类型字符的过程,具体包括:
扫描所述目标目录下所有文件的文件名称,统计出文件数量;
根据所述文件数量和各所述文件名称计算分片数,并判断所述分片数是否大于1;
若是,则将各所述文件名称分别转换成相应的统一类型字符。
优选地,在所述将目标目录下所有文件的文件名称分别转换成相应的统一类型字符之前,进一步包括:
判断所述目标目录下的所述文件数量是否超过第一数量阈值;
若是,则进入所述将目标目录下所有文件的文件名称分别转换成相应的统一类型字符的步骤。
优选地,进一步包括:
获取所述目标目录下各所述文件的访问频率;
判断访问频率大于预设频率阈值的第一文件的第一数量是否大于第二数量阈值;
若大于,则将各所述第一文件的文件名称设置于频率分片目录中,并将各所述第一文件设置于与所述频率分片目录对应的分片中。
优选地,进一步包括:
确定所述目标目录下各所述文件是否设置有文件标识;
判断设置有文件标识的第二文件的第二数量是否大于第三数量阈值;
若大于,则将各所述第二文件的文件名称设置于标识分片目录中,并将各所述第二文件设置于与所述标识分片目录对应的分片中。
优选地,进一步包括:
当存在新的待存储文件时,将所述待存储文件的文件名称转换成所述统一类型字符;
根据所述统一类型字符计算对应的目标哈希值,并根据所述目标哈希值确定出所述待存储文件的文件名称对应的目标分片目录;
将所述待存储文件的文件名称设置于所述目标分片目录中,并将所述待存储文件存储于与所述目标分片目录对应的分片中。
优选地,进一步包括:
为所述目标目录设置目录标识。
为解决上述技术问题,本发明还提供一种基于大小写不敏感的目录分片装置,包括:
转换模块,用于将所述目标目录下所有文件的文件名称分别转换成相应的统一类型字符;
计算模块,用于计算各所述统一类型字符的哈希值,并将哈希值相同的文件名称设置于同一分片目录中;
设置模块,用于根据各所述分片目录中的文件名称,将对应的文件设置于与所述分片目录对应的分片中。
优选地,所述转换模块具体包括:
扫描子模块,用于扫描所述目标目录下所有文件的文件名称,统计出文件数量;
计算子模块,用于根据所述文件数量和各所述文件名称计算分片数,并判断所述分片数是否大于1;
转换子模块,用于若是,则将各所述文件名称分别转换成相应的统一类型字符。
优选地,进一步包括:
判断模块,用于判断所述目标目录下的所述文件数量是否超过第一数量阈值;若是,则调用所述转换模块。
优选地,进一步包括:
第一获取模块,用于获取所述目标目录下各所述文件的访问频率;
第一判断模块,用于判断访问频率大于预设频率阈值的第一文件的第一数量是否大于第二数量阈值;
第一设置模块,用于若大于,则将各所述第一文件的文件名称设置于频率分片目录中,并将各所述第一文件设置于与所述频率分片目录对应的分片中。
优选地,进一步包括:
第一确定模块,用于确定所述目标目录下各所述文件是否设置有文件标识;
第二判断模块,用于判断设置有文件标识的第二文件的第二数量是否大于第三数量阈值;
第二设置模块,用于若大于,则将各所述第二文件的文件名称设置于标识分片目录中,并将各所述第二文件设置于与所述标识分片目录对应的分片中。
优选地,进一步包括:
第一转换模块,用于当存在新的待存储文件时,将所述待存储文件的文件名称转换成所述统一类型字符;
第一计算模块,用于根据所述统一类型字符计算对应的目标哈希值,并根据所述目标哈希值确定出所述待存储文件的文件名称对应的目标分片目录;
第三设置模块,用于将所述待存储文件的文件名称设置于所述目标分片目录中,并将所述待存储文件存储于与所述目标分片目录对应的分片中。
优选地,进一步包括:
第四设置模块,用于为所述目标目录设置目录标识。
为解决上述技术问题,本发明还提供另一种基于大小写不敏感的目录分片装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一种基于大小写不敏感的目录分片方法的步骤。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种基于大小写不敏感的目录分片方法的步骤。
可见,本发明实施例提供的一种基于大小写不敏感的目录分片方法,是在将目标目录下的所有文件的文件名称分别转换为相应的统一类型字符之后,再利用统一类型字符计算哈希值,将哈希值相同的文件名称设置于同一个分片目录中;再根据各分片目录中的文件名称,将对应的文件设置于与分片目录对应的分片中,这样一来,同一种统一类型字符只能存在于同一分片目录中。因此,在需要查找某个待查找文件时,便可以根据待查找文件的哈希值确定出对应的分片目录,仅需要加载该分片目录来查找该待查找文件。相较于现有技术中,在需要查找某个待查找文件时,需要加载目标目录下所有的分片目录的方式,本方法能够大大减少在查找文件时需加载的分片目录的数量,提高基于分片目录查找文件的效率,提升系统性能的稳定性。
为解决上述技术问题,本发明还提供了一种基于大小写不敏感的目录分片装置及计算机可读存储介质,均具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种基于大小写不敏感的目录分片方法的流程图;
图2为本发明实施例提供的另一种基于大小写不敏感的目录分片方法的流程图;
图3为本发明实施例提供的一种基于大小写不敏感的目录分片装置的结构图;
图4为本发明实施例提供的另一种基于大小写不敏感的目录分片装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的核心是提供一种基于大小写不敏感的目录分片方法,能够提高基于分片目录查找文件的效率,提升系统性能的稳定性;本发明的另一核心是提供一种基于大小写不敏感的目录分片装置及计算机可读存储介质,均具有上述有益效果。
为了使本领域技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
图1为本发明实施例提供的一种基于大小写不敏感的目录分片方法的流程图。如图1所示,一种基于大小写不敏感的目录分片方法包括:
S11:将目标目录下所有文件的文件名称分别转换成相应的统一类型字符。
具体的,将目标目录下的所有文件的文件名称分别转换成相应的统一类型字符,可以是将文件名称统一转换成大写字母的名称,也可以是统一转换成小写字母的名称,本实施例对此不做限定。例如,将文件名称为“Abc”、“ABc”的文件均转换为“ABC”或者均转换为“abc”。需要说明的是,对于一个目标目录而言,转换方式应当统一,即都转换为大写字母或者都转换为小写字母。
S12:计算各统一类型字符的哈希值,并将哈希值相同的文件名称设置于同一分片目录中。
具体的,在对各文件名称进行统一转换之后,计算各统一类型字符的文件名称对应的哈希值。可以理解的是,哈希值的类型的数量与需要分片的分片数相同。例如,假设需要将目标目录分成四个分片目录,那么利用同一类型字符计算哈希值时,哈希值可能有四种结果,四种结果分别对应一个分片目录,计算出的哈希值将唯一对应一个分片目录。
可以理解的是,相同的同一类型字符对应的哈希值必定相同,因此对应的文件名称必然设置于同一目录分片中;另外,不同的文件名称的哈希值可能也相同,如假设统一类型字符“ABC”和统一类型字符“ABD”对应的哈希值相同,因此,与统一类型字符“ABC”对应的文件名称“abC”和“AbC”以及与统一类型字符“ABD”对应的文件名称“Abd”将设置于同一分片目录中。也就是说,同一分片目录中可能存在多种统一类型字符,同一种统一类型字符只能存在于同一分片目录中。
S13:根据各分片目录中的文件名称,将对应的文件设置于与分片目录对应的分片中。
具体的,在上一步骤得出分片目录之后,根据各分片目录中的文件名称,将与各文件名称对应的文件按照对应关系设置于对应的分片中。
因此,在需要查找待查找文件时,首先获取待查找文件名称,并且,若当前目标目录中的inode中不存在待查找文件名称时,可以先根据各磁盘的存储情况进行加载,得到inode的完整信息。然后,将待查找文件名称转换为相应的统一类型字符,并计算出统一类型字符对应的哈希值,再根据哈希值确定对应的分片目录,加载分片目录并从与分片目录对应的分片中查找与待查找文件名称对应的待查找文件。
需要说明的是,在大小写不敏感的系统操作中,若该分片目录中没有与该待查找文件名称完全一致的待查找文件,则可以从该分片目录中的与该待查找文件名称相同的统一类型字符对应的其他文件中按照预设规则确定出一个文件作为待查找文件进行反馈。例如,待查找文件名称为“Abc”,若分片目录中不存在“Abc”的文件,那么根据该待查找文件“Abc”对应的统一类型字符为“ABC”或“abc”,确定出统一类型字符对应的其他文件,如“ABc”、“abC”、“AbC”等文件,再从“ABc”、“abC”、“AbC”等文件中随机选择出一个文件作为待查找文件进行反馈。
可见,本方法是在将目标目录下的所有文件的文件名称分别转换为相应的统一类型字符之后,再利用统一类型字符计算哈希值,将哈希值相同的文件名称设置于同一个分片目录中;再根据各分片目录中的文件名称,将对应的文件设置于与分片目录对应的分片中,这样一来,同一种统一类型字符只能存在于同一分片目录中。因此,在需要查找某个待查找文件时,便可以根据待查找文件的哈希值确定出对应的分片目录,仅需要加载该分片目录来查找该待查找文件。相较于现有技术中,在需要查找某个待查找文件时,需要加载目标目录下所有的分片目录的方式,本方法能够大大减少在查找文件时需加载的分片目录的数量,提高基于分片目录查找文件的效率,提升系统性能的稳定性。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例进一步包括:
为目标目录设置目录标识。
具体的,在本实施例中,考虑到当前的系统中可能已经存在很多目录,在对目标目录执行本实施例提供的目录分片方法时,进一步为目标目录设置目录标识,以将利用本实施例的方法进行目录分片的目标目录和利用现有技术中的方法进行目录分片的目录进行区分。
在实际操作中,具体可以通过在CInode增加字段的方式为目标目录设置目录标识。另外,可以是预先为目标目录设置目录标识,也可以是在执行完目录分片操作之后,再执行为目标目录设置目录标识的操作,本实施例对为目标目录设置目录标识的时间不做限定。
在实际操作中,可以为系统中按照本实施例的方法进行目标分片的目录设置第一目录标识作为对应的版本标识,并且进一步为系统中利用现有技术的方法进行目录分片的目录设置第二目录标识作为对应的版本标识,以更直观地区分目录类型。在本实施例中,对第一目录标识和第二目录标识的具体类型不做限定。例如,第一目录标识为“1”,第二目录标识为“0”;或者第一目录标识为“*”,第二目录标识为“#”等。
因此,后续需要查找待查找文件时,可以先根据目录标识确定查找的目录的类型,以采用对应的查找方式从分片中查找待查找文件。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,将目标目录下所有文件的文件名称分别转换成相应的统一类型字符的过程,具体包括:
当目标目录下的文件数量超过第一预设数量阈值时,扫描目标目录下所有文件的文件名称,统计出文件数量;
根据文件数量和各文件名称计算分片数,并判断分片数是否大于1;
若是,则将各文件名称分别转换成相应的统一类型字符。
具体的,在本实施例中,先扫描目标目录下所有文件的文件名称(dentry name),并统计出该目标目录下的文件数量,然后根据文件数量和各文件名称计算分片数,即,将目标目录分成多少个分片目录。再判断计算出的分片数是否大于1,若大于,则将各文件名称分别转换成相应的统一类型字符,若不大于,则表示当前目标目录下的文件可以存储在同一个目录下,因此,不进行分片的操作。
可见,本实施例通过进一步计算分片数,并仅在计算出的分片数大于1的情况下,才执行将目标目录进行分片的操作,因此,本实施例能够减少不必要的分片,造成分片的冗余。
作为优选的实施方式,本实施例中,在将目标目录下所有文件的文件名称分别转换成相应的统一类型字符之前,进一步包括:
判断目标目录下的文件数量是否超过第一数量阈值;
若是,则进入将目标目录下所有文件的文件名称分别转换成相应的统一类型字符的步骤。
本实施例中,首先统计目标目录下的文件数量,将统计出的文件数量与第一数量阈值进行比较,判断目标目录下的文件数量是否超过第一数量阈值。具体的,可以是按照预设时间周期统计文件数量,或者是在每次存储新的文件之后统计文件数量,本实施例对此不做限定。另外需要说明的是,在实际操作中,第一数量阈值的具体值根据实际需求确定,本实施例对此不做限定。
具体的,在判断出当前目标目录下的文件数量超过该第一数量阈值时,执行后续将目标目录下所有文件的文件名称分别转换成相应的统一类型字符的步骤。
需要特别说明的是,在实际操作中,若某一个分片目录中的文件数量超过第一数量阈值,则可以按照S10~S30的步骤,将该分片目录作为目标目录,继续执行对目标目录进行分片的操作。
可见,本实施例进一步在确定出当前目标目录下的文件数量超过第一数量阈值时,才执行将目标目录下所有文件的文件名称分别转换成相应的统一类型字符的步骤,从而避免在目标目录下文件数量过少时执行目录分片操作导致的资源浪费情况。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施进一步包括:
当存在新的待存储文件时,将待存储文件的文件名称转换成统一类型字符;
根据统一类型字符计算对应的目标哈希值,并根据目标哈希值确定出待存储文件的文件名称对应的目标分片目录;
将待存储文件的文件名称设置于目标分片目录中,并将待存储文件存储于与目标分片目录对应的分片中。
需要说明的是,当存在新的待存储文件时,首先将待存储文件的文件名称转换为统一类型字符,该统一类型字符与对目标目录进行分片操作时转换的统一类型字符一致;然后根据统一类型字符计算出待存储文件的文件名称对应的哈希值,并根据哈希值确定出待存储文件对应的目标分片目录;将待存储文件的文件名称设置于该目标分片目录中,并将该待存储文件存储于与该目标分片目录对应的分片中。
可见,本实施例能够将新的待存储文件直接存储至分片目录对应的分片中,避免后续还需要为新的待存储文件进行目录分片操作。
图2为本发明实施例提供的另一种基于大小写不敏感的目录分片方法的流程图,如图2所示,基于大小写不敏感的目录分片方法包括:
S101:预先为新建的目录设置第一目录标识1,为系统中利用现有技术的方法进行目录分片的目录设置第二目录标识0;第一目录标识1表示该目录为按照本申请实施例的方法进行目标分片的目录;
S102:判断目标目录下的文件数量是否超过第一数量阈值;
S103:若是,则判断目标目录的版本标识是否为1;
S104:若目标目录的版本标识为1,则扫描目标目录下所有文件的文件名称,根据文件数量和各文件名称计算分片数;
S105:判断分片数是否大于1;
S106:若是,则将各文件名称分别转换成相应的统一类型字符;
S107:计算各统一类型字符的哈希值,并将哈希值相同的文件名称设置于同一分片目录中;
S108:根据各分片目录中的文件名称,将对应的文件设置于与分片目录对应的分片中;
S109:若否,则禁止分片;
S110:若目标目录的版本标识为0,则直接根据目标目录下的文件名称计算对应的哈希值,并将哈希值相同的文件名称设置于同一分片目录中;
S111:根据各分片目录中的文件名称,将对应的文件设置于与分片目录对应的分片中。
可见,本方法是在将目标目录下的所有文件的文件名称分别转换为相应的统一类型字符之后,再利用统一类型字符计算哈希值,将哈希值相同的文件名称设置于同一个分片目录中;再根据各分片目录中的文件名称,将对应的文件设置于与分片目录对应的分片中,这样一来,同一种统一类型字符只能存在于同一分片目录中。因此,在需要查找某个待查找文件时,便可以根据待查找文件的哈希值确定出对应的分片目录,仅需要加载该分片目录来查找该待查找文件。相较于现有技术中,在需要查找某个待查找文件时,需要加载目标目录下所有的分片目录的方式,本方法能够大大减少在查找文件时需加载的分片目录的数量,提高基于分片目录查找文件的效率,提升系统性能的稳定性。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,进一步包括:
获取目标目录下各文件的访问频率;
判断访问频率大于预设频率阈值的第一文件的第一数量是否大于第二数量阈值;
若大于,则将各第一文件的文件名称设置于频率分片目录中,并将各第一文件设置于与频率分片目录对应的分片中。
具体的,在本实施例中,是进一步获取目标目录下各文件的访问频率,确定出访问频率大于预设频率阈值的第一文件的第一数量,并判断该第一数量是否大于第二数量阈值;若大于,则为各第一文件设置频率分片目录,并将各第一文件的文件名称设置于频率分片目录中,对应的,将各第一文件设置于与频率分片目录对应的分片中。
本实施例通过进一步为访问频率大于预设频率阈值的第一文件设置对应的频率分片目录,因此,后续可以直接从频率分片目录中查找对应的第一文件,增加了获取文件的方式,进一步提升获取文件的便捷性,提升用户的使用体验。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,进一步包括:
确定目标目录下各文件是否设置有文件标识;
判断设置有文件标识的第二文件的第二数量是否大于第三数量阈值;
若大于,则将各第二文件的文件名称设置于标识分片目录中,并将各第二文件设置于与标识分片目录对应的分片中。
具体的,在实施例中,预先为一些特殊的文件设置文件标识,然后在对目标目录进行分片时,先确定目标目录下各文件是否设置有文件标识;然后累计出设置有文件标识的第二文件的第二数量,并判断该第二数量是否大于第三数量阈值;若大于,则为各第二文件设置标识分片目录,并将各第二文件的文件名称设置于标识分片目录中,对应的,将各第二文件设置于与标识分片目录对应的分片中。
本实施例通过进一步为设置有文件标识的第二文件设置对应的标识分片目录,因此,后续可以直接从标识分片目录中查找对应的第二文件,增加了获取文件的方式,进一步提升获取文件的便捷性,提升用户的使用体验。
上文对于本发明提供的一种基于大小写不敏感的目录分片方法的实施例进行了详细的描述,本发明还提供了一种与该方法对应的基于大小写不敏感的目录分片装置及计算机可读存储介质,由于装置及计算机可读存储介质部分的实施例与方法部分的实施例相互照应,因此装置及计算机可读存储介质部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图3为本发明实施例提供的一种基于大小写不敏感的目录分片装置的结构图,如图3所示,一种基于大小写不敏感的目录分片装置包括:
转换模块31,用于将目标目录下所有文件的文件名称分别转换成相应的统一类型字符;
计算模块32,用于计算各统一类型字符的哈希值,并将哈希值相同的文件名称设置于同一分片目录中;
设置模块33,用于根据各分片目录中的文件名称,将对应的文件设置于与分片目录对应的分片中。
本发明实施例提供的基于大小写不敏感的目录分片装置,具有上述基于大小写不敏感的目录分片方法的有益效果。
作为优选的实施方式,转换模块31具体包括:
扫描子模块,用于扫描目标目录下所有文件的文件名称,统计出文件数量;
计算子模块,用于根据文件数量和各文件名称计算分片数,并判断分片数是否大于1;
转换子模块,用于若是,则将各文件名称分别转换成相应的统一类型字符。
作为优选的实施方式,进一步包括:
判断模块,用于判断所述目标目录下的文件数量是否超过第一数量阈值;若是,则调用转换模块31。
作为优选的实施方式,进一步包括:
第一获取模块,用于获取目标目录下各文件的访问频率;
第一判断模块,用于判断访问频率大于预设频率阈值的第一文件的第一数量是否大于第二数量阈值;
第一设置模块,用于若大于,则将各第一文件的文件名称设置于频率分片目录中,并将各第一文件设置于与频率分片目录对应的分片中。
作为优选的实施方式,进一步包括:
第一确定模块,用于确定目标目录下各文件是否设置有文件标识;
第二判断模块,用于判断设置有文件标识的第二文件的第二数量是否大于第三数量阈值;
第二设置模块,用于若大于,则将各第二文件的文件名称设置于标识分片目录中,并将各第二文件设置于与标识分片目录对应的分片中。
作为优选的实施方式,进一步包括:
第一转换模块,用于当存在新的待存储文件时,将待存储文件的文件名称转换成统一类型字符;
第一计算模块,用于根据统一类型字符计算对应的目标哈希值,并根据目标哈希值确定出待存储文件的文件名称对应的目标分片目录;
第三设置模块,用于将待存储文件的文件名称设置于目标分片目录中,并将待存储文件存储于与目标分片目录对应的分片中。
作为优选的实施方式,进一步包括:
第四设置模块,用于为目标目录设置目录标识。
图4为本发明实施例提供的另一种基于大小写不敏感的目录分片装置的结构图,如图4所示,一种基于大小写不敏感的目录分片装置包括:
存储器41,用于存储计算机程序;
处理器42,用于执行计算机程序时实现如上述基于大小写不敏感的目录分片方法的步骤。
本发明实施例提供的基于大小写不敏感的目录分片装置,具有上述基于大小写不敏感的目录分片方法的有益效果。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述基于大小写不敏感的目录分片方法的步骤。
本发明实施例提供的计算机可读存储介质,具有上述基于大小写不敏感的目录分片方法的有益效果。
以上对本发明所提供的基于大小写不敏感的目录分片方法、装置及计算机可读存储介质进行了详细介绍。本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
Claims (10)
1.一种基于大小写不敏感的目录分片方法,其特征在于,包括:
将目标目录下所有文件的文件名称分别转换成相应的统一类型字符;
计算各所述统一类型字符的哈希值,并将哈希值相同的文件名称设置于同一分片目录中;
根据各所述分片目录中的文件名称,将对应的文件设置于与所述分片目录对应的分片中。
2.根据权利要求1所述的方法,其特征在于,所述将目标目录下所有文件的文件名称分别转换成相应的统一类型字符的过程,具体包括:
扫描所述目标目录下所有文件的文件名称,统计出文件数量;
根据所述文件数量和各所述文件名称计算分片数,并判断所述分片数是否大于1;
若是,则将各所述文件名称分别转换成相应的统一类型字符。
3.根据权利要求1所述的方法,其特征在于,在所述将目标目录下所有文件的文件名称分别转换成相应的统一类型字符之前,进一步包括:
判断所述目标目录下的所述文件数量是否超过第一数量阈值;
若是,则进入所述将目标目录下所有文件的文件名称分别转换成相应的统一类型字符的步骤。
4.根据权利要求1所述的方法,其特征在于,进一步包括:
获取所述目标目录下各所述文件的访问频率;
判断访问频率大于预设频率阈值的第一文件的第一数量是否大于第二数量阈值;
若大于,则将各所述第一文件的文件名称设置于频率分片目录中,并将各所述第一文件设置于与所述频率分片目录对应的分片中。
5.根据权利要求1所述的方法,其特征在于,进一步包括:
确定所述目标目录下各所述文件是否设置有文件标识;
判断设置有文件标识的第二文件的第二数量是否大于第三数量阈值;
若大于,则将各所述第二文件的文件名称设置于标识分片目录中,并将各所述第二文件设置于与所述标识分片目录对应的分片中。
6.根据权利要求1所述的方法,其特征在于,进一步包括:
当存在新的待存储文件时,将所述待存储文件的文件名称转换成所述统一类型字符;
根据所述统一类型字符计算对应的目标哈希值,并根据所述目标哈希值确定出所述待存储文件的文件名称对应的目标分片目录;
将所述待存储文件的文件名称设置于所述目标分片目录中,并将所述待存储文件存储于与所述目标分片目录对应的分片中。
7.根据权利要求1至6任一项所述的方法,其特征在于,进一步包括:
为所述目标目录设置目录标识。
8.一种基于大小写不敏感的目录分片装置,其特征在于,包括:
转换模块,用于将目标目录下所有文件的文件名称分别转换成相应的统一类型字符;
计算模块,用于计算各所述统一类型字符的哈希值,并将哈希值相同的文件名称设置于同一分片目录中;
设置模块,用于根据各所述分片目录中的文件名称,将对应的文件设置于与所述分片目录对应的分片中。
9.一种基于大小写不敏感的目录分片装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的基于大小写不敏感的目录分片方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于大小写不敏感的目录分片方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911121494.8A CN111061681A (zh) | 2019-11-15 | 2019-11-15 | 一种基于大小写不敏感的目录分片方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911121494.8A CN111061681A (zh) | 2019-11-15 | 2019-11-15 | 一种基于大小写不敏感的目录分片方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111061681A true CN111061681A (zh) | 2020-04-24 |
Family
ID=70297937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911121494.8A Withdrawn CN111061681A (zh) | 2019-11-15 | 2019-11-15 | 一种基于大小写不敏感的目录分片方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111061681A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407494A (zh) * | 2021-05-27 | 2021-09-17 | 东软集团股份有限公司 | 一种违规文件检测方法、装置及设备 |
CN113553298A (zh) * | 2021-07-09 | 2021-10-26 | 济南浪潮数据技术有限公司 | 大小写不敏感的目录分片、列表加载、查找方法及设备 |
WO2021227562A1 (zh) * | 2020-05-15 | 2021-11-18 | 苏州浪潮智能科技有限公司 | 一种内存优化的方法和设备 |
CN113760853A (zh) * | 2021-08-16 | 2021-12-07 | 联想凌拓科技有限公司 | 一种目录处理方法、服务器以及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140095458A1 (en) * | 2012-09-28 | 2014-04-03 | Samsung Electronics Co., Ltd. | Storage device for storing directory entries, directory entry lookup apparatus and method, and storage medium storing directory entry lookup program |
US20150248443A1 (en) * | 2014-03-02 | 2015-09-03 | Plexistor Ltd. | Hierarchical host-based storage |
CN105791453A (zh) * | 2014-12-24 | 2016-07-20 | 中兴通讯股份有限公司 | 一种域名识别方法和装置 |
CN107315547A (zh) * | 2017-07-18 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种读取分布式元数据文件的方法及装置 |
CN107609140A (zh) * | 2017-09-20 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种分布式文件系统目录文件访问的方法及装置 |
US20180025026A1 (en) * | 2016-05-10 | 2018-01-25 | Nasuni Corporation | Network accessible file server |
CN107741968A (zh) * | 2017-10-09 | 2018-02-27 | 郑州云海信息技术有限公司 | 一种文件检索的方法、系统、装置及计算机可读存储介质 |
CN109388614A (zh) * | 2018-09-27 | 2019-02-26 | 郑州云海信息技术有限公司 | 一种目录文件个数配额的方法、系统及设备 |
CN109491966A (zh) * | 2018-10-22 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种文件查找方法及相关装置 |
CN110334073A (zh) * | 2019-06-13 | 2019-10-15 | 腾讯科技(深圳)有限公司 | 一种元数据预取方法、装置、终端、服务器及存储介质 |
-
2019
- 2019-11-15 CN CN201911121494.8A patent/CN111061681A/zh not_active Withdrawn
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140095458A1 (en) * | 2012-09-28 | 2014-04-03 | Samsung Electronics Co., Ltd. | Storage device for storing directory entries, directory entry lookup apparatus and method, and storage medium storing directory entry lookup program |
US20150248443A1 (en) * | 2014-03-02 | 2015-09-03 | Plexistor Ltd. | Hierarchical host-based storage |
CN105791453A (zh) * | 2014-12-24 | 2016-07-20 | 中兴通讯股份有限公司 | 一种域名识别方法和装置 |
US20180025026A1 (en) * | 2016-05-10 | 2018-01-25 | Nasuni Corporation | Network accessible file server |
CN107315547A (zh) * | 2017-07-18 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种读取分布式元数据文件的方法及装置 |
CN107609140A (zh) * | 2017-09-20 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种分布式文件系统目录文件访问的方法及装置 |
CN107741968A (zh) * | 2017-10-09 | 2018-02-27 | 郑州云海信息技术有限公司 | 一种文件检索的方法、系统、装置及计算机可读存储介质 |
CN109388614A (zh) * | 2018-09-27 | 2019-02-26 | 郑州云海信息技术有限公司 | 一种目录文件个数配额的方法、系统及设备 |
CN109491966A (zh) * | 2018-10-22 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种文件查找方法及相关装置 |
CN110334073A (zh) * | 2019-06-13 | 2019-10-15 | 腾讯科技(深圳)有限公司 | 一种元数据预取方法、装置、终端、服务器及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021227562A1 (zh) * | 2020-05-15 | 2021-11-18 | 苏州浪潮智能科技有限公司 | 一种内存优化的方法和设备 |
CN113407494A (zh) * | 2021-05-27 | 2021-09-17 | 东软集团股份有限公司 | 一种违规文件检测方法、装置及设备 |
CN113407494B (zh) * | 2021-05-27 | 2024-02-09 | 东软集团股份有限公司 | 一种违规文件检测方法、装置及设备 |
CN113553298A (zh) * | 2021-07-09 | 2021-10-26 | 济南浪潮数据技术有限公司 | 大小写不敏感的目录分片、列表加载、查找方法及设备 |
CN113553298B (zh) * | 2021-07-09 | 2024-05-07 | 郑州浪潮数据技术有限公司 | 大小写不敏感的目录分片、列表加载、查找方法及设备 |
CN113760853A (zh) * | 2021-08-16 | 2021-12-07 | 联想凌拓科技有限公司 | 一种目录处理方法、服务器以及存储介质 |
CN113760853B (zh) * | 2021-08-16 | 2024-02-20 | 联想凌拓科技有限公司 | 一种目录处理方法、服务器以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111061681A (zh) | 一种基于大小写不敏感的目录分片方法、装置及存储介质 | |
US10250526B2 (en) | Method and apparatus for increasing subresource loading speed | |
US9015214B2 (en) | Process of generating a list of files added, changed, or deleted of a file server | |
EP2579167A1 (en) | Method for active information push and server therefor | |
US20170031948A1 (en) | File synchronization method, server, and terminal | |
CN109033313B (zh) | 一种应用usn实现全盘扫描功能的方法和终端设备 | |
CN110737663A (zh) | 一种数据存储方法、装置、设备及存储介质 | |
CN111209256A (zh) | 一种文件监控方法、装置、电子设备及存储介质 | |
MXPA04007146A (es) | Metodo y aparato para resolucion de nombre de ruta de aglutinacion tardia/dinamica. | |
CN115421764A (zh) | 一种待升级模块识别方法、装置、设备及存储介质 | |
CN109670153B (zh) | 一种相似帖子的确定方法、装置、存储介质及终端 | |
CN112118189B (zh) | 一种流量采样方法、计算机设备及计算机可读存储介质 | |
CN111666257B (zh) | 一种文件分片存储的方法、装置、设备和存储介质 | |
CN113377812A (zh) | 大数据的订单去重方法和装置 | |
CN110502480B (zh) | 分布式存储数据检索方法、系统、装置及可读存储介质 | |
US11308212B1 (en) | Adjudicating files by classifying directories based on collected telemetry data | |
CN117056428A (zh) | 一种分区表的自动扩展方法、装置、服务器 | |
CN111563064B (zh) | 一种文件操作的方法、系统、设备及可读存储介质 | |
CN113687920A (zh) | 一种分布式系统的对象策略操作方法、装置及设备 | |
CN116366609B (zh) | 全局唯一标识生成方法、系统、计算机和可读存储介质 | |
CN110109883B (zh) | 一种文件滤重储存方法和装置 | |
CN113051329B (zh) | 基于接口的数据采集方法、装置、设备及存储介质 | |
CN113553298B (zh) | 大小写不敏感的目录分片、列表加载、查找方法及设备 | |
CN116303315A (zh) | 一种日志数据管理方法、装置、设备及存储介质 | |
CN117375926A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200424 |