1 .一种分布式数据库数据定义操作原子性的实现方法,其特征在于,包括:
接收用户触发的目标数据定义操作的第一操作指令;
将所述第一操作指令下发至多个分布式数据节点,以对多个所述分布式数据节点执行
所述目标数据定义操作;
在多个所述分布式数据节点的执行结果不一致的情况下,基于所述目标数据定义操作
的操作类型来执行对应的原子性实现策略,以使所有所述分布式数据节点的执行结果均为
执行成功,或者使所有所述分布式数据节点均返回至原始状态。
2 .根据权利要求1所述的方法,其特征在于,所述基于所述目标数据定义操作的操作类
型来执行对应的原子性实现策略包括:
在所述目标数据定义操作的操作类型为删除型操作的情况下,确定与所述删除型操作
对应的所述原子性实现策略为重试策略,并按照所述重试策略对执行失败的所述分布式数
据节点进行重试,以使所有所述分布式数据节点的执行结果均为执行成功;
在所述目标数据定义操作的操作类型为非删除型操作的情况下,确定与所述非删除型
操作对应的所述原子性实现策略为回滚策略,并按照所述回滚策略对执行成功的所述分布
式数据节点进行回滚,以使所有所述分布式数据节点均返回至原始状态。
3 .根据权利要求1所述的方法,其特征在于,在多个所述分布式数据节点的执行结果不
一致的情况下,所述方法还包括:
基于多个所述分布式数据节点的执行结果的成败比来执行对应的所述原子性实现策
略,以使所有所述分布式数据节点的执行结果均为执行成功,或者使所有所述分布式数据
节点均返回至原始状态。
4 .根据权利要求3所述的方法,其特征在于,所述基于多个所述分布式数据节点的执行
结果的成败比来执行对应的所述原子性实现策略包括:
统计所有所述分布式数据节点执行成功的第一数量和执行失败的第二数量;
将第一数量与所述第二数量相除得到所述成败比;
在所述成败比大于或等于预设阈值的情况下,确定与之对应的所述原子性实现策略为
重试策略,并按照所述重试策略对执行失败的所述分布式数据节点进行重试,以使所有所
述分布式数据节点的执行结果均为执行成功;
在所述成败比小于所述预设阈值的情况下,确定与之对应的所述原子性实现策略为回
滚策略,并按照所述回滚策略对执行成功的所述分布式数据节点进行回滚,以使所有所述
分布式数据节点均返回至原始状态。
5 .根据权利要求2或4任一所述的方法,其特征在于,所述按照所述重试策略对执行失
败的所述分布式数据节点进行重试包括:
每间隔预设时长向执行失败的所述分布式数据节点发送所述第一操作指令,以尝试对
所述分布式数据节点执行所述目标数据定义操作;或者,
检测分布式数据库的负载状态;在所述负载状态为轻载的情况下,重复向执行失败的
所述分布式数据节点发送所述第一操作指令,以尝试对所述分布式数据节点执行所述目标
数据定义操作。
6 .根据权利要求2或4任一所述的方法,其特征在于,所述按照所述回滚策略对执行成
功的所述分布式数据节点进行回滚包括:
权 利 要 求 书
1/2 页
2
评论