数据处理方法和装置及电子设备制造方法及图纸

技术编号:37121533 阅读:14 留言:0更新日期:2023-04-01 05:17
本公开披露了一种数据处理方法和装置以及电子设备,该方法包括:响应于键值对的写入请求,将第一关键字输入学习型索引结构中进行位置预测,得到与第一关键字的位置范围对应的第一叶子节点,以及第一关键字对应的第一值在第一叶子节点下的数组中的第一插入位置;在第一叶子节点下的数组中的第一插入位置处的数据密度大于或等于预设阈值时,在第一插入位置处为第一叶子节点创建第一缓冲区;将第一关键字对应的第一值存储在第一缓冲区中,并将第一关键字映射到第一值在第一缓冲区的存储位置。通过创建缓冲区,能够在数据库系统处理并发事务时保持高并发,进而提高了数据库系统的吞吐量,并降低了数据库系统的数据索引的时间代价。价。价。

【技术实现步骤摘要】
数据处理方法和装置及电子设备


[0001]本公开涉及计算机
,具体涉及一种数据处理方法和装置及电子设备。

技术介绍

[0002]索引作为一种用于高效检索的数据结构,在数据库系统中得到了广泛的应用。在大数据时代,随着数据量的不断增长,通常要求数据库系统在处理并发事务时能够保持高并发。然而,当同一时间存在多个用户请求对数据库系统中的某个节点写入键值对时,如果不对该节点对应的内存页面上锁,会存在数据不一致的问题,而如果对该节点对应的内存页面上锁,会造成该节点的查询处于高竞争状态,无法实现高并发,从而降低了数据库系统的吞吐量,且提高了数据库系统的数据索引的时间代价。

技术实现思路

