CN104346479A - 一种数据库同步方法及装置 - Google Patents

一种数据库同步方法及装置 Download PDF

Info

Publication number
CN104346479A
CN104346479A CN201410696885.3A CN201410696885A CN104346479A CN 104346479 A CN104346479 A CN 104346479A CN 201410696885 A CN201410696885 A CN 201410696885A CN 104346479 A CN104346479 A CN 104346479A
Authority
CN
China
Prior art keywords
database
journal
operation note
database journal
mark
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.)
Pending
Application number
CN201410696885.3A
Other languages
English (en)
Inventor
陈宗志
王超
陈磊
陈营
李明昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410696885.3A priority Critical patent/CN104346479A/zh
Publication of CN104346479A publication Critical patent/CN104346479A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据库同步方法及装置,应用于至少包含第一数据库和第二数据库的数据***,该方法包含:在第一数据库由主数据库切换为从数据库后,提取第一数据库的第一数据库日志和第二数据库的第二数据库日志;根据第一数据库日志和第二数据库日志,更新第二数据库日志;以及根据更新后的第二数据库日志中包含的各操作记录,对第二数据库中的数据进行同步操作。通过上述方法,由于第二数据库已获取之前尚未同步过来的日志,并对自身的数据执行了这部分日志中记录的操作,因此,此后第二数据库中不再缺少第一数据库之前尚未同步过来的数据,且第二数据库中的数据状态也是正确的。

Description

