System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种分布式数据库的事务处理方法及其相关设备技术_技高网

一种分布式数据库的事务处理方法及其相关设备技术

技术编号:40419442 阅读:5 留言:0更新日期:2024-02-20 22:37
本申请涉及一种分布式数据库的事务处理方法及其相关设备,方法包括:确定当前分布式数据库的目标场景;在根据目标场景确定需进行数据一致性处理时,从多个数据节点中确定出与目标场景对应的所有目标数据节点;确定每个目标数据节点上的目标事务;针对每个目标数据节点,根据目标场景和目标数据节点对应的目标事务,确定目标数据节点对应的目标处理策略;根据各个目标数据节点对应的目标处理策略对各个目标数据节点对应的目标事务进行处理,以使得分布式数据库的数据一致性。本申请实现了分布式数据库的数据一致性,保证了分布式数据库的可靠使用。

【技术实现步骤摘要】

本申请涉及数据库,尤其涉及一种分布式数据库的事务处理方法及其相关设备


技术介绍

1、分布式数据库因为其特性,往往都有很多个数据分片,每个数据分片中有多个数据节点。目前分布式数据库通常采用二阶段提交事务,所以,在数据恢复场景时需要保证所有分片间的数据一致性以及在主备数据节点切换时需保证主备数据节点之间的数据一致性。而目前在分布式数据库采用二阶段提交事务时,若进行数据恢复或主备数据节点切换,大多未考虑到数据一致性的问题,如此,在数据恢复后或主备数据节点切换后,将会影响到分布式数据库的可靠性使用。


技术实现思路

1、鉴于此,为解决上述技术问题或部分技术问题,本申请实施例提供一种分布式数据库的事务处理方法及其相关设备。

2、第一方面,本申请提供了一种分布式数据库的事务处理方法,所述分布式数据库包括多个数据节点,所述方法,包括:

3、确定当前所述分布式数据库的目标场景;

4、在根据所述目标场景确定需进行数据一致性处理时,从多个所述数据节点中确定出与所述目标场景对应的所有目标数据节点;

5、确定每个所述目标数据节点上的目标事务;

6、针对每个所述目标数据节点,根据所述目标场景和所述目标数据节点对应的所述目标事务,确定所述目标数据节点对应的目标处理策略;

7、根据各个所述目标数据节点对应的所述目标处理策略对各个所述目标数据节点对应的所述目标事务进行处理,以使得所述分布式数据库的数据一致性。

8、在一个可选的实施方式中,所述目标场景为第一场景,所述第一场景用于指示主备数据节点的切换,在所述目标场景为所述第一场景时需进行数据一致性处理;

9、所述确定每个所述目标数据节点上的目标事务,包括:

10、在所述目标场景为所述第一场景时,针对每个所述目标数据节点,执行预设查询语句,以获取到所述目标数据节点未提交的所有第一事务,所述目标数据节点为所述第一场景中的原来的主数据节点;

11、从所述目标数据节点的系统表中获取到所述目标数据节点未提交的所有第二事务,所述第二事务为活跃事务;

12、根据所有所述第一事务和所有所述第二事务,确定所述目标数据节点上的目标事务。

13、在一个可选的实施方式中,所述根据所有所述第一事务和所有所述第二事务,确定所述目标数据节点上的目标事务,包括:

14、在所有所述第一事务中不存在准备阶段之前的事务且所有所述第二事务中存在准备阶段之前的事务时,确定所述目标数据节点上的目标事务为准备阶段之前的事务;

15、在所有所述第一事务中存在准备阶段之后的读操作事务且所有所述第二事务中不存在准备阶段之后的读操作事务时,确定所述目标数据节点上的目标事务为准备阶段之后的读操作事务;

16、在所有所述第一事务中存在准备阶段之后的写操作事务且所有所述第二事件中不存在准备阶段之后的写操作事务时,确定所述目标数据节点上的目标事务为准备阶段之后的写操作事务。

17、在一个可选的实施方式中,所述根据所述目标场景和所述目标数据节点对应的所述目标事务,确定所述目标数据节点对应的目标处理策略,包括:

18、在所述目标场景为所述第一场景且所述目标事务为准备阶段之前的事务时,确定所述目标处理策略为第一处理策略;

19、在所述目标场景为所述第一场景且所述目标事务为准备阶段之后的读操作事务时,确定所述目标处理策略为第二处理策略;

20、在所述目标场景为所述第一场景且所述目标事务为准备阶段之后的写操作事务时,确定所述目标处理策略为第三处理策略;

21、所述根据各个所述目标数据节点对应的所述目标处理策略对各个所述目标数据节点对应的所述目标事务进行处理,包括:

22、针对每个所述目标数据节点,在所述目标数据节点对应的目标处理策略为所述第一处理策略时,杀死目标数据节点对应的所述准备阶段之前的事务所在的链路;

23、在所述目标数据节点对应的目标处理策略为所述第二处理策略时,对所述目标数据节点对应的准备阶段之后的读操作事务执行回滚操作;

24、在所述目标数据节点对应的目标处理策略为所述第三处理策略时,确定所述目标数据节点对应的准备阶段之后的写操作事务的反向写操作语句,及执行所述反向写操作语句。

