[发明专利]面向乐观并发控制的多版本支持方法及系统有效
申请号: | 201911165640.7 | 申请日: | 2019-11-25 |
公开(公告)号: | CN110955672B | 公开(公告)日: | 2023-03-24 |
发明(设计)人: | 陈榕;魏星达;陈海波;臧斌宇 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/27 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 胡晶 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 乐观 并发 控制 版本 支持 方法 系统 | ||
1.一种面向乐观并发控制的多版本支持方法,其特征在于,包括:
初始时间戳获取步骤:事务开始时,为事务获取一个时间戳;
第一时间戳更新步骤:读写事务使用乐观并发控制进行读写操作,将事务时间戳更新为大于或者等于数据时间戳的设定值;
时间戳增加步骤:将事务时间戳增加,获取时间戳增加信息;
第一时间戳写回步骤:读写事务利用乐观并发控制验证事务,获取验证事务信息;
根据验证事务信息,将事务时间戳写回到事务执行中的只读数据中;
第二时间戳写回步骤:根据时间戳增加信息,读写事务利用乐观并发控制提交事务,将事务的时间戳写回到事务执行中修改的数据中;
第二时间戳更新步骤:只读事务读取需要的数据前,将数据时间戳更新为大于或者等于事务时间戳的设定值,获取第二时间戳更新信息;
根据第二时间戳更新信息,只读事务读取数据;
读取快照步骤:判断当前事务要读取的数据上锁状态,获取数据上锁信息或者数据未上锁信息;
根据数据上锁信息,释放只读事务当前读取数据锁,获取只读事务当前读取数据锁释放信息;
根据只读事务当前读取数据锁释放信息,使用事务时间戳读取一个快照,获取快照信息。
2.根据权利要求1所述的面向乐观并发控制的多版本支持方法,其特征在于,初始时间戳获取步骤包括:
第一初始时间戳获取步骤:只读事务开始时,为只读事务获取一个时间戳;
第二初始时间戳获取步骤:读写事务开始时,为读写事务获取一个时间戳。
3.根据权利要求1所述的面向乐观并发控制的多版本支持方法,其特征在于,第一时间戳更新步骤包括:
顺序时间戳更新步骤包括:在使用乐观并发控制读取/修改完数据之后,将事务时间戳更新为大于或者等于数据时间戳的设定值。
4.根据权利要求1所述的面向乐观并发控制的多版本支持方法,其特征在于,读取快照步骤包括:
直接读取步骤:根据数据未上锁信息,则直接进行数据读取。
5.根据权利要求1所述的面向乐观并发控制的多版本支持方法,其特征在于,事务时间戳为以下任一种时间戳:
-系统当前物理时钟时间戳;
-值为0的时间戳。
6.一种面向乐观并发控制的多版本支持系统,其特征在于,包括:
初始时间戳获取模块:事务开始时,为事务获取一个时间戳;
第一时间戳更新模块:读写事务使用乐观并发控制进行读写操作,将事务时间戳更新为大于或者等于数据时间戳的设定值;
时间戳增加模块:将事务时间戳增加,获取时间戳增加信息;
第一时间戳写回模块:读写事务利用乐观并发控制验证事务,获取验证事务信息;
根据验证事务信息,将事务时间戳写回到事务执行中的只读数据中;
第二时间戳写回模块:根据时间戳增加信息,读写事务利用乐观并发控制提交事务,将事务的时间戳写回到事务执行中修改的数据中;
第二时间戳更新模块:只读事务读取需要的数据前,将数据时间戳更新为大于或者等于事务时间戳的设定值,获取第二时间戳更新信息;
根据第二时间戳更新信息,只读事务读取数据;
读取快照模块:判断当前事务要读取的数据上锁状态,获取数据上锁信息或者数据未上锁信息;
根据数据上锁信息,释放只读事务当前读取数据锁,获取只读事务当前读取数据锁释放信息;
根据只读事务当前读取数据锁释放信息,系统使用事务时间戳读取一个快照,获取快照信息。
7.根据权利要求6所述的面向乐观并发控制的多版本支持系统,其特征在于,初始时间戳获取模块包括:
第一初始时间戳获取模块:只读事务开始时,为只读事务获取一个时间戳;
第二初始时间戳获取模块:读写事务开始时,为读写事务获取一个时间戳。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911165640.7/1.html,转载请声明来源钻瓜专利网。