一种事务处理方法、装置、电子设备及存储介质与流程

文档序号:32669221发布日期:2022-12-24 02:00阅读:来源:国知局

技术特征:
1.一种事务处理方法,其特征在于,包括:根据主数据库的事务记录日志信息,确定当前执行事务的第一写集合,其中,所述第一写集合中包括多种类型键的键值,用于唯一表征所述当前执行事务以及所述当前执行事务中各语句;确定处于可执行状态的待执行事务,并根据所述主数据库的事务记录日志信息,确定所述待执行事务的第二写集合,其中,所述第二写集合中包括多种类型键的键值,用于唯一表征所述待执行事务以及所述待执行事务中各语句;根据所述第一写集合中各类型键的键值和所述第二写集合中各类型键的键值,判断所述待执行事务包括的各语句与所述当前执行事务是否冲突,并在确定有任一语句与所述当前执行事务不冲突时,则前置执行所述任一语句。2.根据权利要求1所述的方法,其特征在于,将所述第一写集合或所述第二写集合作为目标写集合,将所述当前执行事务或所述待执行事务作为目标事务,则根据主数据库的事务记录日志信息,确定所述目标事务的目标写集合,包括:根据所述主数据库的事务记录日志信息,确定所述目标事务的目标写集合包括的全局键、表键、以及,各语句的主键和/或唯一键;其中,所述全局键表征所述目标事务全局的锁、所述表键表征所述目标事务对应的至少一张表的表级锁;所述主键和所述唯一键表征语句锁;并且锁优先级为所述全局键大于所述表键,所述表键大于所述主键和所述唯一键。3.根据权利要求2所述的方法,其特征在于,根据所述主数据库的事务记录日志信息,确定所述目标事务的目标写集合包括的全局键、表键、以及,各语句的主键和/或唯一键,包括:若存在预设的目标情况,则确定所述目标事务的目标写集合包括的全局键或表键;若不存在所述目标情况,则确定所述目标事务的所述目标写集合包括的各语句的所述主键和/或唯一键;其中,所述目标情况包括:若所述目标事务包括数据库定义语言ddl语句或为所述事务记录日志信息包括的事务记录日志文件中的第一个事务,则确定所述目标事务的目标写集合包括所述全局键;若所述目标事务中无主键表、或包括以下至少一种目标类型表,则确定所述目标事务的所述目标写集合至少包括所述表键,其中,所述目标类型表为:有唯一索引语句的表、外键约束的父表。4.根据权利要求2或3所述的方法,其特征在于,根据所述第一写集合中各类型键的键值和所述第二写集合中各类型键的键值,判断所述待执行事务包括的各语句与所述当前执行事务是否冲突,包括:分别将所述待执行事务包括的各语句对应的第二写集合,与所述当前执行事务的所述第一写集合进行比较;根据锁优先级,依次判断所述待执行事务的全局键、表键、以及所述主键或所述唯一键与所述第一写集合是否有交集,在确定有交集情况下,确定对应语句与所述当前执行事务存在冲突,在确定均不存在交集情况下,确定对应语句与所述当前执行事务不冲突。5.根据权利要求4所述的方法,其特征在于,所述根据锁优先级,依次判断所述待执行事务的全局键、表键、以及所述主键或所述唯一键与所述第一写集合是否有交集,在确定有
交集情况下,确定对应语句与所述当前执行事务存在冲突,在确定均不存在交集情况下,确定对应语句与所述当前执行事务不冲突,包括:根据锁优先级,若所述待执行事务的所述全局键与所述第一写集合存在交集,则确定所述待执行事务包括的所有语句均与所述当前执行事务冲突;若所述待执行事务的所述全局键与所述第一写集合不存在交集,并所述待执行事务的所述表键与所述第一写集合存在交集,则所述待执行事务的存在交集的表键下的所有语句均与所述当前执行事务冲突;若所述待执行事务的所述全局键、所述表键与所述第一写集合均不存在交集,并所述待执行事务的所述唯一键或所述主键与所述第一写集合存在交集,则确定存在交集的所述唯一键或所述主键对应的语句与所述当前执行事务冲突。6.根据权利要求1所述的方法,其特征在于,根据主数据库的事务记录日志信息,确定当前执行事务的第一写集合之前,还包括:响应于有任一事务执行完成后,根据主数据库的事务记录日志信息的逻辑时钟,确定所述当前执行事务,其中,所述当前执行事务至少包括执行完成的所述任一事务对应的下一个执行顺序的事务。7.根据权利要求1-6任一项所述的方法,其特征在于,确定处于可执行状态的待执行事务,包括:根据主数据库的事务记录日志信息的逻辑时钟,将所述当前执行事务对应的下一个执行顺序的事务,确定为处于可执行状态的待执行事务。8.一种事务处理装置,其特征在于,包括:第一确定模块,用于根据主数据库的事务记录日志信息,确定当前执行事务的第一写集合,其中,所述第一写集合中包括多种类型键的键值,用于唯一表征所述当前执行事务以及所述当前执行事务中各语句;第二确定模块,用于确定处于可执行状态的待执行事务,并根据所述主数据库的事务记录日志信息,确定所述待执行事务的第二写集合,其中,所述第二写集合中包括多种类型键的键值,用于唯一表征所述待执行事务以及所述待执行事务中各语句;执行模块,用于根据所述第一写集合中各类型键的键值和所述第二写集合中各类型键的键值,判断所述待执行事务包括的各语句与所述当前执行事务是否冲突,并在确定有任一语句与所述当前执行事务不冲突时,则前置执行所述任一语句。9.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至7任一项所述的事务处理方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时,所述处理器执行如权利要求1至7任意一项所述的事务处理方法的步骤。

技术总结
本公开提供一种事务处理方法、装置、电子设备及存储介质,根据主数据库的事务记录日志信息,确定当前执行事务的第一写集合,所述第一写集合中包括多种类型键的键值,用于唯一表征所述当前执行事务以及所述当前执行事务中各语句;确定处于可执行状态的待执行事务,并根据所述主数据库的事务记录日志信息,确定所述待执行事务的第二写集合,所述第二写集合中包括多种类型键的键值,用于唯一表征所述待执行事务以及所述待执行事务中各语句;根据第一写集合中各类型键的键值和第二写集合中各类型键的键值,判断所述待执行事务包括的各语句与所述当前执行事务是否冲突,并在确定有任一语句与所述当前执行事务不冲突时,则前置执行所述任一语句。所述任一语句。所述任一语句。


技术研发人员:邓云
受保护的技术使用者:北京火山引擎科技有限公司
技术研发日:2022.10.08
技术公布日:2022/12/23
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1