数据库索引方法、装置、服务器及介质与流程

文档序号:35991121发布日期:2023-11-15 23:48阅读:23来源:国知局
数据库索引方法、装置、服务器及介质与流程

本技术可用于金融领域或其他领域,尤其涉及一种数据库索引方法、装置、服务器及介质。


背景技术:

1、人工智能是当下的研究热点,相关的硬件如图形处理器(graphics processingunit,gpu)/张量处理器(tensor processing unit,tpu)等也随之研究热度的提升有了极大的发展。据称在2017年,google的tpu已经可以在单个周期内执行上千次tensor运算。与之相比,同时期的中央处理器(central processing unit,cpu)受指令集、制程、摩尔定律等因素影响,在单核性能上的提升日趋缓慢,不少研究正在转向全新的计算模式。传统的数据库技术面向cpu与内存而设计,因而受限于cpu及相关硬件设施的性能。在当下的硬件发展水平下,受限于单核的串行算法难以在性能上有较大的提升;相关的优化措施,如面向缓存优化、单指令多数据流(single instruction multiple datastream,simd)等,已在各种研究及实践中被发挥到极致。

2、索引算法是数据库中的核心技术,在很大程度上影响了数据库的整体性能。典型的数据库索引技术,如b树及其各种变体,使用树形结构将数据分片管理。这些算法主要面向cpu而设计,因而是高度串行化的。过去的研究提出了多种b树的变体,而其中多数面向cpu缓存或某种特定指令集而优化,没有对b树的基本结构做出显著改进。显然缓存优化的提升有限,而且simd并不能在根本上提高整个数据结构的并行化程度。更重要的一点是,在使用传统索引技术管理大规模数据时,索引算法本身并不对数据的分布模式做任何的假设。显然现实中绝大多数的数据具有模式可循,例如:日志数据具有时间模式、指定区域内的银行业务数据与人口数量具有关系等。但是,为某一种特定模式设计特殊的算法的工程代价太高且适应性不佳。

3、因此,现有技术存在因索引算法构建方式不合理导致的数据查询效率低的技术问题。


技术实现思路

1、本技术提供了一种数据库索引方法、装置、服务器及介质,用以解决数据查询效率低的问题。

2、第一方面,本技术提供了一种数据库索引方法,包括:

3、获取客户端发送的银行业务对应的目标数据库的索引请求,并解析出所述索引请求中携带的目标键值;

4、通过预先训练好的顶层模型,确定所述目标键值在预设递归索引模型中所属的目标叶子模型;其中,所述预设递归索引模型包括所述预先训练好的顶层模型和多个预先训练好的叶子模型,且基于反向策略训练得到;

5、通过所述目标叶子模型,输出与所述目标键值对应的目标索引数据,并向所述客户端反馈所述目标索引数据。

6、可选地,所述预设递归索引模型的训练过程,包括:

7、构建初始递归索引模型,并获取目标批次的数据集;其中,所述数据集包括多组键值和对应的索引数据;

8、对所述键值进行归一化操作,得到归一化数据;其中,所述归一化操作包括压缩操作和/或转换操作;

9、通过所述归一化数据和所述对应的索引数据,对所述初始递归索引模型进行训练,得到预设递归索引模型。

10、可选地,所述初始递归索引模型包括顶层模型和m个叶子模型,m大于等于2;

11、则所述对所述初始递归索引模型进行训练,得到预设递归索引模型,包括:

12、对所有归一化数据进行划分,得到多个键值区间;其中,每个所述键值区间中的所有键值所属同一叶子模型;

13、通过图形处理器gpu,采用所述反向策略对所述叶子模型进行批量训练,得到所述预先训练好的叶子模型;其中,每批训练的所述叶子模型的数量均小于等于预设阈值;

14、根据所有所述预先训练好的叶子模型,构建预设递归索引模型。

15、可选地,在所述采用所述反向策略对所述叶子模型进行批量训练之前,所述方法还包括:

16、通过所述顶层模型学习所述归一化数据的分布特征;

17、根据所述归一化数据的分布特征,确定训练区间的数量,以及各批训练的所述叶子模型的数量;其中,同一批训练的所述叶子模型所属同一所述训练区间。

18、可选地,所述构建初始递归索引模型,包括以下至少一项:

19、初始化所述初始递归索引模型的计算图;其中,所述计算图中的每个节点均对应一个子模型,所述子模型为顶层模型或叶子模型;

20、设置所述初始递归索引模型的学习率、优化函数和/或损失函数。

21、可选地,在采用所述反向策略对所述叶子模型进行批量训练,得到所述预先训练好的叶子模型之后,所述方法还包括:

22、当所述初始递归索引模型的误差小于预设阈值时,停止训练;

23、对所述预先训练好的叶子模型管理的键值区间进行外延,并在外延过程中识别出不同预先训练好的叶子模型管理的重叠键值区间。

24、可选地,每个所述叶子模型管理的键值区间中的所有键值构成数据子集;

25、则在采用所述反向策略对所述叶子模型进行批量训练的过程中,所述方法还包括:

26、在顶层模型根据所述数据子集输出的预测值变化量达到预设条件时,将所述数据子集进行数据拆分,并将拆分后的数据子集分配至不同的叶子模型。

27、第二方面,本技术提供了一种数据库索引装置,包括:

28、获取模块,用于获取客户端发送的银行业务对应的目标数据库的索引请求,并解析出所述索引请求中携带的目标键值;

29、确定模块,用于通过预先训练好的顶层模型,确定所述目标键值在预设递归索引模型中所属的目标叶子模型;其中,所述预设递归索引模型包括所述预先训练好的顶层模型和多个预先训练好的叶子模型,且基于反向策略训练得到;

30、输出反馈模块,用于通过所述目标叶子模型,输出与所述目标键值对应的目标索引数据,并向所述客户端反馈所述目标索引数据。

31、根据本技术的第三方面,提供了一种服务器,包括:至少一个处理器和存储器;

32、所述存储器存储计算机执行指令;

33、所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面所述的数据库索引方法。

34、根据本技术的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上第一方面所述的数据库索引方法。

35、根据本技术的第五方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面所述的数据库索引方法。

36、本技术提供的一种数据库索引方法,包括:获取客户端发送的银行业务对应的目标数据库的索引请求,并解析出索引请求中携带的目标键值;通过预先训练好的顶层模型,确定目标键值在预设递归索引模型中所属的目标叶子模型;其中,预设递归索引模型包括预先训练好的顶层模型和多个预先训练好的叶子模型,且基于反向策略训练得到;通过目标叶子模型,输出与目标键值对应的目标索引数据,并向客户端反馈目标索引数据。

37、本技术基于递归索引的特点提出了反向策略,通过反向策略构建预设递归索引模型,提高了模型的构建效率和准确性,在此基础上,本技术通过该预设递归索引模型进行数据查询,提高了索引数据的查询效率。

38、应当理解,本部分所描述的内容并非旨在标识本技术的实施例的关键或重要特征,也不用于限制本技术的范围。本技术的其它特征将通过以下的说明书而变得容易理解。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1