25、在一个可选的实施方式中,所述目标场景为第二场景,所述第二场景用于指示数据恢复,在所述目标场景为所述第二场景时需进行数据一致性处理且所述目标数据节点的数量与所述分布式数据库中的数据节点的数量一致;

26、所述确定每个所述目标数据节点上的目标事务,包括:

27、在所述目标场景为所述第二场景时,针对每个所述目标数据节点,从所述目标数据节点的日志文件中确定出当前时刻至预设数据恢复时刻之间的所有第三事务及所述预设数据恢复时刻对应的所有第四事务,所述第四事务为活跃事务;

28、将所有第三事务和所有所述第四事务确定为所述目标数据节点上的目标事务。

29、在一个可选的实施方式中,所述根据所述目标场景和所述目标数据节点对应的目标事务,确定所述目标数据节点对应的目标处理策略,包括:

30、在所述目标场景为所述第二场景时,确定每个所述第三事务对应的第三处理策略,及每个所述第四事务对应的第四处理策略;

31、将所有所述第三处理策略和所有所述第四处理策略,确定为所述目标数据节点对应的目标处理策略;

32、所述根据各个所述目标数据节点对应的所述目标处理策略对各个所述目标数据节点对应的所述目标事务进行处理,包括:

33、针对每个所述目标数据节点,根据所述目标数据节点对应的所述目标处理策略中的各个所述第三处理策略对所述目标数据节点对应的所述第三事务进行处理;

34、在所述目标数据节点对应的所有所述第三事务处理结束后,根据所述目标数据节点对应的所述目标处理策略中的各个所述第四处理策略对所述目标数据节点对应的所述第四事务进行处理,直至所述目标数据节点对应的所有所述第四事务处理结束。

35、在一个可选的实施方式中,所述根据所述目标场景确定需进行数据一致性处理,包括:

36、确定预设场景集中是否存在目标场景,所述预设场景集中的每个预设场景用于指示需进行数据一致性处理;

37、在所述预设场景集中存在所述目标场景时,确定需进行数据一致性处理。

38、第二方面,本申请提供了一种分布式数据库的处理装置,所述分布式数据库包括多个数据节点,所述装置,包括:

39、场景确定模块,用于确定当前所述分布式数据库的目标场景;

40、节点确定模块,用于在根据所述目标场景确定需进行数据一致性处理时,从多个所述数据节点中确定出与所述目标场景对应的所有目标数据节点;

41、事务确定模块,用于确定每个所述目标数据节点上的目标事务;

42、策略确定模块,用本文档来自技高网...

【技术保护点】

1.一种分布式数据库的事务处理方法,其特征在于,所述分布式数据库包括多个数据节点,所述方法,包括:

2.根据权利要求1所述的方法,其特征在于,所述目标场景为第一场景,所述第一场景用于指示主备数据节点的切换,在所述目标场景为所述第一场景时需进行数据一致性处理;

3.根据权利要求2所述的方法,其特征在于,所述根据所有所述第一事务和所有所述第二事务,确定所述目标数据节点上的目标事务,包括:

4.根据权利要求3所述的方法,其特征在于,所述根据所述目标场景和所述目标数据节点对应的所述目标事务,确定所述目标数据节点对应的目标处理策略,包括:

5.根据权利要求1所述的方法,其特征在于,所述目标场景为第二场景,所述第二场景用于指示数据恢复,在所述目标场景为所述第二场景时需进行数据一致性处理且所述目标数据节点的数量与所述分布式数据库中的数据节点的数量一致;

6.根据权利要求5所述的方法,其特征在于,所述根据所述目标场景和所述目标数据节点对应的目标事务,确定所述目标数据节点对应的目标处理策略,包括:

7.根据权利要求1所述的方法,其特征在于,所述根据所述目标场景确定需进行数据一致性处理,包括:

8.一种分布式数据库的处理装置,其特征在于,所述分布式数据库包括多个数据节点,所述装置,包括:

9.一种电子设备,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的分布式数据库的事务处理程序,以实现如权利要求1~7任一项所述的分布式数据库的事务处理方法。

10.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1~7中任一项所述的分布式数据库的事务处理方法。

...

【技术特征摘要】

1.一种分布式数据库的事务处理方法,其特征在于,所述分布式数据库包括多个数据节点,所述方法,包括:

2.根据权利要求1所述的方法,其特征在于,所述目标场景为第一场景,所述第一场景用于指示主备数据节点的切换,在所述目标场景为所述第一场景时需进行数据一致性处理;

3.根据权利要求2所述的方法,其特征在于,所述根据所有所述第一事务和所有所述第二事务,确定所述目标数据节点上的目标事务,包括:

4.根据权利要求3所述的方法,其特征在于,所述根据所述目标场景和所述目标数据节点对应的所述目标事务,确定所述目标数据节点对应的目标处理策略,包括:

5.根据权利要求1所述的方法,其特征在于,所述目标场景为第二场景,所述第二场景用于指示数据恢复,在所述目标场景为所述第二场景时需进行数据一致性处理且所述目标数据节点的数量与所述分布式数据库中的...

【专利技术属性】
技术研发人员:李业付裕马玉伟许振华吴开红闫珂徐华飞
申请(专利权)人:金篆信科有限责任公司
类型:发明
国别省市:

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

1