事务执行方法、装置、计算设备及存储介质制造方法及图纸

技术编号:35067889 阅读:16 留言:0更新日期:2022-09-28 11:26
本申请公开了一种事务执行方法、装置、计算设备及存储介质,属于数据库技术领域。本申请通过在分布式数据库系统中预先定义将符合相似数据条件的数据记录尽可能存储在同一存储设备上,这样在涉及批量SQL操作的目标事务符合相似数据条件时能够确定一个目标存储设备,目标存储设备存储了目标事务涉及的所有数据记录,从而计算设备无需以2PC算法来协调目标事务,只需要将目标事务下推到目标存储设备,使得目标存储设备能够以单机事务的方式来执行目标事务,极大减少分布式数据库系统中需要以2PC算法协调的、涉及批量SQL操作的事务数量,简化了针对涉及批量SQL操作的事务的处理流程,提升了针对涉及批量SQL操作的事务的执行效率。行效率。行效率。

【技术实现步骤摘要】
事务执行方法、装置、计算设备及存储介质


[0001]本申请涉及数据库
,特别涉及一种事务执行方法、装置、计算设备及存储介质。

技术介绍

[0002]随着互联网技术的发展,用户侧对数据库系统的要求越来越高,新的应用不仅要求数据库系统具有良好的ACID(原子性Atomicity、一致性Consistency、隔离性Isolation和持久性Durability)属性,还要求数据库系统具有良好的扩展性,因此,新一代的数据库系统NewSQL(Structured Query Language,结构化查询语言)应运而生。
[0003]比如,基于访问中间件的分库分表架构是一种典型的NewSQL数据库系统,通过分库分表的方式能够满足扩展性要求,数据库中间件会按照预设规则,将数据分散到多个数据库或数据表中进行存储,在查询阶段,中间件会将请求解析到多个数据库或数据表各自所在的节点设备上分别进行查询,再将多个数据库或数据表返回的查询结果聚合在一起返回至应用侧。
[0004]上述基于访问中间件的分库分表架构,在涉及到较为复杂的业务请求,特别是一些跨分区的操作时,由于要保证跨分区之间的数据强一致性,会导致整个业务请求的处理流程繁琐、事务执行效率低。

技术实现思路

