[发明专利]一种事务处理方法及装置在审
| 申请号: | 201680000995.9 | 申请日: | 2016-01-26 |
| 公开(公告)号: | CN107533474A | 公开(公告)日: | 2018-01-02 |
| 发明(设计)人: | 梁晓豪;张军;刘哲 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46 |
| 代理公司: | 深圳市深佳知识产权代理事务所(普通合伙)44285 | 代理人: | 王仲凯 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 事务处理 方法 装置 | ||
本申请提供了一种事务处理方法及装置,用于提高事务的并发性能。所述事务处理方法包括:为第一事务分配第一版本号(101);当确定第二事务与所述第一事务存在冲突时,判断所述第二事务是否已提交(102);若所述第二事务未提交,根据所述第一版本号和第二版本号的大小确定所述第一事务的优先级高于所述第二事务的优先级,并执行所述第一事务,其中,所述第二版本号为所述第二事务分配的版本号(103);若所述第二事务已提交,确定所述第一版本号是否小于所述第二版本号(104),若小于,则对所述第一事务执行事务失败处理流程(105),若大于,则执行所述第一事务(106)。
技术领域
本发明涉及数据处理领域,特别涉及一种事务处理方法及装置。
背景技术
数据库事务(以下简称事务),是数据库管理系统执行过程中的一个逻辑单元,由一个有限的数据库操作序列构成。如一个事务可以是一条SQL(Structured QueryLanguage,结构化查询语言)语句(例如一个更新操作),也可以是一组SQL语句(例如若干个增删改查操作)。
事务是由一系列操作组成的一个完整的逻辑过程,这些操作不可拆分,比如在交易时,从一个账户的计减与另一个账户的计增,必须同时成功或者同时失败。这被概括为事务四个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。不同的数据库的事务实现方式各有不同,对行锁机制处理也不同。现在数据库的并发性能要求较高,使用多版本并发控制(MVCC,Multiversion Concurrency Control)技术,以避免很多情况下的加锁操作,使得在读取期间锁定需要的记录的同时,还允许非锁定的读取,从而提升系统性能。但无论是MySQL的悲观锁,还是Spanner的读写锁,由数据库事务并发带来的冲突问题在处理方面均不太理想。
MySQL数据库中采用锁(表锁、行锁等)的方法来避免数据库事务并发带来的冲突问题。该方法在事务的准备阶段,如对某一行进行增删改操作,就会获得该行的写锁;不同的事务之间相同的行写锁互斥,只能等待一事务释放该写锁后,其余的事务才能获得该行写锁,继续操作。但是,MySQL的写锁占用时间几乎等同于事务的持续时间,因此,其余的事务等待处理的时间较长,导致事务并发性能低下。
发明内容
本发明提供了一种事务处理方法及装置,用于提高事务的并发性能。
本发明一方面提供了一种事务处理方法,该方法包括:
事务发生时,事务处理装置需要为开始执行的事务分配版本号,例如为第一事务分配第一版本号;
如果在执行第二事务时,出现与所述第一事务存在冲突的情况,在确定所述冲突存在的情况下,事务处理装置判断所述第二事务是否已提交;
如果所述第二事务未提交,那么根据所述第一版本号和第二版本号的大小确定所述第一事务的优先级高于所述第二事务的优先级,然后执行所述第一事务,其中,所述第二版本号为所述第二事务分配的版本号;
如果所述第二事务已提交,那么确定所述第一版本号是否小于所述第二版本号,如果小于,则对所述第一事务执行事务失败处理流程,如果大于,则执行所述第一事务。通过对事务赋版本号解决事务冲突的方式可以有效的减少事务等待处理的时长,提高事务的并发性能。
在一个可能的实现方式中,所述冲突包括读写冲突或写写冲突。
在一个可能的实现方式中,具体可通过如下方式确定所述第一事务的优先级高于所述第二事务的优先级,该方式包括:
当所述第一版本号的绝对值小于所述第二版本号的绝对值时,确定所述第一事务的优先级高于所述第二事务的优先级;
或者,当所述第一版本号的绝对值大于所述第二版本号的绝对值时,确定所述第一事务的优先级高于所述第二事务的优先级。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680000995.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于仿真的高效波形生成
- 下一篇:功率知晓调度和功率管理器





