【技术实现步骤摘要】
分布式数据库的管理方法、装置、节点及分布式数据库
[0001]本说明书实施例涉及分布式数据库
,尤其涉及一种分布式数据库的管理方法、装置、节点及分布式数据库。
技术介绍
[0002]分布式数据库通常包括多个节点,针对同一个数据表中的数据,可以划分成多个数据分区,然后将各个数据分区存储在不同节点中。当用户下发清空分布式数据库中某个数据表的清空命令时,由于各个节点接收到清空命令的时延不同,因而,可能同一时刻,各个节点看到的该数据表的状态不一样,比如,有些节点看到的是清空前的数据表,有的节点看到的是清空后的数据表。此时,如果在清空命令前后较短时间内,节点接收到了其他的命令,比如,查询命令或者更新命令,那么对这些命令的处理会出现问题。
技术实现思路
[0003]为克服相关技术中存在的问题,本说明书实施例提供了一种分布式数据库的管理方法、装置、节点及分布式数据库。
[0004]根据本说明书实施例的第一方面,提供一种分布式数据库的管理方法,所述方法用于分布式数据库中的节点,所述方法包括:
[0005]获取对所述分布式数据库中的待操作数据表执行目标操作的命令,所述命令中携带所述待操作数据表的标识信息,以及版本相关信息;
[0006]确定与所述标识信息匹配的目标数据表,在所述目标数据表中记录有清空命令标识信息的情况下,基于所述清空命令标识信息与所述版本相关信息的比对结果,判定所述目标数据表是否为所述待操作数据表,其中,所述清空命令标识信息在接收到针对所述目标数据表的清空命令后记录,用于指 ...
【技术保护点】
【技术特征摘要】
1.一种分布式数据库的管理方法,所述方法用于分布式数据库中的节点,所述方法包括:获取对所述分布式数据库中的待操作数据表执行目标操作的命令,所述命令中携带所述待操作数据表的标识信息,以及版本相关信息;确定与所述标识信息匹配的目标数据表,在所述目标数据表中记录有清空命令标识信息的情况下,基于所述清空命令标识信息与所述版本相关信息的比对结果,判定所述目标数据表是否为所述待操作数据表,其中,所述清空命令标识信息在接收到针对所述目标数据表的清空命令后记录,用于指示执行所述清空命令后所述目标数据表对应的版本;基于判定结果执行所述命令,并返回执行结果。2.根据权利要求1所述的方法,所述基于判定结果执行所述命令,并返回执行结果,包括:如果判定所述目标数据表为所述待操作数据表,则在所述目标数据表中执行所述目标操作;如果判定所述目标数据表不是所述待操作数据表,则将所述目标数据表对应的新表确定为所述待操作数据表,并在所述新表中执行所述目标操作,其中,所述新表为在接收到所述清空命令后,生成的用于替换所述目标数据表的数据表。3.根据权利要求1或2所述的方法,所述命令包括对所述待操作数据表执行查询操作的查询命令,所述版本相关信息包括所述查询命令对应的时间戳,所述清空命令标识信息包括接收到所述清空命令时的时间戳;基于所述清空命令标识信息与所述版本相关信息的比对结果,判定所述目标数据表是否为所述待操作数据表,包括:在所述查询命令对应的时间戳小于接收到所述清空命令时的时间戳的情况下,确定所述目标数据表为所述待操作数据表;在所述查询命令对应的时间戳不小于接收到所述清空命令时的时间戳的情况下,将所述目标数据表对应的新表确定为所述待操作数据表。4.根据权利要求1或2所述的方法,所述命令包括对所述待操作数据表执行更新操作的更新命令,所述版本相关信息包括所述待操作数据表的表结构版本号,所述清空命令标识信息包括所述目标数据表的表结构版本号,其中,在接收到针对分布式数据库中的数据表的清空命令后,该数据表的表结构版本号会发生变化;所述基于所述清空命令标识信息与所述版本相关信息的比对结果,判定所述目标数据表是否为所述待操作数据表,包括:在待操作数据表的表结构版本号小于所述目标数据表的表结构版本号的情况下,将所述目标数据表对应的新表确定为所述待操作数据表。5.根据权利要求1所述的方法,所述命令包括对所述待操作数据表执行更新操作的更新命令,所述方法还包括:在判定所述目标数据表处于加锁状态的情况下,暂停处理所述更新命令;其中,在接收到针对所述目标数据表的清空命令后,所述目标数据表被设置成加锁状态。6.根据权利要求1所述的方法,所述节点为存储有所述目标数据表的数据分区的节点,所述方法还包括:
接收分布式事务请求;执行所述分布式事务请求指示的分布式事务,其中,所述分布式事务包括依次执行的以下操作:将所述目标数据表设置成加锁状态、删除所述目标数据表、创建用于替换所述目标数据表的新表、在所述目标数据表中记录所述清空命令标识信息、解除所述目标数据表的加锁状态;在所述分布式事务中包括的所有操作均执行成功的情况下,提交执行结果;在所述分布式事务中包括的任一操作未执行成功的情况下,回滚所述分布式事务。7.根据权利要求6所述的方法,在将所述目标数据表设置成加锁状态之前,还包括:判定当前是否存在针对所述目标数据表的更新操作;如果存在,则待所述更新操作完成后将所述目标数据表设置成加锁状态。8.根据权利要求1所述的方法,所述方法还包括:接收客户端发送的清空目标数据表的清空命令;基于所述清空命令创建...
【专利技术属性】
技术研发人员:谢振江,赵裕众,
申请(专利权)人:北京奥星贝斯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。