CN110019870A - 基于内存图像集群的图像检索方法及系统 - Google Patents
基于内存图像集群的图像检索方法及系统 Download PDFInfo
- Publication number
- CN110019870A CN110019870A CN201711471230.6A CN201711471230A CN110019870A CN 110019870 A CN110019870 A CN 110019870A CN 201711471230 A CN201711471230 A CN 201711471230A CN 110019870 A CN110019870 A CN 110019870A
- Authority
- CN
- China
- Prior art keywords
- data
- image
- node
- dsc
- image data
- 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.)
- Granted
Links
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/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
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)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了基于内存图像集群的图像检索方法及系统,涉及图像检索技术领域,包括:采用ElasticSearch以及HDFS上的HBase和Parquet文件,并基于内存集群对图像数据进行分布式存储,得到持久化图像数据;按照预设条数对持久化图像数据进行管理,得到图像热数据;按照均衡分配原则将图像热数据进行节点的分配,得到热数据节点;通过第一热数据节点将检索请求并行分发给每个热数据节点,以使热数据节点对图像热数据进行检索,得到第一目标图像数据。本发明可以在保证准确度的情况下,提升以图搜图的性能。
Description
技术领域
本发明涉及图像检索技术领域,尤其是涉及基于内存图像集群的图像检索方法及系统。
背景技术
随着视频监控摄像头的高清化、新的视频编解码算法的应用、视频结构化算法越来越成熟,视频监控系统不再局限于实时视频浏览、历史视频检索回放等常规功能。越来越多的应用AI(Artificial Intelligence,人工智能)技术,将图像信息提取成各种属性和特征信息,存储到后台系统中,供后续快速检索和数据挖掘用。
一个城市的摄像头数量动不动就是几千上万个,提取出来的数据量相当惊人,一般可以保留到百亿甚至千亿记录级别,这些海量数据的存储检索和挖掘一般需要用到分布式集群才能完成。对于海量数据的属性检索有相对成熟的ElastciSearch或者Solr等搜索引擎可以支持,而图片检索目前没有特别好的方式。
最接近现有技术方案有采用内存数据库存储最近的数据,数据持久化到分布式数据库,检索时先在内存检索,内存检索不到再到分布式数据库中检索。该方案的缺点是以图搜图很多场景中不一定是搜索原图,所以很难界定是搜索到了还是没有,只能设置一个相似度阈值,超过这个阈值的认为是符合条件的结果。该方案基本都会到分布式数据库中检索,性能会很慢。最接近现有技术方案还有通过Spark分布式计算,从头完成HBase中特征数据的载入和比对,最后按照相似度排序,给出相似度最高的TopN数据。该方案的缺点是,Spark作为分布式计算的通用框架,解决了分布式的系统开发难题,但整个过程需要从数据载入开始,再加上框架本身开销,检索性能低。
发明内容
有鉴于此,本发明的目的在于提供基于内存图像集群的图像检索方法及系统,以在保证准确度的情况下,提升以图搜图的性能。
第一方面,本发明实施例提供了一种基于内存图像集群的图像检索方法,其中,包括:
采用ElasticSearch以及HDFS上的HBase和Parquet文件,并基于内存集群对图像数据进行分布式存储,得到持久化图像数据;
按照预设条数对所述持久化图像数据进行管理,得到图像热数据;
按照均衡分配原则将所述图像热数据进行节点的分配,得到热数据节点;
通过第一热数据节点将检索请求并行分发给每个所述热数据节点,以使所述热数据节点对所述图像热数据进行检索,得到第一目标图像数据。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述图像数据包括属性数据和特征数据,所述采用ElasticSearch以及HDFS上的HBase和Parquet文件,并基于内存集群对图像数据进行分布式存储,得到持久化图像数据,包括:
将所述属性数据通过所述HBase和ElasticSearch进行存储,将所述特征数据通过所述Parquet文件进行存储,以及将提供检索的属性字段数据通过所述Parquet文件进行存储,得到所述持久化图像数据;
构建所述内存集群,并通过所述内存集群对所述持久化图像数据进行分布式存储。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述按照预设条数对所述持久化图像数据进行管理,得到图像热数据,包括:
按照预设间隔,对所述内存集群的每个节点内存中的所述持久化图像数据进行检测,得到数据规模信息;
判断所述数据规模信息是否达到所述预设条数;
如果是,则按照预设留存期对所述持久化图像数据进行清理,得到所述图像热数据。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述通过第一热数据节点将检索请求并行分发给每个所述热数据节点,以使所述热数据节点对所述图像热数据进行检索,得到第一目标图像数据,包括:
通过所述第一热数据节点接收所述检索请求,并将所述检索请求并行分发给每个所述热数据节点;
根据所述检索请求,每个所述热数据节点采用多线程方式对内部的所述图像热数据进行属性过滤、特征比对和相似度排序,得到原始记录标识;
通过所述第一热数据节点对各个所述热数据节点返回的所述原始记录标识进行管理,得到目标记录标识;
通过HBase获取与所述目标记录标识对应的所述第一目标图像数据。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述方法还包括:
获取属性检索请求,根据所述属性检索请求并通过ElasticSearch对所述持久化图像数据进行检索,并结合HBase得到第二目标图像数据。
第二方面,本发明实施例还提供一种基于内存图像集群的图像检索系统,其中,包括:
数据存储单元,用于采用ElasticSearch以及HDFS上的HBase和Parquet文件,并基于内存集群对图像数据进行分布式存储,得到持久化图像数据;
数据管理单元,用于按照预设条数对所述持久化图像数据进行管理,得到图像热数据;
节点分配单元,用于按照均衡分配原则将所述图像热数据进行节点的分配,得到热数据节点;
第一图像检索单元,用于通过第一热数据节点将检索请求并行分发给每个所述热数据节点,以使所述热数据节点对所述图像热数据进行检索,得到第一目标图像数据。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述图像数据包括属性数据和特征数据,所述数据存储单元包括:
将所述属性数据通过所述HBase和ElasticSearch进行存储,将所述特征数据通过所述Parquet文件进行存储,以及将提供检索的属性字段数据通过所述Parquet文件进行存储,得到所述持久化图像数据;
构建所述内存集群,并通过所述内存集群对所述持久化图像数据进行分布式存储。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述数据管理单元包括:
按照预设间隔,对所述内存集群的每个节点内存中的所述持久化图像数据进行检测,得到数据规模信息;
判断所述数据规模信息是否达到所述预设条数,并在是的情况下,按照预设留存期对所述持久化图像数据进行清理,得到所述图像热数据。
结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述第一图像检索单元包括:
通过所述第一热数据节点接收所述检索请求,并将所述检索请求并行分发给每个所述热数据节点;
根据所述检索请求,每个所述热数据节点采用多线程方式对内部的所述图像热数据进行属性过滤、特征比对和相似度排序,得到原始记录标识;
通过所述第一热数据节点对各个所述热数据节点返回的所述原始记录标识进行管理,得到目标记录标识;
通过HBase获取与所述目标记录标识对应的所述第一目标图像数据。
结合第二方面,本发明实施例提供了第二方面的第四种可能的实施方式,其中,所述系统还包括:
第二图像检索单元,用于获取属性检索请求,根据所述属性检索请求并通过ElasticSearch对所述持久化图像数据进行检索,并结合HBase得到第二目标图像数据。
本发明实施例带来了以下有益效果:本发明提供的基于内存图像集群的图像检索方法及系统,涉及图像检索技术领域,包括:采用ElasticSearch以及HDFS上的HBase和Parquet文件,并基于内存集群对图像数据进行分布式存储,得到持久化图像数据;按照预设条数对持久化图像数据进行管理,得到图像热数据;按照均衡分配原则将图像热数据进行节点的分配,得到热数据节点;通过第一热数据节点将检索请求并行分发给每个热数据节点,以使热数据节点对图像热数据进行检索,得到第一目标图像数据。本发明可以在保证准确度的情况下,提升以图搜图的性能,同时还实现了对实时特征数据生命周期管理。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的基于内存图像集群的图像检索方法流程图;
图2为本发明实施例二提供的得到图像热数据的方法流程图;
图3为本发明实施例二提供的得到第一目标图像数据的方法流程图;
图4为本发明实施例三提供的基于内存图像集群的图像检索系统示意图。
图标:
100-数据存储单元;200-数据管理单元;300-节点分配单元;400-第一图像检索单元;500-第二图像检索单元。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,最接近现有技术方案有采用内存数据库存储最近的数据,数据持久化到分布式数据库,检索时先在内存检索,内存检索不到再到分布式数据库中检索。该方案的缺点是以图搜图很多场景中不一定是搜索原图,所以很难界定是搜索到了还是没有,只能设置一个相似度阈值,超过这个阈值的认为是符合条件的结果。该方案基本都会到分布式数据库中检索,性能会很慢。最接近现有技术方案还有通过Spark分布式计算,从头完成HBase中特征数据的载入和比对,最后按照相似度排序,给出相似度最高的TopN数据。该方案的缺点是,Spark作为分布式计算的通用框架,解决了分布式的系统开发难题,但整个过程需要从数据载入开始,再加上框架本身开销,检索性能低。
基于此,本发明实施例提供的基于内存图像集群的图像检索方法及系统,可以在保证准确度的情况下,提升以图搜图的性能。
为便于对本实施例进行理解,首先对本发明实施例所公开的基于内存图像集群的图像检索方法进行详细介绍。
实施例一:
图1为本发明实施例一提供的基于内存图像集群的图像检索方法流程图。
本实施例提供了基于内存图像集群的图像检索方法,通过数据存储方式、数据生命周期管理、内存集群均衡分配和以图搜图这几步骤,能够对海量的特征数据在不损失精度的情况下实现快速的以图搜图。参照图1,基于内存图像集群的图像检索方法包括如下步骤:
步骤S110,采用ElasticSearch以及HDFS(Hadoop Distributed File System,分布式文件系统)上的HBase和Parquet文件,并基于内存集群对图像数据进行分布式存储,得到持久化图像数据;
具体的,图像数据分为属性数据和特征数据;其中,海量的属性数据通过HBase和ElasticSearch进行存储,海量的特征数据以及提供检索的属性字段数据通过Parquet文件进行存储。在持久化存储基础上,为了使热数据支持更快的以图搜图性能,通过构建一套基于内存的集群来分布式存储热数据,做到热数据的均衡分布,该内存集群可以是一套独立的集群也可以是与HBase等共用的集群。
步骤S120,按照预设条件对持久化图像数据进行管理,得到图像热数据;
具体的,通过预设留存期对持久化图像数据进行管理,对超出预设的留存期的数据定时进行清理,从集群全局看,内存里的数据都是时间连续的最近时间的图像热数据。
步骤S130,按照均衡分配原则将图像热数据进行节点的分配,得到热数据节点;
具体的,内存在正常情况下不做数据冗余。按照合理的均衡分配原则将图像热数据分配到对应的节点上,保障数据不重复写入。对于接收到的实时数据也是按照同样的均衡分配原则,将实时数据分配到对应的节点上。
步骤S140,通过第一热数据节点将检索请求并行分发给每个热数据节点,以使热数据节点对图像热数据进行检索,得到第一目标图像数据。
具体的,接受检索请求的节点为第一热数据节点,它将检索请求并行分发给各个热数据节点,每个节点内部采用多线程的方式在内部进行比对过滤并按照相似度排序,返回给第一热数据节点,由第一热数据节点进行汇总并重新排序后分页返回数据,进而最终得到第一目标图像数据。
另外,基于内存图像集群的图像检索方法还包括:获取属性检索请求,根据属性检索请求并通过ElasticSearch对持久化图像数据进行检索,并结合HBase得到第二目标图像数据。
具体的,纯属性的检索请求可以通过ElasticSearch进行快速检索,检索出来满足条件的当页的RecordID(记录标识)列表,再通过HBase一次性获取这些ID对应的第二目标图像数据。
通过上述方式可以在不损失精度的情况下提供更优的以图搜图性能。
实施例二:
图2为本发明实施例二提供的得到图像热数据的方法流程图。
本实施例将对上一实施例的每一步骤做详细的展开描述。
在基于内存图像集群的图像检索方法的步骤S110中,图像数据包括属性数据和特征数据,该步骤提供的数据存储方式具体包括:第一、将属性数据通过HBase和ElasticSearch进行存储,将特征数据通过Parquet文件进行存储,以及将提供检索的属性字段数据通过Parquet文件进行存储,得到持久化图像数据;第二、构建内存集群,并通过内存集群对持久化图像数据进行分布式存储。
也就是说,图像数据分为属性数据和特征数据,属性数据如性别、衣服颜色等,特征数据为一特征向量。海量的属性数据通过HBase和ElasticSearch进行存储,特征数据以及提供检索的属性字段数据通过Parquet文件进行存储,并根据日期进行分区存储,其中HBase存储除特征值之外的所有字段,ElasticSearch与Parquet文件中可以返回RecordID,该ID可以与HBase的Rowkey进行双向转换。在持久化存储基础上,为了使热数据支持更快的以图搜图性能,通过构建一套基于内存的集群来分布式存储热数据,做到热数据的均衡分布,该内存集群可以是一套独立的集群也可以是与HBase等共用的集群。
对于可进行修改与删除的数据(如静态人脸的图像数据),由于Parquet格式不支持对数据进行修改删除,可以在上层记录更新类型和对应的RecordID,同时将内存以及ElasticSearch和HBase的数据实时更新;parquet文件加载时进行过滤,并根据更新记录的比例在系统不繁忙的时间进行自动重建,重建后删除上层记录的对应的更新记录。
采用特征与属性分离的存储方式,在系统启动加载最近的历史数据时加载性能能提升约十倍,且对实时数据入库的性能影响降低。
在基于内存图像集群的图像检索方法的步骤S120中,参照图2,该步骤提供的数据生命周期管理包括:
步骤S210,按照预设间隔,对内存集群的每个节点内存中的持久化图像数据进行检测,得到数据规模信息;
步骤S220,判断数据规模信息是否达到预设条数;在达到的情况下,执行步骤S230;在没有达到的情况下,返回步骤S210;
步骤S230,按照预设留存期对持久化图像数据进行清理,得到图像热数据。
对存放在HDFS上的持久化图像数据,通过设置留存期进行管理,超出设置的留存期定时进行清理。
存放在内存里的持久化图像数据,在集群启动时从Parquet文件进行加载,启动后接收实时数据放内存,每隔一段时间(如5分钟)进行检测,如果有一个节点内存里的持久化图像数据达到预设的规模,启动全局内存清理,按照数据生成的时间将最早的一部分数据清理出内存,从集群全局看,内存里的数据都是时间连续的最近时间的图像热数据。
为了加快周期统计并清理的效率,可以在每个节点将数据按照一定时间力度进行统计(如以一小时作为统计周期,则得到类似这样的统计数据:2017.11.20 0点:100条;2017.11.20 1点:200条),清理时由主节点给各个节点下发指令清除某个时间点之前的所有数据,精度同节点内部统计的精度。
在基于内存图像集群的图像检索方法的步骤S130中,参照图3,该步骤提供的内存集群均衡分配包括:
集群启动时从HDFS加载数据。HDFS上的文件按照日期分目录,每条数据有一个RecordID,且RecordID全局唯一并递增分配。每个节点有一个从0开始编号的节点ID,每个节点从最近日期的文件中开始加载,将RecordID%总节点数=本节点ID的数据加载到内存,为了避免内存数据超出预设规格,需要每次加载时按时间排序取预设规格,再减去内存实际加载条数的最近的数据到内存。以此做到各节点均分预设规格内的数据且不重复。内存中进一步对数据进行分块,比如分为20个MAP进行均分本节点的数据。实时数据按照同样的分配规则,将数据分配到对应的节点上。
在基于内存图像集群的图像检索方法的步骤S140中,参照图3,该步骤提供的以图搜图包括:
步骤S310,通过第一热数据节点接收检索请求,并将检索请求并行分发给每个热数据节点;
步骤S320,根据检索请求,每个热数据节点采用多线程方式对内部的图像热数据进行属性过滤、特征比对和相似度排序,得到原始记录标识;
步骤S330,通过第一热数据节点对各个热数据节点返回的原始记录标识进行管理,得到目标记录标识;
步骤S340,通过HBase获取与目标记录标识对应的第一目标图像数据。
接受检索请求的节点为第一热数据节点,第一热数据节点将检索请求并行分发给各个数据节点,每个节点内部采用多线程的方式在内部进行比对过滤并按照相似度排序,返回给第一热数据节点,由第一热数据节点进行汇总并重新排序后分页返回数据。每个节点内部可以对多个数据分块各启动一个线程进行并行比对,比对时首先进行属性过滤(以图搜图的同时也支持其他属性字段结合进行检索),然后进行特征比对,提高性能(属性过滤比特征比对要消耗更少的计算资源,提供更快的性能);而对于相似度排序,可以采用优先队列的方式提高性能。
通过第一热数据节点汇总处理得到最终的RecordID后,再通过HBase一次性获取这些ID对应的第一目标图像数据返回给客户端。
另外,内存数据只能存放热数据,但可以提供更高的检索性能。上述实施例同时提供另外一套全量数据检索界面,不区分热数据还是冷数据,此时采用Spark等分布式计算框架来完成检索,检索性能比热数据检索要慢。通过终端可以显示内存热数据的最早时间,这样用户可以事先做出选择,属于热数据时间段内的可以通过热数据检索界面进行检索,提供更好的检索体验;如果不全在热数据范围内的,则在普通检索界面检索。
实施例三:
图4为本发明实施例三提供的基于内存图像集群的图像检索系统示意图。
本发明实施例还提供了基于内存图像集群的图像检索系统,用于实现上述的基于内存图像集群的图像检索方法。参照图4,基于内存图像集群的图像检索系统包括:
数据存储单元100,用于采用ElasticSearch以及HDFS上的HBase和Parquet文件,并基于内存集群对图像数据进行分布式存储,得到持久化图像数据;
数据管理单元200,用于按照预设条件对持久化图像数据进行管理,得到图像热数据;
节点分配单元300,用于按照均衡分配原则将图像热数据进行节点的分配,得到热数据节点;
第一图像检索单元400,用于通过第一热数据节点将检索请求并行分发给每个热数据节点,以使热数据节点对图像热数据进行检索,得到第一目标图像数据。
进一步的,图像数据包括属性数据和特征数据,数据存储单元100包括:
将属性数据通过HBase和ElasticSearch进行存储,将特征数据通过Parquet文件进行存储,以及将提供检索的属性字段数据通过Parquet文件进行存储,得到持久化图像数据;
构建内存集群,并通过内存集群对持久化图像数据进行分布式存储。
进一步的,数据管理单元200包括:
按照预设间隔,对内存集群的每个节点内存中的持久化图像数据进行检测,得到数据规模信息;
判断数据规模信息是否达到预设条数,并在是的情况下,按照预设留存期对持久化图像数据进行清理,得到图像热数据。
进一步的,第一图像检索单元400包括:
通过第一热数据节点接收检索请求,并将检索请求并行分发给每个热数据节点;
根据检索请求,每个热数据节点采用多线程方式对内部的图像热数据进行属性过滤、特征比对和相似度排序,得到原始记录标识;
通过第一热数据节点对各个热数据节点返回的原始记录标识进行管理,得到目标记录标识;
通过HBase获取与目标记录标识对应的第一目标图像数据。
进一步的,基于内存图像集群的图像检索系统还包括:
第二图像检索单元500,用于获取属性检索请求,根据属性检索请求并通过ElasticSearch对持久化图像数据进行检索,并结合HBase得到第二目标图像数据。
本发明实施例所提供的系统,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,系统实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例带来了以下有益效果:本发明提供的基于内存图像集群的图像检索方法及系统,涉及图像检索技术领域,包括:采用ElasticSearch以及HDFS上的HBase和Parquet文件,并基于内存集群对图像数据进行分布式存储,得到持久化图像数据;按照预设条件对持久化图像数据进行管理,得到图像热数据;按照均衡分配原则将图像热数据进行节点的分配,得到热数据节点;通过第一热数据节点将检索请求并行分发给每个热数据节点,以使热数据节点对图像热数据进行检索,得到第一目标图像数据。本发明可以在保证准确度的情况下,提升以图搜图的性能,同时还实现了对实时特征数据生命周期管理。
本发明实施例还提供一种电子设备,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例提供的基于内存图像集群的图像检索方法的步骤。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例的基于内存图像集群的图像检索方法的步骤。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明实施例所提供的进行基于内存图像集群的图像检索方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种基于内存图像集群的图像检索方法,其特征在于,包括:
采用ElasticSearch以及分布式文件系统HDFS上的HBase和Parquet文件,并基于内存集群对图像数据进行分布式存储,得到持久化图像数据;
按照预设条数对所述持久化图像数据进行管理,得到图像热数据;
按照均衡分配原则将所述图像热数据进行节点的分配,得到热数据节点;
通过第一热数据节点将检索请求并行分发给每个所述热数据节点,以使所述热数据节点对所述图像热数据进行检索,得到第一目标图像数据。
2.根据权利要求1所述的方法,其特征在于,所述图像数据包括属性数据和特征数据,所述采用ElasticSearch以及HDFS上的HBase和Parquet文件,并基于内存集群对图像数据进行分布式存储,得到持久化图像数据,包括:
将所述属性数据通过所述HBase和ElasticSearch进行存储,将所述特征数据通过所述Parquet文件进行存储,以及将提供检索的属性字段数据通过所述Parquet文件进行存储,得到所述持久化图像数据;
构建所述内存集群,并通过所述内存集群对所述持久化图像数据进行分布式存储。
3.根据权利要求1所述的方法,其特征在于,所述按照预设条数对所述持久化图像数据进行管理,得到图像热数据,包括:
按照预设间隔,对所述内存集群的每个节点内存中的所述持久化图像数据进行检测,得到数据规模信息;
判断所述数据规模信息是否达到所述预设条数;
如果是,则按照预设留存期对所述持久化图像数据进行清理,得到所述图像热数据。
4.根据权利要求1所述的方法,其特征在于,所述通过第一热数据节点将检索请求并行分发给每个所述热数据节点,以使所述热数据节点对所述图像热数据进行检索,得到第一目标图像数据,包括:
通过所述第一热数据节点接收所述检索请求,并将所述检索请求并行分发给每个所述热数据节点;
根据所述检索请求,每个所述热数据节点采用多线程方式对内部的所述图像热数据进行属性过滤、特征比对和相似度排序,得到原始记录标识;
通过所述第一热数据节点对各个所述热数据节点返回的所述原始记录标识进行管理,得到目标记录标识;
通过HBase获取与所述目标记录标识对应的所述第一目标图像数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取属性检索请求,根据所述属性检索请求并通过ElasticSearch对所述持久化图像数据进行检索,并结合HBase得到第二目标图像数据。
6.一种基于内存图像集群的图像检索系统,其特征在于,包括:
数据存储单元,用采用ElasticSearch以及HDFS上的HBase和Parquet文件,并基于内存集群对图像数据进行分布式存储,得到持久化图像数据;
数据管理单元,用于按照预设条数对所述持久化图像数据进行管理,得到图像热数据;
节点分配单元,用于按照均衡分配原则将所述图像热数据进行节点的分配,得到热数据节点;
第一图像检索单元,用于通过第一热数据节点将检索请求并行分发给每个所述热数据节点,以使所述热数据节点对所述图像热数据进行检索,得到第一目标图像数据。
7.根据权利要求6所述的系统,其特征在于,所述图像数据包括属性数据和特征数据,所述数据存储单元包括:
将所述属性数据通过所述HBase和ElasticSearch进行存储,将所述特征数据通过所述Parquet文件进行存储,以及将提供检索的属性字段数据通过所述Parquet文件进行存储,得到所述持久化图像数据;
构建所述内存集群,并通过所述内存集群对所述持久化图像数据进行分布式存储。
8.根据权利要求6所述的系统,其特征在于,所述数据管理单元包括:
按照预设间隔,对所述内存集群的每个节点内存中的所述持久化图像数据进行检测,得到数据规模信息;
判断所述数据规模信息是否达到所述预设条数,并在是的情况下,按照预设留存期对所述持久化图像数据进行清理,得到所述图像热数据。
9.根据权利要求6所述的系统,其特征在于,所述第一图像检索单元包括:
通过所述第一热数据节点接收所述检索请求,并将所述检索请求并行分发给每个所述热数据节点;
根据所述检索请求,每个所述热数据节点采用多线程方式对内部的所述图像热数据进行属性过滤、特征比对和相似度排序,得到原始记录标识;
通过所述第一热数据节点对各个所述热数据节点返回的所述原始记录标识进行管理,得到目标记录标识;
通过HBase获取与所述目标记录标识对应的所述第一目标图像数据。
10.根据权利要求6所述的系统,其特征在于,所述系统还包括:
第二图像检索单元,用于获取属性检索请求,根据所述属性检索请求并通过ElasticSearch对所述持久化图像数据进行检索,并结合HBase得到第二目标图像数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711471230.6A CN110019870B (zh) | 2017-12-29 | 2017-12-29 | 基于内存图像集群的图像检索方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711471230.6A CN110019870B (zh) | 2017-12-29 | 2017-12-29 | 基于内存图像集群的图像检索方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110019870A true CN110019870A (zh) | 2019-07-16 |
CN110019870B CN110019870B (zh) | 2021-05-28 |
Family
ID=67187202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711471230.6A Active CN110019870B (zh) | 2017-12-29 | 2017-12-29 | 基于内存图像集群的图像检索方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110019870B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688516A (zh) * | 2019-10-08 | 2020-01-14 | 北京旷视科技有限公司 | 图像检索方法、装置、计算机设备和存储介质 |
CN111259193A (zh) * | 2020-01-16 | 2020-06-09 | 高新兴科技集团股份有限公司 | 一种基于聚类过滤的特征检索系统及其应用方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697526A (zh) * | 2009-10-10 | 2010-04-21 | 中国科学技术大学 | 分布式文件系统中元数据管理的负载均衡方法及其系统 |
CN102081666A (zh) * | 2011-01-21 | 2011-06-01 | 北京大学 | 用于分布式图片搜索的索引构建方法和服务器 |
CN102567495A (zh) * | 2011-12-22 | 2012-07-11 | 国网信息通信有限公司 | 一种海量信息存储系统及实现方法 |
WO2013072647A1 (en) * | 2011-11-15 | 2013-05-23 | Robinson Fraser Aldan | Interactive image tagging |
CN104954448A (zh) * | 2015-05-29 | 2015-09-30 | 努比亚技术有限公司 | 图片处理方法、系统和服务器 |
CN105550222A (zh) * | 2015-12-07 | 2016-05-04 | 中国电子科技网络信息安全有限公司 | 一种基于分布式存储的图像服务系统及方法 |
CN106095920A (zh) * | 2016-06-07 | 2016-11-09 | 四川大学 | 面向大规模高维空间数据的分布式索引方法 |
CN106202207A (zh) * | 2016-06-28 | 2016-12-07 | 中国电子科技集团公司第二十八研究所 | 一种基于HBase‑ORM的索引及检索系统 |
CN106407463A (zh) * | 2016-10-11 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种基于Hadoop的图像处理方法及系统 |
CN106886553A (zh) * | 2016-12-27 | 2017-06-23 | 浙江宇视科技有限公司 | 一种图像检索方法及服务器 |
CN107247730A (zh) * | 2017-05-04 | 2017-10-13 | 北京奇艺世纪科技有限公司 | 图片搜索方法及装置 |
-
2017
- 2017-12-29 CN CN201711471230.6A patent/CN110019870B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697526A (zh) * | 2009-10-10 | 2010-04-21 | 中国科学技术大学 | 分布式文件系统中元数据管理的负载均衡方法及其系统 |
CN102081666A (zh) * | 2011-01-21 | 2011-06-01 | 北京大学 | 用于分布式图片搜索的索引构建方法和服务器 |
WO2013072647A1 (en) * | 2011-11-15 | 2013-05-23 | Robinson Fraser Aldan | Interactive image tagging |
CN102567495A (zh) * | 2011-12-22 | 2012-07-11 | 国网信息通信有限公司 | 一种海量信息存储系统及实现方法 |
CN104954448A (zh) * | 2015-05-29 | 2015-09-30 | 努比亚技术有限公司 | 图片处理方法、系统和服务器 |
CN105550222A (zh) * | 2015-12-07 | 2016-05-04 | 中国电子科技网络信息安全有限公司 | 一种基于分布式存储的图像服务系统及方法 |
CN106095920A (zh) * | 2016-06-07 | 2016-11-09 | 四川大学 | 面向大规模高维空间数据的分布式索引方法 |
CN106202207A (zh) * | 2016-06-28 | 2016-12-07 | 中国电子科技集团公司第二十八研究所 | 一种基于HBase‑ORM的索引及检索系统 |
CN106407463A (zh) * | 2016-10-11 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种基于Hadoop的图像处理方法及系统 |
CN106886553A (zh) * | 2016-12-27 | 2017-06-23 | 浙江宇视科技有限公司 | 一种图像检索方法及服务器 |
CN107247730A (zh) * | 2017-05-04 | 2017-10-13 | 北京奇艺世纪科技有限公司 | 图片搜索方法及装置 |
Non-Patent Citations (2)
Title |
---|
FATEMEH ABDOLALI 等: "Content based image retrieval for maxillofacial lesions", 《IEEE》 * |
杨迪: "基于内容的分布式图像检索", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688516A (zh) * | 2019-10-08 | 2020-01-14 | 北京旷视科技有限公司 | 图像检索方法、装置、计算机设备和存储介质 |
CN111259193A (zh) * | 2020-01-16 | 2020-06-09 | 高新兴科技集团股份有限公司 | 一种基于聚类过滤的特征检索系统及其应用方法 |
CN111259193B (zh) * | 2020-01-16 | 2023-08-25 | 高新兴科技集团股份有限公司 | 一种基于聚类过滤的特征检索系统及其应用方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110019870B (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sha et al. | Technical report: Accelerating dynamic graph analytics on gpus | |
Khurana et al. | Efficient snapshot retrieval over historical graph data | |
Aly et al. | Aqwa: adaptive query workload aware partitioning of big spatial data | |
Chu et al. | Triangle listing in massive networks | |
CN102915347B (zh) | 一种分布式数据流聚类方法及系统 | |
US10037355B2 (en) | Mechanisms for merging index structures in MOLAP while preserving query consistency | |
CN104408163B (zh) | 一种数据分级存储方法和装置 | |
CN111258926B (zh) | 内存回收方法、装置、存储介质和计算机设备 | |
KR20160023871A (ko) | 다중 액세스 방법을 위한 래치-프리, 로그-구조 스토리지 | |
CN108062384A (zh) | 数据检索的方法和装置 | |
CN108549696B (zh) | 一种基于内存计算的时间序列数据相似性查询方法 | |
Zihayat et al. | Mining high utility sequential patterns from evolving data streams | |
CN106126341A (zh) | 应用于大数据的多计算框架处理系统及关联规则挖掘方法 | |
CN106933511A (zh) | 考虑负载均衡与磁盘效率的空间数据存储组织方法及系统 | |
CN110019870A (zh) | 基于内存图像集群的图像检索方法及系统 | |
Yu et al. | Set coverage problems in a one-pass data stream | |
Chen et al. | Mining contiguous sequential patterns from web logs | |
CN104765782B (zh) | 一种索引排序更新方法及装置 | |
US9305045B1 (en) | Data-temperature-based compression in a database system | |
CN116976457A (zh) | 模型加载方法、推理系统、装置和计算机设备 | |
CN112445833A (zh) | 一种分布式数据库的数据分页查询方法、装置和系统 | |
CN110008030A (zh) | 一种元数据访问的方法、系统及设备 | |
Xian et al. | Parallel gathering discovery over big trajectory data | |
Wang et al. | Waterwheel: Realtime indexing and temporal range query processing over massive data streams | |
Leal et al. | TKSimGPU: A parallel top-K trajectory similarity query processing algorithm for GPGPUs |
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 |