一种数据库同步方法与设备的制造方法_5

文档序号:9667322阅读:来源:国知局
2、DDL3、DML4。其中,DML1需要获得访问权限P、实例E、库D、表A的读权限以及记录Μ的写权限;DDL2需要获得访问权限P、实例E、库D的读权限以及表A的写权限;DDL3需要获得访问权限P、实例E、库D的读权限以及表B的写权限;DML4需要获得访问权限P、实例E、库D、表C的读权限以及记录N的写权限。则在并发同步检测中,从DML1开始判断,DML1可以获得执行所需要的所有层级对象的相应权限;DDL2需要等待DML1执行完后获得其释放表A后才可以获得表A的写权限,进而执行;DDL3和DML4也可以获得行所需要的所有层级对象的相应权限。所以在所述多个数据操作记录DML1、DDL2、DDL3、DML4中,DML1、DDL3、DML4是可以并发执行的,而DDL2也只是需要等待DML1执行完后获得其释放表A就可以获得表A的写权限。
[0075]对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此夕卜,显然“包括” 一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
【主权项】
1.一种数据库同步方法,包括: 获取主数据库中待同步的数据操作记录; 获取关于所述数据操作记录所对应操作对象的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限; 对所述主数据库所对应的备份数据库中的所述操作对象执行所述数据操作记录。2.根据权利要求1所述的方法,其中,所述对所述主数据库所对应的备份数据库中的所述操作对象执行所述数据操作记录还包括: 在执行所述数据操作记录后,释放所述控制权限及关于所述上层对象的读权限。3.根据权利要求1或2所述的方法,其中,所述获取关于所述数据操作记录所对应操作对象的上层对象的读权限包括: 从所述数据操作记录所对应操作对象的最上层对象顺序获取关于所述操作对象的上层对象的读权限。4.根据权利要求1至3中任一项所述的方法,其中,所述获取与所述数据操作记录相对应的、关于所述操作对象的控制权限包括: 当获取关于所述上层对象的读权限时,获取与所述数据操作记录相对应的、关于所述操作对象的控制权限。5.根据权利要求1至4中任一项所述的方法,其中,所述获取与所述数据操作记录相对应的、关于所述操作对象的控制权限包括: 根据权限规则,获取与所述数据操作记录相对应的、关于所述操作对象的控制权限,其中,所述控制权限包括关于所述操作对象的读权限或写权限。6.根据权利要求5所述的方法,其中,所述权限规则包括以下至少任一项: 当所述控制权限包括所述操作对象的读权限,且未有其他数据操作已获得要求所述操作对象的写权限,获得所述操作对象的读权限; 当所述控制权限包括所述操作对象的写权限,且未有其他数据操作已获得所述操作对象的读权限或写权限,获得所述操作对象的写权限。7.根据权利要求1至6中任一项所述的方法,其中,所述获取关于所述数据操作记录所对应操作对象的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限包括: 根据所述数据操作记录确定所述数据操作记录所对应的操作对象,以及所述操作对象所对应的上层对象; 获取关于所述上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限。8.根据权利要求1至7中任一项所述的方法,其中,所述获取关于所述数据操作记录所对应操作对象的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限还包括: 当所述数据操作记录为DCL类型时,获取所述数据操作记录所对应的数据库根节点的写权限,并执行所述数据操作记录。9.根据权利要求1至8中任一项所述的方法,其中,所述数据操作记录包括多个子数据操作记录; 其中,所述获取关于所述数据操作记录所对应操作对象的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限包括: 根据所述子数据操作记录的顺序信息,获取关于所述子数据操作记录所对应操作对象的上层对象的读权限,并获取与所述子数据操作记录相对应的、关于所述操作对象的控制权限; 其中,所述对所述主数据库所对应的备份数据库中的所述操作对象执行所述数据操作记录包括: 对所述主数据库所对应的备份数据库中的所述操作对象执行所述子数据操作记录。10.一种数据库同步设备,包括: 第一装置,用于获取主数据库中待同步的数据操作记录; 第二装置,用于获取关于所述数据操作记录所对应操作对象的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限; 第三装置,用于对所述主数据库所对应的备份数据库中的所述操作对象执行所述数据操作记录。11.根据权利要求10所述的设备,其中,所述第三装置还用于: 在执行所述数据操作记录后,释放所述控制权限及关于所述上层对象的读权限。12.根据权利要求10或11所述的设备,其中,所述获取关于所述数据操作记录所对应操作对象的上层对象的读权限包括: 从所述数据操作记录所对应操作对象的最上层对象顺序获取关于所述操作对象的上层对象的读权限。13.根据权利要求10至12中任一项所述的设备,其中,所述获取与所述数据操作记录相对应的、关于所述操作对象的控制权限包括: 当获取关于所述上层对象的读权限时,获取与所述数据操作记录相对应的、关于所述操作对象的控制权限。14.根据权利要求10至13中任一项所述的设备,其中,所述获取与所述数据操作记录相对应的、关于所述操作对象的控制权限包括: 根据权限规则,获取与所述数据操作记录相对应的、关于所述操作对象的控制权限,其中,所述控制权限包括关于所述操作对象的读权限或写权限。15.根据权利要求14所述的设备,其中,所述权限规则包括以下至少任一项: 当所述控制权限包括所述操作对象的读权限,且未有其他数据操作已获得要求所述操作对象的写权限,获得所述操作对象的读权限; 当所述控制权限包括所述操作对象的写权限,且未有其他数据操作已获得所述操作对象的读权限或写权限,获得所述操作对象的写权限。16.根据权利要求10至15中任一项所述的设备,其中,所述第二装置用于: 根据所述数据操作记录确定所述数据操作记录所对应的操作对象,以及所述操作对象所对应的上层对象; 获取关于所述上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限。17.根据权利要求10至16中任一项所述的设备,其中,所述第二装置还用于: 当所述数据操作记录为DCL类型时,获取所述数据操作记录所对应的数据库根节点的写权限,并执行所述数据操作记录。18.根据权利要求10至17中任一项所述的设备,其中,所述数据操作记录包括多个子数据操作记录; 其中,所述第二装置用于: 根据所述子数据操作记录的顺序信息,获取关于所述子数据操作记录所对应操作对象的上层对象的读权限,并获取与所述子数据操作记录相对应的、关于所述操作对象的控制权限; 其中,所述第三装置用于: 对所述主数据库所对应的备份数据库中的所述操作对象执行所述子数据操作记录。
【专利摘要】本申请的目的是提供一种数据库同步方法与设备;获取主数据库中待同步的数据操作记录;获取关于所述数据操作记录所对应操作对象的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限;对所述主数据库所对应的备份数据库中的所述操作对象执行所述数据操作记录。与现有技术相比,本申请通过使得各个数据操作记录依照实际的需要获得相应操作层级对应的操作权限,将DCL语句或DDL语句对数据同步的影响范围缩小,使得DCL和DDL可以与DML并发执行且不影响事务的一致性,加快了主备同步的效率,更加高效地实现了对数据库的管理和操作。
【IPC分类】G06F17/30
【公开号】CN105426373
【申请号】CN201410482695
【发明人】钱在晨, 陈招尚, 曾文旌
【申请人】阿里巴巴集团控股有限公司
【公开日】2016年3月23日
【申请日】2014年9月19日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1