索引构建方法及装置制造方法及图纸

技术编号:32628575 阅读:17 留言:0更新日期:2022-03-12 18:02
本说明书提供索引构建方法及装置,其中所述索引构建方法包括:监听用户的数据写入操作,确定所述数据写入操作对应的写入数据;获取所述写入数据中的关键字,在所述关键字满足索引创建条件的情况下,将所述关键字发送至所述索引构建线程,其中,所述索引创建条件为索引构建线程对应的条件;基于所述关键字,通过所述索引构建线程构建所述写入数据的索引。所述索引构建线程构建所述写入数据的索引。所述索引构建线程构建所述写入数据的索引。

【技术实现步骤摘要】
索引构建方法及装置


[0001]本说明书涉及计算机
,特别涉及一种索引构建方法。

技术介绍

[0002]随着互联网技术的发展,许多机构会将自身的数据信息存储至数据库中,便于后续对该数据信息进行处理,例如,将图片、视频等非结构化数据进行特征提取并且向量化,并在数据库中对向量化的非结构化数据构建索引,用作商品推荐、以图搜图等近似查询。
[0003]但现有技术中的数据库只能通过离线的方式,对大数据进行索引构建,无法进行在线实时构建索引,从而导致索引的构建耗时较长,无法满足用户的实时在线查询的需求。

技术实现思路

[0004]有鉴于此,本说明书实施例提供了一种索引构建方法。本说明书同时涉及一种索引构建装置,一种计算设备,一种计算机可读存储介质,以及一种计算机程序,以解决现有技术中存在的技术缺陷。
[0005]根据本说明书实施例的第一方面,提供了一种索引构建方法,包括:
[0006]监听用户的数据写入操作,确定所述数据写入操作对应的写入数据;
[0007]获取所述写入数据中的关键字,在所述关键字满足索引创建条件的情况下,将所述关键字发送至所述索引构建线程,其中,所述索引创建条件为索引构建线程对应的条件;
[0008]基于所述关键字,通过所述索引构建线程构建所述写入数据的索引。
[0009]根据本说明书实施例的第二方面,提供了一种索引构建装置,包括:
[0010]监听模块,被配置为监听用户的数据写入操作,确定所述数据写入操作对应的写入数据;
[0011]发送模块,被配置为获取所述写入数据中的关键字,在所述关键字满足索引创建条件的情况下,将所述关键字发送至所述索引构建线程,其中,所述索引创建条件为索引构建线程对应的条件;
[0012]构建模块,被配置为基于所述关键字,通过所述索引构建线程构建所述写入数据的索引。
[0013]根据本说明书实施例的第三方面,提供了一种计算设备,包括:
[0014]存储器和处理器;
[0015]所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现任意所述索引构建方法的步骤。
[0016]根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现任意所述索引构建方法的步骤。
[0017]根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行任意所述索引构建方法的步骤。
[0018]本说明书提供的索引构建方法,包括监听用户的数据写入操作,确定所述数据写入操作对应的写入数据;获取所述写入数据中的关键字,在所述关键字满足索引创建条件的情况下,将所述关键字发送至所述索引构建线程,其中,所述索引创建条件为索引构建线程对应的条件;基于所述关键字,通过所述索引构建线程构建所述写入数据的索引。
[0019]具体地,所述索引构建方法通过实时对用户的数据写入操作进行监听,从而在数据写入操作对应的写入数据中的关键字,满足索引构建线程对应的索引创建条件的情况下,基于该关键字,通过索引构建线程对写入数据的索引进行构建,从而实现了在线实时构建索引,达到了通过索引构建线程,针对用户实时写入的数据进行快速的索引构建的目的,避免了由于对大数据进行索引构建,导致耗时较长的问题,满足后续用户基于索引进行实时在线查询的需求。
附图说明
[0020]图1是本说明书一实施例提供的一种基于Milvus方案的处理示意图;
[0021]图2是本说明书一实施例提供的一种索引构建方法的流程图;
[0022]图3是本说明书一实施例提供的一种应用于进行向量的近似查询场景下的索引构建方法的处理流程图;
[0023]图4是本说明书一实施例提供的一种索引构建装置的结构示意图;
[0024]图5是本说明书一实施例提供的一种计算设备的结构框图。
具体实施方式
[0025]在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
[0026]在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0027]应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0028]首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
[0029]向量:长度为X(x≥1)的数组,通常由AI(人工智能)模型的输出。
[0030]近似检索:查找距离输入向量最近的N(x≥1)个向量,普遍用作于商品推荐、以图搜图等场景。
[0031]索引构建:对向量数据进行快速查询,需要提前对向量进行索引的构建,作为后续进行近似查询的基础。
[0032]Tair:一种Key/Value结构数据存储系统。
[0033]近似检索算法库:一种能够实现近似检索算法的库。例如实现了HNSW、PQ等近似检索算法的数据库。
[0034]Rocksdb:是一个可嵌入的、持久性的Key

