一种向量数据库存储与检索方法与流程

文档序号:29207047发布日期:2022-03-12 01:54阅读:来源:国知局

技术特征:
1.一种向量数据库存储与检索方法,其特征在于,包括:获取数据表,并将数据表水平切分,形成若干分片,其中,每个所述分片包括多个副本;获取数据,依据数据中所包含的键数据,进行第一次映射,所述键数据做hash得到一个整数,依据所述整数对所述若干分片求余,得到分片号,而后,再进行第二次映射,根据所述第一次映射和所述第二次映射为所述获取数据建立元数据服务器;其中,分片号用于表征分片,每个所述分片对应多个副本,并且,多个所述副本中包括一个主副本,每个副本对应一个向量存储引擎,依据所述分片号,获取所述主副本对应的向量存储引擎;基于获取到的一个所述主副本向量存储引擎,对其写入向量数据;基于获取到的所述主副本向量存储引擎,对其进行向量相似度检索。2.根据权利要求1所述的向量数据库存储与检索方法,其特征在于,所述获取数据表,并将数据表水平切分,形成若干分片的步骤中,包括:所述元数据服务器包括若干数据服务器,基于raft协议在若干数据服务器中选取一个主服务器以及其他副服务器,所述主服务器与所述副服务器进行数据交互,以便所述主服务器与所述副服务器中所述元数据的一致性。3.根据权利要求1所述的向量数据库存储与检索方法,其特征在于,所述获取数据,依据数据中所包含的键数据,进行第一次映射,所述键数据做hash得到一个整数,依据所述整数对所述若干分片求余,得到分片号,而后,再进行第二次映射,根据所述第一次映射和所述第二次映射为所述获取数据建立元数据服务器;其中,分片号用于表征分片,每个所述分片对应多个副本,并且,多个所述副本中包括一个主副本,每个副本对应一个向量存储引擎,依据所述分片号,获取所述主副本对应的向量存储引擎的步骤中,包括:将所述若干分片赋予数字,依据获取的所述整数与所述数字进行匹配,获得分片号,以便确定所述分片。4.根据权利要求3所述的向量数据库存储与检索方法,其特征在于,所述基于获取到的一个所述主副本向量存储引擎,对其写入向量数据的步骤中,包括:所述数据还包括所述向量数据,每个所述副本对应一个所述数据服务器上的向量引擎;基于所述数据包括的向量数据和键数据,确定该数据对应一个具体所述数据服务器上的向量存储引擎。5.根据权利要求4所述的向量数据库存储与检索方法,其特征在于,所述基于获取到的一个所述主副本向量存储引擎,对其写入向量数据的步骤后,包括:获取所述向量数据相似度的索引请求,对每个所述分片所包括的至少一个副本做索引,在索引的所述副本中选取相似度最高的预设数量的向量数据,再将索引到的预设数量的向量数据进行相似度排序,选取相似度最高的预设数量的向量数据输出。6.根据权利要求4所述的向量数据库存储与检索方法,其特征在于,所述基于获取到的所述主副本向量存储引擎,对其进行向量相似度检索的步骤中,包括:依据获取数据,将所述向量数据使用浮点数数组表征,再将所述浮点数数组转化为二进制数据,并将所述二进制数据存储在键数据值存储引擎中,其中,所述键数据存储引擎用以所述键数据的索引;若索引数据,依据所述键数据在键数据值存储引擎中查询所述二进制数据,再将所述
二进制数据转化为向量数据输出。7.根据权利要求1所述的向量数据库存储与检索方法,其特征在于,获取数据表,并将数据表水平切分,形成若干分片,其中,每个所述分片包括多个副本的步骤中,所述数据表包括:内存表,置于内存中的表;固定内存表,置于磁盘中的表;其中,所述内存表数量达到第一预设阈值后,转为所述固定内存表,并对所述固定内存表中的所述向量数据建立向量存储引擎,所述向量存储引擎存储到磁盘上,生成第一索引文件;所述第一索引文件数量达到第二预设阈值时,将多个所述第一索引文件整合为第二索引文件。8.一种向量数据库存储与检索装置,其特征在于,所述装置包括:创建单元,用于获取数据表,并将数据表水平切分,形成若干分片,其中,每个所述分片包括多个副本;数据获取单元,用于获取数据,依据数据中所包含的键数据,进行第一次映射,所述键数据做hash得到一个整数,依据所述整数对所述若干分片求余,得到分片号,而后,再进行第二次映射,根据所述第一次映射和所述第二次映射为所述获取数据建立元数据服务器;其中,分片号用于表征分片,每个所述分片对应多个副本,并且,多个所述副本中包括一个主副本,每个副本对应一个向量存储引擎,依据所述分片号,获取所述主副本对应的向量存储引擎;写入向量数据单元,用于基于获取到的一个所述主副本向量存储引擎,对其写入向量数据;向量相似度检索单元,用于基于获取到的所述主副本向量存储引擎,对其进行向量相似度检索。9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现权利要求1-7中任一所述的方法步骤。10.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。

技术总结
本发明涉及计算机与人工智能领域,尤其涉及一种向量数据库存储与检索方法、装置、电子设备及存储介质。该向量数据库存储与检索方法包括:获取数据表,并将数据表水平切分,形成若干分片,其中,每个分片包括多个副本;获取数据,依据数据中所包含的键数据,进行第一次映射,键数据做Hash得到一个整数,依据整数对若干分片取模求余,得到分片号,而后,在进行第二次映射,依据分片号,获取分片号所对的多个副本;其中,分片号用于表征分片,每个分片对应有一个分片号;根据第一次映射和第二次映射为获取数据建立元数据服务器上的向量存储引擎,其中,向量存储引擎用于表征数据的查找方式。本发明具有提高检索准确率,降低检索延时,增加可靠性和易用性。可靠性和易用性。可靠性和易用性。


技术研发人员:李明昊
受保护的技术使用者:李明昊
技术研发日:2021.10.10
技术公布日:2022/3/11
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1