事务处理方法、分布式数据库系统、集群及介质技术方案

技术编号:36018281 阅读:11 留言:0更新日期:2022-12-21 10:11
本申请提供了一种事务处理方法,由分布式数据库系统执行,该系统包括协调节点和参与节点,协调节点和参与节点共享全局内存,该方法包括:协调节点接收客户端发送的多条查询语句,根据多条查询语句中的第一查询语句创建事务,根据多条查询语句中的第二查询语句在全局内存中执行事务,根据多条查询语句中的第三查询语句提交事务。由于无需经过处理器和操作系统处理即可跨节点访问全局内存,缩短了访问路径,而且无需通过操作系统调度,进一步缩短同步时间,实现了协调节点和参与节点之间的实时一致性,满足了业务需求。满足了业务需求。满足了业务需求。

【技术实现步骤摘要】
事务处理方法、分布式数据库系统、集群及介质
[0001]本申请要求于2021年04月06日提交中国国家知识产权局、申请号为202110369369.X、专利技术名称为“一种分布式内存引擎集群”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。


[0002]本申请涉及数据库
,尤其涉及一种事务处理方法、分布式数据库系统、事务处理系统、集群、计算机可读存储介质以及计算机程序产品。

技术介绍

[0003]随着数据库技术的不断发展,对数据(例如是员工考勤数据、员工薪资数据、生产数据等)通过数据库进行管理逐渐成为主流趋势。其中,数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。用户可以通过客户端应用程序(以下简称为客户端)访问数据库,以实现数据读取或数据写入。
[0004]数据读取或数据写入通常是由数据库系统实现的。数据库系统包括数据库管理系统(data base management system,DBMS)。数据库系统通过上述DBMS实现创建、查询、更新和删除数据。具体地,用户通过客户端触发对数据库中数据的操作,数据库系统响应于该操作执行相应的事务。以数据写入为例,数据库系统执行数据写入操作,将数据写入数据库系统的节点,然后将数据写入至数据库,如共享存储的数据库,从而实现数据持久化。
[0005]考虑到分布式数据库系统的高可靠性和高可用性,越来越多的用户(例如企业用户)采用分布式数据库系统对数据进行管理。其中,分布式数据库系统可以部署在实时应用集群(real application cluster,RAC)。该集群具体是面向磁盘设计的基于数据全共享(shared

everything)架构的分布式数据库存储引擎集群。RAC包括两种类型的节点,具体为汇聚节点(hub node)和叶子节点(leaf node)。汇聚节点是集群中的主节点,主节点之间通过点对点网络互连,处理分布式事务,叶子节点间无网络连接,用于处理并发查询和在线上报业务。
[0006]然而,叶子节点通常只能通过汇聚节点作为代理获取数据。由于叶子节点和汇聚节点通过双边方式进行交互,导致叶子节点需要等待操作系统的调度,并通过较长的访问路径获取汇聚节点上的数据,如此叶子节点通常只能读取到历史数据,难以满足实时性业务对于数据一致性的要求。

技术实现思路

