流复制中的数据处理方法、装置、电子装置及存储介质制造方法及图纸

技术编号:37702972 阅读:16 留言:0更新日期:2023-06-01 23:49
本申请涉及一种流复制中的数据处理方法、装置、电子装置及存储介质,通过接收主库所发送的第一预写日志数据,所述第一预写日志数据包括多种第一事务操作日志;在所述第一预写日志数据中,检测多种所述第一事务操作日志,并根据多种所述第一事务操作日志,对当前时刻对应的当前活跃事务列表进行更新,生成目标活跃事务列表,所述当前活跃事务列表是根据当前时刻之前所接收的第二预写日志数据对应的第二事务操作日志所生成的;基于所述目标活跃事务列表,更新对应的备库读视图,并根据更新后的所述备库读视图进行数据的一致性读。通过本申请,解决相关技术中物理复制中备库无法使用事务日志生成读视图,不能在备库上进行一致性读的问题。的问题。的问题。

【技术实现步骤摘要】
流复制中的数据处理方法、装置、电子装置及存储介质


[0001]本申请涉及数据库
,尤其涉及一种流复制中的数据处理方法、装置、电子装置及存储介质。

技术介绍

[0002]相关技术中,一致性读指的是使用多版本并发控制技术(Multi

Version Concurrency Control,简称MVCC)机制读取到某个事务已经提交的数据,不同的数据库,以不同的实施方式实现一致性读,例如:MySQL数据库是通过回滚日志来构建版本链,实现不同的事务并发时可以读到不同的数据。、
[0003]相关技术中,物理复制是通过向备库发送主库的重做日志(也称预写日志、WEL日志)实现,主备之间不再发送事务日志。同时,备库不再是解析回放日志并按照日志的格式顺序执行这个SQL,而是直接通过复制和应用重做日志进行主备之间的同步,导致备库无法使用逻辑复制中的事务日志在备库上生成读视图,当用户从备库读取数据时,也就无法正确获取当前的活跃事务列表,MVCC就无法实现。
[0004]针对相关技术中物理复制中备库无法使用事务日志生成读视图,不能在备库上进行一致性读的问题,尚未有较佳技术方案。

技术实现思路

