System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 分布式数据库数据定义操作原子性的实现方法及装置制造方法及图纸_技高网

分布式数据库数据定义操作原子性的实现方法及装置制造方法及图纸

技术编号:40187305 阅读:7 留言:0更新日期:2024-01-26 23:51
本申请涉及一种分布式数据库数据定义操作原子性的实现方法及装置。该方法包括:接收用户触发的目标数据定义操作的第一操作指令;将第一操作指令下发至多个分布式数据节点,以对多个分布式数据节点执行目标数据定义操作;在多个分布式数据节点的执行结果不一致的情况下,基于目标数据定义操作的操作类型来执行对应的原子性实现策略,以使所有分布式数据节点的执行结果均为执行成功,或者使所有分布式数据节点均返回至原始状态。本申请在多个分布式数据节点执行数据定义操作的执行结果不一致的情况下,能够根据数据定义操作的操作类型来选择对应的原子性实现策略来对执行失败或执行成功的分布式数据节点进行处理,从而保障了数据定义操作的原子性。

【技术实现步骤摘要】

本申请涉及数据库,尤其涉及一种分布式数据库数据定义操作原子性的实现方法及装置


技术介绍

1、数据库的数据定义,由数据定义语言(data definition language,ddl)操作实现。常见的数据定义操作有创建数据库、创建表、创建视图、修改表定义等。

2、在分布式的数据库中,整个数据库系统由多个组件构成,当用户通过数据定义语言下达数据定义指令时,分布式数据库系统需要对涉及到的所有组件进行操作。数据定义操作时,若部分组件处于异常状态则会造成该组件数据定义操作失败。由于数据库系统具有原子性,进行一项数据定义操作只能产生全部完成,或者全部失败的结果,不能出现部分组件成功,部分组件失败的情形,否则这个分布式数据库系统的运行将不再稳定。

3、针对无法保证数据定义操作原子性导致分布式数据库系统运行不稳定的问题,目前尚未提出有效的解决方案。


技术实现思路

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、本申请提供了一种分布式数据库数据定义操作原子性的实现方法,包括:接收用户触发的目标数据定义操作的第一操作指令;将第一操作指令下发至多个分布式数据节点,以对多个分布式数据节点执行目标数据定义操作;在多个分布式数据节点的执行结果不一致的情况下,基于目标数据定义操作的操作类型来执行对应的原子性实现策略,以使所有分布式数据节点的执行结果均为执行成功,或者使所有分布式数据节点均返回至原始状态。本申请在多个分布式数据节点执行数据定义操作的执行结果不一致的情况下,能够根据数据定义操作的操作类型来选择对应的原子性实现策略来对执行失败或执行成功的分布式数据节点进行处理,从而保障了数据定义操作的原子性,进而使得分布式数据库能够稳定运行。

本文档来自技高网...

【技术保护点】

1.一种分布式数据库数据定义操作原子性的实现方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述目标数据定义操作的操作类型来执行对应的原子性实现策略包括:

3.根据权利要求1所述的方法,其特征在于,在多个所述分布式数据节点的执行结果不一致的情况下,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,所述基于多个所述分布式数据节点的执行结果的成败比来执行对应的所述原子性实现策略包括:

5.根据权利要求2或4任一所述的方法,其特征在于,所述按照所述重试策略对执行失败的所述分布式数据节点进行重试包括:

6.根据权利要求2或4任一所述的方法,其特征在于,所述按照所述回滚策略对执行成功的所述分布式数据节点进行回滚包括:

7.根据权利要求1所述的方法,其特征在于,在所有所述分布式数据节点的执行结果均为执行成功的情况下,所述方法还包括:

8.一种分布式数据库数据定义操作原子性的实现装置,其特征在于,包括:

9.一种电子设备,包括存储器、处理器、通信接口及通信总线,所述存储器中存储有可在所述处理器上运行的计算机程序,所述存储器、所述处理器通过所述通信总线和所述通信接口进行通信,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至7任一项所述的方法的步骤。

10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至7任一所述方法。

...

【技术特征摘要】

1.一种分布式数据库数据定义操作原子性的实现方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述目标数据定义操作的操作类型来执行对应的原子性实现策略包括:

3.根据权利要求1所述的方法,其特征在于,在多个所述分布式数据节点的执行结果不一致的情况下,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,所述基于多个所述分布式数据节点的执行结果的成败比来执行对应的所述原子性实现策略包括:

5.根据权利要求2或4任一所述的方法,其特征在于,所述按照所述重试策略对执行失败的所述分布式数据节点进行重试包括:

6.根据权利要求2或4任一所述的方法,其特征在于,所述按照所述回滚策略对执...

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

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

1