异构向量与词法索引的一致性发布及检索方法与流程
本发明涉及计算机信息检索和分布式数据一致性,尤其涉及一种在向量索引存储与词法索引存储不能共同参加同一存储事务时,利用回读证明、原子发布清单和请求快照执行一致性发布及检索的方法、系统、电子设备和计算机可读存储介质。
背景技术:
1、混合检索系统通常将文档分块分别写入向量索引和倒排或词法索引。向量检索根据嵌入向量取得语义候选,词法检索根据词项及频率取得字面候选,再融合两个通道的结果。两个存储独立部署时,单端写入成功不代表另一端已写入同一修订。
2、例如,cn119847988a公开了索引更新方法,wo2025059679a2公开了事务一致的hnsw索引方案。对本申请所关注的向量索引与词法索引分别承载于不同存储的场景,还需要处理双端实际落盘记录核验、请求选用同一修订以及旧记录回收之间的配合关系。上述引证用于说明相关研究方向,并不表示单一文献公开了本申请全部步骤的组合。
3、若采用分别切换本地活动状态的方式,在两次切换之间可能出现一个通道读取新修订、另一通道读取旧修订的窗口。仅增加失败补偿不能消除已经被请求观察到的窗口;若新版本发布后立即删除旧记录,持有旧快照的在途请求还可能失去可寻址数据。
技术实现思路
1、本发明要解决的技术问题是:在两个异构索引不能共享存储事务的情况下,减少双通道新旧修订混用,并使并发发布冲突、双端记录不一致及旧修订回收具有明确的处理条件。
2、如图1所示,本方法将修订构建和双端暂存、双端回读证明校验、比较旧状态并原子发布、同一快照双路检索、旧版本保留及到期清理相互配合。实际数据写入与请求可见的逻辑发布相分离,关系数据库中的发布清单承担单一逻辑发布点。
3、更新开始时取得目标逻辑路径当前令牌和发布代次;根据知识库标识、路径标识及源内容摘要生成修订令牌,构建分块并写入两个索引。分别回读实际存储记录,按同一规则对数量及内容摘要形成证明。仅在两端数量相等且大于零、摘要相同时进入发布事务。
4、发布事务执行预期状态比较。已有记录通过行级锁读取并更新;没有记录时执行联合唯一约束保护的首次插入,插入冲突视为发布冲突。成功更新时增加发布代次,保存新令牌及证明,并记录旧令牌的保留期限。
5、检索请求一次性取得经授权知识库的覆盖状态和当前令牌集合,在覆盖完整且集合非空时冻结该集合,对向量及词法检索使用相同的令牌精确过滤,不再以本地活动状态决定可见性。覆盖不完整或集合为空时返回可重试状态,不发起该次双通道检索。
6、清理任务等待旧修订的保留期限届满,并与同一路径的暂存发布任务互斥。取得锁后再次核验该令牌不为当前修订,且各次退役记录的保留期限均已届满,随后删除双端旧记录。单端删除失败不改变当前发布清单,也不把历史记录标记为双端清理完成。
7、上述技术手段使同一请求两个检索通道选择同一修订集合;双端回读证明能够发现两个存储之间的数量或内容差异;原子条件更新抑制并发静默覆盖;重新核验和延迟清理避免删除已恢复为当前修订的记录,并在配置时限满足要求时支持旧快照读取。覆盖不完整时牺牲该次请求的即时可用性,避免输出无法保证一致性的混合结果。
1.一种异构向量与词法索引的一致性发布及检索方法,其特征在于,由索引服务执行,包括:针对经授权的知识库中的目标逻辑路径,取得当前发布状态作为预期发布状态,并依据知识库标识、路径标识和源内容摘要生成修订令牌;对源内容进行分块,将携带同一修订令牌的分块记录分别以未发布状态写入不能共同参加同一存储事务的向量索引存储和词法索引存储;分别从两个索引存储回读对应修订令牌的分块记录,按照相同的规范化规则生成各自包含分块数量和分块摘要的存储证明,仅当两个分块数量相等且大于零、两个分块摘要相同时允许进入逻辑发布;在关系数据库事务中对目标逻辑路径的发布清单执行原子条件更新,比较当前发布状态与所述预期发布状态,其中比较包括当前修订令牌与预期修订令牌的比较,在比较一致时写入新修订令牌并记录被替换修订令牌的保留期限,在比较不一致时拒绝本次发布;在检索请求开始时,一次性取得经授权知识库的完整发布清单快照,将其中同一修订令牌集合固定为本次请求中向量检索和词法检索的精确过滤条件,忽略两个索引存储各自的本地活动状态字段,并融合两个检索的候选结果;以及在所述保留期限届满后,确认被替换修订令牌未被重新发布为当前修订,按该令牌从两个索引存储清理旧分块记录。
2.根据权利要求1所述的方法,其特征在于,所述修订令牌通过对知识库标识、空字符分隔符、路径标识、空字符分隔符和源内容摘要依次连接所得字节串执行sha-256运算而生成;所述知识库标识和路径标识不包含空字符,使相同源内容在不同知识库或不同逻辑路径中具有不同的修订标识。
3.根据权利要求1所述的方法,其特征在于,每一分块记录的点标识由路径标识、源内容摘要和分块序号确定性生成;在文档转换及分块配置保持不变的条件下,路径、源内容和分块序号均相同的分块记录使用相同点标识。
4.根据权利要求1所述的方法,其特征在于,所述规范化规则包括:针对每一分块记录形成由点标识、知识库标识、路径标识、源内容摘要、修订令牌、分块序号和分块文本摘要构成的规范记录,按照点标识和分块序号排序,使用固定键顺序序列化后计算摘要;所述存储证明由规范记录数量及其摘要组成。
5.根据权利要求1所述的方法,其特征在于,所述预期发布状态还包括发布代次;对于已存在的发布清单记录,使用行级锁读取当前记录,同时比较修订令牌和发布代次,比较一致时递增发布代次并更新当前记录;对于不存在的记录,以空令牌和代次零作为预期发布状态,执行受知识库标识和路径标识联合唯一约束保护的首次插入,插入发生冲突时拒绝发布,不以冲突更新覆盖其他发布者已插入的记录。
6.根据权利要求1所述的方法,其特征在于,所述完整发布清单快照包含知识库覆盖完整状态;仅当全量同步验证知识库中每一已索引逻辑路径均存在相匹配的发布清单记录时,设置覆盖完整状态;任一经授权知识库的覆盖状态不完整或快照令牌集合为空时,终止本次双通道检索并返回可重试状态,不使用部分令牌集合或各存储的本地活动状态执行本次双通道检索。
7.根据权利要求1所述的方法,其特征在于,关系数据库通过同一查询语句取得覆盖完整状态和当前发布清单令牌集合,向量检索和词法检索在本次请求期间均仅接受修订令牌属于该集合的分块记录。
8.根据权利要求1所述的方法,其特征在于,所述保留期限的配置时长不短于发布事务记录保留截止时间至事务完成的最大时长、允许的检索请求最长执行时长以及调度裕量之和;暂存发布任务和旧修订清理任务取得同一目标逻辑路径的互斥锁,清理任务取得锁后重新检查该旧修订不为当前修订,且该令牌各次退役记录的保留期限均已届满,再执行双端清理。
9.根据权利要求1所述的方法,其特征在于,在任一索引存储写入失败、任一存储证明的分块数量为零、两个存储证明不一致或预期发布状态比较失败时,不由本次发布操作改变当前发布记录;在清理任一存储失败时,不标记双端清理完成,保留尚未清理的记录并重试,不回滚当前发布清单。
10.一种异构向量与词法索引的一致性发布及检索系统,其特征在于,包括:修订构建模块,用于取得预期发布状态,依据知识库标识、路径标识和源内容摘要生成修订令牌及分块记录;双存储暂存模块,用于将携带同一修订令牌的分块记录以未发布状态写入不能共同参加同一存储事务的向量索引存储和词法索引存储;存储证明模块,用于分别回读两个存储,按同一规范化规则生成各自包含分块数量和分块摘要的存储证明;原子发布模块,用于仅在两个分块数量相等且大于零、两个分块摘要相同时,在关系数据库事务中比较包含修订令牌的当前发布状态与预期发布状态,比较一致时原子更新发布清单并记录旧修订保留期限,否则拒绝发布;快照检索模块,用于在请求开始时一次性取得完整发布清单快照,将同一修订令牌集合固定为两个索引的精确过滤条件并忽略本地活动状态,取得候选结果;候选融合模块,用于融合所述候选结果;以及延迟清理模块,用于在保留期限届满并确认旧修订未被重新发布为当前修订后清理两个索引存储的旧分块记录。
11.根据权利要求10所述的系统,其特征在于,所述发布清单包括以知识库标识和路径标识为联合主键的当前发布表、记录知识库覆盖完整状态的状态表以及记录被替换修订令牌、发布代次、保留期限和清理状态的历史表;所述快照检索模块在任一经授权知识库的覆盖状态不完整或快照令牌集合为空时返回可重试状态,不执行本次双通道检索。
12.一种电子设备,包括处理器和存储器,其特征在于,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使所述电子设备执行权利要求1至9中任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com