一种数据库同步方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据库同步方法及装置。
背景技术
在分布式***中,为了增强***的可靠性,经常使用主从模式来部署在***中使用的数据库。目前在分布式***中所使用的数据库可以包含多个副本,通常有一个主数据库和至少一个从数据库,当主数据库正常工作时,会将自身的数据同步给各从数据库。
在现有技术中,当主数据库(以下称为第一数据库)无法正常工作时,如第一数据库的相关进程崩溃时,或者第一数据库所在的主机宕机时,则会有一个优先级最高的从数据库(以下称为第二数据库)切换为新的主数据库,而第一数据库在恢复正常工作后,会切换为一个新的从数据库,此后由第二数据库同步数据给第一数据库和其它各从数据库。
但是,由于第一数据库在无法正常工作之前,可能有部分最近的数据尚未同步给各从数据库(包括第二数据库),而此后,是由第二数据库同步数据给第一数据库和其它各从数据库,因此,第二数据库中缺少了第一数据库尚未同步过来的这部分数据,从而,可能导致第二数据库中的数据状态不正确。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据库同步方法及装置,在原来的主数据库切换成为从数据库后,确保新的主数据库中数据状态正确。
根据本发明的第一个方面,提出一种数据库同步方法,所述方法应用于至少包含第一数据库和第二数据库的数据***,所述第一数据库由主数据库切换为从数据库,所述第二数据库由从数据库切换为主数据库,所述方法包括:
在所述第一数据库切换为从数据库后,提取所述第一数据库的第一数据库日志和所述第二数据库的第二数据库日志;
根据所述第一数据库日志和所述第二数据库日志,更新所述第二数据库日志;
根据更新后的第二数据库日志中包含的各操作记录,对所述第二数据库中的数据进行同步操作。
可选地,所述日志至少包括二进制日志binlog。
可选地,根据所述第一数据库日志和所述第二数据库日志,更新所述第二数据库日志,包括:
查找包含在所述第一数据库日志中,且不包含在所述第二数据库日志中的操作记录;
将查找到的各操作记录并入所述第二数据库日志中,并将并入后的第二数据库日志作为更新后的第二数据库日志。
可选地,查找包含在所述第一数据库日志中,且不包含在所述第二数据库日志中的操作记录,包括:
在所述第一数据库日志中,确定生成时间距当前时刻最近、且同时包含在所述第一数据库日志和所述第二数据库日志中的操作记录;
将确定出的操作记录的生成时间作为分界时间戳;
在所述第一数据库日志中,查找生成时间晚于所述分界时间戳的操作记录。
可选地,将查找到的各操作记录并入所述第二数据库日志中,包括:
针对查找到的每条操作记录,确定该操作记录对应的标识,作为待定标识;
在所述第二数据库日志中,确定生成时间晚于该操作记录的生成时间的各操作记录对应的标识,作为对比标识;
当各对比标识中不存在所述待定标识时,根据该操作记录的生成时间,将该操作记录***所述第二数据库日志中。
可选地,当各对比标识中存在所述待定标识时,忽略所述第一数据库日志中所述待定标识对应的操作记录。
可选地,根据更新后的第二数据库日志中包含的各操作记录,对所述第二数据库中的数据进行同步操作,包括:
针对并入所述第二数据库日志中的每条操作记录,提取该操作记录中包含的操作指令,并在所述第二数据库上执行该操作指令。
根据本发明的第二个方面,提出一种数据库同步装置,所述装置应用于至少包含第一数据库和第二数据库的数据***,所述第一数据库由主数据库切换为从数据库,所述第二数据库由从数据库切换为主数据库,所述装置包括:
提取模块,用于在所述第一数据库切换为从数据库后,提取所述第一数据库的第一数据库日志和所述第二数据库的第二数据库日志;
更新模块,用于根据所述第一数据库日志和所述第二数据库日志,更新所述第二数据库日志;
同步模块,用于根据更新后的第二数据库日志中包含的各操作记录,对所述第二数据库中的数据进行同步操作。
可选地,所述日志至少包括二进制日志binlog。
可选地,所述更新模块进一步用于,查找包含在所述第一数据库日志中,且不包含在所述第二数据库日志中的操作记录,将查找到的各操作记录并入所述第二数据库日志中,并将并入后的第二数据库日志作为更新后的第二数据库日志。
可选地,所述更新模块进一步用于,在所述第一数据库日志中,确定生成时间距当前时刻最近、且同时包含在所述第一数据库日志和所述第二数据库日志中的操作记录,将确定出的操作记录的生成时间作为分界时间戳,在所述第一数据库日志中,查找生成时间晚于所述分界时间戳的操作记录。
可选地,所述更新模块进一步用于,针对查找到的每条操作记录,确定该操作记录对应的标识,作为待定标识,在所述第二数据库日志中,确定生成时间晚于该操作记录的生成时间的各操作记录对应的标识,作为对比标识,当各对比标识中不存在所述待定标识时,根据该操作记录的生成时间,将该操作记录***所述第二数据库日志中。
可选的,所述更新模块进一步用于,当各对比标识中存在所述待定标识时,忽略所述第一数据库日志中所述待定标识对应的操作记录。
可选地,所述同步模块进一步用于,针对并入所述第二数据库日志中的每条操作记录,提取该操作记录中包含的操作指令,并在所述第二数据库上执行该操作指令。
根据本发明提供的数据库同步方法,由于在第一数据库切换为从数据库后,第二数据库从第一数据库获取了之前尚未同步过来的日志,并根据该日志对自身的数据进行了同步操作,因此,此后第二数据库中不再缺少第一数据库之前尚未同步过来的数据,且第二数据库中的数据状态也是正确的。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为依据本发明实施例的数据库同步过程;
图2为依据本发明实施例的数据库同步的详细过程;
图3为依据本发明实施例的数据库同步装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明公开的示例性实施例。虽然附图中显示了本发明公开的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明公开的范围完整的传达给本领域的技术人员。
以下结合附图,详细说明本发明各实施例提供的技术方案。
图1为依据本发明实施例的数据库同步过程,该过程可发生在至少包含第一数据库和第二数据库的数据***中。其中,初始时,第一数据库为主数据库,第二数据库为从数据库,而后,第一数据库由主数据库切换为从数据库,第二数据库由从数据库切换为主数据库。则数据库同步过程可以包括步骤:
S101:服务器在第一数据库切换为从数据库后,提取第一数据库的第一数据库日志和第二数据库的第二数据库日志。
S102:根据第一数据库日志和第二数据库日志,更新第二数据库日志。
S103:根据更新后的第二数据库日志中包含的各操作记录,对第二数据库中的数据进行同步操作。
在本发明的实施例中,所述的服务器可以是对主从数据库的数据同步进行统一管理的管理服务器,服务器管理着一个主数据库和至少一个从数据库。其中,所述的主数据库和所述的从数据库可以分别位于不同的主机上,也可以位于同一主机上。在一般场景下,基于服务器的管理,主数据库同步数据给各从数据库。但是,当主数据库无法正常工作时(为了便于描述,此后将该主数据库称为第一数据库),例如,第一数据库的相关进程崩溃时,或者第一数据库所在的主机宕机时,则会有一个预设优先级最高的从数据库切换为新的主数据库(此后将该新的主数据库称为第二数据库)。
从上述可知,在该实施例中,在第一数据库恢复正常工作后,会切换为一个新的从数据库,由于此时第一数据库可能尚有部分最近的数据尚未同步给各从数据库(包括第二数据库),也即,有部分操作已经在第一数据库上执行,但是尚未在各从数据库上执行。为了在第二数据库上也相应地执行这部分操作,以保证第二数据库中的数据状态正确,则服务器此时可提取第一数据库的第一数据库日志和第二数据库的第二数据库日志。其中,第一数据库日志用于记录第一数据库执行过的操作,第二数据库日志用于记录第二数据库执行过的操作。然后,服务器可根据第一数据库日志和第二数据库日志,更新第二数据库日志,也即,在第二数据库日志中更新第一数据库已执行、而第二数据库尚未执行的这部分操作所对应的操作记录,进而,服务器可根据更新后的第二数据库日志中的各操作记录,对第二数据库中的数据进行同步操作。至此,第二数据库中不再缺少第一数据库之前尚未同步过来的数据,且第二数据库中的数据状态也是正确的。
依据本发明的一个实施例,本发明中所述的日志可以是二进制日志binlog,也可以是用于记录数据库中执行过的数据操作的其他类型的日志,所述的数据库可以是MYSQL,也可以是其他类型的数据库,本发明的实施例对所述的日志的类型,以及所述的数据库的类型并不做限定。其中,每个数据库都可分别设置有自身的日志,并按照时间先后顺序,将该数据库执行过的所有的数据操作记录在该日志中。
由于用户是以向数据库发送结构化查询语言(Structured Query Language,SQL)语句的方式,对该数据库进行数据修改操作的,因此,数据库在自身的日志中所记录的每条操作记录都可包含有一条对应的SQL语句,这些SQL语句可以是DROP、CREATE、ALTER、GRANT、REVOKE、TRUNCATE、UPDATE、INSERT、DELETE等语句,另外,日志中并不会记录SELECT语句和没有对数据进行实际更新的UPDATE语句。除了SQL语句之外,日志中的每条操作记录还可包含该操作记录的生成时间、该SQL语句的执行花费时间、生成该条操作记录的主机标识(Server ID)、发送该SQL语句的客户线程标识等信息。
在此,还对基于binlog进行主从数据库同步的方式进行简单说明。在主数据库的日志开关开启,并正常记录binlog的情况下,各从数据库可定期地增量获取主数据库的binlog,作为自己的binlog,并根据该binlog中的各操作记录,对自身的数据执行各操作记录所记录的操作(也即,回放该binlog),以实现主从数据库同步。
依据本发明的一个实施例,在上述步骤S102中,服务器提取第一数据库日志和第二数据库日志后,可根据第一数据库日志和第二数据库日志,更新第二数据库日志。具体的,服务器可查找包含在第一数据库日志中,且不包含在第二数据库日志中的操作记录,然后,将查找到的各操作记录并入第二数据库日志中,并将并入后的第二数据库日志作为更新后的第二数据库日志。显然,服务器查找到的这部分操作记录所对应的操作,即为第一数据库已执行,而第二数据库尚未执行的操作。
进一步的,依据本发明的一个实施例,查找包含在第一数据库日志中,且不包含在第二数据库日志中的操作记录的方法具体可以为:服务器可在第一数据库日志中,确定生成时间距当前时刻最近、且同时包含在第一数据库日志和第二数据库日志中的操作记录,并将确定出的操作记录的生成时间作为分界时间戳,然后,在第一数据库日志中,查找生成时间晚于分界时间戳的操作记录,作为查找到的包含在第一数据库日志中,且不包含在第二数据库日志中的操作记录,也即第一数据库尚未同步给第二数据库的操作记录。
需要说明的是,由于在数据库日志中,是按照生成时间的顺序保存各操作记录的,则第一数据库尚未同步给第二数据库的各操作记录是位于第一数据库日志的尾部且为连续的。因此,服务器确定出的生成时间距当前时刻最近、且同时包含在第一数据库日志和第二数据库日志中的操作记录,即为:第一数据库当前已同步给第二数据库的最后一条操作记录。从而,在第一数据库中位于该操作记录之后的各操作记录即为:第一数据库尚未同步给第二数据库的操作记录。
在本发明实施例中,对在第一数据库日志中,确定生成时间距当前时刻最近、且同时包含在第一数据库日志和第二数据库日志中的操作记录的方法不做限定,在此,仅对其中一种可行的方法进行说明。
服务器可按照生成时间从后到先的顺序,针对第一数据库日志中的各操作记录,判断在第二数据库日志中,是否包含有LogID与该操作记录的LogID相同的操作记录,若是,则将该操作记录确定为在第一数据库日志中的,生成时间距当前时刻最近、且同时包含在第一数据库日志和第二数据库日志中的操作记录,否则,对下一条操作记录重新进行上述判断,直至判断结果为是为止。其中,LogID是在主数据库日志和各从数据库日志中使用的一个全局变量,在这些数据库日志中,不同的操作记录可分别唯一对应一个不同的LogID,由服务器对LogID进行分配和维护。由于每个LogID可唯一标识一条操作记录,因此,LogID相同的操作记录即为相同的操作记录。
依据本发明的一个实施例,服务器在查找到包含在第一数据库日志中,且不包含在第二数据库日志中的各操作记录后,则可将查找到的各操作记录并入第二数据库日志中。针对在实际应用中,可能存在的以下场景进行具体分析。
第一种场景,在第二数据库切换为主数据库以后,若在第二数据库中尚未执行过数据修改操作,则服务器可直接将查找到的各操作记录都***第二数据库日志中。具体的,服务器可以将查找到的全部操作记录和第二数据库日志中已包含的各操作记录,通过在内存中的重组,按照操作记录的生成时间的顺序,重新保存在第二数据库日志中。
第二种场景,在第二数据库切换为主数据库以后,若第二数据库已经执行了某些数据修改操作,例如,对第二数据库中的某个数据项进行了赋值操作,在这种场景下,由于在第一数据库尚未同步给第二数据库的各操作记录中,可能有操作记录所对应的操作也是对该数据项进行赋值操作,因此,若后续将尚未同步的该操作记录***第二数据库,进而,回放***后的第二数据库日志的话,会使得该数据项的取值状态不正确(在回放整个第二数据库日志的情况下),或者对该数据项进行了冗余的赋值操作(在仅回放***的各操作记录的情况下)。
因此,在上述的第二种场景下,服务器可不直接将查找到的各操作记录都***第二数据库日志中,而是针对查找到的每条操作记录,确定该操作记录对应的标识,作为待定标识,并在第二数据库日志中,确定生成时间晚于该操作记录的生成时间的各操作记录对应的标识,作为对比标识,当各对比标识中不存在该待定标识时,根据该操作记录的生成时间,将该操作记录***第二数据库日志中,当各对比标识中存在该待定标识时,则从查找到的各操作记录中剔除该操作记录,后续也不将该操作记录***第二数据库日志中,即,忽略所述第一数据库日志中所述待定标识对应的操作记录。
在此,对所述的标识进行说明,所述的标识用于对其对应的操作记录中包含的SQL语句所要修改的数据项(以下称为待修改数据项)进行标识,由于要修改数据时,需先定位至对应的待修改数据项,再对待修改数据项进行赋值操作,因此,所述的标识可以是定位信息。又由于在数据库中是以二维表格的形式存储数据的,则若要定位待修改数据项,其定位信息至少包括该待修改数据项的两个属性,以及其中一个属性的值,从而,可定位到该待修改数据项并对另一个属性进行赋值操作。
根据上述的说明,所述的标识可以为该定位信息,也即,所述的标识可以包含待修改数据项的两个属性,以及其中一个属性的值。本发明实施例对所述的标识的表示格式并不做限定,在此仅列举出其中一种可行的表示格式:
可将所述的标识表示为一个二元组{(key1,value1),(key2)}。其中key1和key2为待修改数据项的两个属性,value1为key1的取值。举例进行详细说明,假定第一数据库中包含有数据表Student,在执行数据修改操作之前,数据表Student如下表1所示:
Sno Sname Ssex Sage Sdept
20140001 张三 18 CS
20140002 李四 22 CS
20140003 王五 20 Math
表1
在上述表1中,数据表Student中的每个数据项都包含有5个属性Sno(学号)、Sname(姓名)、Ssex(性别)、Sage(年龄)、Sdept(学院),以及各属性的值。某用户在向第一数据库发送了以下SQL语句:
“UPDATE Student
SET Sage=22
WHERE Sno=‘20140001’”。
意为:将数据表Student中,学号为‘20140001’的学生的年龄修改为22。
则第一数据库在执行该语句时,会根据该SQL语句中包含的定位信息定位到待修改数据项,然后对其进行赋值操作,并在第一数据库日志中写入相应的操作记录。根据上述的说明,这条操作记录的标识可以表示为{(Sno,‘20140001’),(Sage)}。即,key1为Sno,value1为‘20140001’,key2为Sage。
则在执行了该SQL语句之后,数据表Student如下表2所示:
Sno Sname Ssex Sage Sdept
20140001 张三 22 CS
20140002 李四 22 CS
20140003 王五 20 Math
表2
可以看到,在表2中,学号为‘20140001’的学生的年龄已修改为22。
下面继续基于上例,对上述的第二种场景的并入过程进行说明。
假定第一数据库在切换为从数据库后,尚未同步给第一数据库的操作记录一共有两条,操作记录a和操作记录b。
操作记录a中包含的SQL语句为:
“UPDATE Student
SET Sage=22
WHERE Sno=‘20140001’”。
意为:将数据表Student中,学号为‘20140001’的学生的年龄修改为‘22’。
操作记录b中包含的SQL语句为:
“UPDATE Student
SET Sdept=‘Math’
WHERE Sno=‘20140002’”。
意为:将数据表Student中,学号为‘20140002’的学生的学院修改为‘Math’。
假定第二数据库在切换为主数据库后,在尚未从第一数据库同步操作记录a和操作记录b时,又执行了一次数据修改操作,并记录在第二数据库日志中(记为操作记录c)。
操作记录c中包含的SQL语句为:
“UPDATE Student
SET Sage=24
WHERE Sno=‘20140001’”。
意为:将数据表Student中,学号为‘20140001’的学生的年龄修改为‘24’。
则服务器首先在第一数据库日志中查找到操作记录a和操作记录b,并分别确定它们对应的标识,作为待定标识。操作记录a对应的待定标识为{(Sno,‘20140001’),(Sage)},操作记录b对应的待定标识为{(Sno,‘20140002’),(Sdept)}。
然后,对于操作记录a,服务器在第二数据库日志中,确定生成时间晚于操作记录a的生成时间的各操作记录(即为操作记录c)对应的标识,作为对比标识。对比标记即为操作记录c的标识{(Sno,‘20140001’),(Sage)}。
接下来,由于操作记录c的标识与操作记录a的标识相同,则对比标识中存在该待定标识,也即,若将操作记录a同步至第二数据库日志中,则在后续回放操作记录a时,会修改操作记录c对应的操作所赋值过的数据项,但是,由于操作记录c的生成时间完于操作记录a的生成时间,因此,操作记录c对应的操作所赋值过的数据项当前的状态才是正确状态,从而,可以剔除操作记录a,后续也不将操作记录a***第二数据库日志中,即忽略第一数据库日志中待定标识{(Sno,‘20140001’),(Sage)}对应的操作记录a。
类似的,对于操作记录b,服务器在第二数据库日志中,确定生成时间晚于操作记录b的生成时间的各操作记录(即为操作记录c)对应的标识,作为对比标识。则对比标记即为操作记录c的标识{(Sno,‘20140001’),(Sage)},由于操作记录c的标识与操作记录b的标识不相同,则对比标识中不存在该待定标识,因此,操作记录b对应的操作所赋值过的数据项的状态才是正确状态,从而,需将操作记录b***第二数据库日志中,后续对操作记录b进行回放。
依据本发明的一个实施例,对于上述步骤S103,具体的,服务器在第二数据库日志中并入尚未同步的操作记录后,可针对并入第二数据库日志的每条操作记录,提取该操作记录中包含的操作指令,并在所述第二数据库上执行该操作指令。其中所述的操作指令即为SQL语句。至此,第二数据库中不再缺少尚未同步的数据,且数据状态也是正确的。
另外,第二数据库在同步完数据后,可将第二数据库日志同步给各从数据库(包括第一数据库),则各从数据库可采用第二数据库日志替换自身的数据库日志,并回放第二数据库切换为主数据库后,在第二数据库日志中新增的各操作记录,使得各从数据库与第二数据库保持数据一致、且数据库日志也保持一致。
图2为本发明实施例提供的数据库同步的详细过程,具体包括以下步骤:
S201:服务器在第一数据库切换为从数据库后,提取第一数据库的第一数据库日志和第二数据库的第二数据库日志。
S202:在第一数据库日志中,确定生成时间距当前时刻最近、且同时包含在第一数据库日志和第二数据库日志中的操作记录。
S203:将确定出的操作记录的生成时间作为分界时间戳。
S204:在第一数据库日志中,查找生成时间晚于分界时间戳的操作记录。
S205:针对查找到的每条操作记录,确定该操作记录对应的标识,作为待定标识。
S206:在第二数据库日志中,确定生成时间晚于该操作记录的生成时间的各操作记录对应的标识,作为对比标识。
S207:当各对比标识中不存在待定标识时,根据该操作记录的生成时间,将该操作记录***第二数据库日志中。
S208:针对***第二数据库日志中的每条操作记录,提取该操作记录中包含的操作指令,并在第二数据库上执行该操作指令。
在另一个实施例中,当各对比标识中存在待定标识时,则忽略第一数据库日志中待定标识对应的操作记录,而不将该操作记录***第二数据库日志中。
以上为本发明实施例提供的一种数据库同步方法,基于同样的发明思路,本发明实施例还提供一种数据库同步装置,如图3所示。
图3为依据本发明一个实施例的数据库切换装置结构示意图,具体包括:
提取模块301,用于在所述第一数据库切换为从数据库后,提取所述第一数据库的第一数据库日志和所述第二数据库的第二数据库日志;
更新模块302,用于根据所述第一数据库日志和所述第二数据库日志,更新所述第二数据库日志;
同步模块303,用于根据更新后的第二数据库日志中包含的各操作记录,对所述第二数据库中的数据进行同步操作。
所述日志至少包括二进制日志binlog。
所述更新模块302进一步用于,查找包含在所述第一数据库日志中,且不包含在所述第二数据库日志中的操作记录,将查找到的各操作记录并入所述第二数据库日志中,并将并入后的第二数据库日志作为更新后的第二数据库日志。
所述更新模块302进一步用于,在所述第一数据库日志中,确定生成时间距当前时刻最近、且同时包含在所述第一数据库日志和所述第二数据库日志中的操作记录,将确定出的操作记录的生成时间作为分界时间戳,在所述第一数据库日志中,查找生成时间晚于所述分界时间戳的操作记录。
所述更新模块302进一步用于,针对查找到的每条操作记录,确定该操作记录对应的标识,作为待定标识,在所述第二数据库日志中,确定生成时间晚于该操作记录的生成时间的各操作记录对应的标识,作为对比标识,当各对比标识中不存在所述待定标识时,根据该操作记录的生成时间,将该操作记录***所述第二数据库日志中。
所述更新模块302进一步用于,当各对比标识中存在所述待定标识时,忽略所述第一数据库日志中所述待定标识对应的操作记录。
所述同步模块303进一步用于,针对***所述第二数据库日志中的每条操作记录,提取该操作记录中包含的操作指令,并在所述第二数据库上执行该操作指令。
具体的上述如图3所示的数据库同步装置可以位于服务器中。
本发明实施例提供一种数据库同步方法及装置,应用于至少包含第一数据库和第二数据库的数据***,第一数据库由主数据库切换为从数据库,第二数据库由从数据库切换为主数据库。该方法在第一数据库切换为从数据库后,提取第一数据库的第一数据库日志和第二数据库的第二数据库日志,根据第一数据库日志和第二数据库日志,更新第二数据库日志,根据更新后的第二数据库日志中包含的各操作记录,对第二数据库中的数据进行同步操作。由于在第一数据库切换为从数据库后,第二数据库从第一数据库获取了之前尚未同步过来的日志,并根据该日志对自身的数据进行了同步操作,因此,此后第二数据库中不再缺少第一数据库尚未同步过来的数据,且第二数据库中的数据状态也是正确的。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的拦截应用程序中的植入信息的设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”或“包括”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本申请可以应用于计算机***/服务器,其可与众多其它通用或专用计算***环境或配置一起操作。适于与计算机***/服务器一起使用的众所周知的计算***、环境和/或配置的例子包括但不限于:个人计算机***、服务器计算机***、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的***、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机***﹑大型计算机***和包括上述任何***的分布式云计算技术环境,等等。
计算机***/服务器可以在由计算机***执行的计算机***可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机***/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算***存储介质上。
本发明包括A8、一种数据库同步装置,其特征在于,所述装置应用于至少包含第一数据库和第二数据库的数据***,所述第一数据库由主数据库切换为从数据库,所述第二数据库由从数据库切换为主数据库,所述装置包括:
提取模块,用于在所述第一数据库切换为从数据库后,提取所述第一数据库的第一数据库日志和所述第二数据库的第二数据库日志;
更新模块,用于根据所述第一数据库日志和所述第二数据库日志,更新所述第二数据库日志;
同步模块,用于根据更新后的第二数据库日志中包含的各操作记录,对所述第二数据库中的数据进行同步操作。
A10、如权利要求A8所述的装置,其特征在于,所述更新模块进一步用于,查找包含在所述第一数据库日志中,且不包含在所述第二数据库日志中的操作记录,将查找到的各操作记录并入所述第二数据库日志中,并将并入后的第二数据库日志作为更新后的第二数据库日志。
A11、如权利要求A10所述的装置,其特征在于,所述更新模块进一步用于,在所述第一数据库日志中,确定生成时间距当前时刻最近、且同时包含在所述第一数据库日志和所述第二数据库日志中的操作记录,将确定出的操作记录的生成时间作为分界时间戳,在所述第一数据库日志中,查找生成时间晚于所述分界时间戳的操作记录。
A12、如权利要求A10所述的装置,其特征在于,所述更新模块进一步用于,针对查找到的每条操作记录,确定该操作记录对应的标识,作为待定标识,在所述第二数据库日志中,确定生成时间晚于该操作记录的生成时间的各操作记录对应的标识,作为对比标识,当各对比标识中不存在所述待定标识时,根据该操作记录的生成时间,将该操作记录***所述第二数据库日志中.
A13、如权利要求A12所述的装置,其特征在于,所述更新模块进一步用于,当各对比标识中存在所述待定标识时,忽略所述第一数据库日志中所述待定标识对应的操作记录。
A14、如权利要求A10所述的装置,其特征在于,所述同步模块进一步用于,针对并入所述第二数据库日志中的每条操作记录,提取该操作记录中包含的操作指令,并在所述第二数据库上执行该操作指令。

