CN110502480B - 分布式存储数据检索方法、***、装置及可读存储介质 - Google Patents
分布式存储数据检索方法、***、装置及可读存储介质 Download PDFInfo
- Publication number
- CN110502480B CN110502480B CN201910760797.8A CN201910760797A CN110502480B CN 110502480 B CN110502480 B CN 110502480B CN 201910760797 A CN201910760797 A CN 201910760797A CN 110502480 B CN110502480 B CN 110502480B
- Authority
- CN
- China
- Prior art keywords
- file
- hard disk
- hash value
- type
- storage
- 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 40
- 238000012216 screening Methods 0.000 claims abstract description 10
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000007493 shaping process Methods 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 2
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/14—Details of searching files based on file metadata
- G06F16/148—File search processing
- G06F16/152—File search processing using file content signatures, e.g. hash values
-
- 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
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)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种分布式存储数据检索方法、***、装置及计算机可读存储介质,在分布式存储***存储文件时生成文件ID,生成包括各个硬盘存储区域和硬盘类型的硬盘ID,并分别利用文件名和硬盘的唯一标识作为标记,通过文件ID的文件ID哈希值和硬盘ID的硬盘ID哈希值进行初步比较,实现首次的快速筛选,再利用文件ID中的存储空间类型和硬盘ID中的硬盘类型确定文件是否在硬盘ID所对应的存储区域中,当文件存储在硬盘ID所对应的存储区域中,可以利用文件ID中记载的文件的偏移地址快速查找到文件,提升了文件检索速度,实现了快速检索,同时,设置硬盘ID,使得在文件进行保存时通过设置存储空间类型,可以选择存储的硬盘类型。
Description
技术领域
本发明涉及分布式存储领域,特别涉及一种分布式存储数据检索方法、***、装置及计算机可读存储介质。
背景技术
现有技术中,用户需要不同存储性能以存储相关数据,对于数据库、数据归档等场景依赖于高性能的存储空间,而对于计算场景应用或网络场景应用中,只需要中、低性能的存储空间即可。
在Ceph(分布式文件***)或其他存储管理中,一般都会采用创建不同性能的存储池,每类存储池都是由相同的存储介质资源组成,在不同的存储池上创建相应的存储资源即可得到不同的存储性能空间。
由于分布式存储管理***是由多个存储设备拼凑而成,用户在使用时存储的数据又是分散且随机的存储,因此,在用户进行调用读取时,对存储的文件进行检索相较于一般的存储***需要消耗更多的检索资源,检索速度过慢越来影响到用户的使用体验。
为此,需要一种快速的分布式存储数据检索方法。
发明内容
有鉴于此,本发明的目的在于提供一种分布式存储数据检索方法、***、装置及计算机可读存储介质,提高检索速度。其具体方案如下:
一种分布式存储数据检索方法,包括:
S11:接收文件的文件名;
S12:利用所述文件名查找到相应的文件ID,所述文件ID包括所述文件名、所述文件的存储空间类型和所述文件在硬盘中的偏移地址;
S13:计算所述文件ID的文件ID哈希值;
S14:利用所述文件ID哈希值在依序排列的硬盘ID哈希值中,按序查找大于所述文件ID哈希值的目标硬盘ID哈希值;其中,硬盘ID哈希值为硬盘ID的哈希值,硬盘ID包括硬盘的硬盘类型、唯一标识和存储区域;
S15:判断所述文件ID中的存储空间类型与目标硬盘ID中的硬盘类型是否一致;
S16:若一致,则在所述目标硬盘ID对应的存储区域中利用所述文件ID中的所述偏移地址查找所述文件;
S17:若不一致,则返回S14按序查找下一个大于所述文件ID哈希值的目标硬盘ID哈希值,直至无下一个大于所述文件ID哈希值的目标硬盘ID哈希值。
可选的,所述利用所述文件ID哈希值在依序排列的硬盘ID哈希值中,按序查找大于所述文件ID哈希值的目标硬盘ID哈希值的过程,包括:
利用所述文件ID哈希值在包括依序均匀排列的硬盘ID哈希值的DHT哈希环中,按序查找大于所述文件ID哈希值的目标硬盘ID哈希值。
可选的,所述硬盘ID的生成过程,包括:
对硬盘按照预设的切分规则,进行切分,得到多个存储区域,为每个存储区域分配相应的标记;
利用硬盘的硬盘类型、唯一标识和存储区域的标记,生成包括硬盘的硬盘类型、唯一标识和存储区域的硬盘ID。
可选的,所述文件ID的生成过程,包括:
接收所述文件、所述文件的文件名和存储空间类型;
利用所述文件名和所述文件的存储空间类型,生成初始文件ID;
利用所述初始文件ID中记载的所述文件的存储空间类型和硬盘ID中记载的硬盘类型,筛选出硬盘类型与所述文件的存储空间类型一致的所述目标硬盘ID;
利用所述目标硬盘ID中记载的唯一标识和存储区域,将所述文件存储至相应的硬盘中;
利用所述文件存储在所述硬盘中的偏移地址和所述初始文件ID,生成所述文件ID。
可选的,所述利用所述文件名和所述文件的存储空间类型,生成初始文件ID的过程,包括:
利用所述文件名的哈希值,所述文件的存储空间类型的整形数据,生成所述初始文件ID。
可选的,所述利用所述文件名查找到相应的文件ID的过程,包括:
利用所述文件名的哈希值,查找到所述文件ID。
本发明还公开了一种分布式存储数据检索***,包括:
文件名接收模块,用于接收文件的文件名;
文件ID查找模块,用于利用所述文件名查找到相应的文件ID,所述文件ID包括所述文件名、所述文件的存储空间类型和所述文件在硬盘中的偏移地址;
哈希值计算模块,用于计算所述文件ID的文件ID哈希值;
ID比对模块,用于利用所述文件ID哈希值在依序排列的硬盘ID哈希值中,按序查找大于所述文件ID哈希值的目标硬盘ID哈希值;其中,硬盘ID哈希值为硬盘ID的哈希值,硬盘ID包括硬盘的硬盘类型、唯一标识和存储区域;
类型判断模块,用于判断所述文件ID中的存储空间类型与目标硬盘ID中的硬盘类型是否一致;
查找模块,用于若所述类型判断模块判定一致,则在所述目标硬盘ID对应的存储区域中利用所述文件ID中的所述偏移地址查找所述文件;
重新比对模块,用于若所述类型判断模块判定不一致,则重新调用所述ID比对模块按序查找下一个大于所述文件ID哈希值的目标硬盘ID哈希值,直至无下一个大于所述文件ID哈希值的目标硬盘ID哈希值。
可选的,所述ID比对模块,具体用于利用所述文件ID哈希值在包括依序均匀排列的硬盘ID哈希值的DHT哈希环中,按序查找大于所述文件ID哈希值的目标硬盘ID哈希值。
本发明还公开了一种分布式存储数据检索装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如前述的分布式存储数据检索方法。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的分布式存储数据检索。
本发明中,分布式存储数据检索方法,包括:S11:接收文件的文件名;S12:利用文件名查找到相应的文件ID,文件ID包括文件名、文件的存储空间类型和文件在硬盘中的偏移地址;S13:计算文件ID的文件ID哈希值;S14:利用文件ID哈希值在依序排列的硬盘ID哈希值中,按序查找大于文件ID哈希值的目标硬盘ID哈希值;其中,硬盘ID哈希值为硬盘ID的哈希值,硬盘ID包括硬盘的硬盘类型、唯一标识和存储区域;S15:判断文件ID中的存储空间类型与目标硬盘ID中的硬盘类型是否一致;S16:若一致,则在目标硬盘ID对应的存储区域中利用文件ID中的偏移地址查找文件;S17:若不一致,则返回S14按序查找下一个大于文件ID哈希值的目标硬盘ID哈希值,直至无下一个大于文件ID哈希值的目标硬盘ID哈希值。
本发明在分布式存储***存储文件时生成文件ID,生成包括各个硬盘存储区域和硬盘类型的硬盘ID,并分别利用文件名和硬盘的唯一标识作为标记,通过文件ID的文件ID哈希值和硬盘ID的硬盘ID哈希值进行初步比较,实现首次的快速筛选,再利用文件ID中的存储空间类型和硬盘ID中的硬盘类型确定文件是否在硬盘ID所对应的存储区域中,当文件ID中的存储空间类型和硬盘ID中的硬盘类型一致,表明文件存储在硬盘ID所对应的存储区域中,可以利用文件ID中记载的文件的偏移地址快速查找到文件,提升了文件检索速度,实现了快速检索,同时,设置硬盘ID,还可以在文件进行保存时通过设置存储空间类型,选择存储的硬盘类型。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种分布式存储数据检索方法流程示意图;
图2为本发明实施例公开的一种文件ID生成流程示意图;
图3为本发明实施例公开的一种硬盘ID生成流程示意图;
图4为本发明实施例公开的一种分布式存储数据检索***结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种分布式存储数据检索方法,参见图1所示,该方法包括:
S11:接收文件的文件名;
S12:利用文件名查找到相应的文件ID,文件ID包括文件名、文件的存储空间类型和文件在硬盘中的偏移地址。
具体的,文件ID中保留有与文件名对应的数据,因此,用户需要查找文件时,则可以通过输入文件的文件名,以供***查找对应的文件ID,以便于利用文件ID进行进一步的检索。
其中,文件ID的生成过程,参见图2所示,可以包括S21至S25;其中,
S21:接收文件、文件的文件名和存储空间类型。
具体的,在首次保存文件即数据时,需要输入文件的文件名和存储空间类型,文件名用于标记文件,并生成文件的唯一标示,存储空间类型则是为了指定文件应存储在什么类型的硬盘中,需要说明的是,不同的硬盘类型其存储性能不一样,读写速度不同,例如,可以包括NVMe固态硬盘(NVMe,Non-Volatile Memory express)、非NVMe固态硬盘和机械硬盘三种不同性能的硬盘,且文件之间也不同,例如,有的文件数据量大运行时需要多次调用大量数据,运行速度受硬盘读写性能影响大,有的文件数据量小,仅需一次调用便可以执行完毕,受运行速度受硬盘读写性能影响小,因此,根据实际应用需求设定文件所保存在的硬盘类型,为此,设定文件的存储空间类型,通过文件的存储空间类型指定文件所保存的硬盘类型,例如,硬盘类型可以换分为高、中和低,分别以H、M和L表示,若文件需要保存在高性能的硬盘,则存储空间类型则可以设置为H,与高性能的硬盘类型对应。
S22:利用文件名和文件的存储空间类型,生成初始文件ID。
具体的,在确定文件的存储位置前,可以利用文件名和文件的存储空间类型,先初始文件ID,将文件名和文件的存储空间类型进行保存,之后再保存文件的偏移地址,文件ID可以为64为的字符串,所以初始文件ID同为64为字符串,仅是其中暂且仅有文件名和文件的存储空间类型。
其中,文件名可以通过哈希计算以哈希值的形式以24位的数值的形式存在,可以写在初始文件ID的第8位至第31位,存储空间类型可以利用4位的整形数据表示,可以写在初始文件ID的第4位至第7位,其中,剩余的第32位至第64位可以预留给偏移地址,第0位至第3位则可以用来预留用于标记文件的类型,例如,用来区分元数据和普通数据,当然,若无需区分时,则可以保持空缺,或不设置该预留位置。
S23:利用初始文件ID中记载的文件的存储空间类型和硬盘ID中记载的硬盘类型,筛选出硬盘类型与文件的存储空间类型一致的目标硬盘ID。
具体的,为了将文件保存至与之相符的硬盘类型中,利用利用初始文件ID中记载的文件的存储空间类型和硬盘ID中记载的硬盘类型进行比对查找,从多个硬盘ID中查找到硬盘类型与文件的存储空间类型一致的目标硬盘ID,如果未查找到,则证明没有硬盘符合要求,则可以终止存储文件。
具体的,为了实现能够将文件存储到指定性能的硬盘中,预先为硬盘的每个存储区域生成记载了硬盘类型的硬盘ID,硬盘ID的生成过程,参见图3所示,可以包括S31和S32;其中,
S31:对硬盘按照预设的切分规则,进行切分,得到多个存储区域,为每个存储区域分配相应的标记。
具体的,为实现分布式存储,需要将硬盘实际的存储区域进行划分,划分为多个存储区域,以便提供给用户使用,例如,可以将1T的硬盘划分为100个10G的存储区域,并为每个存储区域设置相应的标记,用于区分和存储至硬盘ID中,当然,对硬盘的区域划分可以根据实际应用需求进行划分,不一定需要等分。
S32:利用硬盘的硬盘类型、唯一标识和存储区域的标记,生成包括硬盘的硬盘类型、唯一标识和存储区域的硬盘ID。
具体的,硬盘的出厂标识可以作为硬盘的唯一标识,将硬盘的硬盘类型、唯一标识和存储区域的标记进行混合,可以生成包括硬盘的硬盘类型、唯一标识和存储区域的硬盘ID,例如,1块1T的NVMe硬盘,每个存储区域为10G,为高性能硬盘用H标识,则1T的NVMe硬盘可以对应H_321468990090_1~H_321468990090_100共100个硬盘ID,其中,H标识硬盘类型为高性能硬盘,321468990090表示硬盘的唯一标识,1表示存储区域的标记,用于表示存储区域。
S24:利用目标硬盘ID中记载的唯一标识和存储区域,将文件存储至相应的硬盘中。
具体的,利用目标硬盘ID中记载的唯一标识和存储区域可以确定出文件所要存储的硬盘,确定后,利用现有的存储算法可以将文件存储至硬盘中。
S25:利用文件存储在硬盘中的偏移地址和初始文件ID,生成文件ID。
具体的,存储后,将文件在硬盘中的偏移地址同样可以以32位的数字形式体现,可以写入至初始文件ID中第32位至第63位,从而填补完初始文件ID,得到文件ID。
S13:计算文件ID的文件ID哈希值。
具体的,为快速查找,并避免出现文件ID冲突,利用哈希算法将文件ID转换为哈希值得到文件ID哈希值。
S14:利用文件ID哈希值在依序排列的硬盘ID哈希值中,按序查找大于文件ID哈希值的目标硬盘ID哈希值;其中,硬盘ID哈希值为硬盘ID的哈希值,硬盘ID包括硬盘的硬盘类型、唯一标识和存储区域。
具体的,为便于快速查找,预先将硬盘ID转换为硬盘ID哈希值,并将多个硬盘ID哈希值依序排列,例如,按照硬盘ID哈希值的大小从小到大依序排列,再利用文件ID哈希值在依序排列的硬盘ID哈希值中,按序查找大于文件ID哈希值的目标硬盘ID哈希值,当文件ID哈希值小于目标硬盘ID哈希值,则说明文件可能存储在目标硬盘ID哈希值对应的硬盘中,通过此种方法能够快速确定文件可能存储在的硬盘中,加快查找速度。
其中,利用文件ID哈希值在包括依序均匀排列的硬盘ID哈希值的DHT哈希环中,按序查找大于文件ID哈希值的目标硬盘ID哈希值。
S15:判断文件ID中的存储空间类型与目标硬盘ID中的硬盘类型是否一致。
具体的,在查找到大于文件ID哈希值的目标硬盘ID哈希值后,仍不能确定目标硬盘ID哈希值所对应的存储区域中就存储有文件,有可能出现目标硬盘ID哈希值大于文件ID哈希值,但硬盘类型与存储空间类型不一致的情况,所以仍需进一步的确定,所以利用目标硬盘ID哈希值所对应的目标硬盘ID中的硬盘类型与文件ID中的存储空间类型进行比对,确定硬盘类型与存储空间类型是否一致。
S16:若一致,则在目标硬盘ID对应的存储区域中利用文件ID中的偏移地址查找文件。
可以理解的是,若一致,则可以确定目标硬盘ID对应的存储区域中存储有文件,可以继续利用文件ID中的偏移地址在存储区域查找到文件。
S17:若不一致,则返回S14按序查找下一个大于文件ID哈希值的目标硬盘ID哈希值,直至无下一个大于文件ID哈希值的目标硬盘ID哈希值。
具体的,若不一致,则继续依序查找下一个大于文件ID哈希值的硬盘ID哈希值作为目标硬盘ID哈希值,直至无下一个大于文件ID哈希值的目标硬盘ID哈希值,表明文件,未存储在分布式存储***中。
可见,本发明实施例在分布式存储***存储文件时生成文件ID,生成包括各个硬盘存储区域和硬盘类型的硬盘ID,并分别利用文件名和硬盘的唯一标识作为标记,通过文件ID的文件ID哈希值和硬盘ID的硬盘ID哈希值进行初步比较,实现首次的快速筛选,再利用文件ID中的存储空间类型和硬盘ID中的硬盘类型确定文件是否在硬盘ID所对应的存储区域中,当文件ID中的存储空间类型和硬盘ID中的硬盘类型一致,表明文件存储在硬盘ID所对应的存储区域中,可以利用文件ID中记载的文件的偏移地址快速查找到文件,提升了文件检索速度,实现了快速检索,同时,设置硬盘ID,使得在文件进行保存时通过设置存储空间类型,可以选择存储的硬盘类型。
相应的,本发明实施例还公开了一种分布式存储数据检索***,参见图4所示,该***包括:
文件名接收模块1,用于接收文件的文件名;
文件ID查找模块2,用于利用文件名查找到相应的文件ID,文件ID包括文件名、文件的存储空间类型和文件在硬盘中的偏移地址;
哈希值计算模块3,用于计算文件ID的文件ID哈希值;
ID比对模块4,用于利用文件ID哈希值在依序排列的硬盘ID哈希值中,按序查找大于文件ID哈希值的目标硬盘ID哈希值;其中,硬盘ID哈希值为硬盘ID的哈希值,硬盘ID包括硬盘的硬盘类型、唯一标识和存储区域;
类型判断模块5,用于判断文件ID中的存储空间类型与目标硬盘ID中的硬盘类型是否一致;
查找模块6,用于若类型判断模块5判定一致,则在目标硬盘ID对应的存储区域中利用文件ID中的偏移地址查找文件;
重新比对模块7,用于若类型判断模块5判定不一致,则重新调用ID比对模块4按序查找下一个大于文件ID哈希值的目标硬盘ID哈希值,直至无下一个大于文件ID哈希值的目标硬盘ID哈希值。
具体的,ID比对模块4,具体用于利用文件ID哈希值在包括依序均匀排列的硬盘ID哈希值的DHT哈希环中,按序查找大于文件ID哈希值的目标硬盘ID哈希值。
具体的,还可以包括存储区域划分模块和硬盘ID生成模块;其中,
存储区域划分模块,用于对硬盘按照预设的切分规则,进行切分,得到多个存储区域,为每个存储区域分配相应的标记;
硬盘ID生成模块,用于利用硬盘的硬盘类型、唯一标识和存储区域的标记,生成包括硬盘的硬盘类型、唯一标识和存储区域的硬盘ID。
具体的,还可以包括;
文件接收模块,用于接收文件、文件的文件名和存储空间类型;
初始ID生成模块,用于利用文件名和文件的存储空间类型,生成初始文件ID;
硬盘筛选模块,用于利用初始文件ID中记载的文件的存储空间类型和硬盘ID中记载的硬盘类型,筛选出硬盘类型与文件的存储空间类型一致的目标硬盘ID;
文件存储模块,用于利用目标硬盘ID中记载的唯一标识和存储区域,将文件存储至相应的硬盘中;
文件ID生成模块,用于利用文件存储在硬盘中的偏移地址和初始文件ID,生成文件ID。
具体的,上述初始ID生成模块,具体用于利用文件名的哈希值,文件的存储空间类型的整形数据,生成初始文件ID。
具体的,上述文件ID查找模块2,具体用于利用文件名的哈希值,查找到文件ID。
此外,本发明实施例还公开了一种分布式存储数据检索装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序以实现如前述的分布式存储数据检索方法。
另外,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述的分布式存储数据检索。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的技术内容进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种分布式存储数据检索方法,其特征在于,包括:
S11:接收文件的文件名;
S12:利用所述文件名查找到相应的文件ID,所述文件ID包括所述文件名、所述文件的存储空间类型和所述文件在硬盘中的偏移地址;
S13:计算所述文件ID的文件ID哈希值;
S14:利用所述文件ID哈希值在依序排列的硬盘ID哈希值中,按序查找大于所述文件ID哈希值的目标硬盘ID哈希值;其中,硬盘ID哈希值为硬盘ID的哈希值,硬盘ID包括硬盘的硬盘类型、唯一标识和存储区域;
S15:判断所述文件ID中的存储空间类型与目标硬盘ID中的硬盘类型是否一致;
S16:若一致,则在所述目标硬盘ID对应的存储区域中利用所述文件ID中的所述偏移地址查找所述文件;
S17:若不一致,则返回S14按序查找下一个大于所述文件ID哈希值的目标硬盘ID哈希值,直至无下一个大于所述文件ID哈希值的目标硬盘ID哈希值;
其中,所述文件ID的生成过程,包括:
接收所述文件、所述文件的文件名和存储空间类型;
利用所述文件名和所述文件的存储空间类型,生成初始文件ID;
利用所述初始文件ID中记载的所述文件的存储空间类型和硬盘ID中记载的硬盘类型,筛选出硬盘类型与所述文件的存储空间类型一致的任一所述目标硬盘ID;
利用所述目标硬盘ID中记载的唯一标识和存储区域,将所述文件存储至相应的硬盘中;
利用所述文件存储在所述硬盘中的偏移地址和所述初始文件ID,生成所述文件ID。
2.根据权利要求1所述的分布式存储数据检索方法,其特征在于,所述利用所述文件ID哈希值在依序排列的硬盘ID哈希值中,按序查找大于所述文件ID哈希值的目标硬盘ID哈希值的过程,包括:
利用所述文件ID哈希值在包括依序均匀排列的硬盘ID哈希值的DHT哈希环中,按序查找大于所述文件ID哈希值的目标硬盘ID哈希值。
3.根据权利要求1所述的分布式存储数据检索方法,其特征在于,所述硬盘ID的生成过程,包括:
对硬盘按照预设的切分规则,进行切分,得到多个存储区域,为每个存储区域分配相应的标记;
利用硬盘的硬盘类型、唯一标识和存储区域的标记,生成包括硬盘的硬盘类型、唯一标识和存储区域的硬盘ID。
4.根据权利要求1所述的分布式存储数据检索方法,其特征在于,所述利用所述文件名和所述文件的存储空间类型,生成初始文件ID的过程,包括:
利用所述文件名的哈希值,整形数据形式的所述文件的存储空间类型,生成所述初始文件ID。
5.根据权利要求4所述的分布式存储数据检索方法,其特征在于,所述利用所述文件名查找到相应的文件ID的过程,包括:
利用所述文件名的哈希值,查找到所述文件ID。
6.一种分布式存储数据检索***,其特征在于,包括:
文件名接收模块,用于接收文件的文件名;
文件ID查找模块,用于利用所述文件名查找到相应的文件ID,所述文件ID包括所述文件名、所述文件的存储空间类型和所述文件在硬盘中的偏移地址;
哈希值计算模块,用于计算所述文件ID的文件ID哈希值;
ID比对模块,用于利用所述文件ID哈希值在依序排列的硬盘ID哈希值中,按序查找大于所述文件ID哈希值的目标硬盘ID哈希值;其中,硬盘ID哈希值为硬盘ID的哈希值,硬盘ID包括硬盘的硬盘类型、唯一标识和存储区域;
类型判断模块,用于判断所述文件ID中的存储空间类型与目标硬盘ID中的硬盘类型是否一致;
查找模块,用于若所述类型判断模块判定一致,则在所述目标硬盘ID对应的存储区域中利用所述文件ID中的所述偏移地址查找所述文件;
重新比对模块,用于若所述类型判断模块判定不一致,则重新调用所述ID比对模块按序查找下一个大于所述文件ID哈希值的目标硬盘ID哈希值,直至无下一个大于所述文件ID哈希值的目标硬盘ID哈希值;
文件接收模块,用于接收所述文件、所述文件的文件名和存储空间类型;
初始ID生成模块,用于利用所述文件名和所述文件的存储空间类型,生成初始文件ID;
硬盘筛选模块,用于利用所述初始文件ID中记载的所述文件的存储空间类型和硬盘ID中记载的硬盘类型,筛选出硬盘类型与所述文件的存储空间类型一致的任一所述目标硬盘ID;
文件存储模块,用于利用所述目标硬盘ID中记载的唯一标识和存储区域,将所述文件存储至相应的硬盘中;
文件ID生成模块,用于利用所述文件存储在所述硬盘中的偏移地址和所述初始文件ID,生成所述文件ID。
7.根据权利要求6所述的分布式存储数据检索***,其特征在于,所述ID比对模块,具体用于利用所述文件ID哈希值在包括依序均匀排列的硬盘ID哈希值的DHT哈希环中,按序查找大于所述文件ID哈希值的目标硬盘ID哈希值。
8.一种分布式存储数据检索装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至5任一项所述的分布式存储数据检索方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的分布式存储数据检索。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910760797.8A CN110502480B (zh) | 2019-08-16 | 2019-08-16 | 分布式存储数据检索方法、***、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910760797.8A CN110502480B (zh) | 2019-08-16 | 2019-08-16 | 分布式存储数据检索方法、***、装置及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110502480A CN110502480A (zh) | 2019-11-26 |
CN110502480B true CN110502480B (zh) | 2022-04-29 |
Family
ID=68588183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910760797.8A Active CN110502480B (zh) | 2019-08-16 | 2019-08-16 | 分布式存储数据检索方法、***、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110502480B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114091121B (zh) * | 2022-01-18 | 2022-04-26 | 苏州浪潮智能科技有限公司 | 一种消息摘要存储方法、***、存储介质及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104378447A (zh) * | 2014-12-03 | 2015-02-25 | 深圳市鼎元科技开发有限公司 | 一种基于哈希环的非迁移分布式存储方法及*** |
CN106446001A (zh) * | 2016-07-29 | 2017-02-22 | 北京北信源软件股份有限公司 | 一种在计算机存储介质上存储文件的方法及*** |
CN107463342A (zh) * | 2017-08-28 | 2017-12-12 | 北京奇艺世纪科技有限公司 | 一种cdn边缘节点文件的存储方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3839785B1 (en) * | 2017-03-02 | 2023-07-26 | X Development LLC | Characterizing malware files for similarity searching |
-
2019
- 2019-08-16 CN CN201910760797.8A patent/CN110502480B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104378447A (zh) * | 2014-12-03 | 2015-02-25 | 深圳市鼎元科技开发有限公司 | 一种基于哈希环的非迁移分布式存储方法及*** |
CN106446001A (zh) * | 2016-07-29 | 2017-02-22 | 北京北信源软件股份有限公司 | 一种在计算机存储介质上存储文件的方法及*** |
CN107463342A (zh) * | 2017-08-28 | 2017-12-12 | 北京奇艺世纪科技有限公司 | 一种cdn边缘节点文件的存储方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110502480A (zh) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102110057B1 (ko) | 노래 확정 방법과 장치, 기억 매체 | |
CN107436725B (zh) | 一种数据写、读方法、装置及分布式对象存储集群 | |
CN105100146B (zh) | 数据存储方法、装置及*** | |
KR101318985B1 (ko) | 클라우드 컴퓨팅에서의 콘텐츠 보안 장치 및 방법 | |
US11296940B2 (en) | Centralized configuration data in a distributed file system | |
CN107015985B (zh) | 一种数据存储与获取方法及装置 | |
EP3203386A1 (en) | Data processing method, apparatus and system | |
EP3236365A1 (en) | Data query method and device | |
CN109446160A (zh) | 一种文件读取方法、***、装置及计算机可读存储介质 | |
WO2017185579A1 (zh) | 一种数据存储方法及装置 | |
EP3767483A1 (en) | Method, device, system, and server for image retrieval, and storage medium | |
CN109240607B (zh) | 一种文件读取方法和装置 | |
CN110597852B (zh) | 数据处理方法、装置、终端及存储介质 | |
US20140052734A1 (en) | Computing device and method for creating data indexes for big data | |
CN111061681A (zh) | 一种基于大小写不敏感的目录分片方法、装置及存储介质 | |
CN112416880A (zh) | 一种基于实时归并的海量小文件存储性能优化方法及装置 | |
CN110502480B (zh) | 分布式存储数据检索方法、***、装置及可读存储介质 | |
CN114936188A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113805816B (zh) | 一种磁盘空间管理方法、装置、设备及存储介质 | |
CN104778252A (zh) | 索引的存储方法和装置 | |
CN109101608A (zh) | 一种数据存储方法、数据查询方法及装置 | |
CN110688223B (zh) | 数据处理方法及相关产品 | |
CN110765073A (zh) | 分布式存储***的文件管理方法、介质、设备及装置 | |
CN114579061B (zh) | 一种数据存储方法、装置、设备及介质 | |
JP2011175231A (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 |