[0003]有鉴于此,本公开提供一种数据处理方法和装置及电子设备,能够在数据库系统处理并发事务时保持高并发,从而提高了数据库系统的吞吐量,且降低了数据库系统的数据索引的时间代价。
[0004]第一方面,提供一种数据处理方法,该方法包括:响应于键值对的写入请求,将第一关键字输入学习型索引结构中进行位置预测,得到与第一关键字的位置范围对应的第一叶子节点,以及第一关键字对应的第一值在第一叶子节点下的数组中的第一插入位置,其中,学习型索引结构中的每个非叶子节点对应的模型用于根据第一关键字的位置范围预测下游节点对应的模型,学习型索引结构中的第一叶子节点对应的模型用于预测第一关键字对应的第一值在第一叶子节点下的数组中的第一插入位置;在第一叶子节点下的数组中的第一插入位置处的数据密度大于或等于预设阈值时,在第一插入位置处为第一叶子节点创建第一缓冲区;将第一关键字对应的第一值存储在第一缓冲区中,并将第一关键字映射到第一值在第一缓冲区的存储位置。
[0005]在一实施例中,该方法还包括:将第二关键字输入学习型索引结构中进行位置预测,得到与第二关键字的位置范围对应的第一叶子节点,以及第二关键字对应的第二值在第一叶子节点下的数组中的第二插入位置;在第一叶子节点下的数组中的第二插入位置处的数据密度大于或等于预设阈值时,在第二插入位置处为第一叶子节点创建第二缓冲区;将第二关键字对应的第二值存储在第二缓冲区中,并将第二关键字映射到第二值在第二缓冲区的存储位置。
[0006]在一实施例中,该方法还包括:将第三关键字输入学习型索引结构中进行位置预测,得到与第三关键字的位置范围对应的第一叶子节点,以及第三关键字对应的第三值在第一叶子节点下的数组中的第一插入位置;将第三关键字对应的第三值存储在第一缓冲区中,并将第三关键字映射到第三值在第一缓冲区的存储位置。
[0007]在一实施例中,在第一缓冲区的关键字对应的值填充满第一缓冲区的存储空间时,该方法还包括:从第一插入位置处,向前和/或向后移动第一叶子节点下的数组中的数
据,以在第一位置处为第一叶子节点预留出预设大小的存储空间;将第一缓冲区中的关键字对应的值存储在预设大小的存储空间中,并将关键字映射到值在预设大小的存储空间的对应存储位置。
[0008]在一实施例中,该方法还包括:在第一叶子节点下的数组中的第一插入位置处的数据密度小于预设阈值时,将第一关键字对应的第一值存储在第一叶子节点下的数组中,并将第一关键字映射到第一值在第一叶子节点的存储位置。
[0009]在一实施例中,该方法还包括:响应于键值对的读取请求,将关键字输入学习型索引结构中进行位置预测,得到与关键字的位置范围对应的叶子节点,以及关键字对应的值在叶子节点下的数组中的插入位置;在叶子节点下的数组中的插入位置处存在缓冲区时,从缓冲区中读取关键字对应的值;在叶子节点下的数组中的插入位置处不存在缓冲区时,从叶子节点下的数组读取关键字对应的值。
[0010]在一实施例中,在第一叶子节点下的数组为具有间隙的数组。
[0011]第二方面,提供一种数据处理方法,该方法包括:响应于键值对的读取请求,将关键字输入学习型索引结构中进行位置预测,得到与关键字的位置范围对应的叶子节点,以及关键字对应的值在叶子节点下的数组中的插入位置,其中,学习型索引结构中的每个非叶子节点对应的模型用于根据索引关键字的位置范围预测下游节点对应的模型,学习型索引结构中的叶子节点对应的模型用于预测关键字对应的值在叶子节点下的数组中的插入位置;在叶子节点下的数组中的插入位置处存在缓冲区时,从缓冲区中读取关键字对应的值;在叶子节点下的数组中的插入位置处不存在缓冲区时,从叶子节点下的数组读取关键字对应的值。
[0012]第三方面,提供了一种数据处理装置,该装置包括:第一索引模块,配置为响应于键值对的写入请求,将第一关键字输入学习型索引结构中进行位置预测,得到与第一关键字的位置范围对应的第一叶子节点,以及第一关键字对应的第一值在第一叶子节点下的数组中的第一插入位置,其中,学习型索引结构中的每个非叶子节点对应的模型用于根据第一关键字的位置范围预测下游节点对应的模型,学习型索引结构中的第一叶子节点对应的模型用于预测第一关键字对应的第一值在第一叶子节点下的数组中的第一插入位置;创建模块,配置为在第一叶子节点下的数组中的第一插入位置处的数据密度大于或等于预设阈值时,在第一插入位置处为第一叶子节点创建第一缓冲区;第一存储模块,配置为将第一关键字对应的第一值存储在第一缓冲区中,并将第一关键字映射到第一值在第一缓冲区的存储位置。
[0013]第四方面,提供了一种数据处理装置,该装置包括:第二索引模块,配置为响应于键值对的读取请求,将关键字输入学习型索引结构中进行位置预测,得到与关键字的位置范围对应的叶子节点,以及关键字对应的值在叶子节点下的数组中的插入位置,其中,学习型索引结构中的每个非叶子节点对应的模型用于根据关键字的位置范围预测下游节点对应的模型,学习型索引结构中的叶子节点对应的模型用于预测关键字对应的值在叶子节点下的数组中的插入位置;第一读取模块,配置为在叶子节点下的数组中的插入位置处存在缓冲区时,从缓冲区中读取关键字对应的值;第二读取模块,配置为在叶子节点下的数组中的插入位置处不存在缓冲区时,从叶子节点下的数组读取关键字对应的值。
[0014]第五方面,提供一种电子设备,包括存储器和处理器,存储器中存储有可执行代
码,处理器被配置为执行可执行代码,以实现如第一方面或第二方面的方法。
[0015]第六方面,提供一种计算机可读存储介质,其上存储有可执行代码,当可执行代码被执行时,能够实现如第一方面或第二方面的方法。
[0016]第七方面,提供一种计算机程序产品,包括可执行代码,当可执行代码被执行时,能够实现如第一方面或第二方面的方法。
[0017]本公开实施例提供了一种数据处理的方案,通过学习型索引结构,预测第一关键字对应的第一值在第一叶子节点下的数组中的第一插入位置,并在第一叶子节点下的数组中的第一插入位置处的数据密度大于或等于预设阈值时,在第一插入位置处为第一叶子节点创建第一缓冲区,以存储第一关键字对应的第一值,从而避免通过移动第一插入位置处的数组中的数据,为第一关键字预留出存储第一值的位置。在移动第一插入位置处的数组本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:响应于键值对的写入请求,将第一关键字输入学习型索引结构中进行位置预测,得到与所述第一关键字的位置范围对应的第一叶子节点,以及所述第一关键字对应的第一值在所述第一叶子节点下的数组中的第一插入位置,其中,所述学习型索引结构中的每个非叶子节点对应的模型用于根据所述第一关键字的位置范围预测下游节点对应的模型,所述学习型索引结构中的所述第一叶子节点对应的模型用于预测所述第一关键字对应的第一值在所述第一叶子节点下的数组中的第一插入位置;在所述第一叶子节点下的数组中的第一插入位置处的数据密度大于或等于预设阈值时,在所述第一插入位置处为所述第一叶子节点创建第一缓冲区;将所述第一关键字对应的第一值存储在所述第一缓冲区中,并将所述第一关键字映射到所述第一值在所述第一缓冲区的存储位置。2.根据权利要求1所述的方法,其特征在于,还包括:将第二关键字输入所述学习型索引结构中进行位置预测,得到与所述第二关键字的位置范围对应的所述第一叶子节点,以及所述第二关键字对应的第二值在所述第一叶子节点下的数组中的第二插入位置;在所述第一叶子节点下的数组中的第二插入位置处的数据密度大于或等于预设阈值时,在所述第二插入位置处为所述第一叶子节点创建第二缓冲区;将所述第二关键字对应的第二值存储在所述第二缓冲区中,并将所述第二关键字映射到所述第二值在所述第二缓冲区的存储位置。3.根据权利要求1所述的方法,其特征在于,还包括:将第三关键字输入所述学习型索引结构中进行位置预测,得到与所述第三关键字的位置范围对应的所述第一叶子节点,以及所述第三关键字对应的第三值在所述第一叶子节点下的数组中的所述第一插入位置;将所述第三关键字对应的第三值存储在所述第一缓冲区中,并将所述第三关键字映射到所述第三值在所述第一缓冲区的存储位置。4.根据权利要求1所述的方法,其特征在于,在所述第一缓冲区的关键字对应的值填充满所述第一缓冲区的存储空间时,所述方法还包括:从所述第一插入位置处,向前和/或向后移动所述第一叶子节点下的数组中的数据,以在所述第一位置处为所述第一叶子节点预留出预设大小的存储空间;将所述第一缓冲区中的关键字对应的值存储在所述预设大小的存储空间中,并将所述关键字映射到所述值在所述预设大小的存储空间的对应存储位置。5.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:在所述第一叶子节点下的数组中的第一插入位置处的数据密度小于所述预设阈值时,将所述第一关键字对应的第一值存储在所述第一叶子节点下的数组中,并将所述第一关键字映射到所述第一值在所述第一叶子节点的存储位置。6.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:响应于键值对的读取请求,将关键字输入所述学习型索引结构中进行位置预测,得到与所述关键字的位置范围对应的叶子节点,以及所述关键字对应的值在所述叶子节点下的数组中的插入位置;
在所述叶子节点下的数组中的插入位置处存在缓...

【专利技术属性】
技术研发人员:徐泉清
申请(专利权)人:北京奥星贝斯科技有限公司
类型:发明
国别省市:

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

1