CN114647658A - 一种数据检索方法、装置、设备及机器可读存储介质 - Google Patents
一种数据检索方法、装置、设备及机器可读存储介质 Download PDFInfo
- Publication number
- CN114647658A CN114647658A CN202210327364.5A CN202210327364A CN114647658A CN 114647658 A CN114647658 A CN 114647658A CN 202210327364 A CN202210327364 A CN 202210327364A CN 114647658 A CN114647658 A CN 114647658A
- Authority
- CN
- China
- Prior art keywords
- retrieval
- hash
- data
- index
- hash 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.)
- Pending
Links
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
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)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供一种数据检索方法、装置、设备及机器可读存储介质,该方法包括:接收数据检索请求,响应于数据检索请求,获取待检索目标的检索关键字的第一哈希值;根据第一哈希值,在哈希检索索引中查询匹配的键值;若在哈希检索索引中未能查询到匹配的键值,则返回检索对象不存的检索结果;哈希检索索引包括存储设备存储的各数据单元关联的检索关键字的哈希值。通过本公开的技术方案,将存储的数据单元以检索关键字的方式计算哈希值并构建保存哈希值的哈希检索索引,在数据检索时,使用待检索目标的相应关键字的第一哈希值,以第一哈希值在哈希检索索引中不存在来判断存储设备未存储有相应的数据单元,从而避免全盘检索导致的磁盘繁忙。
Description
技术领域
本公开涉及通信技术领域,尤其是涉及一种数据检索方法、装置、设备及机器可读存储介质。
背景技术
数据检索,即把数据库中存储的数据根据用户的需求提取出来。对象存储,用来描述解决和处理离散单元的方法的通用术语,对象在一个层结构中不会再有层级结构,是以扩展元数据为特征的。
随高清视频、图像处理、视频监控等技术的发展,用户数据容量正变得越来越大,而且用户对存储数据的读写性能的要求也在同步增加。用户在选购存储产品时,通常会对性能提出明确的要求,以满足业务的需要;在许多业务场景下,存储的性能不仅仅是快慢的区别,甚至会影响到业务本身是否能够正常运行,以文件数字化为例,在档案馆、图书馆将纸质图书数字化后,存储到存储服务器中,当越来越多的数字化图书存储进来,存储集群的容量将会越来越大;同时会有大量的用户进行并发的访问,如果存储集群的读写性能差、读写延迟高,将会降低用户使用的友好度,影响数字化的推进。因此提升存储集群的读写性能十分关键。
随着数字话的发展,分布式存储使用领域越来越多,其中对象存储的使用越来越广泛。对象存储扁平化管理的优势,非常适合视频监控、医疗影响等应用场景。面对海量的存储数据,高效的检索效率十分关键。
一种对象存储的方案中,采用内存与硬盘组合的存储索引方案,即先在内存中检索,如果内存中检索不到数据,再到硬盘上的文件中进行检索,在海量数据场景,且查找的内容实际并没有被保存时,当前的内存缓存检索加速方案将失效,将会有大量的磁盘检索产生,影响对象存储的检索效率,甚至因此磁盘繁忙,影响正常的读写业务。
发明内容
有鉴于此,本公开提供一种数据检索方法、装置及电子设备、机器可读存储介质,以改善上述检索导致磁盘繁忙的问题。
具体地技术方案如下:
本公开提供了一种数据检索方法,应用于存储设备,所述方法包括:接收数据检索请求,响应于数据检索请求,获取待检索目标的检索关键字的第一哈希值;根据第一哈希值,在哈希检索索引中查询匹配的键值;若在哈希检索索引中未能查询到匹配的键值,则返回检索对象不存的检索结果;哈希检索索引包括存储设备存储的各数据单元关联的检索关键字的哈希值。
作为一种技术方案,若在哈希检索索引中查询到匹配的键值,则根据待检索目标进行进一步检索;所述进一步检索包括内存缓存检索,或包括内存缓存检索和磁盘检索。
作为一种技术方案,接收数据写入请求,响应于数据写入请求,存储待存储数据单元,获取关联于待存储数据单元的检索关键字的哈希值并记录至哈希检索索引。
作为一种技术方案,所述检索关键字关联于一个或一个以上的数据单元。
本公开同时提供了一种数据检索装置,应用于存储设备,所述装置包括:计算模块,用于接收数据检索请求,响应于数据检索请求,获取待检索目标的检索关键字的第一哈希值;检索模块,用于根据第一哈希值,在哈希检索索引中查询匹配的键值;处理模块,用于在在哈希检索索引中未能查询到匹配的键值时,返回检索对象不存的检索结果;哈希检索索引包括存储设备存储的各数据单元关联的检索关键字的哈希值。
作为一种技术方案,处理模块还用于在在哈希检索索引中查询到匹配的键值时,根据待检索目标进行进一步检索;所述进一步检索包括内存缓存检索,或包括内存缓存检索和磁盘检索。
作为一种技术方案,计算模块还用于接收数据写入请求,响应于数据写入请求,存储待存储数据单元,获取关联于待存储数据单元的检索关键字的哈希值并记录至哈希检索索引。
作为一种技术方案,所述检索关键字关联于一个或一个以上的数据单元。
本公开同时提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,处理器执行所述机器可执行指令以实现前述的数据检索方法。
本公开同时提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现前述的数据检索方法。
本公开提供的上述技术方案至少带来了以下有益效果:
将存储的数据单元以检索关键字的方式计算哈希值并构建保存哈希值的哈希检索索引,在数据检索时,使用待检索目标的相应关键字的第一哈希值,以第一哈希值在哈希检索索引中不存在来判断存储设备未存储有相应的数据单元,从而避免全盘检索导致的磁盘繁忙。
附图说明
为了更加清楚地说明本公开实施方式或者现有技术中的技术方案,下面将对本公开实施方式或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施方式,对于本领域普通技术人员来讲,还可以根据本公开实施方式的这些附图获得其他的附图。
图1是本公开一种实施方式中的数据检索方法的流程图;
图2是本公开一种实施方式中的数据检索装置的结构图;
图3是本公开一种实施方式中的电子设备的硬件结构图。
具体实施方式
在本公开实施方式使用的术语仅仅是出于描述特定实施方式的目的,而非限制本公开。本公开和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开实施方式可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在一种技术方案中,首先在内存缓存中进行对象查找,若查找成功,则查找结束,然后在冻结的内存缓存(只读内存缓存,数据被刷入磁盘后会删除)中进行对象查找,若查找成功,则查找结束,最后按从低到高的顺序,在静态磁盘文件(检索元数据在磁盘中的存储)中进行查找,若查找成功,结束查找;否则返回未找到,表示对象存储中无此对象。在面对无效检索,即新对象创建时,用户需要先确认此对象不存在,需要通过查询的方法来确认此对象是否存在的场景下,对象存储的检索效率会大大下降,因为此场景会导致内存缓存全部失效(因为此对象不存在,不可能在内存缓存中检索到),且需要大量查询硬盘操作才能确认此对象不存在。
有鉴于此,本公开提供一种数据检索方法、装置及电子设备、机器可读存储介质,以改善上述检索导致磁盘繁忙的问题。
具体地技术方案如后述。
在一种实施方式中,本公开提供了一种数据检索方法,应用于存储设备,所述方法包括:接收数据检索请求,响应于数据检索请求,获取待检索目标的检索关键字的第一哈希值;根据第一哈希值,在哈希检索索引中查询匹配的键值;若在哈希检索索引中未能查询到匹配的键值,则返回检索对象不存的检索结果;哈希检索索引包括存储设备存储的各数据单元关联的检索关键字的哈希值。
具体地,如图1,包括以下步骤:
步骤S11,接收数据检索请求,响应于数据检索请求,获取待检索目标的检索关键字的第一哈希值;
步骤S12,根据第一哈希值,在哈希检索索引中查询匹配的键值;
步骤S13,若在哈希检索索引中未能查询到匹配的键值,则返回检索对象不存的检索结果。
将存储的数据单元以检索关键字的方式计算哈希值并构建保存哈希值的哈希检索索引,在数据检索时,使用待检索目标的相应关键字的第一哈希值,以第一哈希值在哈希检索索引中不存在来判断存储设备未存储有相应的数据单元,从而避免全盘检索导致的磁盘繁忙。
在一种实施方式中,若在哈希检索索引中查询到匹配的键值,则根据待检索目标进行进一步检索;所述进一步检索包括内存缓存检索,或包括内存缓存检索和磁盘检索。
在一种实施方式中,接收数据写入请求,响应于数据写入请求,存储待存储数据单元,获取关联于待存储数据单元的检索关键字的哈希值并记录至哈希检索索引。
在一种实施方式中,所述检索关键字关联于一个或一个以上的数据单元。
在一种实施方式中,采用在对象存储中增加一层内存检索层的方案,优化无效对象读场景。增加一层缓存结构,此缓存采用哈希算法进行检索匹配,对于能检索到的数据,因为存在哈希冲突,需要继续采用原读流程(先检索内存缓存和冻结内存缓存,然后查盘)进行检索;对于在增加的缓存中不能检索到的数据,可以直接返回检索失败,极大的提高了无效数据的检索效率,且不会引起无效的缓存淘汰机制。
存储系统初始化时,通过配置文件,读取检索缓存层大小(默认200MB);构建检索多维数组,每维数据10M大小,即1310720个int的数组;构建哈希检索索引,将索引检索键值与多维数组建立映射关系;当有读请求来时,需要先在哈希检索索引进行检索,判断数据是否存在;如果哈希检索失败,直接返回对象不存在;如果哈希检索成功,需要继续向下检索,先检索内存缓存,然后检索磁盘。
当有数据需要写入下来时,在写入数据时,根据哈希映射,追加写入对象的键值到哈希检索索引中。
在一种实施方式中,本公开同时提供了一种数据检索装置,如图2,应用于存储设备,所述装置包括:计算模块21,用于接收数据检索请求,响应于数据检索请求,获取待检索目标的检索关键字的第一哈希值;检索模块22,用于根据第一哈希值,在哈希检索索引中查询匹配的键值;处理模块23,用于在在哈希检索索引中未能查询到匹配的键值时,返回检索对象不存的检索结果;哈希检索索引包括存储设备存储的各数据单元关联的检索关键字的哈希值。
在一种实施方式中,处理模块还用于在在哈希检索索引中查询到匹配的键值时,根据待检索目标进行进一步检索;所述进一步检索包括内存缓存检索,或包括内存缓存检索和磁盘检索。
在一种实施方式中,计算模块还用于接收数据写入请求,响应于数据写入请求,存储待存储数据单元,获取关联于待存储数据单元的检索关键字的哈希值并记录至哈希检索索引。
在一种实施方式中,所述检索关键字关联于一个或一个以上的数据单元。
装置实施方式与对应的方法实施方式相同或相似,在此不再赘述。
在一种实施方式中,本公开提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,处理器执行所述机器可执行指令以实现前述的数据检索方法,从硬件层面而言,硬件架构示意图可以参见图3所示。
在一种实施方式中,本公开提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现前述的数据检索方法。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施方式阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本公开时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本公开的实施方式可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施方式、完全软件实施方式、或结合软件和硬件方面的实施方式的形式。而且,本公开实施方式可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施方式的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域技术人员应明白,本公开的实施方式可提供为方法、系统或计算机程序产品。因此,本公开可以采用完全硬件实施方式、完全软件实施方式、或者结合软件和硬件方面的实施方式的形式。而且,本公开可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本公开的实施方式而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。
Claims (10)
1.一种数据检索方法,其特征在于,应用于存储设备,所述方法包括:
接收数据检索请求,响应于数据检索请求,获取待检索目标的检索关键字的第一哈希值;
根据第一哈希值,在哈希检索索引中查询匹配的键值;
若在哈希检索索引中未能查询到匹配的键值,则返回检索对象不存的检索结果;
哈希检索索引包括存储设备存储的各数据单元关联的检索关键字的哈希值。
2.根据权利要求1所述的方法,其特征在于,
若在哈希检索索引中查询到匹配的键值,则根据待检索目标进行进一步检索;
所述进一步检索包括内存缓存检索,或包括内存缓存检索和磁盘检索。
3.根据权利要求1所述的方法,其特征在于,
接收数据写入请求,响应于数据写入请求,存储待存储数据单元,获取关联于待存储数据单元的检索关键字的哈希值并记录至哈希检索索引。
4.根据权利要求1所述的方法,其特征在于,所述检索关键字关联于一个或一个以上的数据单元。
5.一种数据检索装置,其特征在于,应用于存储设备,所述装置包括:
计算模块,用于接收数据检索请求,响应于数据检索请求,获取待检索目标的检索关键字的第一哈希值;
检索模块,用于根据第一哈希值,在哈希检索索引中查询匹配的键值;
处理模块,用于在在哈希检索索引中未能查询到匹配的键值时,返回检索对象不存的检索结果;
哈希检索索引包括存储设备存储的各数据单元关联的检索关键字的哈希值。
6.根据权利要求5所述的装置,其特征在于,
处理模块还用于在在哈希检索索引中查询到匹配的键值时,根据待检索目标进行进一步检索;
所述进一步检索包括内存缓存检索,或包括内存缓存检索和磁盘检索。
7.根据权利要求5所述的装置,其特征在于,
计算模块还用于接收数据写入请求,响应于数据写入请求,存储待存储数据单元,获取关联于待存储数据单元的检索关键字的哈希值并记录至哈希检索索引。
8.根据权利要求5所述的装置,其特征在于,所述检索关键字关联于一个或一个以上的数据单元。
9.一种电子设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令,以实现权利要求1-4任一所述的方法。
10.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1-4任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210327364.5A CN114647658A (zh) | 2022-03-30 | 2022-03-30 | 一种数据检索方法、装置、设备及机器可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210327364.5A CN114647658A (zh) | 2022-03-30 | 2022-03-30 | 一种数据检索方法、装置、设备及机器可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114647658A true CN114647658A (zh) | 2022-06-21 |
Family
ID=81995444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210327364.5A Pending CN114647658A (zh) | 2022-03-30 | 2022-03-30 | 一种数据检索方法、装置、设备及机器可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114647658A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117573703A (zh) * | 2024-01-16 | 2024-02-20 | 科来网络技术股份有限公司 | 时序数据的通用检索方法、系统、设备及存储介质 |
-
2022
- 2022-03-30 CN CN202210327364.5A patent/CN114647658A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117573703A (zh) * | 2024-01-16 | 2024-02-20 | 科来网络技术股份有限公司 | 时序数据的通用检索方法、系统、设备及存储介质 |
CN117573703B (zh) * | 2024-01-16 | 2024-04-09 | 科来网络技术股份有限公司 | 时序数据的通用检索方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11853549B2 (en) | Index storage in shingled magnetic recording (SMR) storage system with non-shingled region | |
CN108319654B (zh) | 计算系统、冷热数据分离方法及装置、计算机可读存储介质 | |
CN111324665B (zh) | 一种日志回放方法及装置 | |
CN110888837B (zh) | 对象存储小文件归并方法及装置 | |
CN107391544B (zh) | 列式存储数据的处理方法、装置、设备及计算机储存介质 | |
EP3944556B1 (en) | Block data storage method and apparatus, and block data access method and apparatus | |
CN111414424B (zh) | 一种配置数据自动同步redis的方法、系统、介质及设备 | |
CN114721594A (zh) | 一种分布式存储方法、装置、设备及机器可读存储介质 | |
CN111831691B (zh) | 一种数据读写方法及装置、电子设备、存储介质 | |
CN114647658A (zh) | 一种数据检索方法、装置、设备及机器可读存储介质 | |
CN112286457B (zh) | 对象重删方法、装置、电子设备及机器可读存储介质 | |
EP3343395B1 (en) | Data storage method and apparatus for mobile terminal | |
CN108021562B (zh) | 应用于分布式文件系统的存盘方法、装置及分布式文件系统 | |
CN115421856A (zh) | 一种数据恢复方法及装置 | |
CN112527804B (zh) | 文件存储方法、文件读取方法和数据存储系统 | |
CN111399753B (zh) | 写入图片的方法和装置 | |
CN114416676A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN112799872A (zh) | 一种基于键值对存储系统的纠删码编码方法及装置 | |
CN104834664A (zh) | 面向光盘库的全文检索系统 | |
US11681740B2 (en) | Probabilistic indices for accessing authoring streams | |
CN117539409B (zh) | 基于数据缓存的查询加速方法、装置、介质及电子设备 | |
CN109213443B (zh) | 光盘预先调入的方法和装置 | |
CN116048396B (zh) | 基于日志结构化合并树的数据存储装置和存储控制方法 | |
CN114721589A (zh) | 一种存储管理方法、装置、设备及机器可读存储介质 | |
CN107066624B (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 |