[发明专利]事务执行方法、装置、计算设备及存储介质有效
申请号: | 202111259993.0 | 申请日: | 2021-10-28 |
公开(公告)号: | CN113704361B | 公开(公告)日: | 2022-02-15 |
发明(设计)人: | 熊亮春 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/22 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 孙晓丽 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事务 执行 方法 装置 计算 设备 存储 介质 | ||
本申请公开了一种事务执行方法、装置、计算设备及存储介质,属于数据库技术领域。本申请通过对划分至本计算设备的目标事务,完成对目标事务所操作的所有主键记录和该主键记录对应的二级索引记录的处理,从而以单机事务的方式来提交目标事务,而无需采用2PC算法与其他计算设备进行多轮通信,并由存储设备对目标事务的提交日志进行异步回放即可实现数据落盘,例如,针对金融场景下发起转账、智慧交通场景下查询附近空闲停车位等事务,均可在计算设备中以单机事务方式提交,因此能够在保证数据一致性的前提下,大大提升分布式数据库系统的事务执行性能。
技术领域
本申请涉及数据库技术领域,特别涉及一种事务执行方法、装置、计算设备及存储介质。
背景技术
随着数据库技术的发展,由于存储计算分离的分布式数据库系统能够满足高吞吐量的业务需求,逐渐成为一项研究热点。在存储计算分离的分布式数据库系统中,大部分事务都必须采用二阶段提交(Two Phase Commit,2PC)算法来确保数据库内在任一时刻下的数据记录都处于一致性状态。由于二阶段提交算法会大大降低事务执行的性能,因此,亟需一种能够提高分布式数据库系统的事务执行性能的方法。
发明内容
本申请实施例提供了一种事务执行方法、装置、计算设备及存储介质,能够提高分布式数据库系统的事务执行性能。该技术方案包括如下内容。
一方面,提供了一种事务执行方法,由分布式数据库系统中的计算设备执行,该方法包括:
响应于目标事务,获取所述目标事务所对应的至少一条数据记录,所述数据记录为主键记录或所述主键记录关联的二级索引记录;
基于所述目标事务,处理所述至少一条数据记录;
在提交所述目标事务时,生成所述目标事务的提交日志,以使所述分布式数据库系统中的存储设备对所述至少一条数据记录进行相同的处理。
一方面,提供了一种事务执行装置,所述装置位于分布式数据库系统中,该装置包括:
获取模块,用于响应于目标事务,获取所述目标事务所对应的至少一条数据记录,所述数据记录为主键记录或所述主键记录关联的二级索引记录;
处理模块,用于基于所述目标事务,处理所述至少一条数据记录;
生成模块,用于在提交所述目标事务时,生成所述目标事务的提交日志,以使所述分布式数据库系统中的存储设备对所述至少一条数据记录进行相同的处理。
在一种可能实施方式中,所述获取模块包括:
第一确定单元,用于确定所述目标事务所对应的至少一个索引,所述索引为主键索引或二级索引;
查询单元,用于基于所述至少一个索引,从事务缓存区中查询得到所述至少一条数据记录。
在一种可能实施方式中,所述查询单元用于:
在所述至少一条数据记录全部缓存在所述事务缓存区中的情况下,基于所述至少一个索引,从所述事务缓存区中读取对应的所述至少一条数据记录;
在所述至少一条数据记录未全部缓存在所述事务缓存区中的情况下,从所述存储设备中将未缓存的数据记录读取到所述事务缓存区中;基于所述至少一个索引,从所述事务缓存区中读取对应的所述至少一条数据记录。
在一种可能实施方式中,所述获取模块还包括:
获取单元,用于获取所述事务缓存区的数据加载信息,所述数据加载信息用于记录所述事务缓存区中已缓存的数据记录;
第二确定单元,用于基于所述数据加载信息,确定所述至少一条数据记录是否全部缓存在所述事务缓存区中。
在一种可能实施方式中,所述获取模块用于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111259993.0/2.html,转载请声明来源钻瓜专利网。