Claims (10)

1.一种数据库同步方法,其特征在于,所述方法应用于至少包含第一数据库和第二数据库的数据***,所述第一数据库由主数据库切换为从数据库,所述第二数据库由从数据库切换为主数据库,所述方法包括:
在所述第一数据库切换为从数据库后,提取所述第一数据库的第一数据库日志和所述第二数据库的第二数据库日志;
根据所述第一数据库日志和所述第二数据库日志,更新所述第二数据库日志;
根据更新后的第二数据库日志中包含的各操作记录,对所述第二数据库中的数据进行同步操作。
2.如权利要求1所述的方法,其特征在于,所述日志至少包括二进制日志binlog。
3.如权利要求1所述的方法,其特征在于,根据所述第一数据库日志和所述第二数据库日志,更新所述第二数据库日志,包括:
查找包含在所述第一数据库日志中,且不包含在所述第二数据库日志中的操作记录;
将查找到的各操作记录并入所述第二数据库日志中,并将并入后的第二数据库日志作为更新后的第二数据库日志。
4.如权利要求3所述的方法,其特征在于,查找包含在所述第一数据库日志中,且不包含在所述第二数据库日志中的操作记录,包括:
在所述第一数据库日志中,确定生成时间距当前时刻最近、且同时包含在所述第一数据库日志和所述第二数据库日志中的操作记录;
将确定出的操作记录的生成时间作为分界时间戳;
在所述第一数据库日志中,查找生成时间晚于所述分界时间戳的操作记录。
5.如权利要求3所述的方法,其特征在于,将查找到的各操作记录并入所述第二数据库日志中,包括:
针对查找到的每条操作记录,确定该操作记录对应的标识,作为待定标识;
在所述第二数据库日志中,确定生成时间晚于该操作记录的生成时间的各操作记录对应的标识,作为对比标识;
当各对比标识中不存在所述待定标识时,根据该操作记录的生成时间,将该操作记录***所述第二数据库日志中。
6.如权利要求5所述的方法,其特征在于,当各对比标识中存在所述待定标识时,忽略所述第一数据库日志中所述待定标识对应的操作记录。
7.如权利要求3所述的方法,其特征在于,根据更新后的第二数据库日志中包含的各操作记录,对所述第二数据库中的数据进行同步操作,包括:
针对并入所述第二数据库日志中的每条操作记录,提取该操作记录中包含的操作指令,并在所述第二数据库上执行该操作指令。
8.一种数据库同步装置,其特征在于,所述装置应用于至少包含第一数据库和第二数据库的数据***,所述第一数据库由主数据库切换为从数据库,所述第二数据库由从数据库切换为主数据库,所述装置包括:
提取模块,用于在所述第一数据库切换为从数据库后,提取所述第一数据库的第一数据库日志和所述第二数据库的第二数据库日志;
更新模块,用于根据所述第一数据库日志和所述第二数据库日志,更新所述第二数据库日志;
同步模块,用于根据更新后的第二数据库日志中包含的各操作记录,对所述第二数据库中的数据进行同步操作。
9.如权利要求8所述的装置,其特征在于,所述日志至少包括二进制日志binlog。
10.如权利要求8所述的装置,其特征在于,所述更新模块进一步用于,查找包含在所述第一数据库日志中,且不包含在所述第二数据库日志中的操作记录,将查找到的各操作记录并入所述第二数据库日志中,并将并入后的第二数据库日志作为更新后的第二数据库日志。
CN201410696885.3A 2014-11-26 2014-11-26 一种数据库同步方法及装置 Pending CN104346479A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410696885.3A CN104346479A (zh) 2014-11-26 2014-11-26 一种数据库同步方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410696885.3A CN104346479A (zh) 2014-11-26 2014-11-26 一种数据库同步方法及装置