[0005]本申请提供了一种流复制中的数据处理方法、装置、电子装置及存储介质,以至少解决相关技术中物理复制中备库无法使用事务日志生成读视图,不能在备库上进行一致性读的问题。
[0006]第一方面,本申请提供了一种流复制中的数据处理方法,应用物理复制中的备库,包括:接收主库所发送的第一预写日志数据,其中,所述第一预写日志数据包括多种第一事务操作日志;在所述第一预写日志数据中,检测多种所述第一事务操作日志,并根据多种所述第一事务操作日志,对当前时刻对应的当前活跃事务列表进行更新,生成目标活跃事务列表,其中,所述当前活跃事务列表是根据当前时刻之前所接收的第二预写日志数据对应的第二事务操作日志所生成的;基于所述目标活跃事务列表,更新对应的备库读视图,并根据更新后的所述备库读视图进行数据的一致性读。
[0007]第二方面,本申请提供了一种流复制中的数据处理装置,应用物理复制中的备库,包括:
[0008]接收模块,用于接收主库所发送的第一预写日志数据,其中,所述第一预写日志数据包括多种第一事务操作日志;
[0009]生成模块,用于在所述第一预写日志数据中,检测多种所述第一事务操作日志,并根据多种所述第一事务操作日志,对当前时刻对应的当前活跃事务列表进行更新,生成目标活跃事务列表,其中,所述当前活跃事务列表是根据当前时刻之前所接收的第二预写日志数据对应的第二事务操作日志所生成的;
[0010]处理模块,用于基于所述目标活跃事务列表,更新对应的备库读视图,并根据更新后的所述备库读视图进行数据的一致性读。
[0011]第三方面,提供了一种电子装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0012]存储器,用于存放计算机程序;
[0013]处理器,用于执行存储器上所存放的程序时,实现第一方面任一项实施例所述的流复制中的数据处理方法的步骤。
[0014]第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项实施例所述的流复制中的数据处理方法的步骤。
[0015]与相关技术相比,本实施例中提供了流复制中的数据处理方法、装置、电子装置及存储介质,通过接收主库所发送的第一预写日志数据,其中,所述第一预写日志数据包括多种第一事务操作日志;在所述第一预写日志数据中,检测多种所述第一事务操作日志,并根据多种所述第一事务操作日志,对当前时刻对应的当前活跃事务列表进行更新,生成目标活跃事务列表,其中,所述当前活跃事务列表是根据当前时刻之前所接收的第二预写日志数据对应的第二事务操作日志所生成的;基于所述目标活跃事务列表,更新对应的备库读视图,并根据更新后的所述备库读视图进行数据的一致性读,解决相关技术中物理复制中备库无法使用事务日志生成读视图,不能在备库上进行一致性读的问题,实现了使备库拥有一致性读的能力,提高了备库的可用性的有益效果。
[0016]本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
[0017]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。
[0018]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0019]图1为本申请实施例提供的一种流复制中的数据处理方法的流程示意图;
[0020]图2是本申请实施例提供的一种流复制中的数据处理装置的结构框图;
[0021]图3是本申请实施例的电子装置的结构示意图。
具体实施方式
[0022]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0023]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
[0024]图1为本申请实施例提供的一种流复制中的数据处理方法的流程示意图。如图1所
示,本申请实施例提供了一种流复制中的数据处理方法,该方法包括如下步骤:
[0025]步骤S101,接收主库所发送的第一预写日志数据,其中,第一预写日志数据包括多种第一事务操作日志。
[0026]在本实施例中,执行本申请实施例中的数据处理方法的执行主体为基于重做日志的物理复制中的备库,通过执行本申请实施例数据处理方法,对不同状态的事务进行处理生成备库读视图,为备库提供一致性读能力。
[0027]在本实施例中,主库发送对应的预写日志数据是至少包括事务相关的事务开始TRX_START日志、事务提交TRX_COMMIT日志和事务状态TRX_SYS_STATE日志,其中,TRX_START日志是在分配事务编码ID是写入的,而在TRX_COMMIT中写入事务提交日志,TRX_SYS_STATE日志是用于在备库上重够活跃事务列表。
[0028]步骤S102,在第一预写日志数据中,检测多种第一事务操作日志,并根据多种第一事务操作日志,对当前时刻对应的当前活跃事务列表进行更新,生成目标活跃事务列表,其中,当前活跃事务列表是根据当前时刻之前所接收的第二预写日志数据对应的第二事务操作日志所生成的。
[0029]在本实施例中,通过对第一预写日志数据中的多种按格本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流复制中的数据处理方法,应用物理复制中的备库,其特征在于,包括:接收主库所发送的第一预写日志数据,其中,所述第一预写日志数据包括多种第一事务操作日志;在所述第一预写日志数据中,检测多种所述第一事务操作日志,并根据多种所述第一事务操作日志,对当前时刻对应的当前活跃事务列表进行更新,生成目标活跃事务列表,其中,所述当前活跃事务列表是根据当前时刻之前所接收的第二预写日志数据对应的第二事务操作日志所生成的;基于所述目标活跃事务列表,更新对应的备库读视图,并根据更新后的所述备库读视图进行数据的一致性读。2.根据权利要求1所述的方法,其特征在于,根据多种所述第一事务操作日志,对当前时刻对应的当前活跃事务列表进行更新,生成目标活跃事务列表,包括:获取所述第二预写日志数据对应的多种所述第二事务操作日志;基于多种所述第一事务操作日志和多种所述第二事务操作日志,对所述第一预写日志数据所关联的第一事务和所述当前活跃事务列表对应的第二事务,进行事务活跃度判断,得到判断结果;基于所述判断结果,对所述当前活跃事务列表对应的第二事务进行增删,生成所述目标活跃事务列表。3.根据权利要求1所述的方法,其特征在于,基于多种所述第一事务操作日志和多种所述第二事务操作日志,对所述第一预写日志数据所关联的第一事务和所述当前活跃事务列表对应的第二事务,进行事务活跃度判断,得到判断结果,包括:从所述第一事务操作日志和所述第二事务操作日志中,分别检测出对应的事务状态日志,其中,所述事务状态日志用于表示对应的事务是否允许处于对应的活跃事务列表中;基于检测出的所述事务状态日志,从所有所述第一事务中选取在当前时刻待新增的所述第一事务,以及从所有所述第二事务中选取在当前时刻待移除的所述第二事务;将当前时刻待新增的所述第一事务和当前时刻待移除的所述第二事务,作为所述判断结果。4.根据权利要求3所述的方法,其特征在于,基于检测出的所述事务状态日志,从所有所述第一事务中选取在当前时刻待新增的所述第一事务,以及从所有所述第二事务中选取在当前时刻待移除的所述第二事务,包括:从所述第一事务操作日志对应的所述事务状态日志中,检测出不属于所述第二事务操作日志对应所述事务状态日志的第一事务状态日志,以及从所述第二事务操作日志中,检测出不属于所述第一事务操作日志对应的所述事务状态日志中的第二事务状态日志;将所述第一事务状态日志所对应的所述第一事务作为当前时刻待新增的所述第一事务,以及将所述第二事务状态日志所对应的所述第二事务作为当前时刻待移除的所述第二事务。5.根据权利要求3所述的方法,其特征在于,在从所述第一事务操作日志中检测出对应的事务状态日志之后,所述方法还包括:获取所述第一事务操作日志所...

【专利技术属性】
技术研发人员:陈灏
申请(专利权)人:金篆信科有限责任公司
类型:发明
国别省市:

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

1