本发明实施例涉及互联网,尤其涉及一种向量数据库建立方法、检索方法、装置及电子设备。
背景技术:
1、目前,为了验证设备的唯一性,通常在获取到设备指纹后,对设备指纹进行检索实现。而设备指纹实质上为一特征向量,为了实现设备指纹这一特征向量的检索,通常基于向量数据库进行向量检索。利用向量数据库进行检索时,由于向量数据库中是存储的一条条的向量,在进行检索时,需计算向量与每条向量之间的距离,根据距离得到最终的检索结果,检索效率较低;而为了提高利用向量数据库进行检索的效率,可通过对向量数据库进行筛选,再利用筛选后的向量实现对向量的检索,但现有的方式会使得检索结果不准确。
技术实现思路
1、鉴于此,为解决上述技术问题或部分技术问题,本发明实施例提供一种向量数据库建立方法、检索方法、装置及电子设备。
2、第一方面,本发明实施例提供一种向量数据库建立方法,包括:
3、确定待需建立的目标向量数据库的索引层数n、每一索引层对应的目标取值区间及目标划分粒度;
4、针对每一索引层,利用所述索引层对应的所述目标划分粒度对所述目标取值区间进行划分,得到多个划分区间;
5、根据各个索引层所对应的多个划分区间,确定n层索引,以得到多个空间立方体,空间立方体的一条边对应索引层中的一个划分区间;
6、根据n层索引,将历史特征向量集导入至各个空间立方体中,以得到所述目标向量数据库。
7、在一个可选的实施方式中,所述根据n层索引,将历史特征向量集导入至各个空间立方体中,以得到所述目标向量数据库,包括:
8、针对所述历史特征向量集中的每个历史特征向量,根据所述历史特征向量与n层索引的索引层之间的对应关系,从n层索引的每个索引层中确定出所述历史特征向量对应的目标划分区间,以得到多个目标划分区间;
9、根据多个目标划分区间,从多个空间立方体中确定出与所述历史特征向量对应的目标空间立方体;
10、将所述历史特征向量导入至所述目标空间立方体中,以得到所述目标向量数据库。
11、在一个可选的实施方式中,所述方法,还包括:
12、在将所述历史特征向量集导入至各个空间立方体的过程中,确定n层索引的各索引层中每个划分区间所对应的阈值。
13、第二方面,本发明实施例提供一种向量检索方法,包括:
14、获取目标特征向量和已建立的目标向量数据库,所述目标向量数据库通过如上所述的向量数据库建立方法所建立;
15、根据所述目标特征向量与所述目标向量数据库中的n层索引的索引层之间的对应关系,从n层索引的每个索引层中确定出所述目标特征向量对应的目标划分区间,以得到多个目标划分区间;
16、根据多个目标划分区间,从所述目标向量数据库的多个空间立方体中确定出与所述目标特征向量对应的目标空间立方体;
17、从所述目标空间立方体中确定出所述目标特征向量对应的历史特征向量集;
18、将所述历史特征向量集确定为所述目标特征向量对应的目标检索结果。
19、在一个可选的实施方式中,所述方法,还包括:
20、确定每个所述目标划分区间对应的目标阈值;
21、针对每个所述目标划分区间,从所述目标划分区间对应的索引层中确定出满足所述目标阈值的划分区间;
22、根据所有满足所述目标阈值的划分区间,从所述目标向量数据库的多个空间立方体中确定出与所述目标空间立方体相关的所有空间立方体;
23、所述从所述目标空间立方体中确定出所述目标特征向量对应的历史特征向量集,包括:
24、从所述目标空间立方体及与所述目标空间立方体相关的所有空间立方体中确定出所述目标特征向量对应的历史特征向量集。
25、在一个可选的实施方式中,所述方法,还包括:
26、利用预设算法确定所述历史特征向量集中是否存在与所述目标特征向量相似的目标历史特征向量;
27、在所述历史特征向量集中未存在与所述目标特征向量相似的所述目标历史特征向量时,根据所述目标特征向量对应的所述目标空间立方体,将所述目标特征向量导入至所述目标向量数据库中,以完成所述目标向量数据库的更新。
28、在一个可选的实施方式中,所述方法,还包括:
29、在所述历史特征向量集中存在与所述目标特征向量相似的所述目标历史特征向量时,根据所述目标特征向量对应的所述目标空间立方体,将所述目标特征向量导入至所述目标向量数据库中,并从所述目标向量数据库中删除所述目标历史特征向量,以完成所述目标向量数据库的更新。
30、第三方面,本发明实施例提供的一种向量数据库建立装置,包括:
31、确定模块,用于确定待需建立的目标向量数据库的索引层数n、每一层对应的目标取值区间及目标划分粒度;
32、划分模块,用于针对每一索引层,利用所述索引层对应的所述目标划分粒度对所述目标取值区间进行划分,得到多个划分区间;
33、所述确定模块,还用于根据各个索引层所对应的多个划分区间,确定n层索引,以得到多个空间立方体,空间立方体的一条边对应索引层中的一个划分区间;
34、导入模块,用于根据n层索引,将历史特征向量集导入至各个空间立方体中,以得到所述目标向量数据库。
35、第四方面,本发明实施例提供的一种向量检索装置,包括:
36、获取模块,用于获取目标特征向量和已建立的目标向量数据库,所述目标特征向量数据库通过如上所述的向量数据库建立装置所建立;
37、确定模块,用于根据所述目标特征向量与所述目标向量数据库中的n层索引的各索引层之间的对应关系,从n层索引的每层索引中确定出所述目标特征向量对应的目标划分区间,以得到多个目标划分区间;
38、所述确定模块,还用于根据多个目标划分区间,从所述目标向量数据库的多个空间立方体中确定出与所述目标特征向量对应的目标空间立方体;
39、所述确定模块,还用于从所述目标空间立方体中确定出所述目标特征向量对应的历史特征向量集;
40、所述确定模块,还用于将所述历史特征向量集确定为所述目标特征向量对应的目标检索结果。
41、第五方面,本发明实施例提供的一种电子设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的向量数据库建立程序及向量检索程序,以实现如上所述的向量数据库建立方法及如上所述的向量检索方法。
42、本发明实施例提供的一种向量数据库建立方法,包括:确定待需建立的目标向量数据库的索引层数n、每一索引层对应的目标取值区间及目标划分粒度;针对每一索引层,利用索引层对应的目标划分粒度对目标取值区间进行划分,得到多个划分区间;根据各个索引层所对应的多个划分区间,确定n层索引,以得到多个空间立方体,空间立方体的一条边对应索引层中的一个划分区间;根据n层索引,将历史特征向量集导入至各个空间立方体中,以得到目标向量数据库。通过以上方式,本发明实施例对向量数据库的存储结构进行了改进,通过建立n层索引的方式进行向量集的存储,这样使得在对设备指纹这一特征向量进行检索时,只需根据所确定的n层索引确定与待检索的向量对应的空间立方体,然后确定出该空间立方体所储存的向量集,最后将该向量与所确定出的所存储的小部分向量集进行比较即可,如此,提高了检索的效率以及减少了计算机资源的消耗,在保证检索准确性的情况下,将向量数据的查询复杂度从o(n)降到o(log(n))。