Publications (1)

Publication Number Publication Date
CN104346479A true CN104346479A (zh) 2015-02-11

Family

ID=52502070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410696885.3A Pending CN104346479A (zh) 2014-11-26 2014-11-26 一种数据库同步方法及装置

Country Status (1)

Country Link
CN (1) CN104346479A (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699541A (zh) * 2015-03-30 2015-06-10 北京奇虎科技有限公司 同步数据的方法、装置、数据传输组件及***
CN104731956A (zh) * 2015-04-02 2015-06-24 北京奇虎科技有限公司 同步数据的方法、***及相关数据库
CN106021019A (zh) * 2016-05-12 2016-10-12 广西尊达电子商务有限公司 一种数据库自动恢复方法
CN106997352A (zh) * 2016-01-22 2017-08-01 晖保智能科技(上海)有限公司 一种主从同步管理方法
CN107395770A (zh) * 2017-09-06 2017-11-24 武汉斗鱼网络科技有限公司 数据同步方法及装置
CN107632906A (zh) * 2017-09-30 2018-01-26 北京九桥同步软件有限公司 数据库数据备份方法及装置
CN108108431A (zh) * 2017-12-19 2018-06-01 中国民航信息网络股份有限公司 数据同步方法和***
CN108363791A (zh) * 2018-02-13 2018-08-03 沈阳东软医疗***有限公司 一种数据库的数据同步方法和装置
CN108763358A (zh) * 2018-05-16 2018-11-06 阿里巴巴集团控股有限公司 一种数据校验方法及装置
CN108984337A (zh) * 2018-05-29 2018-12-11 杭州网易再顾科技有限公司 一种数据同步异常的修复方法、修复装置、介质和计算设备
CN110413685A (zh) * 2019-04-12 2019-11-05 财付通支付科技有限公司 数据库服务切换方法、装置、可读存储介质和计算机设备
CN110958287A (zh) * 2018-09-27 2020-04-03 阿里巴巴集团控股有限公司 操作对象数据同步方法、装置及***
CN110955723A (zh) * 2019-11-15 2020-04-03 北京浪潮数据技术有限公司 一种主从数据库同步状态监控方法、装置及电子设备
CN111414416A (zh) * 2020-02-28 2020-07-14 平安科技(深圳)有限公司 数据处理方法、装置、设备和存储介质
CN111639132A (zh) * 2020-05-29 2020-09-08 中国联合网络通信集团有限公司 日志同步方法及设备
CN114020850A (zh) * 2022-01-05 2022-02-08 深圳市明源云科技有限公司 数据库数据同步方法、装置、设备及可读存储介质
WO2024098756A1 (zh) * 2022-11-11 2024-05-16 华为云计算技术有限公司 一种数据库的管理方法及相关设备

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102089760A (zh) * 2008-03-04 2011-06-08 苹果公司 同步服务器处理
CN102456052A (zh) * 2010-11-02 2012-05-16 江苏大学 一种嵌入式设备与数据库数据同步方法
CN102984278A (zh) * 2012-12-17 2013-03-20 北京奇虎科技有限公司 实现浏览器数据同步的***和方法
CN103488668A (zh) * 2012-06-07 2014-01-01 国际商业机器公司 在消除数据丢失的同时减少数据传输的方法和***
CN103500229A (zh) * 2013-10-24 2014-01-08 北京奇虎科技有限公司 一种数据库同步方法和数据库***
CN103577546A (zh) * 2013-10-12 2014-02-12 北京奇虎科技有限公司 一种数据备份的方法、设备及分布式集群文件***
CN103678494A (zh) * 2013-11-15 2014-03-26 北京奇虎科技有限公司 客户端同步服务端数据的方法及装置
CN103761318A (zh) * 2014-01-27 2014-04-30 中国工商银行股份有限公司 一种关系型异构数据库数据同步的方法及***
CN103795754A (zh) * 2012-10-31 2014-05-14 中国电信股份有限公司 多***间的数据同步方法和***
CN103916482A (zh) * 2014-04-21 2014-07-09 合肥盈云信息科技有限公司 一种基于sqlite的数据同步传输方法
CN103970833A (zh) * 2014-04-02 2014-08-06 浙江大学 一种基于日志的异构数据库同步***中双向同步数据循环的解决方法
CN104023085A (zh) * 2014-06-25 2014-09-03 武汉大学 一种基于增量同步的安全云存储***

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102089760A (zh) * 2008-03-04 2011-06-08 苹果公司 同步服务器处理
CN102456052A (zh) * 2010-11-02 2012-05-16 江苏大学 一种嵌入式设备与数据库数据同步方法
CN103488668A (zh) * 2012-06-07 2014-01-01 国际商业机器公司 在消除数据丢失的同时减少数据传输的方法和***
CN103795754A (zh) * 2012-10-31 2014-05-14 中国电信股份有限公司 多***间的数据同步方法和***
CN102984278A (zh) * 2012-12-17 2013-03-20 北京奇虎科技有限公司 实现浏览器数据同步的***和方法
CN103577546A (zh) * 2013-10-12 2014-02-12 北京奇虎科技有限公司 一种数据备份的方法、设备及分布式集群文件***
CN103500229A (zh) * 2013-10-24 2014-01-08 北京奇虎科技有限公司 一种数据库同步方法和数据库***
CN103678494A (zh) * 2013-11-15 2014-03-26 北京奇虎科技有限公司 客户端同步服务端数据的方法及装置
CN103761318A (zh) * 2014-01-27 2014-04-30 中国工商银行股份有限公司 一种关系型异构数据库数据同步的方法及***
CN103970833A (zh) * 2014-04-02 2014-08-06 浙江大学 一种基于日志的异构数据库同步***中双向同步数据循环的解决方法
CN103916482A (zh) * 2014-04-21 2014-07-09 合肥盈云信息科技有限公司 一种基于sqlite的数据同步传输方法
CN104023085A (zh) * 2014-06-25 2014-09-03 武汉大学 一种基于增量同步的安全云存储***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
屈志毅等: "DB2大型数据库容灾备份实时复制***", 《计算机***应用》 *
钱志新著: "《数据大金矿》", 31 August 2013, 南京大学出版社 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699541A (zh) * 2015-03-30 2015-06-10 北京奇虎科技有限公司 同步数据的方法、装置、数据传输组件及***
CN104699541B (zh) * 2015-03-30 2018-07-10 北京奇虎科技有限公司 同步数据的方法、装置、数据传输组件及***
CN104731956B (zh) * 2015-04-02 2019-07-23 北京奇虎科技有限公司 同步数据的方法、***及相关数据库
CN104731956A (zh) * 2015-04-02 2015-06-24 北京奇虎科技有限公司 同步数据的方法、***及相关数据库
CN106997352A (zh) * 2016-01-22 2017-08-01 晖保智能科技(上海)有限公司 一种主从同步管理方法
CN106021019A (zh) * 2016-05-12 2016-10-12 广西尊达电子商务有限公司 一种数据库自动恢复方法
CN107395770A (zh) * 2017-09-06 2017-11-24 武汉斗鱼网络科技有限公司 数据同步方法及装置
CN107632906A (zh) * 2017-09-30 2018-01-26 北京九桥同步软件有限公司 数据库数据备份方法及装置
CN108108431B (zh) * 2017-12-19 2021-07-23 中国民航信息网络股份有限公司 数据同步方法和***
CN108108431A (zh) * 2017-12-19 2018-06-01 中国民航信息网络股份有限公司 数据同步方法和***
CN108363791A (zh) * 2018-02-13 2018-08-03 沈阳东软医疗***有限公司 一种数据库的数据同步方法和装置
CN108763358A (zh) * 2018-05-16 2018-11-06 阿里巴巴集团控股有限公司 一种数据校验方法及装置
CN108984337B (zh) * 2018-05-29 2021-04-16 杭州网易再顾科技有限公司 一种数据同步异常的修复方法、修复装置、介质和计算设备
CN108984337A (zh) * 2018-05-29 2018-12-11 杭州网易再顾科技有限公司 一种数据同步异常的修复方法、修复装置、介质和计算设备
CN110958287A (zh) * 2018-09-27 2020-04-03 阿里巴巴集团控股有限公司 操作对象数据同步方法、装置及***
CN110958287B (zh) * 2018-09-27 2022-06-24 阿里云计算有限公司 操作对象数据同步方法、装置及***
CN110413685A (zh) * 2019-04-12 2019-11-05 财付通支付科技有限公司 数据库服务切换方法、装置、可读存储介质和计算机设备
CN110413685B (zh) * 2019-04-12 2024-03-12 财付通支付科技有限公司 数据库服务切换方法、装置、可读存储介质和计算机设备
CN110955723A (zh) * 2019-11-15 2020-04-03 北京浪潮数据技术有限公司 一种主从数据库同步状态监控方法、装置及电子设备
CN111414416A (zh) * 2020-02-28 2020-07-14 平安科技(深圳)有限公司 数据处理方法、装置、设备和存储介质
WO2021169268A1 (zh) * 2020-02-28 2021-09-02 平安科技(深圳)有限公司 数据处理方法、装置、设备和存储介质
CN111414416B (zh) * 2020-02-28 2023-05-23 平安科技(深圳)有限公司 数据处理方法、装置、设备和存储介质
CN111639132A (zh) * 2020-05-29 2020-09-08 中国联合网络通信集团有限公司 日志同步方法及设备
CN111639132B (zh) * 2020-05-29 2023-06-06 中国联合网络通信集团有限公司 日志同步方法及设备
CN114020850A (zh) * 2022-01-05 2022-02-08 深圳市明源云科技有限公司 数据库数据同步方法、装置、设备及可读存储介质
WO2024098756A1 (zh) * 2022-11-11 2024-05-16 华为云计算技术有限公司 一种数据库的管理方法及相关设备

Similar Documents

Publication Publication Date Title
CN104346479A (zh) 一种数据库同步方法及装置
EP2784665B1 (en) Program and version control method
CN106874281B (zh) 实现数据库读写分离的方法和装置
CN103226485A (zh) 代码发布方法、代码发布机和代码发布***
US20160098390A1 (en) Command history analysis apparatus and command history analysis method
US10353874B2 (en) Method and apparatus for associating information
US10048978B2 (en) Apparatus and method for identifying a virtual machine having changeable settings
CN106445643B (zh) 克隆、升级虚拟机的方法及设备
US11334348B2 (en) Utilizing machine learning to identify and correct differences in application programming interface (API) specifications
KR20160124744A (ko) 인-메모리 데이터베이스를 호스팅하는 시스템 및 방법
CN105740303A (zh) 改进的对象存储的方法及装置
CN106709066B (zh) 数据同步方法及装置
CN106605217B (zh) 用于将应用从一个站点移动到另一站点的方法和***
US9037539B2 (en) Data synchronization
CN105095392B (zh) 一种数据集市间共享数据的方法及装置
US10984190B2 (en) Atom-based sensible synchronization for information indexing
CN104462342B (zh) 数据库快照同步处理方法及装置
US20140136568A1 (en) System and method for automatic wrapper induction using target strings
US20140108367A1 (en) Client apparatus and database server for resumable transaction and method thereof
US11086899B2 (en) On demand synchronization of information
US20150248440A1 (en) Method for reconfiguration of database, recording medium, and reconfiguration device
US9703848B2 (en) Caching linked queries for optimized compliance management
US20180032510A1 (en) Automated translation of source code
CN107357691B (zh) 镜像文件的处理方法及装置
US10387527B2 (en) Global filtering across heterogeneous datasets

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination