一种特征检索方法及装置、存储介质和计算机设备与流程

文档序号:16737453发布日期:2019-01-28 12:44阅读:162来源:国知局
一种特征检索方法及装置、存储介质和计算机设备与流程
本发明涉及信息服务领域,具体涉及一种特征检索方法及装置、存储介质和计算机设备。
背景技术
:特征检索服务是在一系列已知的特征中找出与输入的待检索特征匹配的特征。现有的一系列已知特征存储在数据库中,但基于特征检索服务通常应用于智能视频分析、安防监控等领域,数据库中所存储的已知特征为海量的,比如:全国公民人脸信息数据库中存储的人脸特征为全国14亿公民的人脸特征,包括多达14亿条已知特征。因此,在进行特征检索时,在14亿条已知特征中查找输入的待检索特征,且特征本身包含的信息量比较大,导致处理速度非常慢。相关技术中,通过将已知特征压缩后的已知压缩特征和待检索特征对应的压缩特征进行匹配,将匹配到的已知压缩特征对应的已知特征作为最终的检索结果,这样,通过压缩特征的检索提高了检索效率,但大大降低了检索精度。技术实现要素:有鉴于此,本发明实施例提供一种特征检索方法及装置、存储介质和计算机设备,提高特征检索的检索速度的同时,有效的提高特征检索的检索精度。本发明实施例的技术方案是这样实现的:本发明实施例提供一种特征检索方法,所述方法包括:对待检索特征进行特征提取,得到待检索的压缩特征;从副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合,所述目标压缩特征集合至少包括一个目标压缩特征,所述副本集合中包括不同的压缩特征;从原始特征集合中确定每一目标压缩特征对应的候选特征,形成候选特征集合;所述原始特征集合中包括至少一个原始特征;将所述候选特征集合中的候选特征与所述待检索特征进行比对,得到所述待检索特征对应的目标候选特征。在本发明实施例中,所述从副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合,包括:从至少两个副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合,每一所述副本集合所包括的压缩特征不同。在本发明实施例中,所述副本集合包括存储在第一物理机上的第一子集和存储在第二物理机上的第二子集,所述第一子集和所述第二子集中的压缩特征相同;相应地,所述从所述副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合包括:从每一所述副本集合的目标子集中,查找与所述待检索的压缩特征匹配的目标压缩特征集合,所述目标子集从所述第一子集和所述第二子集中选取。在本发明实施例中,所述副本集合包括至少两个聚类;所述聚类中包括至少一个压缩特征,同一聚类中的压缩特征所属的特征类型相同;相应地,所述从副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合包括:根据所述待检索特征和每一所述聚类的典型特征,从所述副本集合中确定目标聚类,所述典型特征表征对应的聚类中压缩特征所属的特征类型;从所述目标聚类的压缩特征中查找与所述待检索的压缩特征匹配的目标压缩特征集合。在本发明实施例中,所述从副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合包括:确定所述待检索的压缩特征与所述副本集合中每一压缩特征的压缩距离,所述压缩距离表征两个压缩特征的相似度;将所述压缩距离小于设定的压缩距离阈值的压缩特征作为所述目标压缩特征,形成目标压缩特征集合。在本发明实施例中,所述聚类由聚类算法和所述副本集合确定;所述聚类对应的典型特征由所述聚类中的压缩特征对应的原始特征确定。在本发明实施例中,所述从原始特征集合中确定每一目标压缩特征对应的候选特征,形成候选特征集合,包括:确定所述每一目标压缩特征对应的索引;其中,所述索引用于表征所述目标压缩特征对应的候选特征在所述原始特征集合中的位置;根据所述每一目标压缩特征对应的索引从所述原始特征集合中获取所述每一目标压缩特征对应的候选特征,形成所述候选特征集合。在本发明实施例中,在对待检索特征进行特征提取之前,所述方法还包括:对待写入特征进行特征提取,得到待写入的压缩特征;将所述待写入的压缩特征写入目标副本集合的第一子集;所述目标副本集合为至少两个副本集合中的一个副本集合;将所述待写入特征写入所述第一子集对应的第一日志;根据所述第一日志将所述待写入特征对应的压缩特征写入所述目标副本集合的第二子集,将所述待写入特征写入所述第二子集对应的第二日志。在本发明实施例中,所述方法还包括:如果所述副本集合的第一子集或第二子集中压缩特征为空,根据第一日志或第二日志中记录的待写入特征确定恢复压缩特征;其中,所述第一日志中记录有第一子集中压缩特征为空之前所写入的待写入特征;所述第二日志中记录有第二子集中压缩特征为空之前所写入的待写入特征;将所述恢复压缩特征写入所述第一子集或所述第二子集。在本发明实施例中,所述方法还包括:如果所述副本集合的第一子集或第二子集中压缩特征为空,查找所述副本集合对应的元文件;所述元文件中记录有所述第一子集或所述第二子集中压缩特征为空之前所写入的压缩特征;将所述元文件中记录的压缩特征确定为快照压缩特征,将所述快照压缩特征写入所述第一子集或所述第二子集;获取所述元文件中最后一个压缩特征的采集时间,根据所述采集时间从第一日志或第二日志中确定补充原始特征,将所述补充原始特征对应的压缩特征写入所述第一子集或所述第二子集。在本发明实施例中,所述方法还包括:如果所述副本集合的第二子集中压缩特征为空,确定所述第二日志中所记录的最后一条待写入特征的记录时间;根据所述记录时间从所述第一日志中确定同步原始特征,所述同步原始特征为所述记录时间之后写入所述第一子集中的待写入特征;将所述同步原始特征对应的压缩特征写入所述第二子集。本发明实施例还提供一种特征检索装置,所述装置包括:提取模块、查找模块、确定模块和比对模块;其中,所述提取模块,用于对待检索特征进行特征提取,得到待检索的压缩特征;所述查找模块,用于从副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合,所述目标压缩特征集合至少包括一个目标压缩特征,所述副本集合中包括不同的压缩特征;所述确定模块,用于从原始特征集合中确定每一目标压缩特征对应的候选特征,形成候选特征集合;所述原始特征集合中包括至少一个原始特征;所述比对模块,用于将所述候选特征集合中的候选特征与所述待检索特征进行比对,得到所述待检索特征对应的目标候选特征。在本发明实施例中,所述查找模块包括:第一查找子模块;所述第一查找子模块,用于从至少两个副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合,每一所述副本集合所包括的压缩特征不同。在本发明实施例中,所述副本集合包括存储在第一物理机上的第一子集和存储在第二物理机上的第二子集,所述第一子集和所述第二子集中的压缩特征相同;相应地,所述查找模块还包括:第二查找子模块;所述第二查找子模块,用于从每一所述副本集合的目标子集中,查找与所述待检索的压缩特征匹配的目标压缩特征集合,所述目标子集从所述第一子集和所述第二子集中选取。在本发明实施例中,所述副本集合包括至少两个聚类;所述聚类中包括至少一个压缩特征,同一聚类中的压缩特征所属的特征类型相同;相应地,所述查找模块还包括:确定子模块和第三查找子模块;所述确定子模块,用于根据所述待检索特征和每一所述聚类的典型特征,从所述副本集合中确定目标聚类,所述典型特征表征对应的聚类中压缩特征所属的特征类型;所述第三查找子模块,用于从所述目标聚类的压缩特征中查找与所述待检索的压缩特征匹配的目标压缩特征集合。在本发明实施例中,所述查找模块还包括:计算子模块和比较子模块;其中,所述计算子模块,用于确定所述待检索的压缩特征与所述副本集合中每一压缩特征的压缩距离,所述压缩距离表征两个压缩特征的相似度;所述比较子模块,用于将所述压缩距离小于设定的压缩距离阈值的压缩特征作为所述目标压缩特征,形成目标压缩特征集合。在本发明实施例中,所述确定模块包括:索引子模块和获取子模块;所述索引子模块,用于确定所述每一目标压缩特征对应的索引;其中,所述索引用于表征所述目标压缩特征对应的候选特征在所述原始特征集合中的位置;所述获取子模块,用于根据所述每一目标压缩特征对应的索引从所述原始特征集合中获取所述每一目标压缩特征对应的候选特征,形成所述候选特征集合。在本发明实施例中,所述装置还包括:写入模块,用于:对待写入特征进行特征提取,得到待写入的压缩特征;将所述待写入的压缩特征写入目标副本集合的第一子集;所述目标副本集合为至少两个副本集合中的一个副本集合;将所述待写入特征写入所述第一子集对应的第一日志;根据所述第一日志将所述待写入特征对应的压缩特征写入所述目标副本集合的第二子集,将所述待写入特征写入所述第二子集对应的第二日志。在本发明实施例中,所述装置还包括:第一恢复模块,用于:如果所述副本集合的第一子集或第二子集中压缩特征为空,根据第一日志或第二日志中记录的待写入特征确定恢复压缩特征;其中,所述第一日志中记录有第一子集中压缩特征为空之前所写入的待写入特征;所述第二日志中记录有第二子集中压缩特征为空之前所写入的待写入特征;将所述恢复压缩特征写入所述第一子集或所述第二子集。在本发明实施例中,所述装置还包括:第二恢复模块,用于:如果所述副本集合的第一子集或第二子集中压缩特征为空,查找所述副本集合对应的元文件;所述元文件中记录有所述第一子集或所述第二子集中压缩特征为空之前所写入的压缩特征;将所述元文件中记录的压缩特征确定为快照压缩特征,将所述快照压缩特征写入所述第一子集或所述第二子集;获取所述元文件中最后一个压缩特征的采集时间,根据所述采集时间从第一日志或第二日志中确定补充原始特征,将所述补充原始特征对应的压缩特征写入所述第一子集或所述第二子集。在本发明实施例中,所述装置还包括:第三恢复模块,用于:如果所述副本集合的第二子集中压缩特征为空,确定所述第二日志中所记录的最后一条待写入特征的记录时间;根据所述记录时间从所述第一日志中确定同步原始特征,所述同步原始特征为所述记录时间之后写入所述第一子集中的待写入特征;将所述同步原始特征对应的压缩特征写入所述第二子集。本发明实施例还提供一种计算机存储介质,所述计算机存储介质上存储有计算机可执行指令,该计算机可执行指令被执行后,能够实现本发明实施例提供的特征检索的方法中的步骤。本发明实施例还提供一种计算机设备,所述计算机设备包括存储器和图像处理器,所述存储器上存储有计算机可执行指令,所述图像处理器运行所述存储器上的计算机可执行指令时可实现本发明实施例提供的特征检索的方法中的步骤。本发明实施例提供一种特征检索方法及装置、存储介质和计算机设备,其中,将待检索特征对应的压缩特征和副本集合中的压缩特征进行比较,找出多个目标压缩特征,将多个目标压缩特征对应的原始特征作为候选特征,从多个候选特征中找出与待检索特征对应的目标候选特征;如此,提高特征检索的检索速度的同时,有效的提高特征检索的检索精度。附图说明此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。图1a为本发明实施例网络架构的组成结构示意图一;图1b为本发明实施例网络架构的组成结构示意图二;图2为本发明实施例一提供的特征检索方法的实现流程示意图;图3为本发明实施例二提供的网络架构的组成结构示意图;图4为本发明实施例二提供的特征添加方法的实现流程示意图;图5为本发明实施例二提供的特征检索方法的实现流程示意图;图6为本发明实施例二提供的故障恢复方法的实现流程示意图;图7a为相关技术中的特征检索方法的示意图一;图7b为相关技术中的特征检索方法的示意图二;图7c为本发明实施例三提供的特征检索方法的示意图一;图7d为本发明实施例三提供的特征检索方法的示意图二;图8为本发明实施例四提供的特征检索装置的结构示意图一;图9a为本发明实施例四提供的特征检索装置中查找模块的组成结构图;图9b为本发明实施例四提供的特征检索装置的结构示意图二;图9c为本发明实施例四提供的特征检索装置中确定模块的组成结构图;图10为本发明实施例四提供的计算机设备的组成结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。图1a为本发明实施例网络架构的组成结构示意图,如图1a所示,该网络架构包括检索设备10、服务节点11,其中检索设备10、服务节点11之间通过网络21进行交互。检索设备10在实现的过程中能够接收用户的检索请求,并将检索请求发送至服务节点11。服务节点11中的数据库存储有已知的原始特征,服务节点11中还存储有各原始特征对应的压缩特征。服务节点11对检索请求携带的待检索特征进行特征提取,得到待检索的压缩特征,将待检索的压缩特征和各压缩特征进行比对,找出与待检索的压缩特征匹配的目标压缩特征,并将目标压缩特征对应的原始特征和待检索特征进行比对,找出待检索特征对应的目标候选特征。图1b为本发明实施例的另一网络架构的组成结构示意图,如图1b所示,该网络架构包括检索设备10、服务节点11-1n以及数据服务节点20,其中,检索设备10、服务节点11至1n、数据服务节点20之间通过网络21进行交互。检索设备10在实现的过程中能够接收用户的检索请求,并将检索请求分别发送至服务节点11-1n。服务节点11至1n中分别存储有数据服务节点20中已知的原始特征对应的压缩特征的一部分,且服务节点11至1n中压缩特征的总和为数据服务节点20中所有的原始特征对应的压缩特征。服务节点11至1n接收到检索请求后,分别对检索请求携带的待检索特征进行特征提取,得到待检索的压缩特征,将待检索的压缩特征和所存储的压缩特征进行比对,找出与待检索的压缩特征匹配的目标压缩特征,并将目标压缩特征的索引通知给数据服务节点20。数据服务节点20上的数据库存储有已知的原始特征,数据服务节点20根据接收到的索引从数据库中获取目标压缩特征对应的原始特征,即候选特征,并将候选特征发送至服务节点11-1n,服务节点11-1n分别将各候选特征和待检索特征进行比对,找出待检索特征对应的目标候选特征。在图1a和图1b所示的网络结构中,检索设备10接收到检索请求时,也可直接对检索请求携带的待检索特征进行特征提取,得到待检索的压缩特征,将待检索的压缩特征分发至服务节点11至1n。结合图1a和图1b所示的应用场景示意图,本实施例提出一种特征检索方法,能够有效提高特征检索的检索速度的同时,有效的提高特征检索的检索精度。为了更好的理解本发明实施例提供的特征检索方法,下面对本发明实施例中部分术语进行说明。原始特征,用于表征检索对象的长特征,比如:全国公民信息库中各公民的人脸信息。其中,将包括待检索对象的检索图像作为神经网络模型的输入,神经网络模型的输出结果为检索图像的原始特征即待检索特征。原始特征集合,即特征库,由原始特征构成的集合。其中,对应不同类型的信息,可设置不同的特征库,比如:包括有全国公民信息的公民信息库,包括有全国车辆信息的车辆信息库。一个数据库中可包括多个不同类型的特征库。压缩特征,与原始特征对应,对原始特征进行特征提取后得到的短特征。特征提取的实现可通过采样压缩、压缩映射等方式实现,从而将原始特征进行压缩。比如:原始特征的大小为2k,对原始特征进行特征提取,得到32byte的压缩特征。压缩特征可为原始特征的关键信息。待检索特征,用户通过检索请求输入的需要检索的原始特征,通过特征检索在原始特征集合中查找与待检索特征相同或相类似的原始特征。目标候选特征,为特征检索的检索结果,在原始特征集合中所查找的与待检索特征相同或相类似的原始特征。副本集合,由压缩特征构成的集合。一个原始特征集合可对应多个副本集合,每一副本集合包括至少一个压缩特征,且各副本集合中的压缩特征互不重叠,也就是说,一个原始特征集合中的原始特征对应的压缩特征存储在多个副本集合中,且各副本集合中的压缩特征互不重叠。一个副本集合可包括多个子集。当副本集合包括多个子集时,各子集中的压缩特征相同。当副本集合包括两个子集时,这两个子集分别为第一子集和第二子集,副本集合中的各子集分别存储在不同的服务节点中。副本集合中还包括各压缩特征对应的索引。副本集,对应一个副本集合的服务节点。当副本集合包括多个子集时,各子集分别存储在对应的服务节点中,一个副本集包括多个服务节点,每个服务节点上存储一个子集。当副本集合包括第一子集和第二子集时,副本集包括两个服务节点,分别为主服务节点和从服务节点,第一子集位于主服务节点上,第二子集位于第二服务节点上。聚类,由特征类型相同的压缩特征构成的集合,其中,压缩特征本身不具有特征类型,而是将各压缩特征对应的原始特征的特征类型作为对应压缩特征的特征类型。典型特征,表征一个聚类中的压缩特征的特征类型的原始特征。快照文件,对副本集合中的压缩特征和索引进行复制得到的文件,对于每一个快照文件,记录有进行复制时的采集时间,以及所复制的压缩特征、每一压缩特征对应的索引、压缩特征的存储位置等信息。元文件,存储副本集合的快照文件的文件。一个元文件可存储一个或多个副本集合的快照文件。实施例一本实施例提供一种特征检索方法,如图2所示,所述方法包括以下步骤:s201、对待检索特征进行特征提取,得到待检索的压缩特征;当检索设备接收到检索操作后,响应检索操作,根据检索操作对应的检索图像生成待检索特征,其中,待检索特征为检索图像中所包括的检索对象的特征信息,检索对象可为人脸、车辆等对象。检索设备根据检索特征生成检索请求,并将生成的检索请求发送至服务节点。服务节点接收到检索请求后,对检索请求进行解析,得到检索请求携带的待检索特征,并对待检索特征进行特征提取,得到待检索的压缩特征。这里,检索设备将检索请求发送至服务节点时,可将检索请求发送至接口代理服务,由接口代理服务将检索请求发送至服务节点。当一个特征库对应的压缩特征存储在多个副本集时,将检索请求发送至每一副本集中的服务节点。比如:一个特征库对应的压缩特征分为三部分,且三部分分别存储在副本集a、副本集b和副本集c中,则将检索请求分别发送至副本集a的服务节点、副本集b的服务节点和副本集c的服务节点。当一个副本集包括主服务节点和从服务节点时,接口代理服务从主服务节点和从服务节点中选取目标服务节点,并将检索请求发送至每一副本集中的目标服务节点。比如:同上例,副本集a的服务节点包括主服务节点a和从服务节点a`,副本集b的服务节点包括主服务节点b和从服务节点b`,副本集c的服务节点包括主服务节点c和从服务节点c`,选取服务节点a、b`和c为三个副本集的目标服务节点,则将检索请求发送至服务节点a、b`和c。其中,对于一个副本集,选取目标服务节点时,可随机选择,也可根据每一服务节点的资源情况或负载情况来选取目标服务节点,比如:从副本集a所包括的主服务节点a和从服务节点a`中选取目标服务节点时,主服务节点a当前正在处理的检索请求为4条,从服务节点a`当前正在处理的检索请求为6条,主服务节点a的负载比从服务节点a`低,选取主服务节点a作为目标服务节点。本发明实施例对选取目标服务节点的选择方式不进行任何限定。s202、从副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合;所述目标压缩特征集合至少包括一个目标压缩特征,所述副本集合中包括不同的压缩特征;服务节点将待检索的压缩特征和所存储的副本集合中的压缩特征进行比较,从副本集合中确定与待检索的压缩特征匹配的目标压缩特征,形成目标压缩特征集合。在本发明实施例中,副本集合可存储在服务节点的显存中;相应地,所述从副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合,包括:通过图像处理器(graphicsprocessingunit,gpu)从副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合。通过gpu从显存中存储的副本集合中查找与待检索的压缩特征匹配的目标压缩特征集合时,基于gpu支持批量操作,服务节点能够同时对多个检索请求进行处理,确定各检索请求对应的待检索的压缩特征,并从副本集合中确定每一待检索的压缩特征对应的目标压缩特征集合。在一实施例中,所述从副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合,包括:从至少两个副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合,每一所述副本集合所包括的压缩特征不同。这里,接口代理服务将检索请求发送至各副本集中的服务节点,各服务节点从自身存储的副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合。比如:同上例,接口代理服务将检索请求分别发送至副本集a的服务节点、副本集b的服务节点和副本集c的服务节点,此时,副本集a的服务节点、副本集b的服务节点和副本集c的服务节点分别从自身存储的副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合。在一实施例中,所述副本集合包括存储在第一物理机上的第一子集和存储在第二物理机上的第二子集,所述第一子集和所述第二子集中的压缩特征相同;相应地,所述从所述副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合包括:从每一所述副本集合的目标子集中,查找与所述待检索的压缩特征匹配的目标压缩特征集合,所述目标子集从所述第一子集和所述第二子集中选取。其中,第一物理机为主服务节点,第二物理机为从服务节点。比如:副本集a的服务节点包括主服务节点a和从服务节点a`,副本集b的服务节点包括主服务节点b和从服务节点b`,副本集c的服务节点包括主服务节点c和从服务节点c`,选取服务节点a、b`和c分别为三个副本集的目标服务节点,将检索请求发送至服务节点a、b`和c,则在主服务节点a上存储的第一子集中查找得到目标压缩特征集合a,在从服务节点b`上存储的第二子集中查找得到目标压缩特征集合b,则在主服务节点c上存储的第一子集中查找得到目标压缩特征集合c,由目标压缩特征集合a、b和c构成的压缩特征集合中,包括有所有与待检索的压缩特征匹配的目标压缩特征。在一实施例中,所述副本集合包括至少两个聚类;所述聚类中包括至少一个压缩特征,同一聚类中的压缩特征所属的特征类型相同;相应地,所述从副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合包括:根据所述待检索特征和每一所述聚类的典型特征从所述副本集合中确定目标聚类,所述典型特征表征对应的聚类中压缩特征所属的特征类型;从所述目标聚类的压缩特征中查找与所述待检索的压缩特征匹配的目标压缩特征集合。这里,一个副本集合可包括多个聚类,各聚类包括有典型特征,以通过典型特征表征相应聚类中压缩特征的特征类型。其中,特征类型为原始特征所表征的对象的类型,比如:对象为人脸时,特征类型可为长脸、方脸、白皮肤、黑皮肤等类型;又比如:对象为汽车时,特征类型为品牌、颜色等类型。当接收到检索请求后,将检索请求携带的待检索特征与每一聚类的典型特征进行比对,找出特征类型与待检索特征相近的典型特征,将找出的典型特征对应的聚类确定为目标聚类,其中,目标聚类可包括多个聚类,与待检索特征相近的典型特征可为与待检索特征的相似度大于设定的相似度阈值的典型特征。在目标聚类的压缩特征中查找与所述待检索的压缩特征匹配的目标压缩特征集合。比如:副本集合中包括聚类1、聚类2、聚类3和聚类4,聚类1包括有典型特征1,聚类2包括有典型特征2,聚类3包括有典型特征3,聚类4包括有典型特征4;将典型特征1至典型特征4分别与待检索特征进行比对,确定典型特征1和典型特征2与待检索特征匹配时,将典型特征1和典型特征对应的聚类1和聚类2确定为目标聚类,在聚类1的压缩特征和聚类2的压缩特征中查找目标压缩特征集合。又比如:副本集合1中包括聚类1和聚类2,副本集合2中包括聚类3和聚类4,聚类1包括有典型特征1,聚类2包括有典型特征2,聚类3包括有典型特征3,聚类4包括有典型特征4;将典型特征1至典型特征4分别与待检索特征进行比对,确定典型特征1和典型特征2与待检索特征匹配时,将典型特征1和典型特征对应的聚类1和聚类2确定为目标聚类,在聚类1的压缩特征和聚类2的压缩特征中查找目标压缩特征集合。需要说明的是,当一个副本集合中包括多个子集时,各子集中的聚类完全相同,比如:a副本集合包括第一子集和第二子集,第一子集中的聚类包括聚类1和聚类2,则第二子集中的聚类包括聚类1和聚类2。其中,根据所述待检索特征和每一所述聚类的典型特征从所述副本集合中确定目标聚类可包括:将所述待检索特征和所述副本集合中每一所述聚类的典型特征进行比较,确定所述待检索特征与每一聚类的典型特征的相似度;将大于设定的相似度阈值的相似度对应的聚类确定为目标聚类。比如:同上例,设定的相似度阈值为80%,将典型特征1至典型特征4分别与待检索特征进行比对,典型特征1和待检索特征的相似度为86%,典型特征2和待检索特征的相似度为82%,典型特征3和待检索特征的相似度为32%,典型特征4和待检索特征的相似度为50%,则确定典型特征1和典型特征2对应的聚类1和聚类2为目标聚类。这里,在从多个聚类中选取目标聚类时,也可对每一典型特征与待检索特征的相似度进行排序,将相似度排在前面的设定数量的聚类作为目标聚类。比如:同上例,根据典型特征1至典型特征4分别与待检索特征的相似度进行排序为典型特征1、典型特征2、典型特征4和典型特征3,对应地,聚类的排序为:聚类1、聚类2、聚类4和聚类3,当选取两个聚类作为目标聚类时,目标聚类包括聚类1和聚类2。在一实施例中,所述从副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合包括:确定所述待检索的压缩特征与所述副本集合中每一压缩特征的压缩距离,所述压缩距离表征两个压缩特征的相似度;将所述压缩距离小于设定的压缩距离阈值的压缩特征作为所述目标压缩特征,形成目标压缩特征集合。压缩距离为两个压缩特征之间的相似度,比如:压缩特征1为00110011,压缩特征2为00111101,则压缩距离为:3。压缩距离也可通过百分比来表示。设定的压缩距离阈值的大小可根据实际需求进行设置。s203、从原始特征集合中确定每一目标压缩特征对应的候选特征,形成候选特征集合;所述原始特征集合中包括至少一个原始特征,服务节点根据目标压缩特征集合中的每一目标压缩特征从数据库中获取每一目标压缩特征对应的原始特征即候选特征,这里,在压缩特征和原始特征之间存在映射关系,根据压缩特征和原始特征之间的映射关系从数据库获取目标压缩特征对应的候选特征,形成候选特征集合。在一实施例中,所述从原始特征集合中确定每一目标压缩特征对应的候选特征,形成候选特征集合,包括:确定所述每一目标压缩特征对应的索引;其中,所述索引用于表征所述目标压缩特征对应的候选特征在所述原始特征集合中的位置;根据所述每一目标压缩特征的索引从所述原始特征集合中获取所述每一目标压缩特征对应的候选特征,形成候选特征集合。此时,副本集合中包括有压缩特征和索引的第一映射关系,服务节点确定目标特征集合后,根据目标压缩特征集合中每一目标压缩特征对应的索引从数据库中获取索引对应的候选特征。比如:目标压缩特征集合中的目标压缩特征包括:压缩特征1、压缩特征2和压缩特征3,压缩特征1、压缩特征2和压缩特征3对应的索引分别为:11、12和13,服务节点将索引11、12和13发送至数据库,从数据库中获取索引11、12和13对应的原始特征1、原始特征2和原始特征3,原始特征1、原始特征2和原始特征3为候选特征,组成的集合为候选特征集合。这里,数据库可位于服务节点上,也可位于数据服务节点上。s204、将所述候选特征集合中的候选特征与所述待检索特征进行比对,得到所述待检索特征对应的目标候选特征。服务节点获取候选特征集合后,将候选特征集合中的候选特征分别与待检索特征进行比对,从候选特征集合中找出与待检索特征匹配的目标候选特征。在实际应用中,各副本集中的服务节点确定目标候选特征后,将自身确定的目标候选特征发送至检索设备。这里,服务节点可将自身确定的目标候选特征发送至接口代理服务,使得接口代理服务对各副本集的检索结果进行收集,并将收集的结果发送至检索设备。需要说明的是,在特征检索时,存在副本集合中未找出与待检索特征匹配的目标候选特征的情况。在一实施例中,所述聚类由聚类算法和所述副本集合确定;所述聚类对应的典型特征由所述聚类中的压缩特征对应的原始特征确定。其中,服务节点接收到分类操作时,响应所述分类操作,从原始特征集合中确定与所述副本集合中的压缩特征对应的分类原始特征,形成分类原始特征集合;通过聚类算法将所述分类原始特征集合划分为至少两个原始特征组,并为每一所述原始特征组选取典型特征;将每一所述原始特征组中对应的压缩特征确定为一个聚类;将每一所述原始特征组对应的典型特征确定为对应聚类的典型特征。分类操作可由系统周期性的自动触发,也可由用户操作触发,检索设备接收到分类操作时,通过聚类算法对数据库中存储的特征库中的原始特征进行分类,将特征类型相同的原始特征划分在一个原始特征组中,并在划分的每一原始特征组中找出能够表征该原始特征组的特征类型的典型特征。其中,在分类时,可以副本集合为单位,对每个副本集合对应的原始特征集合中的原始特征进行分类。聚类算法可为k-means算法、k-medoids算法、clarans算法、birch算法、dbscan算法、sting算法等聚类算法。确定典型特征后,将每一组原始特征组中的原始特征对应的压缩特征确定为一个聚类,并将每一组原始特征组对应的典型特征确定为对应聚类的典型特征。比如:原始特征集合包括原始特征101至110,通过聚类算法将原始特征集合划分为三个原始特征组:原始特征组1、原始特征组2和原始特征组3,其中,原始特征组1包括原始特征101、103、105和106,对应的典型特征1为103,原始特征组2包括原始特征102和109,对应的典型特征2为109,原始特征组3包括原始特征104、107、108、和110,对应的典型特征3为104,则在服务节点中,聚类1包括原始特征101、103、105和106对应的压缩特征,聚类1的典型特征为原始特征103,聚类2包括原始特征102和109对应的压缩特征,聚类2的典型特征为原始特征109,聚类3包括原始特征104、107、108、和110对应的压缩特征,聚类3的典型特征为原始特征104。在一实施例中,在对待检索特征进行特征提取之前,所述方法还包括:对待写入特征进行特征提取,得到待写入的压缩特征;将所述待写入的压缩特征写入目标副本集合的第一子集;所述目标副本集合为至少两个副本集合中的一个副本集合;将所述待写入特征写入所述第一子集对应的第一日志;根据所述第一日志将所述待写入特征对应的压缩特征写入所述目标副本集合的第二子集,将所述待写入特征写入所述第二子集对应的第二日志。当检索设备接收到写入操作时,响应写入操作,生成写入请求,将写入请求发送至副本集的主服务节点。当一个特征库对应多个副本集时,从多个副本集中选择一个副本集,作为目标副本集,将写入请求发送至目标副本集,目标副本集对应的副本集合为目标副本集合。其中,可由检索设备将检索请求发送至接口代理服务,由接口代理服务从多个副本集中选择目标副本集。这里,从多个副本集中选择目标副本集,可根据每一副本集的副本集合所包括的压缩特征的数量从多个副本集中选择目标副本集,比如:将包括的压缩特征的数量最小的副本集合所在副本集确定为目标副本集。在实际应用中,检索设备的状态可包括初始状态和检索状态。在初始状态,只接收写入操作,从而生成副本集合。在检索状态,可接收检索操作和写入操作,在副本集合中查找检索操作所检索的待检索特征对应的待检索压缩特征,并通过接收的写入操作对副本集合进行更新。这里,检索状态时,检索操作和写入操作的执行先后顺序不做任何的限定,可在多次的检索操作之间基于接收的写入操作进行副本集合的更新。主服务节点接收到写入请求时,对写入请求携带的待写入特征进行特征提取,得到待写入的压缩特征。这里,特征提取的算法同从待检索特征得到待检索的压缩特征的特征提取的算法。主服务节点将待写入的压缩特征写入第一子集,并在主服务节点的第一日志中对写入压缩特征的写入操作进行记录,记录的信息包括待写入特征、写入时间、写入位置、索引等信息,同时将待写入特征写入数据库中。当主服务节点的第一日志更新时,主服务节点对应的从服务节点基于第一日志的更新,获取第一日志所更新的待写入特征,对待写入特征进行特征提取,得到待写入的压缩特征,根据第一日志将待写入的压缩特征写入第二子集,以保证第一子集和第二子集的同步,并在第二日志中对写入待写入压缩特征的写入操作进行记录,记录的信息包括待写入特征、写入时间、写入位置、索引等信息,以保证第一日志和第二日志的同步。在本发明实施例中,主服务节点第一子集和从服务节点的第二子集同步,从而使得同一副本集能够并行处理更多的检索请求,并且,其中一个子集的压缩特征丢失时,压缩特征丢失的子集能够根据另一个子集进行压缩特征的恢复,从而保证副本集合的恢复。在本发明实施例中,当服务节点出现故障导致第一子集或第二子集中的压缩特征丢失时,可通过以下两种方式实现故障恢复,即实现第一子集或第二子集的压缩特征的恢复:方式一:如果所述副本集合的第一子集或第二子集中压缩特征为空,根据第一日志或第二日志中记录的待写入特征确定恢复压缩特征;其中,所述第一日志中记录有第一子集中压缩特征为空之前所写入的待写入特征;所述第二日志中记录有第二子集中压缩特征为空之前所写入的待写入特征;将所述恢复压缩特征写入所述第一子集或所述第二子集。当服务节点出现故障导致所存储的压缩特征丢失的情况下,根据服务节点中的写入待写入特征时的日志(主服务节点对应第一日志,从服务节点对应第二日志)来获取所写入的所有的待写入特征,对从日志中获取的待写入特征进行特征提取,得到恢复压缩特征,并根据日志将恢复压缩特征写入对应的第一子集或第二子集中,恢复故障之前第一集合或第二集合中的压缩特征。方式二、如果所述副本集合的第一子集或第二子集中压缩特征为空,查找所述副本集合对应的元文件;所述元文件中记录有所述第一子集或所述第二子集中压缩特征为空之前所写入的压缩特征;将所述元文件中记录的压缩特征确定为快照压缩特征,将所述快照压缩特征写入所述第一子集或所述第二子集;获取所述元文件中最后一个压缩特征的采集时间,根据所述采集时间从第一日志或第二日志中确定补充原始特征,将所述补充原始特征对应的压缩特征写入所述第一子集或所述第二子集。当服务节点出现故障导致所存储的压缩特征丢失的情况下,根据该服务节点对应的元文件的快照文件所复制的压缩特征和索引对第一子集或第二子集进行故障恢复。这里,隔一段时间对一个副本集合进行一次复制,也就是说,元文件中所存储的压缩特征为最近一次采集时间之前副本集合中的压缩特征,即快照压缩特征,通过元文件,只能恢复采集时间之前的快照压缩特征,而通过服务节点上的日志能够获取到采集时间至故障时间这段时间所写入数据库的待写入特征。这里,将采集时间至故障时间这段时间所写入数据库的待写入特征称为补充原始特征,对补充原始特征进行特征提取,得到补充原始特征对应的压缩特征,并根据日志将补充原始特征对应的压缩特征写入对应的第一子集或第二子集中,恢复故障之前第一集合或第二集合中的压缩特征。在实际应用中,当服务节点中的压缩特征丢失时,可判断是否存在元文件,当存在元文件时,可直接通过方式二进行压缩特征的恢复,当不存在元文件时,通过方式一进行压缩特征的恢复。在一实施例中,当第二子集的压缩特征丢失,所述方法还包括:如果所述副本集合的第二子集中压缩特征为空,确定所述第二日志中所记录的最后一条待写入特征的记录时间;根据所述记录时间从所述第一日志中确定同步原始特征,所述同步原始特征为所述记录时间之后写入所述第一子集中的待写入特征;将所述同步原始特征对应的压缩特征写入所述第二子集。当第二子集的压缩特征丢失,在第二子集出现故障后,第一子集还可能存在压缩特征的写入,这里,根据第一日志将故障时间之后写入第一子集的压缩特征再写入第二子集中,实现第一子集和第二子集的同步。其中,故障时间之后写入第一子集的压缩特征也就是第二日志中记录时间之后所记录的写入第二子集的压缩特征。需要说明的是,本发明实施例中,当一服务节点出现故障时导致其存储的压缩特征为空时,根据该服务节点对应的日志或元文件对该服务节点进行压缩特征的故障恢复,其中,故障恢复与特征检索、特征写入(特征添加)的执行顺序不进行任何的限定,比如:在进行特征检索的过程中,服务节点出现故障,此时,终端特征检索,执行故障恢复,待故障恢复完成后,继续进行特征检索;又比如:在故障恢复之前,根据检索请求a进行特征检索,在故障恢复之后,根据检索请求b进行特征检索;又比如:在故障恢复之前,进行待写入特征a对应的压缩特征a的写入,对副本集合进行更新,在故障恢复之后,进行待写入特征b对应的压缩特征b的写入,对副本集合进行再次更新。在实际应用中,可根据分片策略对各副本集合中的压缩特征进行分片存储,将一个副本集合划分为多个分片,并将每个分片划分为多个聚类。本发明实施例对分片策略不进行任何限定。实施例二在本发明实施例中,通过图3所示的网络结构对本发明实施例提供的特征检索方法进行进一步说明。图3所示的网络结构包括:接口代理服务(shard-proxy)301、服务节点302、数据库303和对象存储304;其中,服务节点302包括工作进程(worker)和gpu/cpu,服务节点的内存中存储有worker进行检索时所用到的压缩特征。每个副本集(replicaset)包括两个服务节点:主服务节点和从服务节点,其中,主服务节点的worker为主进程(master),从服务节点的worker为从进程(slave),主服务节点的显存中存储有第一子集,从服务节点的显存中存储有第二子集。主服务节点中的第一子集和从服务节点的第二子集构成一个副本集合。下面对图3所示的各组件分别进行说明。接口代理服务301,用于特征库管理和原始特征管理,特征库管理包括:特征库的增加、特征库的删除、特征库的修改、特征库的查找、分片策略以及维护特征库与分片之间的映射关系,原始特征管理包括:原始特征的增加、原始特征的删除以及原始特征的检索;其中,在接收到对原始特征进行检索的检索请求时,对检索请求进行调度分配,并对检索结果进行收集。其中,接口代理服务301可同时连接多个检索设备(未示出),通过检索设备与用户进行交互,使得用户通过接口代理服务对特征库和原始特征进行管理。在实际应用中,接口代理服务301也可直接作为检索设备。服务节点302,包括worker和gpu/cpu,worker与gpu的特征检索服务绑定,内存中存储有压缩特征。当服务节点接收到接口代理服务301分配的检索请求时,由gpu/cpu控制worker对检索请求进行处理得到检索结果,并将检索结果发送至接口代理服务。当服务节点接收到接口代理服务分配的写入请求时,由worker对写入请求进行处理,在显存中写入待写入特征对应的压缩特征,并将待写入特征发送至数据库303。replicaset如图3中的虚线框所示,虚线框中的主服务节点和从服务节点构成一个replicaset。主服务节点和从服务节点中存储的压缩特征相同,不同的replicaset之间的压缩特征不重叠。主服务节点和从服务节点的worker分别为master和slave。不同replicaset的worker可同时对一条检索请求进行处理,而针对一条检索请求,由replicaset对应的master或slave对该检索请求进行处理。基于接口代理服务301与服务节点之间的交互,master执行读操作和写操作,slave执行读操作。当接口代理服务接收到检索请求时,接口代理服务将检索请求发送至各副本集中的master或slave,检索请求用于从副本集合中读取与检索请求携带的待检索特征对应的目标候选特征;当接口代理服务接收到写入请求时,将写入请求发送至副本集对应的master,通过master将写入请求携带的待写入特征对应的待写入特征写入第一子集,并将待写入特征写入数据库。master通过操作日志(第一日志),实现master的第一子集和slave的第二子集中的压缩特征的同步。数据库303,用于存储原始特征集合,可为cassandra或其他的数据库。在实际应用中,对副本集合中的压缩特征进行分片管理,也就是,将副本集合中的压缩特征划分为多个分片,相应地,与该副本集合中的压缩特征对应的原始特征在数据库中也进行分片管理,且副本集合中压缩特征的分片与数据库中原始特征的分片相对应。比如:副本集合中的压缩特征包括压缩特征101、压缩特征102至压缩特征200,且划分为3个分片,其中,分片1包括压缩特征101、压缩特征102至压缩特征130,分片2包括压缩特征131、压缩特征132至压缩特征180,分片3包括压缩特征181、压缩特征182至压缩特征200,相应地,数据库中,压缩特征101、压缩特征102至压缩特征130对应的原始特征为一个分片,称为分片1`,压缩特征131、压缩特征132至压缩特征180对应的原始特征为一个分片,称为分片2`,压缩特征181、压缩特征182至压缩特征200对应的原始特征为一个分片,称为分片3`。对于副本集合中的每一个分片,可由多个聚类组成。例如:对于上述包括压缩特征101、压缩特征102至压缩特征130的分片1,包括聚类a、聚类b和聚类c;对于上述包括压缩特征131、压缩特征132至压缩特征180的分片2,包括聚类d和聚类e;对于包括压缩特征181、压缩特征182至压缩特征200的分片3,包括聚类f、聚类g和聚类h。这里,将副本集合中的压缩特征划分为多个分片,对副本集合中的压缩特征进行分片管理,并对每个分片所包括的压缩特征进行聚类,划分为多个聚类,从而以分片为单位进行聚类,在提高聚类速度的同时,提高聚类精度。对象存储304,用于存储元文件,元文件中存储有各副本集合的快照文件,快照文件用于副本集合快速故障恢复。在实际应用中,图3所示的接口代理服301、服务节点302、数据库303和对象存储304可分别对应不同的物理机。下面结合图3所示的网络结构对本发明实施例提供的特征检索方法进行详细描述。其中,本发明实施例提供的特征检索方法可包括以下三个场景:特征添加、特征检索和故障恢复。场景1、特征添加场景1的特征添加方法如图4所示,包括:s401、检索设备生成写入请求,将写入请求发送至接口代理服务;当需要在数据库中添加原始特征,用户通过检索设备进行写入操作,写入操作的操作内容为待写入特征,检索设备基于写入操作生成携带待写入特征的写入请求,将写入请求发送至接口代理服务301。s402、接口代理服务确定目标副本集合,将写入请求发送至目标副本集合所在的副本集的主服务节点;接口代理服务301接收到写入请求后,从多个副本集合中选取目标副本集合,将写入请求发送至目标副本集合所在的副本集的主服务节点。其中,接口代理服务从多个副本集合中选取目标副本集合时,可随机选择,可根据各副本集合的容量情况选取容量最低的副本集合作为目标副本集合,也可根据每个副本集的负载情况确定目标副本集,将目标副本集所存储的副本集合作为目标副本集合。这里,可根据每个副本集合中存储的压缩特征的数量来确定每个副本集合的容量情况,存储压缩特征最少的副本集合的容量最低。s403、主服务节点的gpu调度master对接收的写入请求携带的待写入特征进行特征提取,得到待写入的压缩特征;s404、主服务节点的gpu调度master将待写入的压缩特征写入显存中的第一子集;这里,gpu还为待写入的压缩特征生成索引,在待写入的压缩特征和索引之间建立第一映射关系,将待写入的压缩特征和生成的索引一起存储到第一子集中。其中,在待写入的压缩特征和索引之间建立有第二映射关系,通过第一映射关系和第二映射关系建立待写入特征和对应的待写入的压缩特征之间的对应关系。s405、主服务节点的gpu调度master将待写入特征写入第一日志;这里,主服务节点将待写入特征写入第一日志时,还记录写入的时间、写入的位置、以及索引等待与写入的压缩特征相关的信息。s406、主服务节点根据第一日志与从服务节点同步。主服务节点将第一日志以流(stream)的方式将与待写入特征相关的信息发送至从服务节点。从服务节点的gpu调度slave对第一日志中记录的待写入特征进行特征提取,得到待写入的压缩特征,将待写入的压缩特征写入显存中存储的第二子集中,并将待写入的特征写入第二日志中,在第二日志中记录与待写入的压缩特征相关的写入的时间、写入的位置、以及索引等信息。需要说明的是,从服务节点将待写入的压缩特征写入显存中时,根据第一日志中与待写入特征相关的信息进行写入操作,因此,第一子集和第二子集中的压缩特征以及每一压缩特征的位置、每一压缩特征对应的索引完全一致。在特征添加的过程中,主服务节点中的worker记录了每一步的写操作到对应的第一日志中。master将第一日志以流(stream)的方式同步给slave,slave每从master同步到一条写记录就会写一条自己的日志即第二日志。在实际应用中,worker为每个写入的原始特征(待写入特征)向gpu申请显存资源,插入新的原始特征时,由gpu计算待写入的压缩特征,并将计算的待写入的压缩特征保存在所申请的显存中。这里,特征库与副本集的映射关系存储在数据库中,使得接口代理服务无状态化,能够平行扩容。场景2、特征检索场景2的特征检索方法如图5所示,包括:s501、检索设备生成检索请求,将检索请求发送至接口代理服务;当需要在数据库中检索原始特征时,用户通过检索设备进行检索操作,检索操作的操作内容为待检索特征,检索设备基于检索操作生成携带待检索特征的检索请求,并将检索请求发送至接口代理服务301。这里,检索设备基于检索操作可接收到待检索对象的图像,将待检索对象的图像作为神经网络模型的输入,得到神经网络模型的输出的待检索特征。s502、接口代理服务将检索请求分配至每一副本集;接口代理服务将检索请求分配(map)至每一副本集中的服务节点。副本集中包括主服务节点和从服务节点时,接口代理服务根据每一副本集中主服务节点和从服务节点的资源状态从主服务节点和从服务节点中确定目标服务节点,并将检索请求发送至每一副本集中的目标服务节点。也就是说,从每一副本集合的第一子集和第二子集中选取目标子集,目标子集为目标服务节点上的子集。s503、服务节点接收到检索请求后,对检索请求携带的待检索特征进行特征提取,得到待检索的压缩特征;每一副本集中的目标服务节点接收到检索请求后,通过gpu调用worker对检索请求进行解析,得到待检索特征,并通过gpu调用worker对待检索特征进行特征提取,得到待检索的压缩特征。s504、服务节点从目标子集中查找与所述待检索的压缩特征匹配的目标压缩特征集合;这里,当一副本集中的目标子集包括多个聚类时,相应的目标服务节点通过gpu调用worker将待检索特征和每一聚类的典型特征进行比对,确定目标聚类,其中,目标聚类的典型特征和待检索特征的特征类型相同,比如:都是白皮肤,又比如,都是方脸。确定目标聚类后,将目标聚类中的压缩特征和待检索特征进行比对,并分别计算目标聚类中每一压缩特征与待检索压缩特征之间的压缩距离,将压缩距离小于压缩距离阈值的压缩特征作为目标压缩特征,形成目标特征集合。s505、服务节点从数据库中的原始特征集合中确定候选特征集合;每一副本集中的目标服务节点通过gpu调用worker从数据库中获取目标压缩特征集合对应的候选特征集合。这里,worker将目标压缩特征集合中每一目标压缩特征对应的索引发送至数据库,数据库根据接收到的索引从原始特征集合中读取索引对应的候选特征,并将所读取的候选特征发送至目标服务节点。其中,原始特征集合中存储有原始特征和对应的索引,且一原始特征对应的索引和该原始特征对应的压缩特征在副本集合中的索引相同。每一副本集中的目标服务节点根据所接收到的候选特征,形成候选特征集合,以从原始特征集合中选取一部分候选特征与待检索特征进行比对,提高检索效率。需要说明的是,目标服务节点可同时向数据库发送多个目标压缩特征对应的索引。s506、服务节点将候选特征集合中的每一候选特征与待检索特征进行比对,得到目标候选特征。每一副本集中的目标服务节点,将候选特征集合中的每一候选特征与待检索特征进行比对,得到各副本集对应的目标候选特征。s507、服务节点将相应的目标候选特征发送至接口代理服务。每一副本集中的目标服务节点将各自的目标候选特征发送至接口代理服务。由接口代理服务对每一副本集中的目标服务节点所发送的目标候选特征进行收集整合,并发送至接收检索操作的检索设备。这里,目标服务节点向接口代理服务发送目标候选特征时,还发送与目标候选特征相关的特征信息,比如:检索对象为用户a,待检索特征为用户a的人脸图像的特征,检索的结果中目标候选特征与待检索特征相同,为用户a的人脸图像的特征,数据库中在存储用户a的人脸图像的特征时,对应存储用户a的特征信息,比如:身份证信息、民族、籍贯以及前科信息等。在实际应用中,一个接口代理服务可同时对应多个特征库。当接口代理服务接收到检索请求时,查看数据库中的特征库与副本集的映射关系;将检索请求分发(map)到负责该特征库对应的replicaset中的某一个服务节点,服务检点经过特征检索将特征检索的检索结果回复给接口代理服务;接口代理服务将检索结果整合收集(reduce)成最终结果。场景2特征的检索方法具有以下技术优势:一方面,目标服务节点进行特征检索时,在gpu中使用压缩特征距离(两个压缩特征之间的相似度)判定,将距离较近的压缩特征的索引查出.然后通过索引在内存或者数据库中得到这批距离较近的原始特征,即候选特征集合,最后使用候选特征集合中的原始特征计算精确的相似度并进行排序.该检索方法既保留了压缩特征搜索速度的优势,又一定程度地提高了检索精度。另一方面,目标服务节点通过gpu进行检索时,支持批量操作,充分利用了gpu并行计算的优势。又一方面,在gpu中使用压缩特征搜索,充分降低了成本。比如,在8g显卡上,预留500m的空间给检索过程使用,对于每条40byte的特征数据(包括32byte的压缩特征和8byte的索引),最大可以装下1.9亿条的压缩特征。场景3、故障恢复场景3的故障恢复方法如图6所示,包括:s600、检测到显存出现故障,判断服务节点的类型;这里,当服务节点出现故障,比如:宕机,服务节点的显存中存储的压缩特征出现异常,服务节点中所存储的所有的压缩特征丢失。此时,记录故障时间,并判断服务节点的类型,如果服务节点为主服务节点,则第一子集中的压缩特征为空,执行s6011,如果服务节点为从服务节点,则第二子集中的压缩特征为空,执行s6021;s6011、判断是否存在元文件;对对象存储304进行访问,确定是否存在当前服务节点所在的副本集对应的元文件,当存在元文件时,执行s6012,当不存在元文件时,执行s6013。元文件中存储有该服务节点所属的副本集的副本集合中的压缩特征的快照文件。s6012、根据元文件进行第一子集的压缩特征的恢复;这里,从元文件中获取快照文件的采集时间之前所记录的压缩特征,恢复到第一子集中。根据快照文件的采集时间从第一日志中读取采集时间之后的待写入特征,得到补充原始特征,即采集时间至故障时间之间这段时间写入的待写入特征,对补充原始特征进行特征提取,得到补充原始特征对应的压缩特征,将采集时间至故障时间之间的这段时间写入的压缩特征恢复到第一子集,完成第一子集的恢复。比如:故障时间为10:35分,则第一日志中记录有10:35之前待写入特征的所有写操作,最后依次对第一子集进行拍照得到拍照文件的时间为10:15,则元文件中拍照文件记录有10:15之前第一子集中的压缩特征;当存在元文件时,根据元文件中的拍照文件将第一子集中10:15之前的压缩特征恢复,并读取快照文件的记录时间10:15,根据记录时间10:15将第一日志中10:15至10:35之间的待写入特征进行回放,得到10:15至10:35写入第一子集的待写入特征,从而将第一子集中的压缩特征进行恢复。s6013、根据第一日志进行第一子集的压缩特征的恢复;对第一日志中记录的待写入特征进行特征提取,得到第一日志中待写入特征对应的压缩特征,即恢复压缩特征,将恢复压缩特征写入第一子集,对第一子集中的压缩特征进行恢复。s6021、判断是否存在元文件;当存在元文件时,执行s6022,当不存在元文件时,执行s6023。s6022、根据元文件对第二子集的压缩特征进行恢复;这里,从元文件中获取快照文件的采集时间之前所记录的压缩特征,恢复到第二子集中。根据快照文件的采集时间从第二日志中读取采集时间之后的待写入特征,得到补充原始特征,即采集时间至故障时间之间这段时间写入的待写入特征,对补充原始特征进行特征提取,得到补充原始特征对应的压缩特征,将采集时间至故障时间之间的这段时间写入的压缩特征恢复到第二子集。此时,将故障时间之前第二子集的压缩特征恢复,还需执行s6024,以保持第一子集和第二子集的同步。s6023、根据第二日志进行第二子集的压缩特征的恢复;对第二日志中记录的待写入特征进行特征提取,得到第二日志中待写入特征对应的压缩特征,即恢复压缩特征,将恢复压缩特征写入第二子集,对第二子集中的压缩特征进行恢复。对于从服务节点,恢复压缩特征为故障时间之前所写入的待写入特征,此时,还需执行s6024,以保持第一子集和第二子集的同步。s6024、根据第一日志进行第一子集和第二子集的同步。在故障时间至当前时间,第一子集中可能存在压缩特征的写入,此时,读取第一日志中故障时间之后写入的待写入特征即同步原始特征,这里,也可根据第二日志中记录的最后一条待写入特征的记录时间,读取从服务节点故障后第一日志中所写入同步原始特征,对同步原始特征进行特征提取,得到同步原始特征对应的压缩特征,将同步原始特征对应的压缩特征写入第二子集,完成第二子集和第一子集的同步。在场景3中,对于第一子集,通过元文件进行恢复时的快照压缩特征和补充原始特征对应的压缩特征所构成的集合,与通过第一日志进行恢复时的恢复压缩特征相同。对于第二子集,通过元文件进行恢复时的快照压缩特征、补充原始特征对应的压缩特征和同步原始特征对应的压缩特征,与通过第一日志进行恢复时的恢复压缩特征相同。在场景3中,主服务节点遇到故障恢复时,执行以下步骤:a、如果没有元文件,通过第一日志回放所有写操作;b、如果有元文件,根据元文件加载所有快照文件;c、从元文件获取得到第一日志的位置,并从该位置开始,回放后面的写操作。总服务节点遇到故障恢复时,前面3步和主服务节点一样,并发送最后的操作序号给主服务节点,收取主服务节点同步过来的写操作,并进行回放,其中,最后的操作序号为第二日志中记录的最后一条写操作的序号。需要说明的是,服务节点每隔一段时间,对压缩特征的改变量较大的副本集合进行全量导出,存为快照文件,并根据所有分片最新的快照文件生成一个新的元文件,其中,元文件中包括快照文件所在日志的位置。本发明实施例提供的特征检索方法,相对于现有技术具有以下技术优势:1、使用gpu作为特征检索服务的硬件基础,加强单机服务中特征检索计算的并行度。2、对深度特征大库(如全国公民人脸信息)自动多机水平数据划分,突破单机计算、存储性能瓶颈。3、副本集实现多机冗余,即同时在多个服务节点中存储副本集合,线性提高检索并发,且具备完整的操作回放机制,定时快照策略保证数据可靠及快速错误恢复,具有数据可靠、容灾等特性。其中,容灾指的是其中一个服务节点出现问题时,能够通过其他存储同样的压缩特征的服务节点进行恢复处理。实施例三本发明实施例中,通过四种检索方法对相关技术中的特征检索方法和本发明实施例提供的特征检索方法进行比较,其中,方法1和方法2为相关技术中的特征检索方法,方法3和方法4为本发明实施例提供的特征检索方法。方法1、原始特征检索图7a为相关技术中的特征检索方法1的示意图,如图7a所示,数据库中的原始特征数组包括多个原始特征,当进行待检索特征的检索时,将待检索特征和原始特征数组中的各原始特征进行匹配,找出与待检索特征匹配的目标候选特征。方法2、压缩特征检索图7b为相关技术中的特征检索方法2的示意图,如图7b所示,数据库中的压缩特征数组包括多个压缩特征。当进行待检索特征的检索时,将待检索特征对应的待检索的压缩特征和压缩特征数组中的各压缩特征进行匹配,找出与待检索的压缩特征匹配的目标压缩特征,将目标压缩特征对应的原始特征确定为目标候选特征。方法3、压缩特征检索+原始特征检索图7c为本发明实施例提供的特征检索方法3的示意图。在服务节点中存储有压缩特征数组(即副本集合),在数据库中存储有原始特征数据(即原始特征集合)。当进行待检索特征的检索时,将待检索特征对应的待检索的压缩特征和压缩特征数组中的各压缩特征进行匹配,找出与待检索的压缩特征匹配的目标压缩特征,将目标压缩特征对应的原始特征确定为候选特征,在候选特征中确定与待检索特征匹配的目标候选特征。方法4、聚类+压缩特征检索+原始特征检索图7d为本发明实施例提供的特征检索方法4的示意图。在服务节点中存储有压缩特征数组(即副本集合),且每个压缩特征数组包括多个聚类,每个聚类包括有对应的典型特征:典型特征1、典型特征2……典型特征n(对应附图7d中的原始特征1、原始特征2……原始特征n),在数据库中存储有原始特征数据(即原始特征集合)。当进行待检索特征的检索时,将待检索特征与各聚类的典型特征进行比对,找出与检索特征相似的目标典型特征,将目标典型特征对应的聚类确定为目标聚类,将待检索特征对应的待检索的压缩特征与目标聚类中的各压缩特征进行比较,确定目标压缩特征,在目标压缩特征对应的候选特征中查找目标候选特征。这里,每个典型特征设置有倒排索引,从而通过目标典型特征对应的倒排索引来确定的目标聚类。这里,以方法1的复杂度为o(n)、精度为1、速度为4为例,从复杂度、精度和速度这三个维度对方法1、方法2、方法3以及方法4的检索效果进行比较,比较结果如表1所示。表1不同的检索方法的检索效果比较示例方法1方法2方法3方法4复杂度o(n)o(n)o(n)probe/nlist*o(n)精度1422至3速度4131至3其中,方法4的复杂度probe/nlist*o(n)中,probe表征目标聚类的数量,也就是说,目标聚类包括probe个聚类,nlist为聚类的总数量。在方法4中,从nlist聚类中确定probe个目标聚类,在probe个目标聚类的压缩特征中查找与待检索的压缩特征匹配的目标压缩特征。其中,对于一次聚类后的副本集合来讲,nlist是固定的,对于每个待检索的压缩特征,nprobe可不同。根据表1可知,对于精度:方法1>方法3>=方法4>方法2,对于速度:方法1<方法3<=方法4<=方法2。实施例四本发明实施例提供一种特征检索装置,如图8所示,所述装置包括:提取模块801、查找模块802、确定模块803和比对模块804;其中,提取模块801,用于对待检索特征进行特征提取,得到待检索的压缩特征;查找模块802,用于从副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合,所述目标压缩特征集合至少包括一个目标压缩特征,所述副本集合包括不同的压缩特征;确定模块803,用于从原始特征集合中确定每一目标压缩特征对应的候选特征,形成候选特征集合;所述原始特征集合中包括至少一个原始特征;比对模块804,用于将所述候选特征集合中的候选特征与所述待检索特征进行比对,得到所述待检索特征对应的目标候选特征。在一实施例中,如图9a所示,查找模块802包括:第一查找子模块8021;第一查找子模块8021,用于从至少两个副本集合中查找与所述待检索的压缩特征匹配的目标压缩特征集合,每一所述副本集合所包括的压缩特征不同。在一实施例中,所述副本集合包括存储在第一物理机上的第一子集和存储在第二物理机上的第二子集,所述第一子集和所述第二子集中的压缩特征相同;相应地,如图9a所示,查找模块802还包括:第二查找子模块8022;第二查找子模块8022,用于从所述副本集合的目标子集中,查找与所述待检索的压缩特征匹配的目标压缩特征集合,所述目标子集从所述第一子集和所述第二子集中选取。在一实施例中,所述副本集合包括至少两个聚类;所述聚类中包括至少一个压缩特征,同一聚类中的压缩特征所属的特征类型相同;相应地,如图9a所示,查找模块802还包括:确定子模块8023和第三查找子模块8024;确定子模块8023,用于根据所述待检索特征和每一所述聚类的典型特征,从所述副本集合中确定目标聚类,所述典型特征表征对应的聚类中压缩特征所属的特征类型;第三查找子模块8024,用于从所述目标聚类的压缩特征中查找与所述待检索的压缩特征匹配的目标压缩特征集合。在一实施例中,如图9a所示,查找模块802还包括:计算子模块8025和比较子模块8026;其中,计算子模块8025,用于确定所述待检索的压缩特征与所述副本集合中每一压缩特征的压缩距离,所述压缩距离表征两个压缩特征的相似度;比较子模块8026,用于将所述压缩距离小于设定的压缩距离阈值的压缩特征作为所述目标压缩特征,形成目标压缩特征集合。在一实施例中,如图9c所示,确定模块803包括:索引子模块8031和获取子模块8032;索引子模块8031,用于确定所述每一目标压缩特征对应的索引;其中,所述索引用于表征所述目标压缩特征对应的候选特征在所述原始特征集合中的位置;获取子模块8032,用于根据所述每一目标压缩特征的索引从所述原始特征集合中获取所述每一目标压缩特征对应的候选特征,形成所述候选特征集合。在一实施例中,如图9b所示,所述装置还包括:写入模块805,用于:对待写入特征进行特征提取,得到待写入的压缩特征;将所述待写入的压缩特征写入目标副本集合的第一子集;所述目标副本集合为至少两个副本集合中的一个副本集合;将所述待写入特征写入所述第一子集对应的第一日志;根据所述第一日志将所述待写入特征对应的压缩特征写入所述目标副本集合的第二子集,将所述待写入特征写入所述第二子集对应的第二日志。在一实施例中,如图9b所示,所述装置还包括:第一恢复模块806,用于:如果所述副本集合的第一子集或第二子集中压缩特征为空,根据第一日志或第二日志中记录的待写入特征确定恢复压缩特征;其中,所述第一日志中记录有第一子集中压缩特征为空之前所写入的待写入特征;所述第二日志中记录有第二子集中压缩特征为空之前所写入的待写入特征;将所述恢复压缩特征写入所述第一子集或所述第二子集。在一实施例中,如图9b所示,所述装置还包括:第二恢复模块807,用于:如果所述副本集合的第一子集或第二子集中压缩特征为空,查找所述副本集合对应的元文件;所述元文件中记录有所述第一子集或所述第二子集中压缩特征为空之前所写入的压缩特征;将所述元文件中记录的压缩特征确定为快照压缩特征,将所述快照压缩特征写入所述第一子集或所述第二子集;获取所述元文件中最后一个压缩特征的采集时间,根据所述采集时间从所述第一日志或所述第二日志中确定补充原始特征,将所述补充原始特征对应的压缩特征写入所述第一子集或所述第二子集。在一实施例中,如图9b所示,所述装置还包括:第三恢复模块808,用于:如果所述副本集合的第二子集中压缩特征为空,确定所述第二日志中所记录的最后一条待写入特征的记录时间;根据所述记录时间从所述第一日志中确定同步原始特征,所述同步原始特征为所述记录时间之后写入所述目标副本集合的第一子集中的待写入特征;将所述同步原始特征对应的压缩特征写入所述第二子集。需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。需要说明的是,本发明实施例中,如果以软件功能模块的形式实现上述的即时通讯方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台即时通讯设备(可以是终端、服务器等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(readonlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。相应地,本发明实施例再提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,该计算机可执行指令被执行后,能够实现本发明实施例提供的特征检索方法中的步骤。相应地,本发明实施例再提供一种存储介质(即计算机存储介质),所述计算机存储介质上存储有计算机可执行指令,所述该计算机可执行指令被处理器执行时实现上述实施例提供的特征检索方法的步骤。相应地,本发明实施例提供一种计算机设备,图10为本发明实施例计算机设备的组成结构示意图,如图10所示,所述设备1000包括存储器1005和gpu1001,存储器1005上存储有计算机可执行指令,gpu1001运行存储器1005上的计算机可执行指令时可实现上述实施例提供的特征检索方法的步骤。其中,如图10所示,计算机设备1000还包括至少一个通信总线1002、用户接口1003和至少一个外部通信接口1004。其中,通信总线1002配置为实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏,外部通信接口1004可以包括标准的有线接口和无线接口。以上计算机程序产品、计算机设备和计算机存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明计算机程序产品、计算机设备和计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(readonlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1