一种分布式数据库系统中的并发访问控制方法技术方案

技术编号:24456054 阅读:61 留言:0更新日期:2020-06-10 15:35
本发明专利技术公开了一种分布式数据库系统中的并发访问控制方法。本发明专利技术使用客户端的时间戳加硬件唯一标识来生成事务号。当只读事务第一次访问某行数据时,读取该行数据最新提交版本,并将该版本事务号记录在客户端,为重复访问提供凭据。当读写事务读取某行数据时,读取该行数据最新提交版本,并在该行所在节点的内存中增加该行的读锁。当读写事务更新某行数据时,将行的当前版本的事务号和更新的内容缓存在客户端。事务提交时,再将这次更新的内容发到对应节点,并根据该行的当前状态来决定更新是否可行,当需要等待或回滚时,根据事务号的次序关系使其中一个事务回滚。本发明专利技术避免了在分布式环境下进行代价极高的死锁检测,获得高并发性和高一致性。

A concurrent access control method in distributed database system

【技术实现步骤摘要】
一种分布式数据库系统中的并发访问控制方法
本专利技术属于信息领域,具体为一种分布式数据库系统中的并发访问控制方法。
技术介绍
由于芯片制造工艺已经接近极限,近年来计算机中央处理器的主频率已经不再提高,而互联网、物联网等技术的快速发展又催生了海量数据处理的业务需求,因此数据处理技术开始向大规模分布式处理方向发展。当前的分布式数据库软件往往架构在成百上千台计算机上,通过局域网或广域网通信进行协作处理数据,并作为一个整体对外提供服务,让上层应用像访问单机数据库一样访问系统。在分布式数据库中,最难处理的问题是并发访问控制,也就是在有很多事务同时访问数据库时,如何保证数据访问的正确性。在数据库理论中,通常一个可串行化序列被认为是可接受的合法序列,而为了保证并发事务的访问序列可串行化,传统的关系数据库采用二阶段锁协议来保证事务的隔离。简单来说,当事务读取数据时对该行数据加读锁,当事务更新数据时对该行数据加写锁,事务在生命周期内一直持有访问行上的锁,只有当事务提交或回退时才将锁释放。然而,在分布式环境中,二阶段锁协议难以被直接应用,其原因在于本文档来自技高网...

【技术保护点】
1.一种分布式数据库系统中的并发访问控制方法,其特征在于该方法使用客户端的时间戳加硬件唯一标识来生成事务号,事务号不需要在节点间进行同步即能够保持全局唯一性,且具有时序性。/n当只读事务第一次访问某行数据时,读取该行数据最新的提交版本,并将该版本的事务号记录在客户端,为重复访问提供凭据。当此事务再次读取该行时,则可继续读取该行该版本的数据。/n当读写事务访读取某行数据时,读取该行数据最新的提交版本,并在该行所在的节点的内存中增加该行的读锁。/n

【技术特征摘要】
1.一种分布式数据库系统中的并发访问控制方法,其特征在于该方法使用客户端的时间戳加硬件唯一标识来生成事务号,事务号不需要在节点间进行同步即能够保持全局唯一性,且具有时序性。
当只读事务第一次访问某行数据时,读取该行数据最新的提交版本,并将该版本的事务号记录在客户端,为重复访问提供凭据。当此事务再次读取该行时,则可继续读取该行该版本的数据。
当读写事务访读取某行数据时,读取该行数据最新的提交版本,并在该行所在的节点的内存中增加该行的读锁。


2.根据权利要求1所述的一种分布式数据库系统中的并发访问控制方法,其特征在于当读写事务更新某行数据时,将行的当前版本的事务号和更新的内容缓存在客户端。事务提交时,再将这次更新的内容发到对应节点,并根据该行的当前状态来决定更新是否可行。


3.根据权利要求2所述的一种分布式数据库系统中的并发访问控制方法,其特征在于所述的根据该行的当前状态来决定更新是否可行,具体如下:
若数据行的当前版本事务号与更新时的事务号一致,即该行的当前版本仍然是读写事...

【专利技术属性】
技术研发人员:徐昶岑跃峰马伟锋岑岗张宇来程志刚卢方
申请(专利权)人:浙江科技学院
类型:发明
国别省市:浙江;33

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

1