CN105426373A - 一种数据库同步方法与设备 - Google Patents
一种数据库同步方法与设备 Download PDFInfo
- Publication number
- CN105426373A CN105426373A CN201410482695.1A CN201410482695A CN105426373A CN 105426373 A CN105426373 A CN 105426373A CN 201410482695 A CN201410482695 A CN 201410482695A CN 105426373 A CN105426373 A CN 105426373A
- Authority
- CN
- China
- Prior art keywords
- operand
- data operating
- operating record
- read right
- control authority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请的目的是提供一种数据库同步方法与设备;获取主数据库中待同步的数据操作记录;获取关于所述数据操作记录所对应操作对象的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限;对所述主数据库所对应的备份数据库中的所述操作对象执行所述数据操作记录。与现有技术相比,本申请通过使得各个数据操作记录依照实际的需要获得相应操作层级对应的操作权限,将DCL语句或DDL语句对数据同步的影响范围缩小,使得DCL和DDL可以与DML并发执行且不影响事务的一致性,加快了主备同步的效率,更加高效地实现了对数据库的管理和操作。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种数据库同步技术。
背景技术
随着数据库性能的提升,通常运用数据库之间的主备同步的方式能够实现对数据库进行管理和操作的多种需求,如进行数据备份、实现负载均衡、提高数据库的可用性和容错性等。当一定数量的数据操作记录,如数据库中的DCL(数据控制语言)、DDL(数据定义语言)、DML(数据操作语言)等语句,在数据库中或数据库之间进行同步时,若是能够并发执行所述数据操作记录,将会大大增加主备同步的速度。
目前,该领域采用的方案为:
针对数据库中的DML语句进行并发同步,首先获得DML语句允许执行的充分条件,并将该充分条件映射到对应的控制锁中,各个DML语句通过并发检测争夺各个充分条件对应的控制锁来获得所需要的允许执行的充分条件。一定程度上,可以实现多个DML语句的并发同步。但用这些技术在处理DCL语句或DDL语句时,DCL语句或DDL语句执行时会锁住所有锁的控制权,从对应的DCL语句或DDL语句开始执行到执行成功,其他的执行语句都将处于等待状态,不可执行,因此会导致数据库同步阻塞,所以推定DML语句与DCL/DDL语句存在冲突,无法并发执行。
发明内容
本申请的目的是提供一种数据库同步方法与设备。
根据本申请的一个方面,提供了一种数据库同步方法,包括:
获取主数据库中待同步的数据操作记录;
获取关于所述数据操作记录所对应操作对象的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限;
对所述主数据库所对应的备份数据库中的所述操作对象执行所述数据操作记录。
根据本申请的另一方面,还提供了一种数据库同步设备,包括:
第一装置,用于获取主数据库中待同步的数据操作记录;
第二装置,用于获取关于所述数据操作记录所对应操作对象的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限;
第三装置,用于对所述主数据库所对应的备份数据库中的所述操作对象执行所述数据操作记录。
与现有技术相比,本申请在主备同步过程中,对待同步的数据操作分别获取其相对应的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限,使得各个数据操作记录依照实际的需要获得相应操作层级对应的操作权限,从而在执行DCL、DDL、DML等语句时,将DCL语句或DDL语句对数据同步的影响范围缩小,使得DCL和DDL可以与DML并发执行且不影响事务的一致性,加快了主备同步的效率,进而依据同步的所述数据操作记录对备份数据库中的相应的操作对象执行对应的操作,更加高效地实现对数据库的管理和操作。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种数据库同步的设备示意图;
图2示出根据本申请另一个方面的一种数据库同步的方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
图1示出根据本申请一个方面的一种数据库同步的设备示意图。数据库同步设备1包括第一装置101、第二装置102和第三装置103。
其中,第一装置101获取主数据库中待同步的数据操作记录;第二装置102获取关于所述数据操作记录所对应操作对象的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限;第三装置103对所述主数据库所对应的备份数据库中的所述操作对象执行所述数据操作记录。
具体地,数据库同步设备1的第一装置101获取主数据库中待同步的数据操作记录。在数据库主备同步中,一方是主数据库,另一方是备份数据库,主数据库中通过二进制日志文件(binarylog)记录下所述主数据库中的变更事务的数据操作记录。依照所述数据库的二进制日志文件中记录的先后顺序获得待同步的数据操作记录。在此,所述数据操作记录包括Oracle、Mysql、SqlSever、Oceanbase、DB2等数据库中应用的DCL、DDL、DML等语句。其中,DCL是用来设置或更改数据库用户或角色权限的语句;DDL是用于定义和管理SQL数据库中的所有对象的语句;DML是用来对数据库里的数据进行操作的语句。在此,优选地,所述主备同步是Mysql数据库中基于ROW模式下的并发同步,优选地,所述数据操作记录是与所述Mysql数据库相对应的DCL、DDL、DML语句。
本领域技术人员应能理解,上述优选地,所述主备同步是Mysql数据库中基于ROW模式下的并发同步,优选地,所述数据操作记录是与所述Mysql数据库相对应的DCL、DDL、DML语句仅为举例,其他数据库、日志文件的模式、数据操作记录如可适用本申请,也应包含在本申请的保护范围以内,并在此以引用方式包含于此。
接着,数据库同步设备1的第二装置102获取关于所述数据操作记录所对应操作对象的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限。在此,所述数据操作记录对应的操作对象是基于数据库的层级概念抽象组合成的树形关系,其中,用户在执行任何数据库操作时都需要先拥有数据库的访问权限,所以将所述的访问权限设置为所述数据操作记录所对应操作对象的最上层对象,根据数据库的层级概念,访问权限之下是的对象是数据库实例,数据库实例包含若干库,库包含若干表,表中有若干记录。在此,所述访问权限、实例、库、表、记录都是数据库的层级对象,并且分别是相应的数据操作记录的操作对象。不同的数据操作记录对应的具体的操作对象是不同的,所以其所对应的上层对象也是不同的。例如,若一个数据操作记录的操作对象是某张表,则该数据操作记录对应的上层对象就是相应的访问权限、实例和库;若一个数据操作记录的操作对象是某条记录,则该数据操作记录对应的上层对象就是相应的访问权限、实例、库和表。相应的,执行所述的数据操作记录需要获得对应的操作对象的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限。在此,一个确定的数据操作记录对于某一数据库层级对象是获得读权限还是控制权限是基于所述确定的数据操作记录的具体需求来安排的。例如,对于DCL语句,一般只进行访问权限的判断,所以在执行时要获得相应访问权限这一层级的控制权限;又如,对于DDL语句,要先解析该语句具体影响到的操作对象的层级,若所述DDL语句的具体的操作对象是库,如对库进行修改,则需要获得相应库的控制权限,并且要获取与所述DDL语句相对应的库隶属的访问权限、实例的相应的读权限;若所述DDL语句的具体的操作对象是表,如创建或修改一个表,则需要获得所述表的控制权限,并且要获取与所述DDL语句相对应的表隶属的访问权限、实例、库的相应的读权限;又如,对于DML语句,一般所述的操作对象是记录,如对数据库中的某一记录进行查询、增加、删除、修改等操作,所以需要获得所述记录的控制权限,优选地,通过获得所述记录对应的主键的控制权限来定位所述记录,并且要获取与所述DML语句相对应的记录隶属的访问权限、实例、库、表的相应的读权限。
在此,不同的数据操作记录可以同时获得某一个层级对象的读权限。所述操作对象的控制权限包括读权限和写权限。当存在一个或多个数据操作记录获得某个层级对象的读权限时,是不会存在另一个数据操作记录获得所述层级对象的写权限的,而当某一个数据操作记录获得对应层级对象的写权限时,也就不允许其他数据操作记录获得对该层级对象进行的读权限或写权限。
在此,可以按照数据操作记录对应层级对象的层级顺序获得各层级对象的相应读权限或是控制权限,若是在数据操作记录的并发检测中,某一层级对象的权限无法获得,则会等待该层级对象的权限,或者,若此时,所述数据操作记录的下层对象的权限可以获得,则所述数据操作记录还可以提前预约所述下层对象的相应权限。例如,某一DDL语句T的具体的操作对象是表D,则需要获得所述表D的控制权限,并且要获取与所述DDL语句T相对应的表隶属的访问权限A、实例B、库C的相应的读权限。若在获得相应访问权限A的读权限后,不能立即获得相应实例B的读权限,则可以等待所述实例B的读权限并不做其他操作,若此时下一层级库C的读权限可以获得,或是再下一层的表D的控制权限可以获得,也可以在等待所述实例B的读权限的同时,根据需要预约所述库C的读权限或是所述表D的控制权限。更进一步,若是此时对于所预约的所述库C或是所述表D有其他数据操作记录需要获得相应读权限或是控制权限,可以依据实际的需要设定相应的规则,例如预约排队等待,或是权重优选获取等来合理安排各个数据操作记录获得所对应层级对象相应权限的顺序。这样可以节约所述数据操作记录完全执行过程中的等待时间,避免一个数据操作记录在多层对象上为了获取多个权限而多次等待,可以在整体上优化和调整并发同步。
接着,数据库同步设备1的第三装置103对所述主数据库所对应的备份数据库中的所述操作对象执行所述数据操作记录。在此,优选地,所述第三装置103获得所述控制权限及所述上层对象的读权限,即通过给予各个待同步的数据操作记录所需的对应操作对象的上层对象的读权限和与所述数据操作记录相对应的、关于所述操作对象的控制权限,从而使得各个数据操作记录在主备同步时能够最大可能进行并行。所述数据操作记录获得各个层级对象相应权限这一过程可以存在于从主数据库生成串行的二进制日志文件到写入备份数据库之前的任一阶段。配合着相应权限的获得,对应各个数据操作记录并发同步到所述备份数据库,进而,基于同步到所述备份数据库中的所述数据操作记录,对相应的操作对象执行对应操作。
在此,在主备同步过程中,对待同步的数据操作分别获取其相对应的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限,使得各个数据操作记录依照实际的需要获得相应操作层级对应的操作权限,从而在执行DCL、DDL、DML等语句时,将DCL语句或DDL语句对数据同步的影响范围缩小,使得DCL和DDL可以与DML并发执行且不影响事务的一致性,加快了主备同步的效率,进而依据同步的所述数据操作记录对备份数据库中的相应的操作对象执行对应的操作,更加高效地实现对数据库的管理和操作。
优选地,所述数据库同步设备1中,所述获取关于所述数据操作记录所对应操作对象的上层对象的读权限包括:从所述数据操作记录所对对象的最上层对象顺序获取关于所述操作对象的上层对象的读权限。
具体地,可以按照数据操作记录对应操作对象的上层对象的层级顺序,从上到下依次获得各层级对象的相应读权限。例如数据操作记录T对应的操作对象是记录E,记录E包含于表D,表D包含于库C,库C包含于实例B,实例B从属于访问权限A,则对于数据操作记录T,若要获得对应操作对象的各个上层对象的读权限,需要先获得访问权限A的读权限,若是立即获得了所述访问权限A的读权限后则继续获得所述实例B的读权限,若是无法立即获得所述访问权限A的读权限则等待,待获得后再继续获得所述实例B的读权限,以此类推,依次获得库C、表D的读权限。
优选地,所述数据库同步设备1中,所述获取与所述数据操作记录相对应的、关于所述操作对象的控制权限包括:当获取关于所述上层对象的读权限时,获取与所述数据操作记录相对应的、关于所述操作对象的控制权限。
具体地,若要获取与所述数据操作记录相对应的、关于所述操作对象的控制权限,首先获得与所述操作对象相对应的上层对象的读权限,例如例如数据操作记录R对应的操作对象是库Q,库Q包含于实例P,实例P从属于访问权限O,则,若是想要获取所述数据操作记录R对应的操作对象是库Q的操作权限,要先依次获得与所述库Q从属的访问权限O和实例P的读权限。
优选地,所述数据库同步设备1中,所述获取与所述数据操作记录相对应的、关于所述操作对象的控制权限包括:根据权限规则,获取与所述数据操作记录相对应的、关于所述操作对象的控制权限,其中,所述控制权限包括关于所述操作对象的读权限或写权限。例如,若一个数据操作记录的操作对象是同一个表下的两条记录,记录A和记录B,需要读取记录A,同时需要修改记录B,此时所述操作对象的控制权限,既包括对记录A的读权限,也包括对记录B的写权限。
优选地,所述数据库同步设备1中,所述权限规则包括以下至少任一项:当所述控制权限包括所述操作对象的读权限,且未有其他数据操作已获得要求所述操作对象的写权限,获得所述操作对象的读权限;当所述控制权限包括所述操作对象的写权限,且未有其他数据操作已获得所述操作对象的读权限或写权限,获得所述操作对象的写权限。
具体地,所述数据操作记录对应的所述操作对象的控制权限包括读权限和写权限。所述权限规则可以包括:当所述数据操作记录对应的所述控制权限包括所述操作对象的读权限,若所述数据操作记录想要获得该操作对象的读权限,则此时,不能有其他数据操作记录获取所述操作对象对应的写权限,但是此时可以有其他数据操作记录获取所述操作对象对应的读权限;当所述控制权限包括所述操作对象的写权限,若所述数据操作记录想要获得该操作对象的写权限,则此时,不能有其他数据操作记录获取所述操作对象对应的写权限或是读权限。因此,一个操作对象可以同时给予多个不同数据操作记录读权限,但是只能一次给予一个数据操作记录写权限。
本领域技术人员应能理解,上述优选地,所述权限规则仅为举例,其他权限规则如可适用本申请,也应包含在本申请的保护范围以内,并在此以引用方式包含于此。
优选地,所述数据库同步设备1中,所述第二装置102根据所述数据操作记录确定所述数据操作记录所对应的操作对象,以及所述操作对象所对应的上层对象;获取关于所述上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限。
具体地,所述数据操作记录对应的操作对象因为具体数据操作记录的不同而存在差异,可以是访问权限、实例、库、表、记录各个层级对象中的一个或多个。例如,一条DDL语句:alterdatabase`db1`character_setgbk,据此所述DDL语句对应的操作对象是库db1,所以所述操作对象对应的上层对象就是库db1从属的实例和访问权限。进而对于所确定的所述上层对象和操作对象分别获得相应的读权限和控制权限。
优选地,所述数据库同步设备1中,所述第二装置102还用于当所述数据操作记录为DCL类型时,获取所述数据操作记录所对应的数据库根节点的写权限,并执行所述数据操作记录。
具体地,所述数据操作记录DCL是用来设置或更改数据库用户或角色权限的语句,对于DCL语句一般只进行根节点的权限判断,在此,优选地,根节点包括访问权限节点这一数据库层级对象,对所述DCL语句只进行访问权限的判断,所以在执行时需要相应访问权限这一层级的控制权限,在此,优选地,所述控制权限包括写权限。当所述DCL语句获得相应访问节点的写权限后,即可相应同步到所述备份数据库,并执行相应的数据操作记录。
优选地,所述数据库同步设备1中,所述第三装置103在执行所述数据操作记录后,释放所述控制权限及关于所述上层对象的读权限。
具体地,所述数据操作记录在执行时需要获得相对应的操作对象的控制权限,以及所对应的操作对象的上层对象的读权限,当所述数据操作记录占据某一个层级对象的读权限时,其他数据操作记录无法获得所述层级对象的写权限,而当所述数据操作记录占据某一个层级对象的写权限时,其他数据操作记录无法获得所述层级对象的写权限和读权限,但是主数据库中二进制日志文件中存储的数据操作记录在不断变化,主备并发同步的进程一直在进行,所以当某个数据操作记录执行完毕后,需要及时释放其对应的所述操作对象的控制权限和所述上层对象的读权限,才能避免资源的浪费,保证其他的数据操作记录顺利的获得所需要的相应层级对象的相应权限,整个主备同步进程才能高效顺利的进行。
优选地,所述数据库同步设备1中,所述数据操作记录包括多个子数据操作记录;其中,所述第二装置102根据所述子数据操作记录的顺序信息,获取关于所述子数据操作记录所对应操作对象的上层对象的读权限,并获取与所述子数据操作记录相对应的、关于所述操作对象的控制权限;其中,所述第三装置103对所述主数据库所对应的备份数据库中的所述操作对象执行所述子数据操作记录。
具体地,所述多个子数据操作记录是指多个待同步的数据操作记录,每个所述的待同步的数据操作记录的执行都要获得相应操作对象的控制权限和所述上层对象的读权限。优选地,根据各个所述带同步额数据操作记录在主数据库二进制日志文件中记录的先后顺序依次进行并发同步检测判断。对于能够并发的数据操作记录并发同步到所述备份数据库,对于无法并发的数据操作记录独自同步到所述备份数据库。进而对于与所述主数据库对应的所述备份数据库中的所述操作对象执行相应的数据操作记录。
例如,主数据库中的二进制日志文件中记录了多个数据操作记录,依次为:DML1、DDL2、DDL3、DML4。其中,DML1需要获得访问权限P、实例E、库D、表A的读权限以及记录M的写权限;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的写权限。
图2示出根据本申请另一个方面的一种数据库同步的方法流程图。
其中,在步骤S201中,获取主数据库中待同步的数据操作记录;在步骤S202中,获取关于所述数据操作记录所对应操作对象的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限;在步骤S203中,对所述主数据库所对应的备份数据库中的所述操作对象执行所述数据操作记录。
具体地,在步骤S201中,数据库同步设备1获取主数据库中待同步的数据操作记录。在数据库主备同步中,一方是主数据库,另一方是备份数据库,主数据库中通过二进制日志文件(binarylog)记录下所述主数据库中的变更事务的数据操作记录。依照所述数据库的二进制日志文件中记录的先后顺序获得待同步的数据操作记录。在此,所述数据操作记录包括Oracle、Mysql、SqlSever、Oceanbase、DB2等数据库中应用的DCL、DDL、DML等语句。其中,DCL是用来设置或更改数据库用户或角色权限的语句;DDL是用于定义和管理SQL数据库中的所有对象的语句;DML是用来对数据库里的数据进行操作的语句。在此,优选地,所述主备同步是Mysql数据库中基于ROW模式下的并发同步,优选地,所述数据操作记录是与所述Mysql数据库相对应的DCL、DDL、DML语句。
本领域技术人员应能理解,上述优选地,所述主备同步是Mysql数据库中基于ROW模式下的并发同步,优选地,所述数据操作记录是与所述Mysql数据库相对应的DCL、DDL、DML语句仅为举例,其他数据库、日志文件的模式、数据操作记录如可适用本申请,也应包含在本申请的保护范围以内,并在此以引用方式包含于此。
接着,在步骤S202中,数据库同步设备1获取关于所述数据操作记录所对应操作对象的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限。在此,所述数据操作记录对应的操作对象是基于数据库的层级概念抽象组合成的树形关系,其中,用户在执行任何数据库操作时都需要先拥有数据库的访问权限,所以将所述的访问权限设置为所述数据操作记录所对应操作对象的最上层对象,根据数据库的层级概念,访问权限之下是的对象是数据库实例,数据库实例包含若干库,库包含若干表,表中有若干记录。在此,所述访问权限、实例、库、表、记录都是数据库的层级对象,并且分别是相应的数据操作记录的操作对象。不同的数据操作记录对应的具体的操作对象是不同的,所以其所对应的上层对象也是不同的。例如,若一个数据操作记录的操作对象是某张表,则该数据操作记录对应的上层对象就是相应的访问权限、实例和库;若一个数据操作记录的操作对象是某条记录,则该数据操作记录对应的上层对象就是相应的访问权限、实例、库和表。相应的,执行所述的数据操作记录需要获得对应的操作对象的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限。在此,一个确定的数据操作记录对于某一数据库层级对象是获得读权限还是控制权限是基于所述确定的数据操作记录的具体需求来安排的。例如,对于DCL语句,一般只进行访问权限的判断,所以在执行时要获得相应访问权限这一层级的控制权限;又如,对于DDL语句,要先解析该语句具体影响到的操作对象的层级,若所述DDL语句的具体的操作对象是库,如对库进行修改,则需要获得相应库的控制权限,并且要获取与所述DDL语句相对应的库隶属的访问权限、实例的相应的读权限;若所述DDL语句的具体的操作对象是表,如创建或修改一个表,则需要获得所述表的控制权限,并且要获取与所述DDL语句相对应的表隶属的访问权限、实例、库的相应的读权限;又如,对于DML语句,一般所述的操作对象是记录,如对数据库中的某一记录进行查询、增加、删除、修改等操作,所以需要获得所述记录的控制权限,优选地,通过获得所述记录对应的主键的控制权限来定位所述记录,并且要获取与所述DML语句相对应的记录隶属的访问权限、实例、库、表的相应的读权限。
在此,不同的数据操作记录可以同时获得某一个层级对象的读权限。所述操作对象的控制权限包括读权限和写权限。当存在一个或多个数据操作记录获得某个层级对象的读权限时,是不会存在另一个数据操作记录获得所述层级对象的写权限的,而当某一个数据操作记录获得对应层级对象的写权限时,也就不允许其他数据操作记录获得对该层级对象进行的读权限或写权限。
在此,可以按照数据操作记录对应层级对象的层级顺序获得各层级对象的相应读权限或是控制权限,若是在数据操作记录的并发检测中,某一层级对象的权限无法获得,则会等待该层级对象的权限,或者,若此时,所述数据操作记录的下层对象的权限可以获得,则所述数据操作记录还可以提前预约所述下层对象的相应权限。例如,某一DDL语句T的具体的操作对象是表D,则需要获得所述表D的控制权限,并且要获取与所述DDL语句T相对应的表隶属的访问权限A、实例B、库C的相应的读权限。若在获得相应访问权限A的读权限后,不能立即获得相应实例B的读权限,则可以等待所述实例B的读权限并不做其他操作,若此时下一层级库C的读权限可以获得,或是再下一层的表D的控制权限可以获得,也可以在等待所述实例B的读权限的同时,根据需要预约所述库C的读权限或是所述表D的控制权限。更进一步,若是此时对于所预约的所述库C或是所述表D有其他数据操作记录需要获得相应读权限或是控制权限,可以依据实际的需要设定相应的规则,例如预约排队等待,或是权重优选获取等来合理安排各个数据操作记录获得所对应层级对象相应权限的顺序。这样可以节约所述数据操作记录完全执行过程中的等待时间,避免一个数据操作记录在多层对象上为了获取多个权限而多次等待,可以在整体上优化和调整并发同步。
接着,在步骤S203中,数据库同步设备1对所述主数据库所对应的备份数据库中的所述操作对象执行所述数据操作记录。在此,优选地,所述数据库同步设备1获得所述控制权限及所述上层对象的读权限,即通过给予各个待同步的数据操作记录所需的对应操作对象的上层对象的读权限和与所述数据操作记录相对应的、关于所述操作对象的控制权限,从而使得各个数据操作记录在主备同步时能够最大可能进行并行。所述数据操作记录获得各个层级对象相应权限这一过程可以存在于从主数据库生成串行的二进制日志文件到写入备份数据库之前的任一阶段。配合着相应权限的获得,对应各个数据操作记录并发同步到所述备份数据库,进而,基于同步到所述备份数据库中的所述数据操作记录,对相应的操作对象执行对应操作。
在此,在主备同步过程中,对待同步的数据操作分别获取其相对应的上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限,使得各个数据操作记录依照实际的需要获得相应操作层级对应的操作权限,从而在执行DCL、DDL、DML等语句时,将DCL语句或DDL语句对数据同步的影响范围缩小,使得DCL和DDL可以与DML并发执行且不影响事务的一致性,加快了主备同步的效率,进而依据同步的所述数据操作记录对备份数据库中的相应的操作对象执行对应的操作,更加高效地实现对数据库的管理和操作。
优选地,所述数据库同步设备1中,所述获取关于所述数据操作记录所对应操作对象的上层对象的读权限包括:从所述数据操作记录所对对象的最上层对象顺序获取关于所述操作对象的上层对象的读权限。
具体地,可以按照数据操作记录对应操作对象的上层对象的层级顺序,从上到下依次获得各层级对象的相应读权限。例如数据操作记录T对应的操作对象是记录E,记录E包含于表D,表D包含于库C,库C包含于实例B,实例B从属于访问权限A,则对于数据操作记录T,若要获得对应操作对象的各个上层对象的读权限,需要先获得访问权限A的读权限,若是立即获得了所述访问权限A的读权限后则继续获得所述实例B的读权限,若是无法立即获得所述访问权限A的读权限则等待,待获得后再继续获得所述实例B的读权限,以此类推,依次获得库C、表D的读权限。
优选地,所述数据库同步设备1中,所述获取与所述数据操作记录相对应的、关于所述操作对象的控制权限包括:当获取关于所述上层对象的读权限时,获取与所述数据操作记录相对应的、关于所述操作对象的控制权限。
具体地,若要获取与所述数据操作记录相对应的、关于所述操作对象的控制权限,首先获得与所述操作对象相对应的上层对象的读权限,例如例如数据操作记录R对应的操作对象是库Q,库Q包含于实例P,实例P从属于访问权限O,则,若是想要获取所述数据操作记录R对应的操作对象是库Q的操作权限,要先依次获得与所述库Q从属的访问权限O和实例P的读权限。
优选地,所述数据库同步设备1中,所述获取与所述数据操作记录相对应的、关于所述操作对象的控制权限包括:根据权限规则,获取与所述数据操作记录相对应的、关于所述操作对象的控制权限,其中,所述控制权限包括关于所述操作对象的读权限或写权限。例如,若一个数据操作记录的操作对象是同一个表下的两条记录,记录A和记录B,需要读取记录A,同时需要修改记录B,此时所述操作对象的控制权限,既包括对记录A的读权限,也包括对记录B的写权限。
优选地,所述数据库同步设备1中,所述权限规则包括以下至少任一项:当所述控制权限包括所述操作对象的读权限,且未有其他数据操作已获得要求所述操作对象的写权限,获得所述操作对象的读权限;当所述控制权限包括所述操作对象的写权限,且未有其他数据操作已获得所述操作对象的读权限或写权限,获得所述操作对象的写权限。
具体地,所述数据操作记录对应的所述操作对象的控制权限包括读权限和写权限。所述权限规则可以包括:当所述数据操作记录对应的所述控制权限包括所述操作对象的读权限,若所述数据操作记录想要获得该操作对象的读权限,则此时,不能有其他数据操作记录获取所述操作对象对应的写权限,但是此时可以有其他数据操作记录获取所述操作对象对应的读权限;当所述控制权限包括所述操作对象的写权限,若所述数据操作记录想要获得该操作对象的写权限,则此时,不能有其他数据操作记录获取所述操作对象对应的写权限或是读权限。因此,一个操作对象可以同时给予多个不同数据操作记录读权限,但是只能一次给予一个数据操作记录写权限。
本领域技术人员应能理解,上述优选地,所述权限规则仅为举例,其他权限规则如可适用本申请,也应包含在本申请的保护范围以内,并在此以引用方式包含于此。
优选地,在步骤S202中,所述数据库同步设备1根据所述数据操作记录确定所述数据操作记录所对应的操作对象,以及所述操作对象所对应的上层对象;获取关于所述上层对象的读权限,并获取与所述数据操作记录相对应的、关于所述操作对象的控制权限。
具体地,所述数据操作记录对应的操作对象因为具体数据操作记录的不同而存在差异,可以是访问权限、实例、库、表、记录各个层级对象中的一个或多个。例如,一条DDL语句:alterdatabase`db1`character_setgbk,据此所述DDL语句对应的操作对象是库db1,所以所述操作对象对应的上层对象就是库db1从属的实例和访问权限。进而对于所确定的所述上层对象和操作对象分别获得相应的读权限和控制权限。
优选地,在步骤S202中,所述数据库同步设备1还用于当所述数据操作记录为DCL类型时,获取所述数据操作记录所对应的数据库根节点的写权限,并执行所述数据操作记录。
具体地,所述数据操作记录DCL是用来设置或更改数据库用户或角色权限的语句,对于DCL语句一般只进行根节点的权限判断,在此,优选地,根节点包括访问权限节点这一数据库层级对象,对所述DCL语句只进行访问权限的判断,所以在执行时需要相应访问权限这一层级的控制权限,在此,优选地,所述控制权限包括写权限。当所述DCL语句获得相应访问节点的写权限后,即可相应同步到所述备份数据库,并执行相应的数据操作记录。
优选地,在步骤S203中,所述数据库同步设备1在执行所述数据操作记录后,释放所述控制权限及关于所述上层对象的读权限。
具体地,所述数据操作记录在执行时需要获得相对应的操作对象的控制权限,以及所对应的操作对象的上层对象的读权限,当所述数据操作记录占据某一个层级对象的读权限时,其他数据操作记录无法获得所述层级对象的写权限,而当所述数据操作记录占据某一个层级对象的写权限时,其他数据操作记录无法获得所述层级对象的写权限和读权限,但是主数据库中二进制日志文件中存储的数据操作记录在不断变化,主备并发同步的进程一直在进行,所以当某个数据操作记录执行完毕后,需要及时释放其对应的所述操作对象的控制权限和所述上层对象的读权限,才能避免资源的浪费,保证其他的数据操作记录顺利的获得所需要的相应层级对象的相应权限,整个主备同步进程才能高效顺利的进行。
优选地,所述数据库同步设备1中,所述数据操作记录包括多个子数据操作记录;其中,在步骤S202中,所述数据库同步设备1根据所述子数据操作记录的顺序信息,获取关于所述子数据操作记录所对应操作对象的上层对象的读权限,并获取与所述子数据操作记录相对应的、关于所述操作对象的控制权限;其中,在步骤S203中,所述数据库同步设备1对所述主数据库所对应的备份数据库中的所述操作对象执行所述子数据操作记录。
具体地,所述多个子数据操作记录是指多个待同步的数据操作记录,每个所述的待同步的数据操作记录的执行都要获得相应操作对象的控制权限和所述上层对象的读权限。优选地,根据各个所述带同步额数据操作记录在主数据库二进制日志文件中记录的先后顺序依次进行并发同步检测判断。对于能够并发的数据操作记录并发同步到所述备份数据库,对于无法并发的数据操作记录独自同步到所述备份数据库。进而对于与所述主数据库对应的所述备份数据库中的所述操作对象执行相应的数据操作记录。
例如,主数据库中的二进制日志文件中记录了多个数据操作记录,依次为:DML1、DDL2、DDL3、DML4。其中,DML1需要获得访问权限P、实例E、库D、表A的读权限以及记录M的写权限;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的写权限。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (18)
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中任一项所述的设备,其中,所述数据操作记录包括多个子数据操作记录;
其中,所述第二装置用于:
根据所述子数据操作记录的顺序信息,获取关于所述子数据操作记录所对应操作对象的上层对象的读权限,并获取与所述子数据操作记录相对应的、关于所述操作对象的控制权限;
其中,所述第三装置用于:
对所述主数据库所对应的备份数据库中的所述操作对象执行所述子数据操作记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410482695.1A CN105426373B (zh) | 2014-09-19 | 2014-09-19 | 一种数据库同步方法与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410482695.1A CN105426373B (zh) | 2014-09-19 | 2014-09-19 | 一种数据库同步方法与设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105426373A true CN105426373A (zh) | 2016-03-23 |
CN105426373B CN105426373B (zh) | 2019-06-07 |
Family
ID=55504586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410482695.1A Active CN105426373B (zh) | 2014-09-19 | 2014-09-19 | 一种数据库同步方法与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105426373B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326376A (zh) * | 2016-08-15 | 2017-01-11 | 东软集团股份有限公司 | 用于表结构变更后的信息复制方法和装置 |
CN106557705A (zh) * | 2016-11-10 | 2017-04-05 | 乐视控股(北京)有限公司 | 一种数据访问方法和装置 |
CN106776775A (zh) * | 2016-11-11 | 2017-05-31 | 北京奇虎科技有限公司 | 并发主从同步方法及装置 |
CN108121827A (zh) * | 2018-01-15 | 2018-06-05 | 农信银资金清算中心有限责任公司 | 一种全量数据的同步方法及装置 |
CN108322492A (zh) * | 2017-01-16 | 2018-07-24 | 医渡云(北京)技术有限公司 | 医疗数据同步方法及装置 |
CN109614443A (zh) * | 2018-11-06 | 2019-04-12 | 武汉达梦数据库有限公司 | 针对v9.7版本db2数据库的ddl同步方法及设备 |
CN111352766A (zh) * | 2018-12-21 | 2020-06-30 | 中国移动通信集团山东有限公司 | 一种数据库的双活实现方法及装置 |
CN111858503A (zh) * | 2020-06-04 | 2020-10-30 | 武汉达梦数据库有限公司 | 一种基于日志解析同步的并行执行方法和数据同步系统 |
CN114157674A (zh) * | 2020-08-17 | 2022-03-08 | 中移(上海)信息通信科技有限公司 | 无线通信方法、装置、系统、服务器以及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216843A (zh) * | 2008-01-17 | 2008-07-09 | 四川大学 | 一种多点多跳的数据实时备份方法 |
CN102495910A (zh) * | 2011-12-28 | 2012-06-13 | 畅捷通信息技术股份有限公司 | 实现异构系统数据定时同步的装置和方法 |
CN102685142A (zh) * | 2012-05-23 | 2012-09-19 | 华为技术有限公司 | 文档权限控制方法、装置和系统 |
US20130091122A1 (en) * | 2011-09-29 | 2013-04-11 | Cirro, Inc. | Federated query engine for federation of data queries across structure and unstructured data |
CN103279510A (zh) * | 2013-05-17 | 2013-09-04 | 上海市计量测试技术研究院 | 多数据库非连续性在线同步的方法 |
-
2014
- 2014-09-19 CN CN201410482695.1A patent/CN105426373B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216843A (zh) * | 2008-01-17 | 2008-07-09 | 四川大学 | 一种多点多跳的数据实时备份方法 |
US20130091122A1 (en) * | 2011-09-29 | 2013-04-11 | Cirro, Inc. | Federated query engine for federation of data queries across structure and unstructured data |
CN102495910A (zh) * | 2011-12-28 | 2012-06-13 | 畅捷通信息技术股份有限公司 | 实现异构系统数据定时同步的装置和方法 |
CN102685142A (zh) * | 2012-05-23 | 2012-09-19 | 华为技术有限公司 | 文档权限控制方法、装置和系统 |
CN103279510A (zh) * | 2013-05-17 | 2013-09-04 | 上海市计量测试技术研究院 | 多数据库非连续性在线同步的方法 |
Non-Patent Citations (1)
Title |
---|
庄永耀: "基于企业级移动平台的数据同步的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326376A (zh) * | 2016-08-15 | 2017-01-11 | 东软集团股份有限公司 | 用于表结构变更后的信息复制方法和装置 |
CN106557705A (zh) * | 2016-11-10 | 2017-04-05 | 乐视控股(北京)有限公司 | 一种数据访问方法和装置 |
CN106776775B (zh) * | 2016-11-11 | 2021-05-07 | 北京奇虎科技有限公司 | 并发主从同步方法及装置 |
CN106776775A (zh) * | 2016-11-11 | 2017-05-31 | 北京奇虎科技有限公司 | 并发主从同步方法及装置 |
CN108322492A (zh) * | 2017-01-16 | 2018-07-24 | 医渡云(北京)技术有限公司 | 医疗数据同步方法及装置 |
CN108322492B (zh) * | 2017-01-16 | 2021-09-17 | 医渡云(北京)技术有限公司 | 医疗数据同步方法及装置 |
CN108121827A (zh) * | 2018-01-15 | 2018-06-05 | 农信银资金清算中心有限责任公司 | 一种全量数据的同步方法及装置 |
CN108121827B (zh) * | 2018-01-15 | 2020-10-16 | 农信银资金清算中心有限责任公司 | 一种全量数据的同步方法及装置 |
CN109614443A (zh) * | 2018-11-06 | 2019-04-12 | 武汉达梦数据库有限公司 | 针对v9.7版本db2数据库的ddl同步方法及设备 |
CN111352766A (zh) * | 2018-12-21 | 2020-06-30 | 中国移动通信集团山东有限公司 | 一种数据库的双活实现方法及装置 |
CN111858503A (zh) * | 2020-06-04 | 2020-10-30 | 武汉达梦数据库有限公司 | 一种基于日志解析同步的并行执行方法和数据同步系统 |
CN111858503B (zh) * | 2020-06-04 | 2023-03-28 | 武汉达梦数据库股份有限公司 | 一种基于日志解析同步的并行执行方法和数据同步系统 |
CN114157674A (zh) * | 2020-08-17 | 2022-03-08 | 中移(上海)信息通信科技有限公司 | 无线通信方法、装置、系统、服务器以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105426373B (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105426373A (zh) | 一种数据库同步方法与设备 | |
US8352490B2 (en) | Method and system for locating update operations in a virtual machine disk image | |
US20070162506A1 (en) | Method and system for performing a redistribute transparently in a multi-node system | |
US20130110873A1 (en) | Method and system for data storage and management | |
US9411867B2 (en) | Method and apparatus for processing database data in distributed database system | |
US11294875B2 (en) | Data storage on tree nodes | |
US9323791B2 (en) | Apparatus and method for expanding a shared-nothing system | |
US20130254240A1 (en) | Method of processing database, database processing apparatus, computer program product | |
CN105956166A (zh) | 数据库读写方法和读写装置 | |
CN110019066A (zh) | 数据库处理方法及装置、系统 | |
US20130346363A1 (en) | Data synchronization method, computer readable recording medium having stored therein data synchronization program, and data synchronization control device | |
CN109542861B (zh) | 一种文件管理方法、装置和系统 | |
CN107783988A (zh) | 一种目录树的加锁方法及设备 | |
US20160162366A1 (en) | A method for a logging process in a data storage system | |
CN104615785A (zh) | 一种基于TYKY cNosql数据库的数据存储方法及装置 | |
US20150169623A1 (en) | Distributed File System, File Access Method and Client Device | |
US11226986B2 (en) | Data table partitioning management method and apparatus | |
US10289723B1 (en) | Distributed union all queries | |
CN103905512B (zh) | 一种数据处理方法和设备 | |
Tsai et al. | Data Partitioning and Redundancy Management for Robust Multi-Tenancy SaaS. | |
WO2024087777A1 (zh) | 数据库表的数据重整方法和装置、介质和计算机设备 | |
US9639538B2 (en) | Embedding archived data in a data source | |
Yang | From Google file system to omega: a decade of advancement in big data management at Google | |
CN106469224A (zh) | 一种用于SaaS平台的可扩展数据模型 | |
WO2015129109A1 (ja) | インデックス管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |