CN114117111A - 一种信息检索方法、装置及系统 - Google Patents
一种信息检索方法、装置及系统 Download PDFInfo
- Publication number
- CN114117111A CN114117111A CN202111314052.2A CN202111314052A CN114117111A CN 114117111 A CN114117111 A CN 114117111A CN 202111314052 A CN202111314052 A CN 202111314052A CN 114117111 A CN114117111 A CN 114117111A
- Authority
- CN
- China
- Prior art keywords
- vector
- server
- index
- retrieved
- vector index
- 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
- 238000000034 method Methods 0.000 title claims abstract description 64
- 239000013598 vector Substances 0.000 claims abstract description 354
- 238000013507 mapping Methods 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 235000011468 Albizia julibrissin Nutrition 0.000 description 2
- 241001070944 Mimosa Species 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 241000287828 Gallus gallus Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 235000016709 nutrition Nutrition 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种信息检索方法、装置及系统,其方法包括:获取待检索信息,待检索信息中包含待检索图像;提取待检索图像中的待检索特征向量;在向量索引中确定与待检索特征向量匹配的目标特征向量,其中,服务器的内存中预先创建有向量索引,且服务器的硬盘中预先创建有与向量索引相对应的向量索引快照;将目标特征向量对应的目标图像确定为检索结果。由于本申请实施例在服务器的硬盘中创建与向量索引相对应的向量索引快照,使得在服务器发生故障导致内存中的向量索引丢失时,可以从该向量索引快照中快速恢复内存中的向量索引,避免因需要在内存中重新建立向量索而影响业务的正常运行。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据恢复方法及装置。
背景技术
随着技术的不断发展,以手机为代表的终端已经得到广泛的应用,用户可以很方便的通过手机上网来获取相关信息。
目前,通常的方式是相关厂家通过相关的检索系统为用户提供信息检索服务,例如,通过获取用户拍摄或者上传的菜品照片,通过相关模型可以实现菜品图片内容相似度判断,从而实现菜品识别功能。
然而,现有技术中在对菜品等图像进行信息检索时,通常需要将用户提交的菜品照片与数据库中大量的菜品照片进行相似度计算,以获得检索结果。然而,如果在计算过程中服务器一旦发生故障而宕机,其数据也将会丢失,还需要重新进行计算,使得处理效率较低。
发明内容
为解决上述技术问题,本申请示出了信息检索方法、装置及系统。
第一方面,本申请实施例提供了一种信息检索方法,应用于服务器,所述方法包括:
获取待检索信息,所述待检索信息中包含待检索图像;
提取所述待检索图像中的待检索特征向量;
在向量索引中确定与所述待检索特征向量匹配的目标特征向量,其中,所述服务器的内存中预先创建有所述向量索引,且所述服务器的硬盘中预先创建有与所述向量索引相对应的向量索引快照;
将所述目标特征向量对应的目标图像确定为检索结果。
可选地,所述方法还包括:
在监测到所述服务器发生故障时,判断所述服务器的内存中是否存在所述向量索引;
如果所述服务器的内存中不存在所述向量索引,将所述服务器的硬盘中的向量索引快照加载到所述服务器的内存中。
可选地,所述向量索引快照包括目标映射文件,在所述服务器的硬盘中预先创建与所述向量索引相对应的向量索引快照,包括:
在所述服务器的硬盘上创建所述目标映射文件,所述目标映射文件与所述索引向量相对应;
在检测到所述向量索引更新时,同步更新所述目标映射文件,以使所述目标映射文件与所述向量索引保持同步。
可选地,所述向量索引包括的特征向量存储于预设数据库中,所述预设数据库与所述服务器通信连接;预先在所述服务器的内存中建立向量索引,包括:
获取所述预设数据库中的预设图像特征向量;
将所述预设图像特征向量存储到所述内存的预设空间中,所述预设空间的大小是基于所述预设图像特征向量的数据量确定的;
基于预设索引算法在所述服务器的内存中构建所述预设图像特征向量的向量索引。
第二方面,本申请实施例提供了一种信息检索装置,应用于服务器,所述装置包括:
信息获取单元,用于获取待检索信息,所述待检索信息中包含待检索图像;
特征提取单元,用于提取所述待检索图像中的待检索特征向量;
匹配单元,用于在向量索引中确定与所述待检索特征向量匹配的目标特征向量,其中,所述服务器的内存中预先创建有所述向量索引,且所述服务器的硬盘中预先创建有与所述向量索引相对应的向量索引快照;
确定单元,用于将所述目标特征向量对应的目标图像确定为检索结果。
可选地,所述装置还包括:
索引判断单元,用于在监测到所述服务器发生故障时,判断所述服务器的内存中是否存在所述向量索引;
加载单元,用于在所述服务器的内存中不存在所述向量索引时,将所述服务器的硬盘中的向量索引快照加载到所述服务器的内存中。
可选地,所述向量索引快照包括目标映射文件,所述装置还包括索引建立单元,所述索引建立单元包括:
文件创建模块,用于在所述服务器的硬盘上创建所述目标映射文件,所述目标映射文件与所述索引向量相对应;
更新模块,用于在检测到所述向量索引更新时,同步更新所述目标映射文件,以使所述目标映射文件与所述向量索引保持同步。
可选地,所述向量索引包括的特征向量存储于预设数据库中,所述预设数据库与所述服务器通信连接;所述索引建立单元,包括:
向量获取模块,用于获取所述预设数据库中的预设图像特征向量;
存储模块,用于将所述预设图像特征向量存储到所述内存的预设空间中,所述预设空间的大小是基于所述预设图像特征向量的数据量确定的;
索引构建模块,用于基于预设索引算法在所述服务器的内存中构建所述预设图像特征向量的向量索引。
第三方面,本申请实施例提供了一种信息检索系统,包括:服务器和数据库;
所述服务器,用于获取待检索信息,所述待检索信息中包含待检索图像;并提取所述待检索图像中的待检索特征向量;
所述数据库,用于提取预设图像库中预设图像的特征,并将所述预设图像的特征处理为预设特征向量;
所述服务器,还用于在向量索引中确定与所述待检索特征向量匹配的目标特征向量,将所述目标特征向量对应的目标图像确定为检索结果,其中,所述服务器的内存中预先创建有所述向量索引,且所述服务器的硬盘中预先创建有与所述向量索引相对应的向量索引快照。
第四方面,本申请还提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述的信息检索方法的步骤。
第五方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的信息检索方法的步骤。
与现有技术相比,本申请包括以下优点:
本申请实施例提供的信息检索方法、装置及系统,在需要对待检索图像进行检索时,会提取该待检索图像的待检索特征向量,通过将待检索特征向量在向量索引中进行检索,检索到与待检索向量匹配的目标特征向量,并将目标特征向量对应的目标图像作为检索结果。由于本申请实施例在服务器的硬盘中创建与所述向量索引相对应的向量索引快照,使得在服务器发生故障导致内存中的向量索引丢失时,可以从该向量索引快照中快速恢复内存中的向量索引,避免因需要在内存中重新建立向量索而影响业务的正常运行。
附图说明
图1是本申请的一种信息检索方法的步骤流程图;
图2是本申请的一种信息检索的场景流程示意图;
图3是本申请的一种信息检索装置的结构框图;
图4是本申请的一种电子设备的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请的一种信息检索方法的步骤流程图,本申请提供的信息检索方法,可以应用在服务器中,具体可以包括如下步骤:
S110,获取待检索信息,其中,该待检索信息中包含待检索图像。
本申请提供的实施例中,用户在需要对相关信息进行检索时,会将需要检索的信息输入到检索系统,检索系统会对用户输入的待检索信息进行检索,并反馈检索结果。
实施例中可以是将检索系统部署到服务器中,服务器会接收用户输入的检索信息,该检索信息可以是用户用手机拍摄的图片,或者对某些图像或视频的截图等。例如,用户在视频或者网站上看到一道精美的菜品图样时,会将包含该菜品的图像上传到服务器,这样服务器会对该图像进行检索,给出菜品具体信息的检索结果。示例性的,服务器会给出相同或者相似菜品图像的检索结果,且该结果中的图像上可以携带相关菜品名称等信息。
其中,本申请实施例中的服务器,可以是向量检索服务器。
S120,提取待检索图像中的待检索特征向量。
由于一副完整的图像占用空间较大,且数据量很大,如果是对完整的图像进行处理,计算量太且耗时较多,效率也低。因此,本申请实施例在对图像进行处理和识别的过程中,会对图像进行预处理,并提取理图像的特征,然后将提取的特征转换为向量,得到特征向量。即提取待检索图像中的图像特征,然后将该图像特征以向量的形式表示,得到待检索图像的待检索特征向量,以便后续通过该检索特征向量与其他图像的特征向量进行匹配来来计算相似度。
S130,在向量索引中确定与待检索特征向量匹配的目标特征向量。
其中,所述服务器的内存中预先创建有所述向量索引,且所述服务器的硬盘中预先创建有与所述向量索引相对应的向量索引快照。
S140,将目标特征向量对应的目标图像作为检索结果。
本申请实施例中,在获得待检索特征向量时,可以在向量索引中计算待检索特征向量与向量索引中的各个特征向量之间的相似度,来找到与待检索图像最相似的一个或者多个图像,具体可以通过求向量之间的距离等方式来确定,例如计算余弦相似度等方式等等。
通过确定向量索引中与待检索特征向量相匹配的目标特征向量,再确定与该目标特征向量相对应的目标图像,可以将该目标图像作为待检索图像相匹配的图像,并作为检索结果。例如,该待检索图像为用户手机拍摄一道菜品图像,例如宫保鸡丁,用户不清楚该菜品的名称,需要进行检索,那么服务器通过在内存中的向量索引中的检索,可以找到与该菜品图像最接近的图像,并将找到的目标图像作为检索结果反馈给用户,以便用户清楚该菜品的相关信息,当然,该目标图像上可以携带菜品的名称、相关做法和营养价值等菜品信息。
需要说明的是,本申请实施例中,向量索引包括的特征向量,可以保存在服务器本地,还可以保存在预设数据库中保存,当然还可以在服务器本地和预设数据库中同时保存,以便在服务器发生崩溃时,可以从预设数据库中获取特征向量来创建向量索引。本申请实施例以将特征向量保存在独立的数据库中为例进行说明。
其中,向量索引所包括的特征向量是对检索底库中的预设图像进行特征提取并转换为预设特征向量处理后得到的。
本申请实施例还会在服务器的硬盘中创建与向量索引相对应的向量索引快照,这样在服务器宕机重启后,可以快速的通过加载服务器的硬盘中的向量索引快照来恢复服务器的内存中的向量索引,避免因重新建立向量索引带来的影响业务正常运行的问题。
其中,实施例中的向量索引快照可以包括目标映射文件,在服务器的硬盘中预先创建与向量索引相对应的向量索引快照,具体可以包括以下步骤:
S131,在服务器的硬盘上创建目标映射文件,目标映射文件与索引向量相对应。
S132,在检测到向量索引更新时,同步更新目标映射文件,以使目标映射文件与向量索引保持同步。
本申请实施例可以通过将用于构建向量索引的底库向量数据存储在独立的数据库服务中,与服务器为相互独立的两部分。构建向量索引的过程为从数据库批量获取向量数据,例如可以通过Linux操作系统的mmap系统调用申请服务器中的内存空间,并在硬盘中创建目标映射文件,使用目标映射有硬盘文件的内存空间保存向量索引数据,并通过msync系统调用保持内存和硬盘中目标映射数据的一致性。
因此,基于该实施例,向量索引包括的特征向量存储于预设数据库中,预设数据库与服务器通信连接;预先在服务器的内存中建立向量索引,可以包括如下步骤:
S133,获取预设数据库中的预设图像特征向量;
S134,将预设图像特征向量存储到内存的预设空间中,预设空间的大小是基于预设图像特征向量的数据量确定的;
S135,基于预设索引算法在服务器的内存中构建预设图像特征向量的向量索引。
本申请实施例通过服务器的内存读取预设服务器中的预设图像特征向量,即从数据库批量获取向量数据,例如可以通过Linux操作系统的mmap系统调用申请服务器的内存空间,使得将预设图像特征向量存储到内存的预设空间中。实施例中根据预设图像特征向量的数据量确定内存中预设空间的大小。另外,预设索引算法可以是倒排算法或图算法等等。通过相关预设索引算法在服务器的内存中构建预设图像特征的向量索引。以便在该向量索引中确定待检索特征向量对应的目标特征向量。
本申请实施例提供的信息检索方法,在需要对待检索图像进行检索时,会提取该待检索图像的待检索特征向量,通过将待检索特征向量在向量索引中进行检索,检索到与待检索向量匹配的目标特征向量,并将目标特征向量对应的目标图像作为检索结果。由于本申请实施例在服务器的硬盘中创建与所述向量索引相对应的向量索引快照,使得在服务器发生故障导致内存中的向量索引丢失时,可以从该向量索引快照中快速恢复内存中的向量索引,避免因需要在内存中重新建立向量索而影响业务的正常运行。
基于上述实施例,在本申请提供的又一实施例中,该方法还可以包括以下步骤:
在步骤S150中,在监测到服务器发生故障时,判断服务器的内存中是否存在向量索引。
如果服务器的内存中不存在向量索引,在步骤S160中,将服务器的硬盘中的向量索引快照加载到服务器的内存中。
需要说明的是,一旦服务器因为代码问题或者操作系统故障导致服务进程崩溃,内存中的向量索引就会丢失。相关技术通常的恢复方式是从硬盘重新读取特征向量数据,再次构建向量索引。而构建索引是一个非常耗时的操作,以100万256维浮点数向量构建倒排索引为例,在8核16G内存的服务器上耗时约为3分钟。
由于重建索引期间服务无法使用,而重建过程时间又比较长,相关的向量检索系统一般通过部署同一个向量索引的多个副本服务节点保证可用性,单个节点宕机之后进入重建索引状态,其他节点维持正常服务。为了保证多个副本服务节点向量数据的一致性,常见做法是部署主从节点,主从同步更新向量数据,主节点宕机之后服务请求切换到从节点,主节点进入重建索引状态,完成重建之后再切换请求。
由于向量检索系统一般会支持直接面向用户,对延时和吞吐要求比较高的业务,如人脸识别和商品识别系统,所以部署多副本服务节点的方式需要保证服务器有一定冗余。对于向量索引规模较大,索引构建时间较长的服务,需要配置的服务器冗余资源就比较多,带来更高的运维成本。
而本申请实施例通过在服务器的硬盘中创建与向量索引相对应的向量索引快照,这样在服务器宕机重启后,可以快速的通过加载服务器的硬盘中的向量索引快照来恢复服务器的内存中的向量索引,避免因重新建立向量索引带来的影响业务正常运行的问题。
结合上述实施例,在本申请提供的又一实施例中,如图2所示,本申请还提供了一种场景实施例,在该实施例中,上述方法中的服务器具体可以是向量检索服务器,该向量检索服务器可以接收用户通过终端发送的待检索信息,并向用户对应的终端上返回检索结果。另外,该向量检索服务器可以从数据库中获取向量数据,该向量数据包含预设图像特征向量。数据库中的向量数据是通过将检索底库中的图像通过特征提取并向量化得到的向量数据;并且还可以将新增底库中的图像通过特征提取并向量化得到向量数据提供给数据库。
需要说明的是,本申请实施例是将用于构建向量索引的底库向量数据存储在独立的数据库服务中,和向量检索服务器划分为相互独立的两部分。构建索引的过程为从数据库批量获取向量数据,通过Linux操作系统的mmap系统调用申请内存空间,并在硬盘中创建映射文件,使用映射有硬盘文件的内存空间保存向量索引数据,并通过msync系统调用保持内存和硬盘中映射数据的一致性。
而相关的技术中,通常是将向量数据存储到服务器的本地硬盘中,这种情况下一旦服务因为代码问题或者操作系统故障导致服务进程崩溃,内存中的向量索引就会丢失。恢复方式是从硬盘重新读取向量数据,再次构建向量索引。构建索引是一个非常耗时的操作,以100万256维浮点数向量构建倒排索引为例,在8核16G内存的服务器上耗时约为3分钟。使得在重新向量构建期间,会严重影响检索业务的正常运行。另外,由于向量检索系统一般会支持直接面向用户,对延时和吞吐要求比较高的业务,对于向量索引规模较大,索引构建时间较长的服务,需要配置的服务器冗余资源就比较多,带来更高的运维成本。
而本申请实施例用于构建向量索引的原始向量数据存储于独立的数据库服务中,充分利用新一代高可用分布式数据库的优势,无论向量检索服务器出现任何故障,原始向量数据都不会受到影响。并且针对服务进程崩溃问题的处理更加高效。当向量检索服务进程由于各种原因崩溃时,内存中向量索引丢失,现有系统的解决方案是读取硬盘上的向量数据,重建索引。在本申请实施例中,守护进程将重启服务进程,直接从硬盘中对应的向量索引快照文件读取数据,恢复到内存中。由于mmap系统调用的机制是虚拟内存空间映射,恢复过程不需要复制硬盘数据到内存数据,而是直接完成地址空间申请和映射,所以速度非常快,100万256维向量构建的倒排索引能够在1秒完成恢复。可以大大缩短向量索引的恢复时间。
结合图2,其执行流程如下:
构建索引流程需要①和②两个处理操作,操作①用于检索的图像底库,批量经过深度学习模型提取向量特征,将向量数据保存在数据库中。操作②从数据库批量读取向量到内存,选取合适的预设索引算法构建索引。
图像检索流程需要③和④两个处理操作中,操作③从待检索图提取向量特征,在向量索引中检索到距离最近的向量结果,操作④获取向量索引的检索结果,从而找到内容最相似的图片结果。例如,用户上传一张包含植物的图像时,经过检索,可以找到与该图像最为匹配的目标图像,该目标图像携带相关信息,例如该目标图像为包含羞草的图像,上面显示有含羞草的名称和其他相关信息。
增加底库图片流程需要⑤和②两个处理操作,操作⑤从新增底库图片提取向量特征,添加到数据库中,操作②从数据库读取全量向量数据重建索引,或者读取新增向量数据加入索引。
本申请实施例通过将原始向量数据保存在数据库服务,并在硬盘中保存向量索引快照实现了索引快速恢复功能,可以降低服务宕机对向量检索服务的影响,同时相对于现有系统方案降低了服务器运维成本。
基于上述实施例,在本申请提供的又一实施例中,还提供了一种信息检索系统,该系统包括:服务器和数据库;
所述服务器,用于获取待检索信息,所述待检索信息中包含待检索图像;并提取所述待检索图像中的待检索特征向量;
所述数据库,用于提取预设图像库中预设图像的特征,并将所述预设图像的特征处理为预设特征向量;
所述服务器,还用于在向量索引中确定与所述待检索特征向量匹配的目标特征向量,将所述目标特征向量对应的目标图像确定为检索结果,其中,所述服务器的内存中预先创建有所述向量索引,且所述服务器的硬盘中预先创建有与所述向量索引相对应的向量索引快照。
本申请实施例提供的信息检索方法、装置及系统,在需要对待检索图像进行检索时,会提取该待检索图像的待检索特征向量,通过将待检索特征向量在向量索引中进行检索,检索到与待检索向量匹配的目标特征向量,并将目标特征向量对应的目标图像作为检索结果。由于本申请实施例在服务器的硬盘中创建与所述向量索引相对应的向量索引快照,使得在服务器发生故障导致内存中的向量索引丢失时,可以从该向量索引快照中快速恢复内存中的向量索引,避免因需要在内存中重新建立向量索而影响业务的正常运行。
在本申请提供的又一实施例中,所述服务器还用于在监测到所述服务器发生故障时,判断所述服务器的内存中是否存在所述向量索引;如果所述服务器的内存中不存在所述向量索引,将所述服务器的硬盘中的向量索引快照加载到所述服务器的内存中。
在本申请提供的又一实施例中,所述向量索引快照包括目标映射文件,所述服务器还用于在所述服务器的硬盘上创建所述目标映射文件,所述目标映射文件与所述索引向量相对应;在检测到所述向量索引更新时,同步更新所述目标映射文件,以使所述目标映射文件与所述向量索引保持同步。
在本申请提供的又一实施例中,所述向量索引包括的特征向量存储于预设数据库中,所述预设数据库与所述服务器通信连接;所述服务器还用于,获取所述预设数据库中的预设图像特征向量;将所述预设图像特征向量存储到所述内存的预设空间中,所述预设空间的大小是基于所述预设图像特征向量的数据量确定的;基于预设索引算法在所述服务器的内存中构建所述预设图像特征向量的向量索引。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作并不一定是本申请所必须的。
参照图3,示出了本申请的一种信息检索装置的结构框图,该装置应用于服务器,该装置具体可以包括:
信息获取单元310,用于获取待检索信息,所述待检索信息中包含待检索图像;
特征提取单元320,用于提取所述待检索图像中的待检索特征向量;
匹配单元330,用于在向量索引中确定与所述待检索特征向量匹配的目标特征向量,其中,所述服务器的内存中预先创建有所述向量索引,且所述服务器的硬盘中预先创建有与所述向量索引相对应的向量索引快照;
确定单元340,用于将所述目标特征向量对应的目标图像确定为检索结果。
本申请实施例提供的信息检索方法、装置及系统,在需要对待检索图像进行检索时,会提取该待检索图像的待检索特征向量,通过将待检索特征向量在向量索引中进行检索,检索到与待检索向量匹配的目标特征向量,并将目标特征向量对应的目标图像作为检索结果。由于本申请实施例在服务器的硬盘中创建与所述向量索引相对应的向量索引快照,使得在服务器发生故障导致内存中的向量索引丢失时,可以从该向量索引快照中快速恢复内存中的向量索引,避免因需要在内存中重新建立向量索而影响业务的正常运行。
可选地,所述装置还包括:
索引判断单元,用于在监测到所述服务器发生故障时,判断所述服务器的内存中是否存在所述向量索引;
加载单元,用于在所述服务器的内存中不存在所述向量索引时,将所述服务器的硬盘中的向量索引快照加载到所述服务器的内存中。
可选地,所述向量索引快照包括目标映射文件,所述装置还包括索引建立单元,所述索引建立单元包括:
文件创建模块,用于在所述服务器的硬盘上创建所述目标映射文件,所述目标映射文件与所述索引向量相对应;
更新模块,用于在检测到所述向量索引更新时,同步更新所述目标映射文件,以使所述目标映射文件与所述向量索引保持同步。
可选地,所述向量索引包括的特征向量存储于预设数据库中,所述预设数据库与所述服务器通信连接;所述索引建立单元,包括:
向量获取模块,用于获取所述预设数据库中的预设图像特征向量;
存储模块,用于将所述预设图像特征向量存储到所述内存的预设空间中,所述预设空间的大小是基于所述预设图像特征向量的数据量确定的;
索引构建模块,用于基于预设索引算法在所述服务器的内存中构建所述预设图像特征向量的向量索引。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本申请提供的又一实施例中,本申请还提供了一种服务器,包括存储器410、处理器420及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述的信息检索方法的步骤。
在本申请提供的又一实施例中,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的信息检索方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (11)
1.一种信息检索方法,其特征在于,应用于服务器,所述方法包括:
获取待检索信息,所述待检索信息中包含待检索图像;
提取所述待检索图像中的待检索特征向量;
在向量索引中确定与所述待检索特征向量匹配的目标特征向量,其中,所述服务器的内存中预先创建有所述向量索引,且所述服务器的硬盘中预先创建有与所述向量索引相对应的向量索引快照;
将所述目标特征向量对应的目标图像确定为检索结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在监测到所述服务器发生故障时,判断所述服务器的内存中是否存在所述向量索引;
如果所述服务器的内存中不存在所述向量索引,将所述服务器的硬盘中的向量索引快照加载到所述服务器的内存中。
3.根据权利要求1所述的方法,其特征在于,所述向量索引快照包括目标映射文件,在所述服务器的硬盘中预先创建与所述向量索引相对应的向量索引快照,包括:
在所述服务器的硬盘上创建所述目标映射文件,所述目标映射文件与所述索引向量相对应;
在检测到所述向量索引更新时,同步更新所述目标映射文件,以使所述目标映射文件与所述向量索引保持同步。
4.根据权利要求1~3任一所述的方法,其特征在于,所述向量索引包括的特征向量存储于预设数据库中,所述预设数据库与所述服务器通信连接;预先在所述服务器的内存中建立向量索引,包括:
获取所述预设数据库中的预设图像特征向量;
将所述预设图像特征向量存储到所述内存的预设空间中,所述预设空间的大小是基于所述预设图像特征向量的数据量确定的;
基于预设索引算法在所述服务器的内存中构建所述预设图像特征向量的向量索引。
5.一种信息检索装置,其特征在于,应用于服务器,所述装置包括:
信息获取单元,用于获取待检索信息,所述待检索信息中包含待检索图像;
特征提取单元,用于提取所述待检索图像中的待检索特征向量;
匹配单元,用于在向量索引中确定与所述待检索特征向量匹配的目标特征向量,其中,所述服务器的内存中预先创建有所述向量索引,且所述服务器的硬盘中预先创建有与所述向量索引相对应的向量索引快照;
确定单元,用于将所述目标特征向量对应的目标图像确定为检索结果。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
索引判断单元,用于在监测到所述服务器发生故障时,判断所述服务器的内存中是否存在所述向量索引;
加载单元,用于在所述服务器的内存中不存在所述向量索引时,将所述服务器的硬盘中的向量索引快照加载到所述服务器的内存中。
7.根据权利要求5所述的装置,其特征在于,所述向量索引快照包括目标映射文件,所述装置还包括索引建立单元,所述索引建立单元包括:
文件创建模块,用于在所述服务器的硬盘上创建所述目标映射文件,所述目标映射文件与所述索引向量相对应;
更新模块,用于在检测到所述向量索引更新时,同步更新所述目标映射文件,以使所述目标映射文件与所述向量索引保持同步。
8.根据权利要求5~7任一所述的装置,其特征在于,所述向量索引包括的特征向量存储于预设数据库中,所述预设数据库与所述服务器通信连接;所述索引建立单元,包括:
向量获取模块,用于获取所述预设数据库中的预设图像特征向量;
存储模块,用于将所述预设图像特征向量存储到所述内存的预设空间中,所述预设空间的大小是基于所述预设图像特征向量的数据量确定的;
索引构建模块,用于基于预设索引算法在所述服务器的内存中构建所述预设图像特征向量的向量索引。
9.一种信息检索系统,其特征在于,包括:服务器和数据库;
所述服务器,用于获取待检索信息,所述待检索信息中包含待检索图像;并提取所述待检索图像中的待检索特征向量;
所述数据库,用于提取预设图像库中预设图像的特征,并将所述预设图像的特征处理为预设特征向量;
所述服务器,还用于在向量索引中确定与所述待检索特征向量匹配的目标特征向量,将所述目标特征向量对应的目标图像确定为检索结果,其中,所述服务器的内存中预先创建有所述向量索引,且所述服务器的硬盘中预先创建有与所述向量索引相对应的向量索引快照。
10.一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4中任一项所述的信息检索方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的信息检索方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111314052.2A CN114117111A (zh) | 2021-11-08 | 2021-11-08 | 一种信息检索方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111314052.2A CN114117111A (zh) | 2021-11-08 | 2021-11-08 | 一种信息检索方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114117111A true CN114117111A (zh) | 2022-03-01 |
Family
ID=80381355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111314052.2A Pending CN114117111A (zh) | 2021-11-08 | 2021-11-08 | 一种信息检索方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114117111A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116257650A (zh) * | 2023-05-15 | 2023-06-13 | 微企(天津)信息技术有限公司 | 一种图像相似度检索系统及方法 |
WO2023241528A1 (zh) * | 2022-06-17 | 2023-12-21 | 阿里云计算有限公司 | 数据处理方法以及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843396A (zh) * | 2011-06-22 | 2012-12-26 | 中兴通讯股份有限公司 | 一种分布式缓存系统中的数据写入及读取方法及装置 |
CN104199827A (zh) * | 2014-07-24 | 2014-12-10 | 北京大学 | 基于局部敏感哈希的大规模多媒体数据的高维索引方法 |
CN110209866A (zh) * | 2019-05-30 | 2019-09-06 | 苏州浪潮智能科技有限公司 | 一种图像检索方法、装置、设备及计算机可读存储介质 |
CN111460231A (zh) * | 2020-03-10 | 2020-07-28 | 华为技术有限公司 | 电子设备以及电子设备的搜索方法、介质 |
CN112115281A (zh) * | 2020-09-17 | 2020-12-22 | 杭州海康威视数字技术股份有限公司 | 数据检索方法、装置及存储介质 |
-
2021
- 2021-11-08 CN CN202111314052.2A patent/CN114117111A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843396A (zh) * | 2011-06-22 | 2012-12-26 | 中兴通讯股份有限公司 | 一种分布式缓存系统中的数据写入及读取方法及装置 |
CN104199827A (zh) * | 2014-07-24 | 2014-12-10 | 北京大学 | 基于局部敏感哈希的大规模多媒体数据的高维索引方法 |
CN110209866A (zh) * | 2019-05-30 | 2019-09-06 | 苏州浪潮智能科技有限公司 | 一种图像检索方法、装置、设备及计算机可读存储介质 |
CN111460231A (zh) * | 2020-03-10 | 2020-07-28 | 华为技术有限公司 | 电子设备以及电子设备的搜索方法、介质 |
CN112115281A (zh) * | 2020-09-17 | 2020-12-22 | 杭州海康威视数字技术股份有限公司 | 数据检索方法、装置及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023241528A1 (zh) * | 2022-06-17 | 2023-12-21 | 阿里云计算有限公司 | 数据处理方法以及装置 |
CN116257650A (zh) * | 2023-05-15 | 2023-06-13 | 微企(天津)信息技术有限公司 | 一种图像相似度检索系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111124755B (zh) | 集群节点的故障恢复方法、装置、电子设备及存储介质 | |
CN107924362B (zh) | 数据库系统、服务器装置、计算机可读取的记录介质及信息处理方法 | |
CN114117111A (zh) | 一种信息检索方法、装置及系统 | |
CN112100152B (zh) | 业务数据处理方法、系统、服务器和可读存储介质 | |
CN104182294A (zh) | 一种文件备份、文件恢复方法及装置 | |
CN106817387B (zh) | 一种数据同步方法、装置和系统 | |
CN110232095B (zh) | 一种数据同步方法、装置、存储介质和服务器 | |
KR20180109921A (ko) | 데이터 저장과 서비스 처리 방법 및 장치 | |
CN111698330B (zh) | 存储集群的数据恢复方法、装置及服务器 | |
CN113297201B (zh) | 索引数据同步方法、系统及装置 | |
CN113111669A (zh) | 基于增量的前端多语言国际化翻译方法及装置 | |
CN113468143A (zh) | 数据迁移方法、系统、计算设备及存储介质 | |
CN112000850A (zh) | 进行数据处理的方法、装置、系统及设备 | |
CN108959548B (zh) | 业务请求的处理方法及装置 | |
CN113535430B (zh) | 应用数据读写分离方法、装置、计算机设备和存储介质 | |
CN114168588A (zh) | 一种向量数据库存储与检索方法 | |
CN110489432B (zh) | 基于模型的数据库自动同步方法、介质、设备及装置 | |
CN114416689A (zh) | 数据迁移方法、装置、计算机设备、存储介质 | |
JP2017134825A (ja) | 視聴覚データを含むコンテンツを選択するための方法、ならびに対応する電子装置、システム、コンピュータ読取り可能なプログラム、およびコンピュータ読取り可能な記憶媒体 | |
CN108429813B (zh) | 云存储服务的容灾方法、系统及终端 | |
CN116501552B (zh) | 数据备份的方法、装置、系统及存储介质 | |
CN110458009B (zh) | 图片信息、人脸检测、以图搜图的处理方法及相关设备 | |
CN117919696A (zh) | 目标应用的运行进度恢复方法、装置及存储介质 | |
CN116431393A (zh) | 本地复制对应多目标卷的数据处理方法、装置和设备 | |
CN112306571A (zh) | 一种bios更新管理方法及相关设备 |
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 |