数据库多事务处理方法及装置、设备和存储介质与流程
- 国知局
- 2025-01-10 13:46:39
本发明涉及数据库,具体地涉及一种数据库多事务处理方法及装置、设备和存储介质。
背景技术:
1、在数据库中,在不同的事务隔离级别下,相同的查询语句可能会检索出不同的结果,使用锁机制可以实现此特性,然而在多事务高并发访问数据库场景下传统的锁机制会导致性能瓶颈和并发性下降。因此,在当今社会硬件高速发展的趋势下,传统的数据库实现中引入了多版本记录,多版本记录存于磁盘。然而当通过索引检索某行数据的某个版本记录时,可能需要多次访问磁盘文件以获取事务可见的版本记录,然后对版本记录再根据索引条件进行过滤,多事务并发访问磁盘时往往也需要进行数据链排队,处理过程效率较低,耗时较长。
技术实现思路
1、鉴于上述问题,本发明提供了一种数据库多事务处理方法及装置、设备和存储介质。
2、根据本发明的第一个方面,提供了一种数据库多事务处理方法,包括:响应于针对数据库的至少一个写事务请求和读事务请求,得到写事务请求和读事务请求各自对应的事务时序标识,其中,事务时序标识是基于事务请求的响应时刻之间的时序关系和事务属性标识确定的;针对数据库的目标键执行至少一个写事务请求,得到至少一个键值以及与至少一个键值各自对应的操作属性;根据第i写事务请求对应的事务时序标识,确定与第i-1键值和第i键值各自对应的索引查询范围,其中,第i键值是基于第i写事务请求操作得到的,i大于1、且i为正整数;执行绑定有索引键值的读事务请求,根据读事务请求对应的事务时序标识以及至少一个键值各自的索引查询范围、操作属性,确定目标查询结果。
3、可选的,操作属性包括操作版本、操作类型;其中,执行绑定有索引键值的读事务请求,根据读事务请求对应的事务时序标识以及至少一个键值各自的索引查询范围、操作属性,确定目标查询结果包括:执行绑定有索引键值的读事务请求, 从至少一个键值中确定目标索引键值;在读事务请求对应的事务时序标识在目标索引键值的索引查询范围内的情况下, 根据目标索引键值关联的操作类型,确定执行结果可见类型;根据执行结果可见类型和目标索引键值关联的操作版本,得到与读事务请求对应的目标查询结果。
4、可选的,根据目标索引键值关联的操作类型,确定执行结果可见类型包括:在操作类型表征删除类型的情况下,确定执行结果可见类型为可见类型;在操作类型表征修改类型的情况下,确定执行结果可见类型为不可见类型。
5、可选的,根据执行结果可见类型和目标索引键值关联的操作版本,得到与读事务请求对应的目标查询结果包括:在执行结果可见类型为可见类型的情况下,将目标索引键值关联的操作版本对应的执行结果确定为目标查询结果;在执行结果可见类型为不可见类型的情况下,得到表征查询失败的目标查询结果。
6、可选的,索引查询范围包括索引查询下限值和索引查询上限值;其中,根据第i写事务请求对应的事务时序标识,根据第i写事务请求对应的事务时序标识,确定与第i-1键值和第i键值各自对应的索引查询范围包括:根据第i写事务请求对应的事务时序标识更新第i-1键值对应的索引查询范围中的索引查询上限值;将第i写事务请求对应的事务时序标识确定为第i键值对应的索引查询范围中的索引查询下限值。
7、可选的,写事务请求对应的事务时序标识是基于如下操作确定的:根据至少一个写事务请求的响应时刻之间的时序关系和标识增加规则,确定至少一个写事务请求各自的事务时序标识。
8、可选的,读事务请求对应的事务时序标识是基于如下操作确定的:基于事务属性标识,在第m读事务请求和第n读事务请求为同一读事务请求的情况下,将第m读事务请求的事务时序标识确定为第n读事务请求的事务时序标识,其中,m小于或等于n,m、n均为正整数;在读事务请求的响应时刻位于第i-1写事务请求的响应时刻和第i写事务请求的响应时刻之间的情况下,根据第i-1写事务请求的事务时序标识确定读事务请求的事务时序标识。
9、本发明的第二方面提供了一种数据库多事务处理装置,包括:
10、响应模块,用于响应于针对数据库的至少一个写事务请求和读事务请求,得到写事务请求和读事务请求各自对应的事务时序标识,其中,事务时序标识是基于事务请求的响应时刻之间的时序关系和事务属性标识确定的;
11、第一执行模块,用于针对数据库的目标键执行至少一个写事务请求,得到至少一个键值以及与至少一个键值各自对应的操作属性;
12、确定模块,用于根据第i写事务请求对应的事务时序标识,确定与第i-1键值和第i键值各自对应的索引查询范围,其中,第i键值是基于第i写事务请求操作得到的,i大于1、且i为正整数;
13、第二执行模块,用于执行绑定有索引键值的读事务请求,根据读事务请求对应的事务时序标识以及至少一个键值各自的索引查询范围、操作属性,确定目标查询结果。
14、本发明的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述数据库多事务处理方法。
15、本发明的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述数据库多事务处理方法。
16、根据本发明提供的数据库多事务处理方法及装置、设备和存储介质,通过针对数据库的目标键执行至少一个写事务请求,得到至少一个键值;根据第i写事务请求对应的事务时序标识,确定与第i-1键值和第i键值各自对应的索引查询范围;执行绑定有索引键值的读事务请求,根据读事务请求对应的事务时序标识以及至少一个键值各自的索引查询范围、操作属性,确定目标查询结果。由于引入存于内存中的索引查询范围,在增,删,改,查等多种复杂场景下保证b+树索引的入口不丢失,从而基于读事务请求中绑定的索引键值快速锁定b+树的键值入口;自动根据写事务请求的事务时序标识更新键值的索引查询范围,通过对比读事务请求的事务时序标识和索引查询范围的关系,再根据操作属性确定唯一可见版本的目标查询结果,实现了数据库的索引可见性判断,提高了数据库的多事务并发处理能力和读写效率。
技术特征:1.一种数据库多事务处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述操作属性包括操作版本、操作类型;
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标索引键值关联的所述操作类型,确定执行结果可见类型包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述执行结果可见类型和所述目标索引键值关联的所述操作版本,得到与所述读事务请求对应的目标查询结果包括:
5.根据权利要求1所述的方法,其特征在于,所述索引查询范围包括索引查询下限值和索引查询上限值;
6.根据权利要求1所述的方法,其特征在于,所述写事务请求对应的所述事务时序标识是基于如下操作确定的:
7.根据权利要求6所述的方法,其特征在于,所述读事务请求对应的所述事务时序标识是基于如下操作确定的:
8.一种数据库多事务处理装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1至7中任一项所述的方法。
技术总结本发明提供了一种数据库多事务处理方法及装置、设备和存储介质,可以应用于数据库技术领域。该方法包括:响应于针对数据库的至少一个写事务请求和读事务请求,得到写事务请求和读事务请求各自对应的事务时序标识;针对数据库的目标键执行至少一个写事务请求,得到至少一个键值以及与至少一个键值各自对应的操作属性;根据第i写事务请求对应的事务时序标识,确定与第i‑1键值和第i键值各自对应的索引查询范围,其中,第i键值是基于第i写事务请求操作得到的,i大于1、且i为正整数;执行绑定有索引键值的读事务请求,根据读事务请求对应的事务时序标识以及至少一个键值各自的索引查询范围、操作属性,确定目标查询结果。技术研发人员:沈勇,杨蔚受保护的技术使用者:江苏华库数据技术有限公司技术研发日:技术公布日:2025/1/6本文地址:https://www.jishuxx.com/zhuanli/20250110/355177.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表