Value存储。
[0035]随着互联网技术的发展,多数数据库几乎运用于存储结构化数据,例如员工信息、财务信息等有明显可以多列表示的数据;而对于非结构化数据,例如图片、视频等,通常在数据库中只能存储对应的路径等或者将信息二进制化,以键值对存入到数据库;但是由于数据库无法识别非结构化数据,导致其检索能力也受限。在AI领域,通常是对非结构化数据进行特征提取并且向量化,其输出的是一个X维的向量;针对该向量构建的索引会被用作近似查询,例如商品推荐、以图搜图等。也即是说,多数数据库仅能提供结构化数据的存储和检索,无法提供对向量的近似检索,同时,通用的向量近似检索库,只适合做离线对大数据进行索引构建,无法应用于在线实时构建索引,因此索引的构建耗时较长,无法满足有实时在线用户的要求。
[0036]基于此,本说明书提供的一种基于Milvus(高性能向量搜索引擎)方案已解决上述问题,但是,Milvu的算法库使用Fa本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种索引构建方法,包括:监听用户的数据写入操作,确定所述数据写入操作对应的写入数据;获取所述写入数据中的关键字,在所述关键字满足索引创建条件的情况下,将所述关键字发送至所述索引构建线程,其中,所述索引创建条件为索引构建线程对应的条件;基于所述关键字,通过所述索引构建线程构建所述写入数据的索引。2.根据权利要求1所述的索引构建方法,所述监听用户的数据写入操作,确定所述数据写入操作对应的写入数据之前,还包括:基于索引创建条件创建索引构建线程。3.根据权利要求2所述的索引构建方法,所述基于索引创建条件创建索引构建线程之后,还包括:接收对象关联指令,其中,所述对象关联指令携带有目标索引构建对象的对象标识;基于所述对象标识确定所述目标索引构建对象,并建立所述目标索引构建对象与所述索引构建线程的对应关系。4.根据权利要求1所述的索引构建方法,所述监听用户的数据写入操作,确定所述数据写入操作对应的写入数据,包括:根据数据监听对象对用户的数据写入操作进行监听;在监听到所述数据写入操作的情况下,获取所述数据写入操作对应的写入数据。5.根据权利要求1所述的索引构建方法,所述基于所述关键字,通过所述索引构建线程构建所述写入数据的索引,包括:确定所述索引构建线程对应的索引构建对象;在所述索引构建对象为索引增量构建对象的情况下,基于所述关键字,通过所述索引增量构建对象构建所述写入数据的索引。6.根据权利要求5所述的索引构建方法,所述确定所述索引构建线程对应的索引构建对象,包括:基于索引构建对象的对象标识生成对象选取请求,并将所述对象选取请求发送至所述用户;接收所述用户发送的对象确定指令,其中,所述对象确定指令携带所述用户选取的索引构建对象的对象标识;基于所述对象标识确定所述索引构建线程对应的索引构建对象。7.根据权利要求5所述的索引构建方法,所述基于所述关键字,通过所述索引增量构建对象构建所述写入数据的索引,包括:基于所述关键字,通过所述索引增量构建对象对历史索引进行更新,获得所述写入数据对应的更新索引,其中,所述历史索引为所述索引增量构建对象基于历史关键字构建的索引。8.根据权利要求5所述...

【专利技术属性】
技术研发人员:陈嘉园白岩朱国云姜志峰杨成虎
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1