本发明专利技术实施例公开了一种事务管理方法、装置、设备和存储介质,其中该方法包括:获取事务启动请求,事务启动请求中包括当前节点号;根据当前节点号对应的第一活动事务信息,确定当前事务号以及当前事务号的第二活动事务信息;根据当前事务号、第二活动事务信息以及目标物理记录中的目标事务号,对目标物理记录进行可见性判断,得到可见性判断结果;根据可见性判断结果执行当前事务号对应的当前事务。采用上述技术方案,由于每个节点均存储有活动事务信息,每个节点上的多个事务启动时不需要与控制节点交互,即可实现可见性判断,进而基于可见性判断结果执行事务,在保证数据一致性的基础上,提高数据库集群环境下的事务管理性能。
A transaction management method, device, device and storage medium
【技术实现步骤摘要】
一种事务管理方法、装置、设备和存储介质
本专利技术实施例涉及数据库
,尤其涉及一种事务管理方法、装置、设备和存储介质。
技术介绍
多版本并发控制(Multi-VersionConcurrencyControl,MVCC)是提升数据库并发性能的一种重要技术手段,能使数据库在保证数据一致性的前提下,提供高并发的读写访问性能,目前各主流数据库管理系统基本都实现了MVCC机制。多版本并发控制的关键是可见性判断,找到对当前事务可见的特定版本数据。目前,一种常用的方法是通过活动事务表确定事务的可见性,在事务启动时收集这一时刻所有活动事务的事务号(事务ID)构建活动事务表,并记录系统中即将产生的事务号,根据物理记录中的历史事务号、当前事务号和活动事务表实现可见性判断。其中构建活动事务表在单机环境下比较简单,可直接构建,在数据库集群环境下则通常采用一个节点为控制节点通过集中控制方式管理全局活动事务信息,但是在集群环境下节点数增加且并发事务增多的情况下,这种集中控制方式必然会造成性能瓶颈。
技术实现思路
本专利技术实施例提供一种事务管理方法、装置、设备和存储介质,以优化数据库集群环境下的事务管理方案,提高事务管理性能。第一方面,本专利技术实施例提供了一种事务管理方法,包括:获取事务启动请求,所述事务启动请求中包括当前节点号;根据所述当前节点号对应的第一活动事务信息,确定当前事务号以及所述当前事务号的第二活动事务信息,其中,所述第一活动事务信息存储在所述当前节点号对应的当前节点中;根据所述当前事务号、所述第二活动事务信息以及目标物理记录中的目标事务号,对所述目标物理记录进行可见性判断,得到可见性判断结果;根据所述可见性判断结果执行所述当前事务号对应的当前事务。第二方面,本专利技术实施例还提供了一种事务管理装置,包括:事务启动模块,用于获取事务启动请求,所述事务启动请求中包括当前节点号;事务信息确定模块,用于根据所述当前节点号对应的第一活动事务信息,确定当前事务号以及所述当前事务号的第二活动事务信息,其中,所述第一活动事务信息存储在所述当前节点号对应的当前节点中;可见性判断模块,根据所述当前事务号、所述第二活动事务信息以及目标物理记录中的目标事务号,对所述目标物理记录进行可见性判断,得到可见性判断结果;事务执行模块,根据所述可见性判断结果执行所述当前事务号对应的当前事务。第三方面,本专利技术实施例还提供了一种设备,所述设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的事务管理方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的事务管理装置。本专利技术实施例提供的事务管理方案,获取事务启动请求,事务启动请求中包括当前节点号;根据当前节点号对应的第一活动事务信息,确定当前事务号以及当前事务号的第二活动事务信息;根据当前事务号、第二活动事务信息以及目标物理记录中的目标事务号,对目标物理记录进行可见性判断,得到可见性判断结果;根据可见性判断结果执行当前事务号对应的当前事务。采用上述技术方案,由于每个节点均存储有活动事务信息,每个节点上的多个事务启动时不需要与控制节点交互,即可实现可见性判断,进而基于可见性判断结果执行事务,在保证数据一致性的基础上,提高数据库集群环境下的事务管理性能。附图说明图1为本专利技术实施例提供的一种事务管理方法的流程图;图2为本专利技术实施例提供的一种事务提交的示意图;图3为本专利技术实施例提供的另一种事务管理方法的流程图;图4为本专利技术实施例提供的一种事务管理装置的结构示意图;图5为本专利技术实施例提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。此外,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。图1为本专利技术实施例提供的一种事务管理方法的流程图,本实施例可适用于实现数据库集群环境下的事务管理的情况,该方法可以由事务管理装置执行,该装置可以采用软件和/或硬件的方式实现,该装置可配置于电子设备中,例如服务器或终端设备,典型的终端设备包括移动终端,具体包括手机、电脑或平板电脑等。如图1所示,该方法具体可以包括:S110、获取事务启动请求,事务启动请求中包括当前节点号。其中,事务启动请求用于在当前节点号对应的当前节点中启动对数据页的具体操作,本实施例中对事务的具体类型(即操作的具体类型)不作限定,例如事务可以为对数据页中数据的增加、删除、修改和查询等。本实施例中,当用户第一次或在上一事务结束后对数据库集群中的一个数据页进行操作时,则可以确定获取到事务启动请求。现有技术中,通过指定一个节点为控制节点管理全局活动事务信息,任意节点中事务启动时执行以下操作:请求节点往控制节点发送请求,申请当前事务号;控制节点接收到请求之后,将即将产生的事务号作为当前事务号,并将即将产生的事务号加一作为新的即将产生的事务号,并将当前事务号加入活动事务表;控制节点收集所有活动事务的事务号,将当前事务号、活动事务的事务号数组和新的即将产生的事务号一起返回请求节点;请求节点将当前事务号作为事务号(即事务ID),利用活动事务的事务号数组构建活动事务表,记录新的即将产生的事务号。当事务销毁时,例如提交或回滚,执行以下操作:请求节点往控制节点发送请求,销毁当前事务号;控制节点接收到请求后,从活动事务表中删除对应的当前事务号。上述集中控制方式在节点数较多时,与控制节点之间的交互增加,为了解决上述集中控制方式造成性能瓶颈的问题,本实施例中在每个节点中均维护一个第一活动事务信息,以进行活动事务管理。S120、根据当前节点号对应的第一活动事务信息,确定当前事务号以及当前事务号的第二活动事务信息,其中,第一活动事务信息存储在当前节点号对应的当前节点中。第一活动事务信息为当前节点中维护的数据库集群内的活动事务信息,数据库集群内包括的节点的数量可以为多个,具体数量本实施例中不作限定。第一活动事务信息存储在当前节点号对应的当前节点中,本实施例的方法针对当前需要进行具体事务的当前节点,而数据库集群中的每个节点均如当前节点存储有对应的第一活动事务信息。第一活动事务信息本文档来自技高网...
【技术保护点】
1.一种事务管理方法,其特征在于,包括:/n获取事务启动请求,所述事务启动请求中包括当前节点号;/n根据所述当前节点号对应的第一活动事务信息,确定当前事务号以及所述当前事务号的第二活动事务信息,其中,所述第一活动事务信息存储在所述当前节点号对应的当前节点中;/n根据所述当前事务号、所述第二活动事务信息以及目标物理记录中的目标事务号,对所述目标物理记录进行可见性判断,得到可见性判断结果;/n根据所述可见性判断结果执行所述当前事务号对应的当前事务。/n
【技术特征摘要】
1.一种事务管理方法,其特征在于,包括:
获取事务启动请求,所述事务启动请求中包括当前节点号;
根据所述当前节点号对应的第一活动事务信息,确定当前事务号以及所述当前事务号的第二活动事务信息,其中,所述第一活动事务信息存储在所述当前节点号对应的当前节点中;
根据所述当前事务号、所述第二活动事务信息以及目标物理记录中的目标事务号,对所述目标物理记录进行可见性判断,得到可见性判断结果;
根据所述可见性判断结果执行所述当前事务号对应的当前事务。
2.根据权利要求1所述的方法,其特征在于,所述第一活动事务信息包括当前待生成事务号、全局活动事务表数组、远程活动事务表数组和远程待生成事务号数组,其中,所述远程活动事务表数组、所述远程待生成事务号数组与所述当前节点之外的其他节点相对应,所述当前待生成事务号与节点数量的求余结果等于所述当前节点号。
3.根据权利要求2所述的方法,其特征在于,根据所述当前节点号对应的第一活动事务信息,确定当前事务号以及所述当前事务号的第二活动事务信息,包括:
将所述第一活动事务信息中的所述当前待生成事务号确定为所述当前事务号;
将所述当前事务号存储进所述全局活动事务表数组中,并将所述当前待生成事务号与节点数量的和值确定为新的当前待生成事务号;
确定所述当前事务号的第二活动事务信息,所述第二活动事务信息包括所述新的当前待生成事务号、存储有所述当前事务号的所述全局活动事务表数组、所述远程活动事务表数组和所述远程待生成事务号数组。
4.根据权利要求2所述的方法,其特征在于,根据所述当前事务号、所述第二活动事务信息以及目标物理记录中的目标事务号,对所述目标物理记录进行可见性判断,得到可见性判断结果,包括:
根据所述目标事务号和节点数量确定所述目标事务号对应的目标节点号;
根据所述目标节点号在所述第二活动事务信息中进行匹配,确定对应的目标活动事务表;
根据所述当前事务号、所述目标事务号以及目标活动事务表,对所述目标物理记录进行可见性判断,得到可见性判断结果。
5.根据权利要求4所述的方法,其特征在于,根据所述当前事务号、所述目标事务号以及目标活动事务表,对所述目标物理记录进行可见性判断,得到可见性判断结果,包括:
如果所述目...
【专利技术属性】
技术研发人员:王海龙,王巍,韩朱忠,
申请(专利权)人:上海达梦数据库有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。