[0007]本申请提供了一种事务处理方法。该方法利用共享的全局内存使得分布式数据库系统中的节点如协调节点和参与节点可以跨节点单边访问全局内存,而不必通过双边交互方式进行数据同步,无需经过处理器和操作系统处理,访问路径大幅缩短,而且不需要通过操作系统调度,可以大幅缩短同步时间,实现了协调节点和参与节点之间的实时一致性,满足了实时性业务对实时一致性的需求。本申请还提供了上述方法对应的分布式数据库系
统、事务处理系统、集群、计算机可读存储介质以及计算机程序产品。
[0008]第一方面,本申请提供了一种事务处理方法。该方法可以由分布式数据库系统执行。该分布式数据库系统可以部署在集群中。该集群例如可以是内存引擎集群。分布式数据库系统在集群中运行时可以实现节点间数据的实时一致性,从而满足实时性业务的需求。具体地,分布式数据库系统包括协调节点和参与节点。协调节点在事务执行过程中承担协调责任,参与节点在事务执行过程中承担执行责任。其中,事务是指访问并可能更新数据库中数据的一个程序执行单元,通常包括有限的数据库操作序列。
[0009]分布式数据库系统的多个节点的部分内存用于形成全局内存。该全局内存对于分布式数据库系统中的所有协调节点、参与节点可见。协调节点或参与节点中剩余的部分内存为本地内存,该本地内存对于协调节点或参与节点自身可见。对于任意一个协调节点或参与节点,可以通过远端直接内存访问或内存总线等方式访问全局内存中位于其他节点的部分内存。
[0010]协调节点用于接收客户端发送的多条查询语句,根据多条查询语句中的第一查询语句创建事务,然后根据多条查询语句中的第二查询语句在全局内存中执行上述事务,接着协调节点根据多条查询语句中的第三查询语句提交上述事务,以实现所述协调节点和所述参与节点之间的一致性。
[0011]在该分布式数据库系统中,协调节点或参与节点中全局内存是共享的,当协调节点执行事务导致全局内存中的部分内存所存储的数据发生变化时,参与节点可以快速感知该变化,参与节点可以跨节点单边访问全局内存中的部分内存,以进行数据同步,而不必通过双边交互方式进行数据同步,由于无需经过处理器和操作系统处理,访问路径大幅缩短,而且不需要通过操作系统调度,可以大幅缩短同步时间,实现了协调节点和参与节点之间的实时一致性,满足了实时性业务对实时一致性的需求。此外,全局内存的容量可以随着节点数扩展,不再受限于单节点内存的容量,提高了并发控制能力。
[0012]在一些可能的实现方式中,所述分布式数据库系统部署在集群,所述全局内存来自于所述集群。该集群是指至少一组计算机形成的计算网络,用于为分布式数据库系统提供计算能力,以使分布式数据库系统基于上述计算能力对外提供服务。
[0013]该方法通过利用来自于集群的全局内存,使得分布式数据库系统的节点之间可以跨节点单边访问全局内存,无需经过处理器和操作系统处理,也无需等待操作系统的调度,实现了节点间(例如是协调节点、参与节点之间)的实时一致性。
[0014]在一些可能的实现方式中,所述全局内存包括所述协调节点和/或所述参与节点的部分内存。具体地,分布式数据库系统中的多个节点(例如是每一个节点)可以提供部分内存,用于形成全局内存,剩余的内存作为对应节点的本地内存。其中,全局内存对于分布式数据库系统中的节点是共享的。这些节点可以通过远端直接内存访问或者是内存总线直接实现跨节点单边访问,无需经过操作系统和处理器,也无需等待操作系统的调度,因而能够实现节点间的实时一致性。
[0015]在一些可能的实现方式中,协调节点的节点类型为主节点。相应地,该协调节点可以根据所述多条查询语句中的第一查询语句创建读写事务。如此可以满足实时读写业务的需求。
[0016]在一些可能的实现方式中,所述协调节点的节点类型为第一从节点。所述第一从
节点用于与节点类型为主节点的节点保持实时一致。基于此,该第一从节点也可以称作实时从节点。相应地,该协调节点可以根据所述多条查询语句中的第一查询语句创建只读事务。如此可以满足实时只读业务的需求。
[0017]在一些可能的实现方式中,分布式数据库系统还可以包括节点类型为第二从节点的节点。第二从节点用于与节点类型为主节点的节点保持准实时一致。因此,第二从节点也可以称作准实时从节点。该准实时从节点用于处理对实时性要求不高的业务,例如非实时分析业务。例如,准实时从节点用于接收与非实时分析业务关联的查询语句,然后返回相应的查询结果。如此可以满足非实时分析业务的需求。
[0018]在一些可能的实现方式中,在所述协调节点接收客本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种事务处理方法,其特征在于,应用于分布式数据库系统,所述分布式数据库系统包括协调节点和参与节点,所述协调节点和所述参与节点共享全局内存,所述方法包括:所述协调节点接收客户端发送的多条查询语句;所述协调节点根据所述多条查询语句中的第一查询语句创建事务;所述协调节点根据所述多条查询语句中的第二查询语句在所述全局内存中执行所述事务;所述协调节点根据所述多条查询语句中的第三查询语句提交所述事务。2.根据权利要求1所述的方法,其特征在于,所述分布式数据库系统部署在集群,所述全局内存来自于所述集群。3.根据权利要求1或2所述的方法,其特征在于,所述全局内存包括所述协调节点和/或所述参与节点的部分内存。4.根据权利要求1至3任一项所述的方法,其特征在于,所述协调节点的节点类型为主节点,所述协调节点根据所述多条查询语句中的第一查询语句创建事务,包括:所述协调节点根据所述多条查询语句中的第一查询语句创建读写事务。5.根据权利要求1至3任一项所述的方法,其特征在于,所述协调节点的节点类型为第一从节点,所述第一从节点用于与节点类型为主节点的节点保持实时一致,所述协调节点根据所述多条查询语句中的第一查询语句创建事务,包括:所述协调节点根据所述多条查询语句中的第一查询语句创建只读事务。6.根据权利要求1至5任一项所述的方法,其特征在于,在所述协调节点接收客户端发送的多条查询语句之前,所述方法还包括:所述分布式数据库系统接收集群管理节点发送的表记录在所述全局内存中的副本数量;所述分布式数据库系统保存所述表记录在所述全局内存中的副本数量。7.根据权利要求6所述的方法,其特征在于,所述表记录存储在所述分布式数据库系统的全局内存中,所述表记录的索引树和管理头存储在所述分布式数据库系统的本地内存中。8.根据权利要求1至7任一项所述的方法,其特征在于,所述协调节点根据所述多条查询语句中的第三查询语句提交所述事务,包括:所述协调节点根据所述多条查询语句中的第三查询语句,通过运行于所述协调节点和所述参与节点的事务提交协议,提交所述事务,以实现所述协调节点和所述参与节点的实时一致性。9.根据权利要求8所述的方法,其特征在于,所述事务发生写冲突时,所述协调节点触发悲观并发控制,所述参与节点触发乐观并发控制。10.一种分布式数据库系统,其特征在于,所述系统包括协调节点和参与节点,所述协调节点和所述参与节点共享全局内存;所述协调节点,用于接收客户端发送的多条查询语句;所述协调节点,还用于根据所述多条查询语句中的第...

【专利技术属性】
技术研发人员:谢晓芹张宗全马文龙
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1