[0005]本申请实施例提供了一种事务执行方法、装置、计算设备及存储介质,能够简化涉及批量SQL操作的事务的处理流程、提升分布式数据库系统的事务执行效率。该技术方案如下:
[0006]一方面,提供了一种事务执行方法,该方法包括:
>[0007]针对涉及批量SQL操作的目标事务,确定所述批量SQL操作关联的多条数据记录;
[0008]在所述多条数据记录符合相似数据条件的情况下,确定所述多条数据记录所在的目标存储设备,所述目标存储设备用于存储符合所述相似数据条件的数据记录;
[0009]向所述目标存储设备下发所述目标事务,以使所述目标存储设备以单机事务的方式执行所述目标事务。
[0010]一方面,提供了一种事务执行装置,该装置包括:
[0011]第一确定模块,用于针对涉及批量SQL操作的目标事务,确定所述批量SQL操作关联的多条数据记录;
[0012]第二确定模块,用于在所述多条数据记录符合相似数据条件的情况下,确定所述多条数据记录所在的目标存储设备,所述目标存储设备用于存储符合所述相似数据条件的数据记录;
[0013]下发模块,用于向所述目标存储设备下发所述目标事务,以使所述目标存储设备以单机事务的方式执行所述目标事务。
[0014]在一种可能实施方式中,所述相似数据条件包括所述多条数据记录均属于热点数据,所述热点数据用于表征在历史时间段中被频繁访问的数据记录;
[0015]所述第二确定模块包括:
[0016]第一确定单元,用于在所述多条数据记录均属于所述热点数据的情况下,将用于存储所述热点数据的存储设备确定为所述目标存储设备。
[0017]在一种可能实施方式中,所述热点数据包括在所述历史时间段中被访问次数大于访问次数阈值或被修改次数大于修改次数阈值的第一热点数据;
[0018]所述第一确定单元用于:
[0019]在所述多条数据记录均在所述历史时间段中被访问次数大于访问次数阈值或被修改次数大于修改次数阈值的情况下,将所述多条数据记录均确定为所述第一热点数据,将用于存储所述第一热点数据的存储设备确定为所述目标存储设备。
[0020]在一种可能实施方式中,所述热点数据包括通过特征提取模型筛选得到的第二热点数据,所述特征提取模型用于针对在所述历史时间段内涉及批量SQL操作的历史事务所操作的数据记录提取数据特征,所述第二热点数据的数据特征与第一热点数据的数据特征符合相似条件,所述第一热点数据在所述历史时间段中被访问次数大于访问次数阈值或被修改次数大于修改次数阈值;
[0021]所述第一确定单元用于:
[0022]在通过所述特征提取模型对所述多条数据记录各自提取到的数据特征与所述第一热点数据的数据特征符合相似条件的情况下,将所述多条数据记录均确定为所述第二热点数据,将用于存储所述第二热点数据的存储设备确定为所述目标存储设备。
[0023]在一种可能实施方式中,所述相似数据条件包括所述多条数据记录各自的SQL操作语义符合语义关联条件;
[0024]所述第二确定模块包括:
[0025]第二确定单元,用于在所述多条数据记录各自的SQL操作语义符合所述语义关联条件的情况下,将用于存储符合所述语义关联条件的数据记录的存储设备确定为所述目标存储设备。
[0026]在一种可能实施方式中,所述第二确定单元还用于:
[0027]在所述多条数据记录仅包括同一数据表的主键记录和二级索引记录的情况下,确定所述多条数据记录各自的SQL操作语义符合所述语义关联条件;或,
[0028]在所述多条数据记录在历史时间段中被同一SQL查询事务进行批量SQL操作的频次大于频次阈值的情况下,确定所述多条数据记录各自的SQL操作语义符合所述语义关联条件;或,
[0029]在将所述多条数据记录转换到图数据库后,所述多条数据记录各自对应的多个节点中任意两个节点之间存在连接边且所述连接边的边长不超过边长阈值的情况下,确定所述多条数据记录各自的SQL操作语义符合所述语义关联条件。
[0030]在一种可能实施方式中,所述相似数据条件包括所述多条数据记录各自的主键均处于同一主键范围内;
[0031]所述第二确定模块还用于:
[0032]在所述多条数据记录各自的主键均处于同一主键范围内的情况下,将用于存储所
述主键范围内的数据记录的存储设备确定为所述目标存储设备。
[0033]在一种可能实施方式中,所述装置还包括:
[0034]重新确定模块,用于每间隔目标时长,重新确定在所述目标时长内符合所述相似数据条件的数据记录;
[0035]第一迁移模块,用于将所述目标时长内符合所述相似数据条件的数据记录迁移至分布式数据库系统中计算负载小于负载阈值的存储设备中。
[0036]在一种可能实施方式中,所述第一迁移模块用于:
[0037]将所述目标时长内被访问次数大于访问次数阈值或被修改次数大于修改次数阈值的第一热点数据,均迁移至计算负载小于负载阈值的第一存储设备;
[0038]将所述目标时长内通过特征提取模型筛选得到的第二热点数据,均迁移至计算负载小于负载阈值的第二存储设备,所述特征提取模型用于针对在所述目标时长内涉及批量SQL操作的历史事务所操作的数据记录提取数据特征,所述第二热点数据的数据特征与所述第一热点数据的数据特征符合相似条件;
[0039]将所述目标时长内SQL操作语义符合所述语义关联条件的至少一条数据记录,均迁移至计算负载小于负载阈值的第三存储设备。
[0040]在一种可能实施方式中,所述下发模块还用于:
[0041]基于所述目标事务所关联的业务类型,向所本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种事务执行方法,其特征在于,所述方法包括:针对涉及批量结构化查询语言SQL操作的目标事务,确定所述批量SQL操作关联的多条数据记录;在所述多条数据记录符合相似数据条件的情况下,确定所述多条数据记录所在的目标存储设备,所述目标存储设备用于存储符合所述相似数据条件的数据记录;向所述目标存储设备下发所述目标事务,以使所述目标存储设备以单机事务的方式执行所述目标事务。2.根据权利要求1所述的方法,其特征在于,所述相似数据条件包括所述多条数据记录均属于热点数据,所述热点数据用于表征在历史时间段中被频繁访问的数据记录;所述在所述多条数据记录符合相似数据条件的情况下,确定所述多条数据记录所在的目标存储设备包括:在所述多条数据记录均属于所述热点数据的情况下,将用于存储所述热点数据的存储设备确定为所述目标存储设备。3.根据权利要求2所述的方法,其特征在于,所述热点数据包括在所述历史时间段中被访问次数大于访问次数阈值或被修改次数大于修改次数阈值的第一热点数据;所述在所述多条数据记录均属于热点数据的情况下,将用于存储所述热点数据的存储设备确定为所述目标存储设备包括:在所述多条数据记录均在所述历史时间段中被访问次数大于访问次数阈值或被修改次数大于修改次数阈值的情况下,将所述多条数据记录均确定为所述第一热点数据,将用于存储所述第一热点数据的存储设备确定为所述目标存储设备。4.根据权利要求2所述的方法,其特征在于,所述热点数据包括通过特征提取模型筛选得到的第二热点数据,所述特征提取模型用于针对在所述历史时间段内涉及批量SQL操作的历史事务所操作的数据记录提取数据特征,所述第二热点数据的数据特征与第一热点数据的数据特征符合相似条件,所述第一热点数据在所述历史时间段中被访问次数大于访问次数阈值或被修改次数大于修改次数阈值;所述在所述多条数据记录均属于热点数据的情况下,将用于存储所述热点数据的存储设备确定为所述目标存储设备包括:在通过所述特征提取模型对所述多条数据记录各自提取到的数据特征与所述第一热点数据的数据特征符合相似条件的情况下,将所述多条数据记录均确定为所述第二热点数据,将用于存储所述第二热点数据的存储设备确定为所述目标存储设备。5.根据权利要求1所述的方法,其特征在于,所述相似数据条件包括所述多条数据记录各自的SQL操作语义符合语义关联条件;所述在所述多条数据记录符合相似数据条件的情况下,确定所述多条数据记录所在的目标存储设备包括:在所述多条数据记录各自的SQL操作语义符合所述语义关联条件的情况下,将用于存储符合所述语义关联条件的数据记录的存储设备确定为所述目标存储设备。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:在所述多条数据记录仅包括同一数据表的主键记录和二级索引记录的情况下,确定所述多条数据记录各自的SQL操作语义符合所述语义关联条件;或,
在所述多条数据记录在历史时间段中被同一SQL查询事务进行批量SQL操作的频次大于频次阈值的情况下,确定所述多条数据记录各自的SQL操作语义符合所述语义关联条件;或,在将所述多条数据记录转换到图数据库后,所述多条数据记录各自对应的多个节点中任意两个节点之间存在连接边且所述连接边的边长不超过边长阈值的情况下,确定所述多条数据记录各自的SQL操作语义符合所述语义关联条件。7.根据权利要求1所述的方法,其特征在于,所述相似数据条件包括所述多条数据记录各自的主键均处于同一主键范围内;所述在所述多条数据记录符合相似数据条件的情况下,确定所述多条数据记录所在的目标存储设备包括:在所述多条数据记录各自的主键均处于同一主键范围内的情况下,将用于存储所述主键范围内的数据记录的存储设备确定为所述目标存储设备。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:每间隔目标时长,重新确定在所述目标时长内符合所述相似数据条件的数据记录;将所述目标时长内符合所述相似数据条件的数据记录迁移至分布式数据库系统中计算负载小于负载阈值的存储设备中。9.根据权利要求8所述的方法,其特征在于,所述将所述目标时长内符合所述相似数据条件的数据记录迁移至分布式数据库系统中计算负载小于负载阈值的存储设备中包括:将...

【专利技术属性】
技术研发人员:潘安群智雅楠雷海林杨超韩硕唐彦温晓桦朱翀
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1