面向乐观并发控制的多版本支持方法及系统技术方案

技术编号:23672139 阅读:55 留言:0更新日期:2020-04-04 17:40
本发明专利技术提供了一种面向乐观并发控制的多版本支持方法及系统,包括:初始时间戳获取步骤;第一时间戳更新步骤;时间戳增加步骤;第一时间戳写回步骤;第二时间戳写回步骤;第二时间戳更新步骤;读取快照步骤;该方法及系统利用乐观并发控制的特点,高效的获取事务的时间戳;在多版本数据库中,为只读事务选取合适的数据读取版本,为读写事务选取合适的数据写入版本,使得只读事务不会受到读写事务读写冲突的影响。和传统乐观并发控制方法相比,极大的提升了只读事务的执行性能;和传统时间戳方法相比,减少了网络通信和和去除了性能瓶颈。

Multi version support method and system for optimistic concurrency control

【技术实现步骤摘要】
面向乐观并发控制的多版本支持方法及系统
本专利技术涉及并发控制方法领域,具体地,涉及一种面向乐观并发控制的多版本支持方法及系统,尤其是一种多版本数据库提供并发控制来提供可序列化。
技术介绍
数据库事务极大的简化了开发人员对数据库存储内容的修改:开发人员无需担忧并发情况下数据内容和查询结果的正确性,和数据存储状态的一致性。这样,开发人员只需要关注应用开发的逻辑即可。然而,通常对于数据库事务来说,很难做到高效的并发控制。这是由于事务访问数据之间需要进行同步来检测不一致的状态,造成额外的开销。乐观并发控制是一种常见的并发控制方法。由于他的根本方法是乐观的;因此,当数据的冲突访问变多的时候,事务会因为不断被中断导致性能低下。然而,数据冲突并不罕见,尤其是当事务执行的时间变长,访问的数据变多的时候。有研究表明,只读事务一般会比较受到冲突的影响,这是由于只读事务的查询更加复杂,访问更多的数据。除此之外,乐观并发控制需要两轮网络通信去执行,一轮去读取,一轮去验证;在分布式环境下造成一轮额外的通信开销。多版本数据库能够有效的解决这些问题:数据会储存为多个快照,本文档来自技高网...

【技术保护点】
1.一种面向乐观并发控制的多版本支持方法,其特征在于,包括:/n初始时间戳获取步骤:事务开始时,为事务获取一个时间戳;/n第一时间戳更新步骤:读写事务使用乐观并发控制进行读写操作,将事务时间戳更新为大于或者等于数据时间戳的设定值;/n时间戳增加步骤:将事务时间戳增加,获取时间戳增加信息;/n第一时间戳写回步骤:读写事务利用乐观并发控制验证事务,获取验证事务信息;/n根据验证事务信息,将事务时间戳写回到事务执行中的只读数据中;/n第二时间戳写回步骤:根据时间戳增加信息,读写事务利用乐观并发控制提交事务,将事务的时间戳写回到事务执行中修改的数据中;/n第二时间戳更新步骤:只读事务读取需要的数据前,...

【技术特征摘要】
1.一种面向乐观并发控制的多版本支持方法,其特征在于,包括:
初始时间戳获取步骤:事务开始时,为事务获取一个时间戳;
第一时间戳更新步骤:读写事务使用乐观并发控制进行读写操作,将事务时间戳更新为大于或者等于数据时间戳的设定值;
时间戳增加步骤:将事务时间戳增加,获取时间戳增加信息;
第一时间戳写回步骤:读写事务利用乐观并发控制验证事务,获取验证事务信息;
根据验证事务信息,将事务时间戳写回到事务执行中的只读数据中;
第二时间戳写回步骤:根据时间戳增加信息,读写事务利用乐观并发控制提交事务,将事务的时间戳写回到事务执行中修改的数据中;
第二时间戳更新步骤:只读事务读取需要的数据前,将数据时间戳更新为大于或者等于事务时间戳的设定值,获取第二时间戳更新信息;
根据第二时间戳更新信息,只读事务读取数据;
读取快照步骤:判断当前事务要读取的数据上锁状态,获取数据上锁信息或者数据未上锁信息;
根据数据上锁信息,释放只读事务当前读取数据锁,获取只读事务当前读取数据锁释放信息;
根据只读事务当前读取数据锁释放信息,使用事务时间戳读取一个快照,获取快照信息。


2.根据权利要求1所述的面向乐观并发控制的多版本支持方法,其特征在于,初始时间戳获取步骤包括:
第一初始时间戳获取步骤:只读事务开始时,为只读事务获取一个时间戳;
第二初始时间戳获取步骤:读写事务开始时,为读写事务获取一个时间戳。


3.根据权利要求1所述的面向乐观并发控制的多版本支持方法,其特征在于,第一时间戳更新步骤包括:
顺序时间戳更新步骤包括:在使用乐观并发控制读取/修改完数据之后,将事务时间戳更新为大于或者等于数据时间戳的设定值。


4.根据权利要求1所述的面向乐观并发控制的多版本支持方法,其特征在于,读取快照步骤包括:
直接读取步骤:根据数据未上锁信息,则直接进行数据读取。


5.根据权利要求1所述的面向乐观并发控制的多版本支持方法,其特征在于,事务时间戳为...

【专利技术属性】
技术研发人员:陈榕魏星达陈海波臧斌宇
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1