The purpose of this application is to provide a distributed database transaction processing system. The application receives lock requests from the SQL layer for the target table in the current session to be processed through the transaction manager. The lock requests include the session identification of the current session, the table identification of the target table and the lock type of the current session. It is found that the target table in the current session is locked so that other concurrent sessions can understand that the current target table has been locked, thus avoiding lock conflicts. If the lock processing is successful, the target table in the current session is locked successfully and the table version information of the target table is sent to the SQL layer, so that the SQL layer can receive the table version information of the target table and send it to the SQL layer. The computing layer makes the computing layer process the target table corresponding to the table version information in the storage layer after receiving the table version information of the target table, and achieves the processing of the target table corresponding to the table version information.
【技术实现步骤摘要】
一种分布式数据库事务处理系统
本申请涉及计算机领域,尤其涉及一种分布式数据库事务处理系统。
技术介绍
数据库中的事务是数据库运行中的一个逻辑工作单位,作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。而一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性;在多个事务并发时,如何避免冲突问题,都是关乎系统稳定性及用户体验的重要问题。
技术实现思路
本申请的一个目的是提供一种分布式数据库事务处理系统。根据本申请的一个方面,提供了一种分布式数据库事务处理系统,其中,包括:事务管理器,用于接收结构化查询语言层(StructuredQueryLanguage层,SQL层)发送的对待处理的当前会话中的目标表的加锁请求,其中,所述加锁请求中包括所述当前会话的会话标识、所述目标表的表标识及加锁类型;基于所述加锁请求对所述表标识对应的目标表进行所述加锁类型对应的加锁处理;若所述加锁处理成功,则标记所述会话标识对应的当前会话中的所述目标表加锁成功,并将待处理的所述目标表的表版本信息发送给所述SQL层;所述SQL层,用于接收所述目标表的表版本信息并发送给计算层;所述计算层,用于接收所述目标表的表版本信息并对存储层中的所述表版本信息对应的目标表进行对应的处理。进一步地,上述分布式数据库事务处理系统中,所述事务管理器还用于将自身的状态信息存储在高可用的存储设备上,其中,所述高可用的存储设备包括内嵌在所述事务管理器中的存储或第三方存储设备,以便对 ...
【技术保护点】
1.一种分布式数据库事务处理系统,其中,包括:事务管理器,用于接收SQL层发送的对待处理的当前会话中的目标表的加锁请求,其中,所述加锁请求中包括所述当前会话的会话标识、所述目标表的表标识及加锁类型;基于所述加锁请求对所述表标识对应的目标表进行所述加锁类型对应的加锁处理;若所述加锁处理成功,则标记所述会话标识对应的当前会话中的所述目标表加锁成功,并将待处理的所述目标表的表版本信息发送给所述SQL层;所述SQL层,用于接收所述目标表的表版本信息并发送给计算层;所述计算层,用于接收所述目标表的表版本信息并对存储层中的所述表版本信息对应的目标表进行对应的处理。
【技术特征摘要】
1.一种分布式数据库事务处理系统,其中,包括:事务管理器,用于接收SQL层发送的对待处理的当前会话中的目标表的加锁请求,其中,所述加锁请求中包括所述当前会话的会话标识、所述目标表的表标识及加锁类型;基于所述加锁请求对所述表标识对应的目标表进行所述加锁类型对应的加锁处理;若所述加锁处理成功,则标记所述会话标识对应的当前会话中的所述目标表加锁成功,并将待处理的所述目标表的表版本信息发送给所述SQL层;所述SQL层,用于接收所述目标表的表版本信息并发送给计算层;所述计算层,用于接收所述目标表的表版本信息并对存储层中的所述表版本信息对应的目标表进行对应的处理。2.根据权利要求1所述的系统,其中,若所述所加锁类型为加写锁,则所述事务管理器对所述目标表进行加锁成功时所做的标记为加写锁成功,所述计算层用于对所述存储层中的所述表版本信息对应的目标表进行写处理;若所述所加锁类型为加读锁,则所述事务管理器对所述目标表进行加锁成功时所做的标记为加读锁成功,所述计算层用于对所述存储层中的所述表版本信息对应的目标表进行读处理。3.根据权利要求1所述的系统,其中,若所述事务管理器中记录的所述目标表存在至少两个表版本,则所述事务管理器根据预设的事务隔离规则向所述SQL层返回其他会话对应的所述目标表的表版本信息,以使所述SQL层基于返回的所述其他会话对应的所述目标表的表版本信息,确定所述当前会话待处理的表版本信息,并对所述当前会话待处理的表版本信息对应的所述目标表进行对应的...
【专利技术属性】
技术研发人员:徐飞,刘汪根,陶烨,
申请(专利权)人:星环信息科技上海有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。