CN111782834A - 图像检索的方法、装置、设备及计算机可读存储介质 - Google Patents
图像检索的方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111782834A CN111782834A CN202010595252.9A CN202010595252A CN111782834A CN 111782834 A CN111782834 A CN 111782834A CN 202010595252 A CN202010595252 A CN 202010595252A CN 111782834 A CN111782834 A CN 111782834A
- Authority
- CN
- China
- Prior art keywords
- data
- user
- image
- request
- retrieval
- 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 63
- 230000015654 memory Effects 0.000 claims abstract description 71
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000013523 data management Methods 0.000 claims description 33
- 238000012217 deletion Methods 0.000 claims description 29
- 230000037430 deletion Effects 0.000 claims description 29
- 238000000605 extraction Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 8
- 239000000126 substance Substances 0.000 claims description 2
- 238000013135 deep learning Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000012954 risk control Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012800 visualization Methods 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/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- 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/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
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)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种图像检索的方法、装置、设备及计算机可读存储介质,涉及图像处理中的图像检索、智能搜索、深度学习等技术。具体实现方案为:响应于用户的图像检索请求,根据所述用户的数据位置信息,确定所述用户对应的基本检索服务;通过所述基本检索服务,根据所述基本检索服务对应内存中的数据页索引信息,确定所述用户的数据页;通过所述基本检索服务,根据所述图像检索请求,在所述用户的数据页中进行图像检索;其中,每个所述基本检索服务对应内存中存储有至少一个用户的数据页,每个所述数据页用于存储对应用户的图像特征数据;实现用户数据的分离存储,实现了多用户的图像检索***。
Description
技术领域
本申请实施例涉及图像处理中的图像检索、智能搜索、深度学习等技术,尤其涉及一种图像检索的方法、装置、设备及计算机可读存储介质。
背景技术
现有的很多应用平台都需要提供图片检索的功能,各应用平台都需要建立独立的数据库,自行研发图片检索***,以提供图片检索服务,需要耗费很多的人力物力资源,开发周期长。
发明内容
本申请提供了一种图像检索的方法、装置、设备及计算机可读存储介质。
根据本申请的一方面,提供了一种图像检索的方法,包括:
响应于用户的图像检索请求,根据所述用户的数据位置信息,确定所述用户对应的基本检索服务;
通过所述基本检索服务,根据所述基本检索服务对应内存中的数据页索引信息,确定所述用户的数据页;
通过所述基本检索服务,根据所述图像检索请求,在所述用户的数据页中进行图像检索;
其中,每个所述基本检索服务对应内存中存储有至少一个用户的数据页,每个所述数据页用于存储对应用户的图像特征数据。
根据本申请的另一方面,提供了一种图像检索的装置,包括:
数据管理模块,用于响应于用户的图像检索请求,根据所述用户的数据位置信息,确定所述用户对应的基本检索服务;通过所述基本检索服务,根据所述基本检索服务对应内存中的数据页索引信息,确定所述用户的数据页;
图像检索模块,用于通过所述基本检索服务,根据所述图像检索请求,在所述用户的数据页中进行图像检索;
其中,每个所述基本检索服务对应内存中存储有至少一个用户的数据页,每个所述数据页用于存储对应用户的图像特征数据。
根据本申请的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的方法。
根据本申请的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述所述的方法。
根据本申请的另一方面,提供了一种图像检索的方法,包括:
响应于用户的图像检索请求,根据所述用户的数据位置信息,确定所述用户的数据页;
根据所述图像检索请求,在所述用户的数据页中进行图像检索;
其中,每个所述数据页用于存储对应用户的图像特征数据。
根据本申请的技术能够实现用户数据的分离存储,实现了多用户的图像检索***。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请第一实施例提供的图像检索的方法流程图;
图2是本申请第二实施例提供的图像检索***的整体架构图;
图3是本申请第二实施例提供的基本检索服务的架构示例图;
图4是本申请第三实施例提供的用户注册的流程图;
图5是本申请第四实施例提供的写入数据流程图;
图6是本申请第五实施例提供的图像检测的装置示意图;
图7是用来实现本申请实施例的图像检索的方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本申请提供一种图像检索的方法、装置、设备及计算机可读存储介质,应用于图像处理领域中的图像检索、智能搜索、深度学习等,以实现多用户共用的图像检索***,无需各个用户自行研发图像检索***,可以节约各个用户的研发资源和时间。
本申请实施例应用于图像检索***,支持多用户、多分库,并且可以实现实时地图像检索,具体可以运行于独立服务器或者集群服务器等设备上。图像检索***的用户是指用于提供检索服务的应用平台,各个应用平台以用户身份注册图像检索***,借助于图像检索***向各应用平台的使用者提供图像检索服务,或者应用平台自己使用图像检索***的图像检索服务。
服务器上可以运行多个基本检索服务,当用户注册时,为用户分配对应的基本检索服务,用户图片库的图像特征数据存储在对应基本检索服务的内存中,每个用户对应内存中一个独立的数据页,专门用于存储该用户的数据。多个基本检索服务可以并行地处理对应用户的检索请求,能够提高检索效率。
本申请可用于风险控制***,可对要发布的违规图片进行实时拦截,也可对监管部门下发的违规图片进行及时的全库回溯查找。另外也可以对外开放,面向企业平台用户,满足他们图片入库实时生效的需求。
一种可能的场景为:各应用平台的使用者向应用平台请求图像检索时,应用平台向检索***发送图像检索请求,并将检索***返回的检索结果反馈给使用者。
另一种可能的场景为:应用平台为了便于进行风险控制,将该应用平台上发布的所有图片的特征数据入库到图像检索***,建立全量数据库,并通过图像检索***进行敏感图片的搜索。
另一种可能的场景为:应用平台在图像检索***建立敏感图片库,当应用平台发布图片时,在敏感图片库中进行检索,根据检索结果对敏感图片进行拦截。
本申请还可以应用与其他多个应用场景中,本实施例此处不做具体限定。
图1是本申请第一实施例提供的图像检索的方法流程图。本实施例的执行主体为图像检索***的服务器。如图1所示,该方法具体步骤如下:
步骤S101、响应于用户的图像检索请求,根据用户的数据位置信息,确定用户对应的基本检索服务。
本申请实施例中,图像检索***的服务器上可以运行多个基本检索服务,为每个用户分配对应的基本检索服务。用户图片库的图像特征数据存储在对应基本检索服务的内存中,每个用户对应该内存中一个独立的数据页,专门用于存储该用户的数据,也即作为该用户专用库,其他用户无法访问其中的数据。
其中,用户的数据位置信息至少包括用户对应的基本检索服务的标识,用于确定用户对应的基本检索服务。
在接收到用户的图像检索请求后,图像检索***可以根据用户标识获取到用户的数据位置信息,根据用户的数据位置信息,可以确定用户对应的基本检索服务。
步骤S102、通过基本检索服务,根据基本检索服务对应内存中的数据页索引信息,确定用户的数据页;其中每个基本检索服务对应内存中存储有至少一个用户的数据页,每个数据页用于存储对应用户的图像特征数据。
其中,基本检索服务的内存中存储了数据页索引信息,数据页索引信息包括当前基本检索服务对应的所有用户与数据页的对应关系。
在确定用户对应的基本检索服务之后,根据基本检索服务对应内存中的数据页索引信息,可以确定该用户对应的数据页。
步骤S103、通过基本检索服务,根据图像检索请求,在用户的数据页中进行图像检索。
在确定用户对应的数据页之后,通过基本检索服务在用户的数据页中进行图像检索,检索完成后将检索结果反馈给用户。
本申请实施例通过为用户分配基本检索服务,基本检索服务中为对应的每个用户创建一个数据页,该数据页用于存储用户图片库的图像特征数据,能够实现多用户的图像特征数据的分离存储,当接收到用户的图像检索请求时,可以根据图像检索请求在该用户对应的数据页中进行图像检索,能够实现多用户的图像检索;另外通过扩展多个基本检索服务,可以并行地处理多个用户的检索请求,能够提高检索效率。
图2是本申请第二实施例提供的图像检索***的整体架构图。如图2所示,图像检索***主要分为三个层次:业务接入层,检索层和数据存储层。
本申请实施例中,业务接入层用于提供多种检索功能,如图2中所示的商品图片的检索、相同图片的检索、相似图片的检索等等。业务接入层还提供数据库对外接口,数据库对外接口用于提供用户管理或者数据库管理的可视化界面,通过可视化界面,用户可以完成用户注册,向数据库写入数据或者从数据库读取数据等。
另外,由于业务接入层的业务繁杂,变化较多,因此需要较高的开发效率,可以使用PHP语言开发。
本申请实施例中,检索层用于提供实现图像检索的多个服务,包括:基本检索服务,特征提取服务,高级检索服务和用户管理服务。
其中,一个基本检索服务可以负责一个或者多个用户的基本检索功能,一个用户仅对应一个基本检索服务。基本检索服务启动时,可以将对应的用户的图像特征数据加载到对应内存中,为进行图像检索提供数据基础。
特征提取服务用于提取图片的图像特征数据,包括待检测图像的图像特征数据的提取,以及新增图像的图像特征数据的提取等。
高级检索服务用于提供高级检索功能,例如,可以汇总多个基本图像检索的检索结果的检索功能。
例如,示例性地,高级检索服务可以通过特征提取服务获取待检索的图片的特征数据,将待检索的特征数据发送到多个基本检索服务,并接受多个基本检索服务返回的检索结果,然后对检索结果进行整理,得到高级检索结果。
用户管理服务用于在用户注册时将用户的基本信息和数据位置信息存储到数据库中,还用于对数据库中的用户的基本信息和数据位置信息的查询,更新和迁移等功能。用户管理服务可以通过数据库对外接口调用执行。用户管理服务还可以包括存储用户的基本信息和数据位置信息的高速缓存表。
示例性地,对于用户的图像检索请求,可以通过用户管理服务在数据库中查询该用户对应的基本检索服务,返回基本检索服务的标识(例如分片编号或者ID等)。
用户管理服务还具有用户合法性校验的功能,例如验证用户是否为注册用户,用户申请的图片库的容量是否已经用完等,图像检索***的图像检索和数据写入的流程中,都可以增加对用户的合法性校验的流程。
另外,检索层需要极高的性能和稳定性,且不会因业务层的需求而频繁更新,因此可以采用成熟的C++检索方案实现。
本申请实施例中,数据存储层主要包括外部存储空间和数据库。其中,外部存储空间用于存储所有用户的图像特征数据,作为基准数据。基本检索服务在启动时可以根据外部存储空间中的用户的图像特征数据更新对应内存中的用户特征数据。
基本检索服务还可以通过设定定时任务,来定时地根据外部存储空间中的用户的图像特征数据更新对应内存中的用户特征数据,以使基本检索服务对应内存中存储用户的全部图像特征数据,确保用户特征数据不会丢失。另外,用户的图片也可以存储在外部存储空间中,以便需要使用用户的图片时可以从外部存储空间中获取到。
进一步地,存储空间中的图像特征数据可以以KV数据库的方式实现,其中,每个图片对应一个KV结构的图像特征数据,key为图片标识,value为图片的图像特征数据。
数据库用于存储用户的基本信息和数据位置信息,以及其他图像检索***中需要存储到数据库中的数据。数据位置信息包含用户与对应基本检索服务之间的映射关系。
另外,数据存储层还可以包括基本检索服务对应的内存,用于存储对应用户的图像特征数据。
本申请实施例提供了图像检索***一种可能的***架构,基于此架构可以实现本申请实施例提供的图像检索的方法。
本申请实施例中,图像检索***可以包括多个基本检索服务,多个基本检索服务的信息可以存储到一个基本检索服务机器列表中。通过基本检索服务机器列表能够获取到基本检索服务的所在的位置信息,例如IP地址和端口等,从而能够实现与基本检索服务的数据通信。
图3是本申请第二实施例提供的基本检索服务的架构示例图。如图3所示,基本检索服务可以包括以下几个部分:应用程序接口,检索组件,索引数据,定时任务和数据存储。
其中,应用程序接口提供图像检索***的入口,例如,提供新增数据、更新数据、删除数据和图像检索的接口。
检索组件用于提供多种类型的检索功能,例如图3中示出的正排检索、倒排检索、变长特征检索和区间检索。检索组件支持通用配置文件自定义图像检索方法的各种组合,可以满足不同垂类的检索需求。
具体地,根据图片垂类的不同,可以配置不同的特征提取方法和不同的检索方法。例如,相同图片的检索,商品图片检索可采用不同模型进行特征提取,然后在检索过程中定制对应的检索方式。检索方式可以包括:检索级数(如一级检索或者多级检索)、每一级检索的检索类型(如正排检索、倒排检索、区间检索等)、特征比对函数(如余弦距离、欧式距离、汉明距离等)等。检索组件包含的检索功能可以通配置文件自定义,本实施例此处不做具体限定。
例如,对于相同图的检索,通常图片库中图片数量很多,为了提高检索效率,可以采用倒排检索的方法。
再如,对于商标图的检索,通常商品图的数量较少,可以使用正排检索,这样能够提高图像检索的精度准。
索引数据中存储了用户的图片库的图像特征数据。如图3所示,用户的图像特征数据存储在用户对应的数据页中,用户与数据页为一一对应的关系。数据页是由多个数据块组成的集合,数据页中数据块的数量是不固定,数据页中数据块的数量随着用户数据的增加而增加。数据块是最基本的数据单位,是一个用户的多次写入请求的集合。数据块用于存储图片的图像特征数据,可以包括图片标识(如图3中所示的图片ID),图片的摘要信息,和图片的特征数据。其中,图片的摘要信息是指图片的描述信息,可以是图片的名称、类型、用户存储的图片的URL、或者图片的其他相关信息。
另外,用户与数据页的对应关系存储在数据页索引信息中,数据页索引信息以KV结构存储每一个用户与数据页的对应关系,其中key为用户标识,value为用户对应数据页标识。数据页索引信息可以以字典(MAP)的方式存。针对用户每次图像检索请求、图像的数据新增/删除/更新请求,均是通过基本检索服务对用户对应索引数据中用户的数据页中的数据进行相应处理,能够实现多用户的数据的隔离。
图像检索***中可以设定多个定时任务,对于需要定时进行的处理都可以通过定时任务的方式实现。例如,如图3所示,定时任务可以包括:集中写入任务,数据同步任务,用户迁移任务,集中删除任务,状态同步任务,以及用户***测试的测试任务等等。其中,集中写入任务用于定时地对请求队列中的数据新增请求进行集中处理,将数据新增请求对应的图像特征数据添加到对应用户的数据页中,可以合并用户写入请求,减少读写竞争,最终减少检索中锁争用的情形,提升写入效率。数据同步任务用于定时地根据外部存储空间中的用户的图像特征数据更新对应内存中的用户特征数据,以使基本检索服务对应内存中存储用户的全部图像特征数据,确保用户特征数据不会丢失。用户迁移任务用于定时地获取每个基本检索服务对应内存的剩余容量;若某一基本检索服务对应内存的剩余容量小于预设容量阈值,则将基本检索服务的至少一个用户迁移到另一个基本检索服务中,可以避免用户因资源不够导致数据写入失败的情况。集中删除任务用于定时地对各个用户的数据页中标记为删除的图像特征数据进行删除,可以提高数据删除的效率。状态同步任务用于将基本检索服务对应内存中的用户数据,总数据量,垃圾数据(例如标记为删除的数据)的数据量,各基本检索服务的数据分布情况,基本检索服务上各用户是数据分布情况,以及其他信息,写入预设状态文件中,供相关人员查看基本检索服务器和用户的状态。
另外,定时任务可以根据实际应用场景的需要进行新增、修改或删除,本实施例此处不做具体限定。
数据存储包括外部存储空间内存储的基准数据,状态文件,以及其他数据的存储。
本申请实施例提供的基本检索服务的架构,能够实现多用户的数据的隔离存储,可对用户进行管理,可以实现多用户实时地的图像检索,图像数据新增、更新、删除等功能,并可支持多垂类图片检索。
图4是本申请第三实施例提供的用户注册的流程图。在上述任一实施例的基础上,本实施例中,各应用平台或者个人可以通过在图像检索***上进行注册,成为图像检索***的用户。在成为图像检索***之后,就可以使用图像检索***的数据管理和图像检索等功能。如图4所示,图像检索***的用户注册流程包括如下步骤:
步骤S201、响应于用户的注册请求,为用户分配对应的基本检索服务。
当应用平台或者个人需要使用图像检索***时,可以申请注册成为图像检索***的用户。具体地,可以通过图像检索***提供的可视化界面进行注册。
当接收到用户的注册请求时,图像检索***为用户分配对应基本检索服务。
本实施例中,初始可以创建预设数量的基本检索服务。基本检索服务可以扩展,在已有的基本检索服务无法满足使用需求时,可以创建新的基本检索服务。其中,预设数量可以根据实际应用场景进行设定和调整,本实施例此处不做具体限定。
示例性地,可以依次为向各个基本检索服务分配用户,当基本检索服务对应的用户达到预设最大用户数量时,可以向下一个基本检索服务分配用户。其中,预设最大用户数量可以根据实际应用场景进行设定和调整,本实施例此处不做具体限定。
步骤S202、将用户的数据位置信息存储到数据库中,数据位置信息至少包括用户对应的基本检索服务的标识。
其中,用户的数据位置信息包含用户与对应的基本检索服务之间的映射关系。用户的数据位置信息可以包括用户的标识及其对应的基本检索服务的标识。
为用户分配基本检索服务之后,可以生成用户的数据位置信息,并将用户的数据位置信息存储到数据库中。
其中,数据位置信息至少包括用户对应的基本检索服务的标识。
可选地,用户注册时,还可以提供用户的基础信息,图像检索***还可以将用户的基础信息存储到数据库中。
其中,用户基础信息可以包括:用户的标识,请求的图片库容量,已经入库的图片数量等等。其中,请求的图片库容量是指用户注册时申请的图片库的容量,例如,可以是所需要的图片库的图片数量。
步骤S203、通过用户对应的基本检索服务,在对应内存中建立用户的数据页,并将用户及其数据页的对应关系添加到数据页索引信息中。
在将用户的数据位置信息存储到数据库中之后,通过用户对应的基本检索服务,在基本检索服务对应内存中为该用户新建一个数据页,作为该用户的图片库。然后将用户与该数据页的对应关系添加到数据页索引信息中,已记录用户与数据页的对应关系。
其中,数据页索引信息包括当前基本检索服务对应的所有用户与数据页的对应关系,存储在基本检索服务对应的内存中。
另外,图像检索***可以定时地获取每个基本检索服务对应内存的剩余容量;若某一基本检索服务对应内存的剩余容量小于预设容量阈值,则将基本检索服务的至少一个用户迁移到另一个基本检索服务中,可以避免用户因资源不够导致数据写入失败的情况。其中,预设容量阈值可以根据实际应用场景进行设定和调整,本实施例此处不做具体限定。
示例性地,若某一基本检索服务对应内存的剩余容量小于预设容量阈值,则将基本检索服务对应的用户中,已有图像特征数据最多的用户迁移到另一个基本检索服务中。
示例性地,若某一基本检索服务对应内存中已存储的图像特征数据的数量达到预设数量阈值时,则将基本检索服务对应的用户中,已有图像特征数据最多的用户迁移到另一个基本检索服务中。
例如,可以通过定时任务定期扫描基本检索服务对应内存中的图像特征数据的数量,当图像特征数据的数量达到基本检索服务70%时,将基本检索服务中图像特征数据数量最多的用户迁移到一个全新的基本检索服务上。
进一步地,将一个用户从第一基本检索服务迁移到第二基本检索服务,包括:
通过第二基本检索服务,在对应内存上为该用户创建一个数据页,并将该用户与该数据页的对应关系添加到数据页索引信息中;更新数据库中该用户的数据位置信息,将用户对应的基本检索服务由第一基本检索服务更新为第二基本检索服务;通过第一基本检索服务,将对应内存上该用户的数据页删除,并删除数据页索引信息中该用户与数据页的对应关系。
本申请实施例实现了图像检索***的用户注册功能,实现多用户的图像特征数据的分离存储,从而使得图像检索***支持多用户多分库;进一步地,用户注册时,不事先分配用户申请的图片库容量对应的资源。这里采用惰性分配的原则,在用户新增数据时,使用多少分配多少;若当前的基本检索服务不够时,可以通过将用户迁移到新的基本检索服务中解决,从而本质上解决资源占用的问题。
图5是本申请第四实施例提供的写入数据流程图。在上述任一实施例的基础上,本实施例中,图像检索***的用户可以对图像检索***中的图像特征数据进行数据管理,可以新增、删除、或者更新图像检索***中的图像特征数据,以更好地提供图像检索服务。
如图5所示,图像检索***的写入数据流程包括如下步骤:
步骤S301、接收用户的写入请求。
其中,写入请求包括数据新增请求、数据删除请求和数据更新请求。
若写入请求为数据新增请求,则执行后续步骤S302-S303。
若写入请求为数据删除请求,则执行后续步骤S304。
若写入请求为数据更新请求,则执行后续步骤S305-S307。
步骤S302、若写入请求是对目标图像的数据新增请求,则将数据新增请求添加到请求队列中。
当用户需要向图像检索***中增加图片库中图像数据时,可以通过可视化界面提交对目标图像的数据新增请求。其中目标图像是指待添加到图片库中的图像。
接收到用户的数据新增请求后,可以直接将数据新增请求添加到请求队列中,之后即可对用户做出响应,能够提高响应及时性。
步骤S303、提取目标图像的图像特征数据,将目标图像的图像特征数据存储到预设外部存储空间中。
对于用户对目标图像的数据新增请求,为了避免用户数据丢失,提取目标图像的图像特征数据,先将目标图像的图像特征数据存储到预设外部存储空间中。
外部存储空间中存储有用户的所有数据,可以作为基准数据。通过基本检索服务,定时地根据预设外部存储空间中的图像特征数据更新对应内存中的图像特征数据,从而可以避免用户图像特征数据的丢失,保证基本检索服务对应内存中的图像特征数据是完备的。
例如,通过定时任务,可以每隔预设时长,进行一次内存中图像特征数据的更新。其中,预设时长可以根据实际应用场景进行设定和调整,本实施例此处不做具体限定。例如预设时长可以是一天、三天或者一周,等。
本申请实施例中,提取图像的图像特征数据的方法可以采用用户指定的特征提取方法或者***设定的特征提取方法实现,具体可以是任意一种提取图像的特征数据的方法,本实施例此处不做具体限定。
示例性地,提取目标图像的图像特征数据,可以采用如下方式实现:
确定目标图像对应的目标垂类;采取与目标垂类对应的特征提取模型,提取目标图像的图像特征数据。
相应地,在进行图像检索时,通过基本检索服务,根据图像检索请求,在用户的数据页中进行图像检索,具体可以采用如下方式实现:
确定图像检索请求中的待检索图像对应的目标垂类;采取与目标垂类对应的特征提取模型,提取待检索图像的图像特征数据;通过基本检索服务,采用与目标垂类对应的检索策略,根据待检索图像的图像特征数据,在用户的数据页中进行图像检索。
本申请实施例中,根据图片垂类的不同,可以配置不同的特征提取方法和不同的检索方法,能够实现图像检索***支持多垂类图像检索,使得图像检索的功能更加灵活和丰富,能够满足用户的多种类型的检索需求。例如,相同图片的检索,商品图片检索可采用不同模型进行特征提取,然后在检索过程中定制对应的检索方式。检索方式可以包括:检索级数(如一级检索或者多级检索)、每一级检索的检索类型(如正排检索、倒排检索、区间检索等)、特征比对函数(如余弦距离、欧式距离、汉明距离等)等。检索功能可以通配置文件自定义,本实施例此处不做具体限定。
步骤S304、若写入请求是对目标图像的数据删除请求,则将数据删除请求添加到请求队列中。
当用户需要删除图像检索***中的图像数据时,可以通过可视化界面提交对目标图像的数据删除请求。其中目标图像是指待删除图像特征数据的图像。
接收到用户的数据删除请求后,可以直接将数据删除请求添加到请求队列中,之后即可对用户做出响应,能够提高响应及时性。
步骤S305、若写入请求是对目标图像的数据更新请求,则将数据更新请求转换为数据删除请求和数据新增请求。
当用户需要更新图像检索***中的图像数据时,可以通过可视化界面提交对目标图像的数据更新请求。其中目标图像是指待更新图像特征数据的图像。
接收到用户对目标图像的数据更新请求后,可以将数据更新请求转换为数据删除请求和数据新增请求。
其中,数据删除请求用于删除该用户的数据页中该目标图像的原图像特征数据,数据新增请求用于将该目标图像的新的图像特征数据添加到该用户的数据页中。
步骤S306、将数据删除请求和数据新增请求依次添加到请求队列中。
将数据更新请求转换为数据删除请求和数据新增请求之后,将数据删除请求和数据新增请求依次添加到请求队列中,之后即可对用户做出响应,能够提高响应及时性。
步骤S307、提取目标图像的图像特征数据,将目标图像的图像特征数据存储到预设外部存储空间中。
对于转换后的对目标图像的数据新增请求,为了避免用户数据丢失,提取目标图像的图像特征数据,先将目标图像的图像特征数据存储到预设外部存储空间中,从而可以避免用户图像特征数据的丢失,保证基本检索服务对应内存中的图像特征数据是完备的。
步骤S308、响应写入请求。
步骤S309、定时地将请求队列中的写入请求按照请求用户进行整合,对每个请求用户的写入请求,按照添加到请求队列中的先后顺序,一次性地进行写入处理。
该步骤中,通过定时任务定期地从该请求队列中取出写入请求,根据用户进行整合,将同一用户的写入请求整合到同一组。对每个请求用户的写入请求,按照添加到请求队列中的先后顺序,依次对每一个写入请求进行写入处理。通过整合用户请求,对于同一用户的多次写入请求进行一次性地写入,减少读写竞争,提升写入效率,最终减少检索中锁争用的情形。
对于当前待处理的一个写入请求,根据写入请求的类型,采用不同的方式进行写入处理。
具体地,若当前待处理的写入请求为对目标图像的数据新增请求,则通过用户对应的基本检索服务,将目标图像的图像特征数据添加到用户的数据页中。
示例性地,通过用户对应的基本检索服务,以追加写入的模式,将目标图像的图像特征数据添加到用户的数据页中图像特征数据的末尾,可以确保数据页中数据的准确性和完备性。
具体地,若当前待处理的写入请求为对目标图像的数据删除请求,通过用户对应的基本检索服务,从用户的数据页中,将目标图像对应的图像特征数据标记为删除。
对于数据删除请求,只需要对对应的图像特征数据做删除标记,后续通过定时任务定时地对各个用户的数据页中标记为删除的图像特征数据进行删除,能够提高数据删除的效率。
示例性地,通过基本检索服务,定时地对各个用户的数据页中标记为删除的图像特征数据进行删除。
其中,删除标记对应的内容信息和删除标记所占用空间的大小,可以根基实际应用场景进行设定和调整,本实施例此处不做具体限定。例如,采用4字节的头部存储该删除标记,0代表启用,1代表删除。
通过将定时任务设置为秒级执行,能够实现新增和删除数据的秒级执行,也即是可以实现实时地数据新增、修改和更新,能够提高数据写入的及时性。
本申请实施例中,采用生产者消费者模式将写入请求转换为异步操作,当接收到用户的写入请求时,将用户的写入请求添加到请求队列中后,在真正进行数据写入前,即可响应写入请求。通过定时任务定期地从该请求队列中取出写入请求,根据用户进行整合,将同一用户的写入请求整合到同一组,对同一用户的多个写入请求进行一次性地写入处理。通过整合用户请求,对于同一用户的多次写入请求进行一次性地写入,减少读写竞争,提升写入效率,最终减少检索中锁争用的情形。
图6是本申请第五实施例提供的图像检测的装置示意图。本申请实施例提供的图像检测的装置可以执行图像检测的方法实施例提供的处理流程。如图6所示,该图像检测的装置60包括:数据管理模块601和图像检索模块602。
具体地,数据管理模块601用于响应于用户的图像检索请求,根据用户的数据位置信息,确定用户对应的基本检索服务;通过基本检索服务,根据基本检索服务对应内存中的数据页索引信息,确定用户的数据页。
图像检索模块602用于通过基本检索服务,根据图像检索请求,在用户的数据页中进行图像检索。
其中,每个基本检索服务对应内存中存储有至少一个用户的数据页,每个数据页用于存储对应用户的图像特征数据。
本申请实施例提供的装置可以具体用于执行上述第一实施例所提供的方法实施例,具体功能此处不再赘述。
本申请实施例通过为用户分配基本检索服务,基本检索服务中为对应的每个用户创建一个数据页,该数据页用于存储用户图片库的图像特征数据,能够实现多用户的图像特征数据的分离存储,当接收到用户的图像检索请求时,可以根据图像检索请求在该用户对应的数据页中进行图像检索,能够实现多用户的图像检索;另外通过扩展多个基本检索服务,可以并行地处理多个用户的检索请求,能够提高检索效率。
在上述第五实施例的基础上,本实施例中,数据管理模块还用于:
响应于用户的注册请求,为用户分配对应的基本检索服务;通过用户对应的基本检索服务,在对应内存中建立用户的数据页,并将用户及其数据页的对应关系添加到数据页索引信息中。
在一种可能的实施方式中,数据管理模块还用于:
将用户的数据位置信息存储到数据库中,数据位置信息至少包括用户对应的基本检索服务的标识。
在一种可能的实施方式中,数据管理模块还用于:
响应于用户的写入请求,若写入请求是对目标图像的数据新增请求,则将数据新增请求添加到请求队列中;提取目标图像的图像特征数据;将目标图像的图像特征数据存储到预设外部存储空间中;响应写入请求。
在一种可能的实施方式中,数据管理模块还用于:
响应于用户的写入请求,若写入请求是对目标图像的数据删除请求,则将数据删除请求添加到请求队列中;响应写入请求。
在一种可能的实施方式中,数据管理模块还用于:
响应于用户的写入请求,若写入请求是对目标图像的数据更新请求,则将数据更新请求转换为数据删除请求和数据新增请求;将数据删除请求和数据新增请求依次添加到请求队列中;提取目标图像的图像特征数据,将目标图像的图像特征数据存储到预设外部存储空间中;响应写入请求。
在一种可能的实施方式中,数据管理模块还用于:
定时地将请求队列中的写入请求按照请求用户进行整合,对每个请求用户的写入请求,按照添加到请求队列中的先后顺序,一次性地进行写入处理。
在一种可能的实施方式中,数据管理模块还用于:
若当前待处理的写入请求为对目标图像的数据新增请求,则通过用户对应的基本检索服务,将目标图像的图像特征数据添加到用户的数据页中。
在一种可能的实施方式中,数据管理模块还用于:
通过用户对应的基本检索服务,以追加写入的模式,将目标图像的图像特征数据添加到用户的数据页中图像特征数据的末尾。
在一种可能的实施方式中,数据管理模块还用于:
若当前待处理的写入请求为对目标图像的数据删除请求,通过用户对应的基本检索服务,从用户的数据页中,将目标图像对应的图像特征数据标记为删除。
在一种可能的实施方式中,数据管理模块还用于:
通过基本检索服务,定时地根据预设外部存储空间中的图像特征数据更新对应内存中的图像特征数据。
在一种可能的实施方式中,数据管理模块还用于:
通过基本检索服务,定时地对各个用户的数据页中标记为删除的图像特征数据进行删除。
在一种可能的实施方式中,数据管理模块还用于:
确定目标图像对应的目标垂类;采取与目标垂类对应的特征提取模型,提取目标图像的图像特征数据。
在一种可能的实施方式中,图像检索模块还用于:
确定图像检索请求中的待检索图像对应的目标垂类;采取与目标垂类对应的特征提取模型,提取待检索图像的图像特征数据;通过基本检索服务,采用与目标垂类对应的检索策略,根据待检索图像的图像特征数据,在用户的数据页中进行图像检索。
在一种可能的实施方式中,数据管理模块还用于:
定时地获取每个基本检索服务对应内存的剩余容量;若某一基本检索服务对应内存的剩余容量小于预设容量阈值,则将基本检索服务的至少一个用户迁移到另一个基本检索服务中。
本申请实施例提供的装置可以基于上述第二实施例提供的架构,具体用于执行上述第三实施例或第四实施例中任一实施例所提供的方法实施例,具体功能此处不再赘述。
本申请实施例实现了图像检索***的用户注册功能,实现多用户的图像特征数据的分离存储,从而使得图像检索***支持多用户多分库;进一步地,用户注册时,不事先分配用户申请的图片库容量对应的资源。这里采用惰性分配的原则,在用户新增数据时,使用多少分配多少;若当前的基本检索服务不够时,可以通过将用户迁移到新的基本检索服务中解决,从而本质上解决资源占用的问题。
本申请实施例中,采用生产者消费者模式将写入请求转换为异步操作,当接收到用户的写入请求时,将用户的写入请求添加到请求队列中后,在真正进行数据写入前,即可响应写入请求。通过定时任务定期地从该请求队列中取出写入请求,根据用户进行整合,将同一用户的写入请求整合到同一组,对同一用户的多个写入请求进行一次性地写入处理。通过整合用户请求,对于同一用户的多次写入请求进行一次性地写入,减少读写竞争,提升写入效率,最终减少检索中锁争用的情形。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图7所示,是根据本申请实施例的图像检索的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器Y01、存储器Y02,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图7中以一个处理器Y01为例。
存储器Y02即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的图像检索的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的图像检索的方法。
存储器Y02作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的图像检索的方法对应的程序指令/模块(例如,附图6所示的数据管理模块601和图像检索模块602)。处理器Y01通过运行存储在存储器Y02中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的图像检索的方法。
存储器Y02可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据图像检索的电子设备的使用所创建的数据等。此外,存储器Y02可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器Y02可选包括相对于处理器Y01远程设置的存储器,这些远程存储器可以通过网络连接至图像检索的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
图像检索的方法的电子设备还可以包括:输入装置Y03和输出装置Y04。处理器Y01、存储器Y02、输入装置Y03和输出装置Y04可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置Y03可接收输入的数字或字符信息,以及产生与图像检索的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置Y04可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算机程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算机程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (33)
1.一种图像检索的方法,包括:
响应于用户的图像检索请求,根据所述用户的数据位置信息,确定所述用户对应的基本检索服务;
通过所述基本检索服务,根据所述基本检索服务对应内存中的数据页索引信息,确定所述用户的数据页;
通过所述基本检索服务,根据所述图像检索请求,在所述用户的数据页中进行图像检索;
其中,每个所述基本检索服务对应内存中存储有至少一个用户的数据页,每个所述数据页用于存储对应用户的图像特征数据。
2.根据权利要求1所述的方法,还包括:
响应于所述用户的注册请求,为所述用户分配对应的基本检索服务;
通过所述用户对应的基本检索服务,在对应内存中建立所述用户的数据页,并将所述用户及其数据页的对应关系添加到所述数据页索引信息中。
3.根据权利要求2所述的方法,其中,所述响应于所述用户的注册请求,为所述用户分配对应的基本检索服务之后,还包括:
将所述用户的数据位置信息存储到数据库中,所述数据位置信息至少包括所述用户对应的基本检索服务的标识。
4.根据权利要求1所述的方法,还包括:
响应于所述用户的写入请求,若所述写入请求是对目标图像的数据新增请求,则将所述数据新增请求添加到请求队列中;
提取所述目标图像的图像特征数据;
将所述目标图像的图像特征数据存储到预设外部存储空间中;
响应所述写入请求。
5.根据权利要求1所述的方法,还包括:
响应于所述用户的写入请求,若所述写入请求是对目标图像的数据删除请求,则将所述数据删除请求添加到请求队列中;
响应所述写入请求。
6.根据权利要求1所述的方法,还包括:
响应于所述用户的写入请求,若所述写入请求是对目标图像的数据更新请求,则将所述数据更新请求转换为数据删除请求和数据新增请求;
将所述数据删除请求和数据新增请求依次添加到请求队列中;
提取所述目标图像的图像特征数据,将所述目标图像的图像特征数据存储到预设外部存储空间中;
响应所述写入请求。
7.根据权利要求4-6中任一项所述的方法,还包括:
定时地将所述请求队列中的写入请求按照请求用户进行整合,对每个所述请求用户的写入请求,按照添加到所述请求队列中的先后顺序,一次性地进行写入处理。
8.根据权利要求7所述的方法,其中,所述对每个所述请求用户的写入请求,按照添加到所述请求队列中的先后顺序,一次性地进行写入处理,包括:
若当前待处理的写入请求为对目标图像的数据新增请求,则通过所述用户对应的基本检索服务,将所述目标图像的图像特征数据添加到所述用户的数据页中。
9.根据权利要求8所述的方法,所述通过所述用户对应的基本检索服务,将所述目标图像的图像特征数据添加到所述用户的数据页中,包括:
通过所述用户对应的基本检索服务,以追加写入的模式,将所述目标图像的图像特征数据添加到所述用户的数据页中图像特征数据的末尾。
10.根据权利要求7所述的方法,其中,所述对每个所述请求用户的写入请求,按照添加到所述请求队列中的先后顺序,一次性地进行写入处理,包括:
若当前待处理的写入请求为对目标图像的数据删除请求,通过所述用户对应的基本检索服务,从所述用户的数据页中,将所述目标图像对应的图像特征数据标记为删除。
11.根据权利要求4或6所述的方法,还包括:
通过基本检索服务,定时地根据所述预设外部存储空间中的图像特征数据更新对应内存中的图像特征数据。
12.根据权利要求5或6所述的方法,还包括:
通过基本检索服务,定时地对各个用户的数据页中标记为删除的图像特征数据进行删除。
13.根据权利要求4或6所述的方法,其中,所述提取所述目标图像的图像特征数据,包括:
确定所述目标图像对应的目标垂类;
采取与所述目标垂类对应的特征提取模型,提取所述目标图像的图像特征数据。
14.根据权利要求13所述的方法,其中,所述通过所述基本检索服务,根据所述图像检索请求,在所述用户的数据页中进行图像检索,包括:
确定所述图像检索请求中的待检索图像对应的目标垂类;
采取与所述目标垂类对应的特征提取模型,提取所述待检索图像的图像特征数据;
通过所述基本检索服务,采用与所述目标垂类对应的检索策略,根据所述待检索图像的图像特征数据,在所述用户的数据页中进行图像检索。
15.根据权利要求1-6中任一项所述的方法,还包括:
定时地获取每个所述基本检索服务对应内存的剩余容量;
若某一基本检索服务对应内存的剩余容量小于预设容量阈值,则将所述基本检索服务的至少一个用户迁移到另一个基本检索服务中。
16.一种图像检索的装置,包括:
数据管理模块,用于响应于用户的图像检索请求,根据所述用户的数据位置信息,确定所述用户对应的基本检索服务;通过所述基本检索服务,根据所述基本检索服务对应内存中的数据页索引信息,确定所述用户的数据页;
图像检索模块,用于通过所述基本检索服务,根据所述图像检索请求,在所述用户的数据页中进行图像检索;
其中,每个所述基本检索服务对应内存中存储有至少一个用户的数据页,每个所述数据页用于存储对应用户的图像特征数据。
17.根据权利要求16所述的装置,所述数据管理模块还用于:
响应于所述用户的注册请求,为所述用户分配对应的基本检索服务;
通过所述用户对应的基本检索服务,在对应内存中建立所述用户的数据页,并将所述用户及其数据页的对应关系添加到所述数据页索引信息中。
18.根据权利要求17所述的装置,所述数据管理模块还用于:
将所述用户的数据位置信息存储到数据库中,所述数据位置信息至少包括所述用户对应的基本检索服务的标识。
19.根据权利要求16所述的装置,所述数据管理模块还用于:
响应于所述用户的写入请求,若所述写入请求是对目标图像的数据新增请求,则将所述数据新增请求添加到请求队列中;
提取所述目标图像的图像特征数据;
将所述目标图像的图像特征数据存储到预设外部存储空间中;
响应所述写入请求。
20.根据权利要求16所述的装置,所述数据管理模块还用于:
响应于所述用户的写入请求,若所述写入请求是对目标图像的数据删除请求,则将所述数据删除请求添加到请求队列中;
响应所述写入请求。
21.根据权利要求16所述的装置,所述数据管理模块还用于:
响应于所述用户的写入请求,若所述写入请求是对目标图像的数据更新请求,则将所述数据更新请求转换为数据删除请求和数据新增请求;
将所述数据删除请求和数据新增请求依次添加到请求队列中;
提取所述目标图像的图像特征数据,将所述目标图像的图像特征数据存储到预设外部存储空间中;
响应所述写入请求。
22.根据权利要求19-21中任一项所述的装置,所述数据管理模块还用于:
定时地将所述请求队列中的写入请求按照请求用户进行整合,对每个所述请求用户的写入请求,按照添加到所述请求队列中的先后顺序,一次性地进行写入处理。
23.根据权利要求22所述的装置,所述数据管理模块还用于:
若当前待处理的写入请求为对目标图像的数据新增请求,则通过所述用户对应的基本检索服务,将所述目标图像的图像特征数据添加到所述用户的数据页中。
24.根据权利要求23所述的装置,所述数据管理模块还用于:
通过所述用户对应的基本检索服务,以追加写入的模式,将所述目标图像的图像特征数据添加到所述用户的数据页中图像特征数据的末尾。
25.根据权利要求22所述的装置,所述数据管理模块还用于:
若当前待处理的写入请求为对目标图像的数据删除请求,通过所述用户对应的基本检索服务,从所述用户的数据页中,将所述目标图像对应的图像特征数据标记为删除。
26.根据权利要求19或21所述的装置,所述数据管理模块还用于:
通过基本检索服务,定时地根据所述预设外部存储空间中的图像特征数据更新对应内存中的图像特征数据。
27.根据权利要求20或21所述的装置,所述数据管理模块还用于:
通过基本检索服务,定时地对各个用户的数据页中标记为删除的图像特征数据进行删除。
28.根据权利要求19或21所述的装置,所述数据管理模块还用于:
确定所述目标图像对应的目标垂类;
采取与所述目标垂类对应的特征提取模型,提取所述目标图像的图像特征数据。
29.根据权利要求28所述的装置,所述图像检索模块还用于:
确定所述图像检索请求中的待检索图像对应的目标垂类;
采取与所述目标垂类对应的特征提取模型,提取所述待检索图像的图像特征数据;
通过所述基本检索服务,采用与所述目标垂类对应的检索策略,根据所述待检索图像的图像特征数据,在所述用户的数据页中进行图像检索。
30.根据权利要求16-21中任一项所述的装置,所述数据管理模块还用于:
定时地获取每个所述基本检索服务对应内存的剩余容量;
若某一基本检索服务对应内存的剩余容量小于预设容量阈值,则将所述基本检索服务的至少一个用户迁移到另一个基本检索服务中。
31.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-15中任一项所述的方法。
32.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-15中任一项所述的方法。
33.一种图像检索的方法,包括:
响应于用户的图像检索请求,根据所述用户的数据位置信息,确定所述用户的数据页;
根据所述图像检索请求,在所述用户的数据页中进行图像检索;其中,每个所述数据页用于存储对应用户的图像特征数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010595252.9A CN111782834A (zh) | 2020-06-28 | 2020-06-28 | 图像检索的方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010595252.9A CN111782834A (zh) | 2020-06-28 | 2020-06-28 | 图像检索的方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111782834A true CN111782834A (zh) | 2020-10-16 |
Family
ID=72760982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010595252.9A Withdrawn CN111782834A (zh) | 2020-06-28 | 2020-06-28 | 图像检索的方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782834A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360689A (zh) * | 2021-06-28 | 2021-09-07 | 北京百度网讯科技有限公司 | 图像检索***、方法、相关装置及计算机程序产品 |
-
2020
- 2020-06-28 CN CN202010595252.9A patent/CN111782834A/zh not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360689A (zh) * | 2021-06-28 | 2021-09-07 | 北京百度网讯科技有限公司 | 图像检索***、方法、相关装置及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9996565B2 (en) | Managing an index of a table of a database | |
CN107391653B (zh) | 一种分布式NewSQL数据库***及图片数据储存方法 | |
US8793227B2 (en) | Storage system for eliminating duplicated data | |
US10592532B2 (en) | Database sharding | |
US10002170B2 (en) | Managing a table of a database | |
KR20200027413A (ko) | 데이터 저장 방법, 장치 및 시스템 | |
CN111241108B (zh) | 基于键值对kv***的索引方法、装置、电子设备和介质 | |
CN109857723B (zh) | 基于可扩容数据库集群的动态数据迁移方法及相关设备 | |
CN104881466A (zh) | 数据分片的处理以及垃圾文件的删除方法和装置 | |
CN113806300B (zh) | 数据存储方法、***、装置、设备及存储介质 | |
CN111782834A (zh) | 图像检索的方法、装置、设备及计算机可读存储介质 | |
CN112181391A (zh) | 一种可动态扩展数据的方法及*** | |
CN111782588A (zh) | 一种文件读取方法、装置、设备和介质 | |
CN112507100B (zh) | 一种问答***的更新处理方法和装置 | |
US11841857B2 (en) | Query efficiency using merged columns | |
US11514016B2 (en) | Paging row-based data stored as objects | |
US20220253455A1 (en) | Reducing character set conversion | |
CN107169098A (zh) | 数据搬运方法、数据搬运装置及电子设备 | |
US10417133B2 (en) | Reference cache maintenance optimizer | |
CN113946702A (zh) | 图像特征的存储方法、装置、存储介质及电子设备 | |
US8645316B2 (en) | Storing records in databases in a randomized manner to effectively utilize database servers | |
CN115480879A (zh) | 一种命名空间的创建方法、装置及设备 | |
CN117608526A (zh) | 一种数据模拟方法、装置、设备和存储介质 | |
CN115858496A (zh) | 一种数据迁移的方法和装置 | |
CN114281921A (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: 20201016 |