[发明专利]多版本并发控制和日志清除方法、节点、设备和介质在审
申请号: | 202011552901.3 | 申请日: | 2020-12-24 |
公开(公告)号: | CN114661690A | 公开(公告)日: | 2022-06-24 |
发明(设计)人: | 任济双;徐文锋;郭龙波;刘志文;付裕 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/23;G06F16/27 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 潘登 |
地址: | 518057 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 版本 并发 控制 日志 清除 方法 节点 设备 介质 | ||
本申请提供一种多版本并发控制和日志清除方法、节点、设备和介质,上述多版本并发控制方法包括:计算节点向数据库节点发送第一语句,其中,第一语句中携带全局活跃事物列表;数据库节点获取第一语句对应的数据快照,并基于数据快照和全局活跃事物列表确定返回结果,数据库节点将返回结果发送至计算节点,本实施例的技术方案将全局活跃事务列表一起下发给数据库节点,在数据库节点进行判断,从而实现了分布式数据库的多版本并发控制,减少了重复查询,提高了多并发场景的高吞吐性能。
技术领域
本申请涉及通信技术领域,具体涉及一种多版本并发控制和日志清除方法、节点、设备 和介质。
背景技术
随着社会的发展,技术的进步,传统单机数据库逐渐被新兴的分布式数据库代替。大数 据量、频繁的交互,给分布式数据库的实现带来了很多问题。
多版本并发控制(Multiversion concurrency control,MVCC)是指在并发访问数据库 时,对事务读取到的内存进行处理,避免读写相互阻塞,最终实现不同事务在同一时间读取 到的内容可能不同的功能。
然而,目前MVCC主要在单机上得以实现,在分布式数据库中,结合两阶段提交方法实现 多版本并发控制。然而,在两阶段提交方法中,一条更新语句下发到多个分片,其中部分分 片操作指令执行成功,另一部分分片还在执行中,此时数据库又收到一个查询语句,那么有 的分片返回commit前的结果,有的返回commit之后的结果,那么返回的结果是不可信的, 需要丢弃。现有技术中的做法是不断的重复查询,直到多个分片都返回操作指令执行成功结 果,才会把查询的结果返回给客户。这种做法严重影响了高并发场景下的吞吐性能。
发明内容
本申请提供的多版本并发控制方法、存储引擎、设备和存储介质,提升了高并发场景下 的吞吐性能。
第一方面,本申请实施例提供一种多版本并发控制方法,包括:
计算节点向数据库节点发送第一语句,其中,所述第一语句中携带全局活跃事物列表;
所述数据库节点获取所述第一语句对应的数据快照,并基于所述数据快照和所述全局活 跃事物列表确定返回结果;
所述数据库节点将所述返回结果发送至所述计算节点。
第二方面,本申请实施例提供一种日志清除方法,包括:
计算节点将全局事务标志GTID和清除策略发送至数据库节点;
所述数据库节点基于所述清除策略将小于所述GTID的GTID对应的undo log日志清除。
第三方面,本申请实施例提供一种计算节点,包括:
第一发送模块,被配置为向数据库节点发送第一语句,其中,所述第一语句中携带全局 活跃事物列表;
第一接收模块,被配置为接收所述数据库返回的返回结果,其中,所述返回结果由所述 数据库节点获取所述第一语句对应的数据快照,并基于所述数据快照和所述全局活跃事物列 表确定。
第四方面,本申请实施例提供一种数据库节点,包括:
第二接收模块,被配置为接收计算节点发送的第一语句,其中,所述第一语句中携带全 局活跃事物列表;
返回结果确定模块,被配置为获取所述第一语句对应的数据快照,并基于所述数据快照 和所述全局活跃事物列表确定返回结果;
第二发送模块,被配置为将所述返回结果发送至所述计算节点。
第五方面,本申请实施例提供一种计算节点,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011552901.3/2.html,转载请声明来源钻瓜专利网。