[发明专利]用于确保与数据模型有关的并发事务的一致性的系统和方法有效
| 申请号: | 201810044573.2 | 申请日: | 2014-05-23 |
| 公开(公告)号: | CN108108232B | 公开(公告)日: | 2021-10-22 |
| 发明(设计)人: | D.R.彻里顿 | 申请(专利权)人: | 奥普塔姆软件股份有限公司 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F11/14 |
| 代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 胡莉莉;陈岚 |
| 地址: | 美国加利*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 确保 数据模型 有关 并发 事务 一致性 系统 方法 | ||
公开了具有快照隔离的基于约束的一致性。通过识别对于正确应用行为而言需要满足的约束来提供并发原子事务的高效处理。利用这些所识别的约束,用于事务的提交处理于是可以引用约束,以查看在所述约束的情况下提交当前事务是否引起问题。如果存在与所述约束的冲突,则事务中止。如果不存在与所述约束的冲突,则事务提交。
本申请是2014年5月23日向中国专利局提交的申请号为201410220268.6、题为“具有快照隔离的基于约束的一致性”的发明专利申请的分案申请。
技术领域
本发明涉及事务处理。
背景技术
原子事务经常用于简化并发和容错编程。如果事务是不可分的,则其为原子的,以使得用以执行事务的尝试可能仅有两种可能的结果:1)事务的所有部分发生(事务提交);或者2)事务的各部分不发生(事务中止)。因此,对于原子事务而言,不可能有事务的部分执行发生。例如,如果事务是将资金从一个账户转移到另一账户,则高度期望该事务是原子的,以避免信贷应用于一个账户而在另一账户中没有对应借记的可能性(或反之亦然)。在更一般的编程情况下,由于原子事物而得到类似的优点。
可以识别用于提供原子事务的两种基本方法:1)就地更新(in-place update)和2)阴影拷贝(shadow copy)。前者通常通过锁定以防止并发更新以及撤销(undo)日志来实现,以能够在事务中止的情况下撤销改变。这还可以替代使用锁定而通过如果另一事务写入该事务正在写入的数据(所谓的写入-写入冲突)或写入该事务正在读取的数据(所谓的读取-写入冲突)则中止事务来开放式地实现。
历史上直到最近,考虑到大多数事务数据已经是基于盘的,就地更新因为保持盘布局的益处而受到偏爱。然而,考虑到在很多应用中读取比写入占优势,读取锁定是明显的开销。此外,读取锁定数据意味着对于被锁定数据的更新被延迟,这实际意味着如果对应的真实世界值在其被锁定的时间期间改变,则其潜在地与真实世界不一致而结束。在某种意义上,这意味着其对于实现内部一致性的关注可能导致与外部环境的不一致性。考虑到读取-写入冲突的普遍性(prevalence),就地更新的开放式形式可能由于过度的中止率而受损。
在移动到存储器中的数据库的情况下,阴影拷贝方法变得比以前更有吸引力。在此,更新事务使得数据的拷贝被更新、作出修改并且然后原子地更新对该数据的根引用(或指针)以引用新的(先前阴影)拷贝。进一步采用该方法,事务可以从甚至其恰正在读取的数据的快照(即不可变的拷贝)执行。该方法被称为快照隔离(SI)。该方法提供具有不由于就地更新事务的读取-写入冲突而受损的附加明显益处的常规串行化事务的大多数性质,其中就地更新事务的读取-写入冲突可能招致明显的锁定开销或者在开放式实现的情况下增加中止率。
阴影拷贝在分布式实现中可能是有吸引力的,因为其经常需要在处理执行事务时复制数据,由此提供数据的拷贝或快照以提供高效的本地存取。在此情况下,SI的拷贝开销由于保存该拷贝的存取提供本地处理而被有效地消除,或者反过来,本地拷贝的创建已经有效地负担了SI事务机制所要求的快照的成本。该本地拷贝还可以减少处理面临包含状态的主拷贝的处理的失效和重启,因为其可以利用其本地快照而继续操作。
遗憾的是,在所有的执行产生好像以某种顺序的次序被执行那样的相同结果的意义上,SI不提供顺序一致性(或者可串行化(serializability),如其在数据库世界中被描述的那样)。因为所谓的写入偏移问题,所以出现折中行为。可以通过考虑期待事务应用被保持的简单断言约束来图解该问题。例如,考虑断言约束:
39 b + c;
其中,分离的事务Tb和Tc可以分别更新b和c。如果b和c初始为10,则Tb可以将b更新为20,将c的快照看作10,而Tc可以将c更新为20,类似地将b的快照看作10。因为没有写入-写入冲突,所以这两个事务可以均在SI模型中并发地提交,而这样做引起约束被违反。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奥普塔姆软件股份有限公司,未经奥普塔姆软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810044573.2/2.html,转载请声明来源钻瓜专利网。





