CN115952175B - 一种数据库索引构建方法、装置、计算机设备及存储介质 - Google Patents

一种数据库索引构建方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN115952175B
CN115952175B CN202310237949.2A CN202310237949A CN115952175B CN 115952175 B CN115952175 B CN 115952175B CN 202310237949 A CN202310237949 A CN 202310237949A CN 115952175 B CN115952175 B CN 115952175B
Authority
CN
China
Prior art keywords
target
data set
training data
search
character string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310237949.2A
Other languages
English (en)
Other versions
CN115952175A (zh
Inventor
徐美莲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Leshan Normal University
Original Assignee
Leshan Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Leshan Normal University filed Critical Leshan Normal University
Priority to CN202310237949.2A priority Critical patent/CN115952175B/zh
Publication of CN115952175A publication Critical patent/CN115952175A/zh
Application granted granted Critical
Publication of CN115952175B publication Critical patent/CN115952175B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据库索引技术领域,尤其涉及一种数据库索引构建方法、装置、计算机设备及存储介质,该方法包括:获取训练数据集,训练数据集包括:N个搜索字符串以及在数据库中与每个搜索字符串所对应的多维列表地址;对训练数据集进行数据处理,得到目标训练数据集;基于目标训练数据集,对神经网络模型进行训练,得到用于预测搜索字符串在数据库中对应的多维列表地址的预测模型;接收待搜索字符串,基于预测模型,得到目标列表地址;基于目标列表地址,查找存储在目标列表地址中的实际物理地址;基于实际物理地址,在数据库中,获得与待搜索字符串对应的内容,提高了索引效率。

Description

一种数据库索引构建方法、装置、计算机设备及存储介质
技术领域
本发明涉及数据库索引技术领域,尤其涉及一种数据库索引构建方法、装置、计算机设备及存储介质。
背景技术
索引是数据库系统中用于提升数据存取性能的主要技术之一。传统数据库系统一般使用磁盘作为持久性存储设备。但由于磁盘的访问延迟高,磁盘 I/O 次数成为影响数据库系统性能的关键指标。如何快速地在磁盘中找到数据,成为数据库系统中的重要问题。
几十年来,研究者致力于各种索引结构的设计,包括红黑树、B 树、哈希和布隆过滤器等。传统的 B+树索引是基于磁盘而设计的,即假设整个索引完全存储在磁盘中。为了提升数据库系统的读写性能,现代数据库系统倾向于将整个索引缓存在内存中。当数据库规模较小时,缓存索引是可行的。然而,在数据爆炸的现今,数据量可能达到 PB 级甚至百PB 级,其对应的索引占用内存的问题日益凸显,而过大的索引空间结构也导致索引效率不足。研究表明,当今的商用数据库中,索引结构占据服务器内存的 55%。随着数据规模增大,主存不能容纳庞大的数据索引,需要将一部分索引放在外存中,从而增加了I/O操作数量。
针对传统索引结构的上述缺点,学习索引(Learned Index)作为优化数据库索引的一个重要方向受到广泛关注。学习索引将索引本身看成机器学习模型,可以通过训练的方式得到一个自适应的模型,输入一个待查询的键,返回该键所在记录的位置。但是以往机器学习模型的预测往往不是精确的,存在一定误差,因此需要在训练时记录模型的最大、最小误差,最终在误差范围内采用二分搜索确定记录的准确位置。
而针对可变长度string keys的场景,现有基于整型数值的学习索引不能很好的支持这个场景,支持这类工作的主要挑战是模型推理和数据访问的成本都随着key长度的增加而增加。这是由膨胀的算术计算和内存访问引起的。此外,模型精度会趋于下降,这导致在查找过程中有更多的数据访问。之前主流的解决方案是使用更复杂的模型来提高准确性,从而减少访问的数据量,并且因为大模型的推理性能和巨大的训练成本使得这项工作并没有整体优势。
因此,针对字符串类型的搜索,如何提高索引效率是目前亟待解决的技术问题。
发明内容
鉴于上述问题,本发明提供了一种克服上述问题或者至少部分地解决上述问题的数据库索引构建方法、装置、计算机设备及存储介质。
第一方面,本发明提供了一种数据库索引构建方法,包括:
获取训练数据集,所述训练数据集包括:N个搜索字符串以及在数据库中与每个所述搜索字符串所对应的多维列表地址,N为正整数;
对所述训练数据集进行数据处理,得到目标训练数据集;
基于所述目标训练数据集,对神经网络模型进行训练,得到用于预测搜索字符串在数据库中对应的多维列表地址的预测模型;
接收待搜索字符串,基于所述预测模型,得到目标列表地址;
基于所述目标列表地址,查找存储在所述目标列表地址中的实际物理地址;
基于所述实际物理地址,在所述数据库中,获取与所述待搜索字符串对应的内容。
进一步地,所述对所述训练数据集进行数据处理,得到目标训练数据集,包括:
对N个搜索字符串中每个搜索字符串进行编码和数据增强处理,得到目标训练数据集。
进一步地,所述对N个搜索字符串中每个搜索字符串进行编码和数据增强处理,得到目标训练数据集,包括:
对每个搜索字符串中的每个字符进行二进制编码;
从每个搜索字符串中随机选取目标字符,并将所述目标字符用不同字符替换,得到随机字符替换的搜索字符串;
将随机字符替换的搜索字符串按照目标字符串长度进行位移增强,得到目标训练数据集。
进一步地,所述基于所述目标训练数据集,对神经网络模型进行训练,得到用于预测搜索字符串在数据库中对应的多维列表地址的预测模型,包括:
将所述目标训练数据集输入所述神经网络模型,并对所述神经网络模型进行训练,所述神经网络模型包括残差结构层以及前馈网络层,得到用于预测搜索字符串在数据库中对应的多维列表地址的预测模型。
进一步地,在所述接收待搜索字符串,基于所述预测模型,得到目标列表地址之前,还包括:
获取负样本集;
基于训练数据集、目标训练数据集以及负样本集,通过所述预测模型,得到分别对应的输出结果;
基于所述输出结果,采用自监督学习的极大似然法计算得到比对损失;
基于所述比对损失,判断是否对所述预测模型进行优化调整。
进一步地,所述基于所述输出结果,采用自监督学习的极大似然法计算得到比对损失,具体按照如下公式得到:
Figure SMS_1
Figure SMS_2
其中,
Figure SMS_3
为训练数据集中的搜索字符串,/>
Figure SMS_4
为目标训练数据集中的搜索字符串,
Figure SMS_5
为负样本集中的搜索字符串,/>
Figure SMS_6
为预测模型,q为D作为输入数据输入预测模型的输出结果,/>
Figure SMS_7
为/>
Figure SMS_8
作为输入数据输入预测模型的输出结果,n为C作为输入数据输入预测模型的结果,/>
Figure SMS_9
为所述比对损失。
进一步地,所述实际物理地址包括:用于精确查询的精确物理地址以及用于范围查询的空间偏移量,所述空间偏移量为与所述精确物理地址对应的邻近位置区域。
第二方面,本发明还提供了一种数据库索引构建装置,包括:
第一获取模块,用于获取训练数据集,所述训练数据集包括:N个搜索字符串以及在数据库中与每个所述搜索字符串所对应的多维列表地址,N为正整数;
处理模块,用于对所述训练数据集进行数据处理,得到目标训练数据集;
训练模块,用于基于所述目标训练数据集,对神经网络模型进行训练,得到用于预测搜索字符串在数据库中对应的多维列表地址的预测模型;
得到模块,用于接收待搜索字符串,基于所述预测模型,得到目标列表地址;
查找模块,用于基于所述目标列表地址,查找存储在所述目标列表地址中的实际物理地址;
第二获取模块,用于基于所述实际物理地址,在所述数据库中,获取与所述待搜索字符串对应的内容。
第三方面,本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面中所述的方法步骤。
第四方面,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中所述的方法步骤。
本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:
本发明提供了一种数据库索引构建方法,包括:获取训练数据集,训练数据集包括:N个搜索字符串以及在数据库中与每个搜索字符串所对应的多维列表地址;对训练数据集进行数据处理,得到目标训练数据集;基于目标训练数据集,对神经网络模型进行训练,得到用于预测搜索字符串在数据库中对应的多维列表地址的预测模型;接收待搜索字符串,基于预测模型,得到目标列表地址;基于目标列表地址,查找存储在目标列表地址中的实际物理地址;基于实际物理地址,在数据库中,获得与待搜索字符串对应的内容,通过将原始搜索字符串用二进制代码代替的方式,在模型训练以及模型应用中的处理量减小,最终,通过地址索引方式,能够快速索引到相应的位置,提高了索引效率。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考图形表示相同的部件。在附图中:
图1示出了本发明实施例中数据库索引构建方法的步骤流程示意图;
图2示出了本发明实施例中按照预测模型将待搜索字符串作为输入得到的输出结果的示意图;
图3示出了本发明实施例中数据库索引构建装置的结构示意图;
图4示出了本发明实施例中实现数据库索引构建方法的计算机设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
本发明的实施例提供了一种数据库索引构建方法,如图1所示,包括:
S101,获取训练数据集,该训练数据集包括:N个搜索字符串以及在数据库中与每个搜索字符串所对应的多维列表地址,N为正整数;
S102,对训练数据集进行数据处理,得到目标训练数据集;
S103,基于目标训练数据集,对神经网络模型进行训练,得到用于预测搜索字符串在数据库中对应的多维列表地址的预测模型;
S104,接收待搜索字符串,基于预测模型,得到目标列表地址;
S105,基于目标列表地址,查找存储在目标列表地址中的实际物理地址;
S106,基于实际物理地址,在数据库中,获取与待搜索字符串对应的内容。
首先,执行S101,获取训练数据集,该训练数据集包括N个搜索字符串以及在数据库中与每个搜索字符串所对应的多维列表地址。
先对该训练数据集进行过滤,将无用的数据过滤。
接下来,执行S102,对训练数据集进行数据处理,得到目标训练数据集。
具体地,是对N个搜索字符串中每个搜索字符串进行编码和数据增强处理,得到目标训练数据集。
在具体地实施方式中,对每个搜索字符串的每个字符进行二进制编码;
从每个搜索字符串中随机选取目标字符,并将目标字符用不同字符替换,得到随机字符替换的搜索字符串;
将随机字符替换的搜索字符串按照目标字符串长度进行位移增强,得到目标训练数据集。
以搜索字符串“We live on a blue planet”为例,通过该搜索字符串数列化、编码以及随机增强。接着,还对经过随机字符替换的搜索字符串按照目标字符串长度进行位移增强。其中,数列化结果为:
['W', 'e', ' ', 'l', 'i', 'v', 'e', ' ', 'o', 'n', ' ', 'a', ' ', 'b', 'l', 'u', 'e', ' ','p', 'l', 'a', 'n', 'e', 't', '.']
编码结果如下:
W e l i v e o n a b l u e p l a n e t .
0 00 01 1 11 11 0 01 00 0 10 10 0 01 01 0 11 01 1 11 11 0 01 00 0 10 11 0 00 10 0 01 00 0 10 00 0 01 00 0 11 00 0 10 10 0 01 10 1 11 11 0 01 00 0 00 11 0 10 10 0 10 00 0 00 10 1 11 11 0 01 11 0 10 01
随机增加结果如下:
W a l i v e o n e b l u e p l a n e t .
0 00 01 0 10 00 0 01 00 0 10 10 0 01 01 0 11 01 1 11 11 0 01 00 0 10 11 0 00 10 0 01 00 1 11 11 0 01 00 0 11 00 0 10 10 0 01 10 1 11 11 0 01 00 0 00 11 0 10 10 0 10 00 0 00 10 1 11 11 0 01 11 0 10 01
其中,位移增强具体按照如下式子进行:
Figure SMS_10
Figure SMS_11
表示在位移增强时,列表前端位移长度,/>
Figure SMS_12
表示在位移增强时,列表后端补零长度,/>
Figure SMS_13
为设置的目标字符串长度(标准数列长度), />
Figure SMS_14
为输入的搜索字符串长度,在输入的搜索字符串长度大于目标字符串长度时,则不进行位移增强。
接着,执行S103,基于目标训练数据集,对神经网络模型进行训练,得到用于预测搜索字符串在数据库中对应的多维列表地址的预测模型。
具体地,将目标训练数据集输入神经网络模型,并对神经网络模型进行训练,该神经网络模型包括残差结构层以及前馈网络层,得到用于预测搜索字符串在数据库中对应的多维列表地址的预测模型。
首先,引入class token机制。具体地,对目标训练数据集记为
Figure SMS_15
。具体是在目标训练数据集中的搜索字符串最前插入class token特征层,如下式所示:
Figure SMS_16
其中,
Figure SMS_17
为class token特征层, />
Figure SMS_18
为输入的搜索字符串中每个字符的二进制编码,/>
Figure SMS_19
为搜索字符串的字符数。
然后,进行数据的encoder操作:具体是添加位置矩阵,其目的是让神经网络模型可以感知输入数据的顺序信息,具体地:
Figure SMS_20
其中,
Figure SMS_21
为与/>
Figure SMS_22
大小一致的位置矩阵。
对该目标训练数据集进行上述的处理之后,进而输入该神经网络模型中进行训练,该神经网络模型具体是采用self-attention的方式创建Q矩阵、K矩阵和V矩阵,具体如下:
Figure SMS_23
其中,
Figure SMS_24
、/>
Figure SMS_25
、 />
Figure SMS_26
为线性变阵矩阵,将这三个线性变阵矩阵分别经过内积运算获得Q、K、V三个矩阵。
接下来,按照如下式子进行注意力运算:
Figure SMS_27
Figure SMS_28
是Q矩阵和K矩阵的列数, />
Figure SMS_29
为K矩阵的转置矩阵,经过该注意力运算后输出的特征矩阵标记为 />
Figure SMS_30
随后
Figure SMS_31
经过残差连接层后送入前馈网络并调用激活函数,具体地,激活函数如下:
Figure SMS_32
/>
其中,
Figure SMS_33
为隐藏层, />
Figure SMS_34
表示线性映射,/>
Figure SMS_35
为经过迭代之后的结果,经过上述运算之后,得到更新的/>
Figure SMS_36
在模型训练过程中,需要重复(4)~(6)式子的步骤,进行深度学习提取特征,最后接入一个线性链接层,最终输出一维特征向量。
为了使得模型训练得到的预测模型更加准确,在S103之后,还包括:
获取负样本集;
基于训练数据集、目标训练数据集以及负样本集,通过预测模型,得到分别对应的输出结果;
基于输出结果,采用自监督学习的极大似然法计算得到比对损失;
基于比对损失,判断是否对预测模型进行优化调整。
在具体的实施方式中,该负样本集为与实际使用的目标训练数据集不相关的数据。基于训练数据集、目标数据集以及负样本集,通过预测模型,得到分别对应的输出结果,具体按照如下式子得到:
Figure SMS_37
其中,
Figure SMS_38
为预测模型, />
Figure SMS_39
为训练数据集, />
Figure SMS_40
为目标训练数据集, />
Figure SMS_41
为负样本集。
Figure SMS_42
为采用训练数据集经过预测模型得到的输出结果,/>
Figure SMS_43
为采用目标训练数据集经过预测模型得到的输出结果, />
Figure SMS_44
为采用负样本集经过预测模型得到的输出结果。
接着,基于输出结果,采用自监督学习的极大似然法计算得到比对损失,具体按照如下公式得到:
Figure SMS_45
其中,在该比对损失大于预设值时,需要重新对该预测模型进行训练,在该对比损失小于预设值时,无需重新对与车模型进行训练。
接着,执行S104,接收待搜索字符串,基于预设模型,得到目标列表地址。
该待搜索字符串为用户输入的待搜索的字符串,若以“we live on a blueplanet”为例,同时,以5*5的2维列表为例,在将待搜索字符串输入预设模型之后,得到目标列表地址为[2,2],如图2所示。
由于多维列表地址与实际的物理地址之间建立有映射关系。因此,在得到目标列表地址之后,执行S105,基于目标列表地址,查找存储在目标列表地址中的实际物理地址。
对于每个多维列表地址均对应存储有实际物理地址。该实际物理地址具体包括:用于精确查询的精确物理地址以及用于范围查询的空间偏移量,该空间偏移量为精确物理地址对应的邻近位置区域。
比如,精确物理地址:[oxf001];空间偏移量:[[-1,2],[-2,1]]。
在得到实际物理地址之后,执行S106,基于实际物理地址,在数据库中获取与待搜索字符串对应的内容。
也就是根据实际物理地址所指引的位置能够找到实际所要查找的内容。针对上述“we live on a blue planet”的例子,最终根据实际物理地址,可以找到“Earth”内容。
本发明中正是利用机器学习模型,能够快速确定待搜索字符串所对应的多维列表地址,进而确定实际物理地址,由于所处理的数据是经过变化处理的数据,处理后的数据量降低,因此,处理效率得到提高,对于数据量庞大的数据库来说,能够快速索引,提高索引效率。
本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:
本发明提供了一种数据库索引构建方法,包括:获取训练数据集,训练数据集包括:N个搜索字符串以及在数据库中与每个搜索字符串所对应的多维列表地址;对训练数据集进行数据处理,得到目标训练数据集;基于目标训练数据集,对神经网络模型进行训练,得到用于预测搜索字符串在数据库中对应的多维列表地址的预测模型;接收待搜索字符串,基于预测模型,得到目标列表地址;基于目标列表地址,查找存储在目标列表地址中的实际物理地址;基于实际物理地址,在数据库中,获得与待搜索字符串对应的内容,通过将原始搜索字符串用二进制代码代替的方式,在模型训练以及模型应用中的处理量减小,最终,通过地址索引方式,能够快速索引到相应的位置,提高了索引效率。
实施例二
基于相同的发明构思,本发明实施例还提供了一种数据库索引构建装置,如图3所示,包括:
第一获取模块301,用于获取训练数据集,所述训练数据集包括:N个搜索字符串以及在数据库中与每个所述搜索字符串所对应的多维列表地址,N为正整数;
处理模块302,用于对所述训练数据集进行数据处理,得到目标训练数据集;
训练模块303,用于基于所述目标训练数据集,对神经网络模型进行训练,得到用于预测搜索字符串在数据库中对应的多维列表地址的预测模型;
得到模块304,用于接收待搜索字符串,基于所述预测模型,得到目标列表地址;
查找模块305,用于基于所述目标列表地址,查找存储在所述目标列表地址中的实际物理地址;
第二获取模块306,用于基于所述实际物理地址,在所述数据库中,获取与所述待搜索字符串对应的内容。
在一种可选的实施方式中,处理模块302,用于:
对N个搜索字符串中每个搜索字符串进行编码和数据增强处理,得到目标训练数据集。
在一种可选的实施方式中,处理模块302,具体用于:
对每个搜索字符串中的每个字符进行二进制编码;
从每个搜索字符串中随机选取目标字符,并将所述目标字符用不同字符替换,得到随机字符替换的搜索字符串;
将随机字符替换的搜索字符串按照目标字符串长度进行位移增强,得到目标训练数据集。
在一种可选的实施方式中,训练模块303,用于:
将所述目标训练数据集输入所述神经网络模型,并对所述神经网络模型进行训练,所述神经网络模型包括残差结构层以及前馈网络层,得到用于预测搜索字符串在数据库中对应的多维列表地址的预测模型。
在一种可选的实施方式中,还包括:优化调整模型,包括:
获取单元,用于获取负样本集;
得到单元,用于基于训练数据集、目标训练数据集以及负样本集,通过所述预测模型,得到分别对应的输出结果;
计算单元,用于基于所述输出结果,采用自监督学习的极大似然法计算得到比对损失;
判断单元,用于基于所述比对损失,判断是否对所述预测模型进行优化调整。
在一种可选的实施方式中,计算单元,用于按照如下公式得到:
Figure SMS_46
Figure SMS_47
其中,
Figure SMS_48
为训练数据集中的搜索字符串, />
Figure SMS_49
为目标训练数据集中的搜索字符串,
Figure SMS_50
为负样本集中的搜索字符串,/>
Figure SMS_51
为预测模型。
在一种可选的实施方式中,所述实际物理地址包括:用于精确查询的精确物理地址以及用于范围查询的空间偏移量,所述空间偏移量为与所述精确物理地址对应的邻近位置区域。
实施例三
基于相同的发明构思,本发明实施例提供了一种计算机设备,如图4所示,包括存储器404、处理器402及存储在存储器404上并可在处理器402上运行的计算机程序,所述处理器402执行所述程序时实现上述数据库索引构建方法的步骤。
其中,在图4中,总线架构(用总线400来代表),总线400可以包括任意数量的互联的总线和桥,总线400将包括由处理器402代表的一个或多个处理器和存储器404代表的存储器的各种电路链接在一起。总线400还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口406在总线400和接收器401和发送器403之间提供接口。接收器401和发送器403可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器402负责管理总线400和通常的处理,而存储器404可以被用于存储处理器402在执行操作时所使用的数据。
实施例四
基于相同的发明构思,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述数据库索引构建方法的步骤。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个实施例中所明确记载的特征更多的特征。更确切地说,如每个实施例所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在具体实施方式中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据库索引构建装置、计算机设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (8)

1.一种数据库索引构建方法,其特征在于,包括:
获取训练数据集,所述训练数据集包括:N个搜索字符串以及在数据库中与每个所述搜索字符串所对应的多维列表地址,N为正整数;
对所述训练数据集进行数据处理,得到目标训练数据集,包括:
对N个搜索字符串中每个搜索字符串进行编码和数据增强处理,得到目标训练数据集,包括:
对每个搜索字符串中的每个字符进行二进制编码;
从每个搜索字符串中随机选取目标字符,并将所述目标字符用不同字符替换,得到随机字符替换的搜索字符串;
将随机字符替换的搜索字符串按照目标字符串长度进行位移增强,得到目标训练数据集;
基于所述目标训练数据集,对神经网络模型进行训练,得到用于预测搜索字符串在数据库中对应的多维列表地址的预测模型;
接收待搜索字符串,基于所述预测模型,得到目标列表地址;
基于所述目标列表地址,查找存储在所述目标列表地址中的实际物理地址;
基于所述实际物理地址,在所述数据库中,获取与所述待搜索字符串对应的内容。
2.如权利要求1所述的方法,其特征在于,所述基于所述目标训练数据集,对神经网络模型进行训练,得到用于预测搜索字符串在数据库中对应的多维列表地址的预测模型,包括:
将所述目标训练数据集输入所述神经网络模型,并对所述神经网络模型进行训练,所述神经网络模型包括残差结构层以及前馈网络层,得到用于预测搜索字符串在数据库中对应的多维列表地址的预测模型。
3.如权利要求1所述的方法,其特征在于,在所述接收待搜索字符串,基于所述预测模型,得到目标列表地址之前,还包括:
获取负样本集;
基于训练数据集、目标训练数据集以及负样本集,通过所述预测模型,得到分别对应的输出结果;
基于所述输出结果,采用自监督学习的极大似然法计算得到比对损失;
基于所述比对损失,判断是否对所述预测模型进行优化调整。
4.如权利要求3所述的方法,其特征在于,所述基于所述输出结果,采用自监督学习的极大似然法计算得到比对损失,具体按照如下公式得到:
Figure QLYQS_1
Figure QLYQS_2
,其中,D为训练数据集中的搜索字符串,D+为目标训练数据集中的搜索字符串,C为负样本集中的搜索字符串,N为预测模型,q为D作为输入数据输入预测模型的输出结果,q+为D+作为输入数据输入预测模型的输出结果,n为C作为输入数据输入预测模型的结果,/>
Figure QLYQS_3
为所述比对损失。
5.如权利要求1所述的方法,其特征在于,所述实际物理地址包括:用于精确查询的精确物理地址以及用于范围查询的空间偏移量,所述空间偏移量为与所述精确物理地址对应的邻近位置区域。
6.一种数据库索引构建装置,其特征在于,包括:
第一获取模块,用于获取训练数据集,所述训练数据集包括:N个搜索字符串以及在数据库中与每个所述搜索字符串所对应的多维列表地址,N为正整数;
处理模块,用于对所述训练数据集进行数据处理,得到目标训练数据集,所述处理模块用于对N个搜索字符串中每个搜索字符串进行编码和数据增强处理,得到目标训练数据集,具体包括:对每个搜索字符串中的每个字符进行二进制编码;从每个搜索字符串中随机选取目标字符,并将所述目标字符用不同字符替换,得到随机字符替换的搜索字符串;将随机字符替换的搜索字符串按照目标字符串长度进行位移增强,得到目标训练数据集;
训练模块,用于基于所述目标训练数据集,对神经网络模型进行训练,得到用于预测搜索字符串在数据库中对应的多维列表地址的预测模型;
得到模块,用于接收待搜索字符串,基于所述预测模型,得到目标列表地址;
查找模块,用于基于所述目标列表地址,查找存储在所述目标列表地址中的实际物理地址;
第二获取模块,用于基于所述实际物理地址,在所述数据库中,获取与所述待搜索字符串对应的内容。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~5中任一权利要求所述的方法步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~5中任一权利要求所述的方法步骤。
CN202310237949.2A 2023-03-14 2023-03-14 一种数据库索引构建方法、装置、计算机设备及存储介质 Active CN115952175B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310237949.2A CN115952175B (zh) 2023-03-14 2023-03-14 一种数据库索引构建方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310237949.2A CN115952175B (zh) 2023-03-14 2023-03-14 一种数据库索引构建方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN115952175A CN115952175A (zh) 2023-04-11
CN115952175B true CN115952175B (zh) 2023-05-30

Family

ID=85903339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310237949.2A Active CN115952175B (zh) 2023-03-14 2023-03-14 一种数据库索引构建方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN115952175B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117971357B (zh) * 2024-03-29 2024-06-07 苏州元脑智能科技有限公司 有限状态自动机验证方法、装置、电子设备及存储介质
CN117971358B (zh) * 2024-03-29 2024-06-07 苏州元脑智能科技有限公司 有限状态自动机验证方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325367A (zh) * 2018-08-24 2019-02-12 中国人民解放军国防科技大学 信息隐藏方法、装置、设备及计算机可读存储介质
CN112131227A (zh) * 2020-09-29 2020-12-25 深圳前海微众银行股份有限公司 一种基于联盟链的数据查询方法及装置
CN112182164A (zh) * 2020-10-16 2021-01-05 上海明略人工智能(集团)有限公司 一种高维数据特征处理方法及系统
CN112926373A (zh) * 2019-12-05 2021-06-08 Sap欧洲公司 字符的视觉感知编码
CN114707026A (zh) * 2022-04-08 2022-07-05 上海斗象信息科技有限公司 网络模型训练方法、字符串检测方法、装置及电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3731108A4 (en) * 2018-03-16 2020-11-18 Rakuten, Inc. RESEARCH SYSTEM, RESEARCH PROCESS AND PROGRAM
US11163740B2 (en) * 2019-07-30 2021-11-02 Salesforce.Com, Inc. Machine-learnt field-specific tokenization
US11151463B2 (en) * 2020-03-16 2021-10-19 Sas Institute Inc. Distributable event prediction and machine learning recognition system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325367A (zh) * 2018-08-24 2019-02-12 中国人民解放军国防科技大学 信息隐藏方法、装置、设备及计算机可读存储介质
CN112926373A (zh) * 2019-12-05 2021-06-08 Sap欧洲公司 字符的视觉感知编码
CN112131227A (zh) * 2020-09-29 2020-12-25 深圳前海微众银行股份有限公司 一种基于联盟链的数据查询方法及装置
CN112182164A (zh) * 2020-10-16 2021-01-05 上海明略人工智能(集团)有限公司 一种高维数据特征处理方法及系统
CN114707026A (zh) * 2022-04-08 2022-07-05 上海斗象信息科技有限公司 网络模型训练方法、字符串检测方法、装置及电子设备

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
The adaptive radix tree: ARTful indexing for main-memory databases;Leis V 等;2013 IEEE 29th International Conference on Data Engineering (ICDE);38-49 *
基于列存储的数据库物理层优化研究;胡俊飞;中国优秀硕士学位论文全文数据库信息科技辑(第06期);I137-84 *
基于数据混淆的隐私保护机制研究;蔡婷;中国优秀硕士学位论文全文数据库信息科技辑(第05期);I138-32 *
基于遗传算法的专业元搜索引擎;赵大明;鱼滨;;计算机工程(21);11-16 *
空间数据库的索引技术;郭龙江,李建中;黑龙江大学自然科学学报(03);198-200 *

Also Published As

Publication number Publication date
CN115952175A (zh) 2023-04-11

Similar Documents

Publication Publication Date Title
CN115952175B (zh) 一种数据库索引构建方法、装置、计算机设备及存储介质
EP3327588B1 (en) Value-id-based sorting in column-store databases
EP2885728B1 (en) Hardware implementation of the aggregation/group by operation: hash-table method
US10380269B2 (en) Sideways information passing
US7853598B2 (en) Compressed storage of documents using inverted indexes
US11537578B2 (en) Paged column dictionary
US11487729B2 (en) Data management device, data management method, and non-transitory computer readable storage medium
JP3798719B2 (ja) ブロック・レベル・サンプリングを使用してデータベースのクラスタ化係数を判定する装置および方法
Yu et al. Two birds, one stone: a fast, yet lightweight, indexing scheme for modern database systems
US11074259B2 (en) Optimize query based on unique attribute
US11294816B2 (en) Evaluating SQL expressions on dictionary encoded vectors
US20230418824A1 (en) Workload-aware column inprints
WO2021229380A1 (en) Efficient indexing for querying arrays in databases
CN113918605A (zh) 数据查询方法、装置、设备以及计算机存储介质
US10089342B2 (en) Main memory database management using page index vectors
CN105740428A (zh) 一种基于b+树的高维磁盘索引结构和图像检索方法
US20240126818A1 (en) Data filtering methods and apparatuses for data queries
Dwivedi et al. Performance analysis of column oriented database vs row oriented database
US10366067B2 (en) Adaptive index leaf block compression
US10346376B2 (en) Systems and methods for database management
Huang et al. Pisa: An index for aggregating big time series data
CN115237954A (zh) 基于pim装置的布谷鸟哈希查询的方法、pim装置及系统
US11126622B1 (en) Methods and apparatus for efficiently scaling result caching
CN103995869A (zh) 一种基于Apriori算法的数据缓存方法
CN105141683B (zh) 一种MongoDB负载均衡优化方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant