【技术实现步骤摘要】
事务处理方法、装置、计算机设备及存储介质
[0001]本申请涉及数据库
,特别涉及一种事务处理方法、装置、计算机设备及存储介质。
技术介绍
[0002]数据处理技术需要事务的语义并借用关系数据库的ACID四个特性,来保证系统的事务特性,以满足电子交易的需求。其中,A是原子性,C是一致性,I是隔离性,D是持久性。电子交易类操作,需要由这四个特性来保证交易的安全与可靠。分布式事务处理技术同样需要满足事务的ACID四个特性,为满足ACID四个特性,数据处理技术需要多种技术做保障,其中最重要的就是数据的一致性和隔离性,其中,数据的一致性决定了数据的正确性问题,而隔离性决定了并发系统的性能问题。
[0003]实现事务一致性,也就是发现、解决事务并发操作在数据项上是否造成数据异常且如何消除数据异常的问题,主要依赖的相关技术包括四种数据异常与隔离级别、数据库的事务处理技术中的并发访问控制技术,例如,基于封锁的并发访问控制技术、基于时间戳排序的并发访问控制技术、基于多版本并发控制(Multi-Version Concurrency Control,MVCC)并发访问控制技术和基于运行控制中心(Operation Control Center,OCC)并发访问控制技术等。这些技术需要保证数据不出现异常,即满足事务的可串行化调度,从而来保证数据的正确性。
[0004]以上所述的事务一致性是数据库范畴内定义的和事务相关的如何避免数据异常的一致性。数据库领域范围内的可串行化技术、多种并发访问控制技术仅是解决事务一致性相 ...
【技术保护点】
【技术特征摘要】
1.一种事务处理方法,其特征在于,所述方法包括:响应于目标事务的读写操作,获取所述目标事务的读集和写集;响应于所述目标事务的验证指令,确定所述目标事务的逻辑开始时刻和逻辑提交时刻;响应于所述逻辑开始时刻和所述逻辑提交时刻符合所述目标事务的并发一致性级别,基于所述写集更新所述逻辑开始时刻;响应于更新后的逻辑开始时刻小于或等于所述逻辑提交时刻,提交所述目标事务。2.根据权利要求1所述的方法,其特征在于,所述基于所述写集更新所述逻辑开始时刻包括:获取所述写集中的至少一个数据项的至少一个待写事务信息,所述至少一个待写事务信息分别用于标识正在修改所述至少一个数据项的事务;响应于所述至少一个待写事务信息均为空,调整所述逻辑开始时刻;响应于所述至少一个待写事务信息中的任一待写事务信息不为空,回滚所述目标事务。3.根据权利要求2所述的方法,其特征在于,所述调整所述逻辑开始时刻包括:对于所述至少一个数据项中的任一数据项,将所述任一数据项的待写事务信息获取为所述目标事务的事务标识;将所述逻辑开始时刻更新至大于所述任一数据项的最大读事务时间戳,所述最大读事务时间戳用于表示读取过所述任一数据项的事务的逻辑提交时刻中的最大值;响应于更新后的逻辑开始时刻和所述逻辑提交时刻符合所述目标事务的并发一致性级别,基于活跃事务集合调整所述逻辑开始时刻,所述活跃事务集合用于标识已开始执行但未提交完毕的事务;响应于更新后的逻辑开始时刻和所述逻辑提交时刻不符合所述目标事务的并发一致性级别,回滚所述目标事务。4.根据权利要求3所述的方法,其特征在于,所述活跃事务集合包括第一事务集合和第二事务集合,所述第一事务集合用于标识处于提交中状态或者验证通过状态的事务,所述第二事务集合用于标识处于运行中状态的事务;所述基于活跃事务集合调整所述逻辑开始时刻包括:将所述逻辑开始时刻更新至大于所述第一事务集合中的最大逻辑提交时刻;响应于更新后的逻辑开始时刻小于或等于所述逻辑提交时刻,将所述第二事务集合中的事务的逻辑提交时刻调整至小于所述更新后的逻辑开始时刻;响应于所述更新后的逻辑开始时刻大于所述逻辑提交时刻,回滚所述目标事务。5.根据权利要求4所述的方法,其特征在于,所述将所述第二事务集合中的事务的逻辑提交时刻调整至小于所述更新后的逻辑开始时刻之后,所述方法还包括:响应于所述第二事务集合中任一事务的逻辑开始时刻大于调整后的所述逻辑提交时刻,回滚所述任一事务。6.根据权利要求1所述的方法,其特征在于,所述响应于所述逻辑开始时刻和所述逻辑提交时刻符合所述目标事务的并发一致性级别,基于所述写集更新所述逻辑开始时刻之前,所述方法还包括:
响应于所述并发一致性级别为串行化,获取所述目标事务的并发事务;响应于所述目标事务的逻辑提交时刻小于所述并发事务的逻辑开始时刻,或者所述目标事务的逻辑开始时刻大于所述并发事务的逻辑提交时刻,获取所述目标事务所属会话的最新已完成事务时间戳;响应于所述目标事务的逻辑提交时刻大于或等于所述最新已完成事务时间戳,确定符合所述并发一致性级别。7.根据权利要求1所述的方法,其特征在于,所述响应于所述逻辑开始时刻和所述逻辑提交时刻符合所述目标事务的并发一致性级别,基于所述写集更新所述逻辑开始时刻之前,所述方法还包括:响应于所述并发一致性级别为严格化且所述目标事务为写事务,获取所述目标事务的并发写事务;响应于所述目标事务的逻辑提交时刻小于所述并发写事务的逻辑开始时刻,或者所述目标事务的逻辑开始时刻大于所述并发写事务的逻辑提交时刻,获取所述并发写事务的并发只读事务;响应于所述并发只读事务的逻辑开始时刻大于所述并发写事务的逻辑开始时刻,获取所述目标事务所属会话的最新已完成事务时间戳;响应于所述目标事务的逻辑提交时刻大于或等于所述最新已完成事务时间戳,确定符合所述并发...
【专利技术属性】
技术研发人员:李海翔,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。