[发明专利]分布式事务一致性实现方法及装置有效
申请号: | 201810764278.4 | 申请日: | 2018-07-12 |
公开(公告)号: | CN110196760B | 公开(公告)日: | 2023-04-18 |
发明(设计)人: | 康俊彬 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/52 |
代理公司: | 北京励诚知识产权代理有限公司 11647 | 代理人: | 贾玉姣 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 事务 一致性 实现 方法 装置 | ||
本发明公开了一种分布式事务一致性实现方法和装置,用于分布式事务系统。包括全局时间戳生成服务器、协调节点和数据节点,分布式事务一致性实现方法包括以下步骤:在协调节点提交事务时向全局时间戳生成服务器申请提交时间戳;提交时间戳写入参与的协调节点和数据节点的事务日志和时间戳存储中;在事务开启时向所述全局时间戳生成服务器申请所述事务的开始时间戳以进行事务可见性判断。和在事务开启时向全局时间戳生成服务器申请事务的开始时间戳。本发明实施方式的分布式事务一致性实现方法和装置,通过全局时间戳生成服务器给分布式数据库的事务分配时间戳,保证了事务在各个单节点内部以及多个节点之间的事务的一致性和事务隔离性。
技术领域
本发明涉及计算机技术领域,特别涉及一种分布式事务一致性实现方法及装置。
背景技术
在分布式数据库中,事务和查询会分布到多个节点上执行。因此,在设计分布式一致性分布式事务算法和协议时,既要保证各个单节点内部的数据一致性和事务隔离性以外,还要保证多个节点之间的数据一致性和事务隔离性,如何实现节点内以及节点间一致性和隔离性成为亟待解决的问题。
发明内容
本发明提供了一种分布式事务一致性实现方法及装置。
本发明的实施方式的分布式事务一致性实现方法,用于分布式事务系统,所述分布式事务系统包括全局时间戳生成服务器、协调节点和数据节点,所述协调节点用于将事务分布到数据所在的相关数据节点执行,所述全局时间戳生成服务器采用可扩展读写锁机制,生成原子递增的全局时间戳,所述分布式事务一致性实现方法包括以下步骤:
在所述协调节点提交事务时向所述全局时间戳生成服务器申请提交时间戳;
将所述提交时间戳写入参与的协调节点和数据节点的事务日志和时间戳存储中;和
在事务开启时向所述全局时间戳生成服务器申请所述事务的开始时间戳以进行所述事务可见性判断。
在某些实施方式中,所述协调节点或所述数据节点在任意连续两次向所述全局时间戳生成服务器申请时间戳时,在先申请的所述时间戳小于在后申请的所述时间戳。
在某些实施方式中,所述分布式事务系统包括两个事务,在所述第二事务读表数据时,当且仅当第一事务的提交时间戳小于第二事务的开始时间戳,所述第一事务的修改对所述第二事务可见。
在某些实施方式中,所述第一事务执行分布于多个所述数据节点,所述第二事务与所述第一事务并行,将两阶段提交协议中的投票阶段作为所述多个数据节点和协调节点的同步点。
在某些实施方式中,所述将所述提交时间戳写入参与的协调节点和数据节点的事务日志和时间戳存储中的步骤包括:
在本地事务日志中所述时间戳存储中存储所述事务的提交时间戳。
在某些实施方式中,所述在本地事务日志中和在所述时间戳存储中存储所述事务的提交时间戳的步骤包括:
在表数据记录头部元数据中建立LRU高速页缓存以加速所述提交时间戳的访问。
在某些实施方式中,所述在本地事务日志中和在所述时间戳存储中存储所述事务的提交时间戳步骤包括:
在所述分布式系统崩溃后,重做所述本地事务日志恢复所述时间戳存储中的数据。
在某些实施方式中,所述分布式事务系统采用多版本并发机制,包括多个数据行版本,所述事务在数据节点执行,每个所述数据节点包括多个进程,每个进程记录所述进程在执行所述事务的开始时间戳,所述数据节点包括一全局范围变量,所述全局范围变量记录最大的事务提交时间戳,所述分布式事务一致性实现方法还包括步骤:
根据记录的所述提交时间戳回收失效数据记录以回收被更新或删除的失效记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810764278.4/2.html,转载请声明来源钻瓜专利网。