CN110851528B - 数据库同步方法、装置、存储介质及计算机设备 - Google Patents
数据库同步方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN110851528B CN110851528B CN201910954312.9A CN201910954312A CN110851528B CN 110851528 B CN110851528 B CN 110851528B CN 201910954312 A CN201910954312 A CN 201910954312A CN 110851528 B CN110851528 B CN 110851528B
- Authority
- CN
- China
- Prior art keywords
- database
- data
- synchronized
- log data
- databases
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种数据库同步方法、装置、存储介质及计算机设备,数据库包括多个第一数据库和多个第二数据库,第一数据库和第二数据库被配置在不同的城市中,各第一数据库被配置在相同的城市中,多个第一数据库中包括第一主数据库和第一备数据库,第一主数据库和第一备数据库配置在不同的机房中,第一主数据库具有对应的从数据库,该方法包括获取各从数据库的第一日志数据,并获取第一备数据库的第二日志数据;根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中。通过本发明能够有效保障数据同步的一致性,提升数据同步效果,避免影响清算业务。
Description
技术领域
本发明涉及清算技术领域,尤其涉及一种数据库同步方法、装置、存储介质及计算机设备。
背景技术
在清算平台中,其后台数据库一般的布局方式为三地六机房的布局方式,即,不同的数据库分布配置在三个城市中,并且,同一个城市的数据库对应配置在两个机房中,数据库同步的方式一般采用跨机房同步复制的机制,例如,北京和上海的机房各存在一个写节点,通常以北京机房的为主节点,上海的写节点作为从节点同步复制北京的主节点中的数据,其余机房的数据库作为从数据库,同步复制北京机房数据库中的数据,中间件应用定期查询所有数据库的状态,如果发现有踢库状态下发,就会对本机房的数据库采取路由到别的数据库。
在六机房采用的数据库同步架构为每个机房提供三台数据库构成的一主两从。为保证同机房的高可用以及数据一致性,同机房采用数据库的半同步复制的机制,确保在主数据库故障的情况下,从数据库可以保证数据一致性的前提下提升为主数据库,继续提供服务。而跨机房的网络延迟相对较高,如果采用半同步复制会导致主数据库的写请求时延会增长,吞吐量降低,因此,通常不同城市的机房的数据同步采用异步复制的机制,由此不同城市机房的数据同步会存在秒级别的延迟。
这种方式下,当前城市的主机房中的数据库产生故障,需要切换到另一城市的机房中的数据库时,若此时当前城市的主数据库上已经提交的事务可能并没有传到另一城市的从数据库上,若切换到另一城市的从数据库后,可能会存在数据不一致的情况,数据同步效果不佳,影响清算业务的展开。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种数据库同步方法,能够有效保障数据同步的一致性,提升数据同步效果,避免影响清算业务。
本发明的另一个目的在于提出一种数据库同步装置。
本发明的另一个目的在于提出一种非临时性计算机可读存储介质。
本发明的另一个目的在于提出一种计算机程序产品。
本发明的另一个目的在于提出一种计算机设备。
为达到上述目的,本发明第一方面实施例提出的数据库同步方法,所述数据库包括多个第一数据库和多个第二数据库,所述第一数据库和所述第二数据库被配置在不同的城市中,各所述第一数据库被配置在相同的城市中,所述多个第一数据库中包括第一主数据库和第一备数据库,所述第一主数据库和所述第一备数据库配置在不同的机房中,所述第一主数据库具有对应的从数据库,包括:获取各所述从数据库的第一日志数据,并获取所述第一备数据库的第二日志数据;根据所述第一日志数据和所述第二日志数据,将所述第一数据库中当前待同步数据同步至所述第二数据库中。
本发明第一方面实施例提出的数据库同步方法,通过获取各从数据库的第一日志数据,并获取第一备数据库的第二日志数据,并根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中,由于结合了当前城市的本地机房中的从数据库的日志数据,和同城市机房中的备数据库的日志数据触发进行数据的同步,能够有效保障数据同步的一致性,提升数据同步效果,避免影响清算业务。
为达到上述目的,本发明第二方面实施例提出的数据库同步装置,所述数据库包括多个第一数据库和多个第二数据库,所述第一数据库和所述第二数据库被配置在不同的城市中,各所述第一数据库被配置在相同的城市中,所述多个第一数据库中包括第一主数据库和第一备数据库,所述第一主数据库和所述第一备数据库配置在不同的机房中,所述第一主数据库具有对应的从数据库,包括:获取模块,用于获取各所述从数据库的第一日志数据,并获取所述第一备数据库的第二日志数据;同步模块,用于根据所述第一日志数据和所述第二日志数据,将所述第一数据库中当前待同步数据同步至所述第二数据库中。
本发明第二方面实施例提出的数据库同步装置,通过获取各从数据库的第一日志数据,并获取第一备数据库的第二日志数据,并根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中,由于结合了当前城市的本地机房中的从数据库的日志数据,和同城市机房中的备数据库的日志数据触发进行数据的同步,能够有效保障数据同步的一致性,提升数据同步效果,避免影响清算业务。
为达到上述目的,本发明第三方面实施例提出的非临时性计算机可读存储介质,当所述存储介质中的指令由处理器被执行时,使得终端能够执行一种数据库同步方法,所述数据库包括多个第一数据库和多个第二数据库,所述第一数据库和所述第二数据库被配置在不同的城市中,各所述第一数据库被配置在相同的城市中,所述多个第一数据库中包括第一主数据库和第一备数据库,所述第一主数据库和所述第一备数据库配置在不同的机房中,所述第一主数据库具有对应的从数据库,所述方法包括:本发明第一方面实施例提出的数据库同步方法。
本发明第三方面实施例提出的非临时性计算机可读存储介质,通过获取各从数据库的第一日志数据,并获取第一备数据库的第二日志数据,并根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中,由于结合了当前城市的本地机房中的从数据库的日志数据,和同城市机房中的备数据库的日志数据触发进行数据的同步,能够有效保障数据同步的一致性,提升数据同步效果,避免影响清算业务。
为达到上述目的,本发明第四方面实施例提出的计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行一种数据库同步方法,所述数据库包括多个第一数据库和多个第二数据库,所述第一数据库和所述第二数据库被配置在不同的城市中,各所述第一数据库被配置在相同的城市中,所述多个第一数据库中包括第一主数据库和第一备数据库,所述第一主数据库和所述第一备数据库配置在不同的机房中,所述第一主数据库具有对应的从数据库,,所述方法包括:获取各所述从数据库的第一日志数据,并获取所述第一备数据库的第二日志数据;根据所述第一日志数据和所述第二日志数据,将所述第一数据库中当前待同步数据同步至所述第二数据库中。
本发明第四方面实施例提出的计算机程序产品,通过获取各从数据库的第一日志数据,并获取第一备数据库的第二日志数据,并根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中,由于结合了当前城市的本地机房中的从数据库的日志数据,和同城市机房中的备数据库的日志数据触发进行数据的同步,能够有效保障数据同步的一致性,提升数据同步效果,避免影响清算业务。
为达到上述目的,本发明第五方面实施例还提出一种计算机设备,该计算机设备包括壳体、处理器、存储器、电路板和电源电路,其中,所述电路板安置在所述壳体围成的空间内部,所述处理器和所述存储器设置在所述电路板上;所述电源电路,用于为所述计算机设备的各个电路或器件供电;所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行:获取各所述从数据库的第一日志数据,并获取所述第一备数据库的第二日志数据;根据所述第一日志数据和所述第二日志数据,将所述第一数据库中当前待同步数据同步至所述第二数据库中。
本发明第五方面实施例还提出一种计算机设备,通过获取各从数据库的第一日志数据,并获取第一备数据库的第二日志数据,并根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中,由于结合了当前城市的本地机房中的从数据库的日志数据,和同城市机房中的备数据库的日志数据触发进行数据的同步,能够有效保障数据同步的一致性,提升数据同步效果,避免影响清算业务。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一实施例提出的数据库同步方法的流程示意图;
图2为本发明实施例中数据库架构示意图;
图3是本发明一实施例提出的数据库同步装置的结构示意图;
图4是本发明另一实施例提出的数据库同步装置的结构示意图;
图5是本发明一个实施例提出的计算机设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
为了解决相关技术中当前城市的主机房中的数据库产生故障,需要切换到另一城市的机房中的数据库时,若此时当前城市的主数据库上已经提交的事务可能并没有传到另一城市的从数据库上,若切换到另一城市的从数据库后,可能会存在数据不一致的情况,数据同步效果不佳,影响清算业务的展开的技术问题,本发明实施例中提供一种数据库同步方法,数据库包括多个第一数据库和多个第二数据库,第一数据库和第二数据库被配置在不同的城市中,各第一数据库被配置在相同的城市中,多个第一数据库中包括第一主数据库和第一备数据库,第一主数据库和第一备数据库配置在不同的机房中,第一主数据库具有对应的从数据库,通过获取各从数据库的第一日志数据,并获取第一备数据库的第二日志数据,并根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中,由于结合了当前城市的本地机房中的从数据库的日志数据,和同城市机房中的备数据库的日志数据触发进行数据的同步,能够有效保障数据同步的一致性,提升数据同步效果,避免影响清算业务。
图1是本发明一实施例提出的数据库同步方法的流程示意图。
本实施例以数据库同步方法被配置为数据库同步装置中来举例说明。
本实施例中数据库同步方法可以被配置在数据库同步装置中,数据库同步装置可以设置在服务器中,或者也可以设置在电子设备中,本发明实施例对此不作限制。
本实施例以数据库同步方法被配置在服务器中为例。
本发明实施例中的数据库包括多个第一数据库和多个第二数据库,第一数据库和第二数据库被配置在不同的城市中,各第一数据库被配置在相同的城市中,多个第一数据库中包括第一主数据库和第一备数据库,第一主数据库和第一备数据库配置在不同的机房中,第一主数据库具有对应的从数据库。
参见图2,图2为本发明实施例中数据库架构示意图,其中,该数据库架构的城市分布仅为示意,对此不作限制,例如,被配置在北京的数据库可以被称为第一数据库,被配置在上海和深圳的数据库可以被称为第二数据库,被配置在北京的第一数据库具体被分配在不同的机房中,机房例如包括本地机房21和同城的另一个机房22,在本地机房21中包括:第一主数据库23,和对应的从数据库24,在同城的另一个机房22中包括:第一备数据库25,其中,各从数据库24半同步复制第一主数据库23的数据,第一备数据库25半同步复制第一主数据库23的数据,对此不作限制。
其中,电子设备例如为个人电脑(Personal Computer,PC),云端设备或者移动设备,移动设备例如智能手机,或者平板电脑等。
需要说明的是,本发明实施例的执行主体,在硬件上可以例如为服务器或者电子设备中的中央处理器(Central Processing Unit,CPU),在软件上可以例如为服务器或者电子设备中的相关的后台服务,对此不作限制。
参见图1,该方法包括:
S101:获取各从数据库的第一日志数据,并获取第一备数据库的第二日志数据。
其中,从数据库的日志数据可以被称为第一日志数据,第一备数据库的日志数据可以被称为第二日志数据。
在具体执行的过程中,可以针对数据库同步装置配置日志解析程序,在进行数据同步过程中,经由数据库同步装置自动化地执行该日志解析程序,以获取各从数据库的日志数据并作为第一日志数据,以及获取第一备数据库的日志数据并作为第二日志数据。
其中,日志数据为数据库对应的二进制日志中的数据,该二进制日志中的数据用于描述数据库中记录数据被修改的相关信息。
在具体执行的过程中,若针对数据库同步装置配置日志解析程序,在进行数据库同步之后,还可以将日志解析程序自动化地部署至不同城市、不同机房的任意数据库中,以能够通过自动化地执行该日志解析程序以获取任意数据库的日志数据。
S102:根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中。
在具体执行的过程中,在获取第一日志数据和第二日志数据之后,可以实时地分析比对第一日志数据和第二日志数据,以此确定当前待同步数据在本地和同城市机房是否均落盘,以此有效地解决单机房故障时,待同步数据无法及时同步至另一城市的机房的技术问题。
可选地,将第一数据库中当前待同步数据同步至第二数据库中时,可以采用异步复制的机制将第一数据库中当前待同步数据同步至第二数据库中。
作为一个可选的实施例,在根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中时,可以解析第一日志数据得到与当前待同步数据对应的第一全局事务序列号,并解析第二日志数据得到与当前待同步数据对应的第二全局事务序列号,并判断第一全局事务序列号和第二全局事务序列号是否相同,以及在第一全局事务序列号和第二全局事务序列号相同时,将第一数据库中当前待同步数据同步至第二数据库中。
通过上述步骤,如果第一日志数据和第二日志数据中的全局事务序列号是相同的,则表明当前待同步数据对应的全局事务是主数据库所产生,当前待同步数据在本地和同城市机房均落盘,此时可以通过日志数据将该待同步数据同步至从数据库,即,在两边全局事务序列号是相同的,只选择一边的待同步数据应用即可,这样比对的数据会更加迅速,有效提升数据同步的效率。
作为另一个可选的实施例,在根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中时,还可以解析第一日志数据得到与当前待同步数据对应的第一字段值,并解析第二日志数据得到与当前待同步数据对应的第二字段值,并判断第一字段值和第二字段值是否相同,以及在第一字段值和第二字段值相同时,确定当前待同步数据在本地和同城市机房均落盘,此时可以将第一数据库中当前待同步数据同步至第二数据库中。
通过上述步骤,能够提供多种日志数据分析的方法,有效保障数据同步方法执行的灵活性,提升数据同步方法的应用范围和适用性。
本实施例中,通过获取各从数据库的第一日志数据,并获取第一备数据库的第二日志数据,并根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中,由于结合了当前城市的本地机房中的从数据库的日志数据,和同城市机房中的备数据库的日志数据触发进行数据的同步,能够有效保障数据同步的一致性,提升数据同步效果,避免影响清算业务。
图3是本发明一实施例提出的数据库同步装置的结构示意图。
数据库包括多个第一数据库和多个第二数据库,第一数据库和第二数据库被配置在不同的城市中,各第一数据库被配置在相同的城市中,多个第一数据库中包括第一主数据库和第一备数据库,第一主数据库和第一备数据库配置在不同的机房中,第一主数据库具有对应的从数据库。
参见图3,装置300包括:
获取模块301,用于获取各从数据库的第一日志数据,并获取第一备数据库的第二日志数据;
同步模块302,用于根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中。
可选地,一些实施例中,各从数据库半同步复制第一主数据库的数据,第一备数据库半同步复制第一主数据库的数据。
可选地,一些实施例中,参见图4,同步模块302,包括:
第一解析子模块3021,用于解析第一日志数据得到与当前待同步数据对应的第一全局事务序列号,并解析第二日志数据得到与当前待同步数据对应的第二全局事务序列号;
第一判断子模块3022,用于判断第一全局事务序列号和第二全局事务序列号是否相同;
第一同步子模块3023,用于在第一全局事务序列号和第二全局事务序列号相同时,将第一数据库中当前待同步数据同步至第二数据库中。
可选地,一些实施例中,参见图4,同步模块302,包括:
第二解析子模块3024,用于解析第一日志数据得到与当前待同步数据对应的第一字段值,并解析第二日志数据得到与当前待同步数据对应的第二字段值;
第二判断子模块3025,用于判断第一字段值和第二字段值是否相同;
第二同步子模块3026,用于在第一字段值和第二字段值相同时,将第一数据库中当前待同步数据同步至第二数据库中。
可选地,一些实施例中,参见图4,同步模块302,具体用于:
采用异步复制的机制将第一数据库中当前待同步数据同步至第二数据库中。
需要说明的是,前述图1-图2实施例中对数据库同步方法实施例的解释说明也适用于该实施例的数据库同步装置300,其实现原理类似,此处不再赘述。
本实施例中,通过获取各从数据库的第一日志数据,并获取第一备数据库的第二日志数据,并根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中,由于结合了当前城市的本地机房中的从数据库的日志数据,和同城市机房中的备数据库的日志数据触发进行数据的同步,能够有效保障数据同步的一致性,提升数据同步效果,避免影响清算业务。
图5是本发明一个实施例提出的计算机设备的结构示意图。
参见图5,本实施例的计算机设备50包括:壳体501、处理器502、存储器503、电路板504、电源电路505,电路板504安置在壳体501围成的空间内部,处理器502、存储器503设置在电路板504上;电源电路505,用于为计算机设备50各个电路或器件供电;存储器503用于存储可执行程序代码;其中,处理器502通过读取存储器503中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行:
获取各从数据库的第一日志数据,并获取第一备数据库的第二日志数据;
根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中。
需要说明的是,前述图1-图2实施例中对数据库同步方法实施例的解释说明也适用于该实施例的计算机设备50,其实现原理类似,此处不再赘述。
本实施例中的计算机设备,通过获取各从数据库的第一日志数据,并获取第一备数据库的第二日志数据,并根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中,由于结合了当前城市的本地机房中的从数据库的日志数据,和同城市机房中的备数据库的日志数据触发进行数据的同步,能够有效保障数据同步的一致性,提升数据同步效果,避免影响清算业务。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,当存储介质中的指令由终端的处理器执行时,使得终端能够执行一种数据库同步方法,数据库包括多个第一数据库和多个第二数据库,第一数据库和第二数据库被配置在不同的城市中,各第一数据库被配置在相同的城市中,多个第一数据库中包括第一主数据库和第一备数据库,第一主数据库和第一备数据库配置在不同的机房中,第一主数据库具有对应的从数据库,方法包括:
获取各从数据库的第一日志数据,并获取第一备数据库的第二日志数据;
根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中。
本实施例中的非临时性计算机可读存储介质,通过获取各从数据库的第一日志数据,并获取第一备数据库的第二日志数据,并根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中,由于结合了当前城市的本地机房中的从数据库的日志数据,和同城市机房中的备数据库的日志数据触发进行数据的同步,能够有效保障数据同步的一致性,提升数据同步效果,避免影响清算业务。
为了实现上述实施例,本发明还提出一种计算机程序产品,当计算机程序产品中的指令被处理器执行时,执行一种数据库同步方法,数据库包括多个第一数据库和多个第二数据库,第一数据库和第二数据库被配置在不同的城市中,各第一数据库被配置在相同的城市中,多个第一数据库中包括第一主数据库和第一备数据库,第一主数据库和第一备数据库配置在不同的机房中,第一主数据库具有对应的从数据库,方法包括:
获取各从数据库的第一日志数据,并获取第一备数据库的第二日志数据;
根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中。
本实施例中的计算机程序产品,通过获取各从数据库的第一日志数据,并获取第一备数据库的第二日志数据,并根据第一日志数据和第二日志数据,将第一数据库中当前待同步数据同步至第二数据库中,由于结合了当前城市的本地机房中的从数据库的日志数据,和同城市机房中的备数据库的日志数据触发进行数据的同步,能够有效保障数据同步的一致性,提升数据同步效果,避免影响清算业务。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (12)
1.一种数据库同步方法,其特征在于,所述数据库包括多个第一数据库和多个第二数据库,所述第一数据库和所述第二数据库被配置在不同的城市中,各所述第一数据库被配置在相同的城市中,所述多个第一数据库中包括第一主数据库和第一备数据库,所述第一主数据库和所述第一备数据库配置在不同的机房中,所述第一主数据库具有对应的从数据库,所述第一主数据库和对应的从数据库在同一个机房,各所述从数据库复制所述第一主数据库的数据,所述第一备数据库复制所述第一主数据库的数据,所述方法包括:
获取各所述从数据库的第一日志数据,并获取所述第一备数据库的第二日志数据;
根据所述第一日志数据和所述第二日志数据,将所述第一数据库中当前待同步数据同步至所述第二数据库中;其中,实时分析比对所述第一日志数据和第二日志数据中的全局事务序列号,确定当前待同步数据在本地机房中的从数据库和同城市机房中的第一备数据库是否均落盘,若所述当前待同步数据在所述从数据库和第一备数据库均落盘,将所述第一数据库中当前待同步数据同步至所述第二数据库中,以实现在单机房故障时,待同步数据及时同步至另一城市的机房。
2.如权利要求1所述的数据库同步方法,其特征在于,各所述从数据库半同步复制所述第一主数据库的数据,所述第一备数据库半同步复制所述第一主数据库的数据。
3.如权利要求1所述的数据库同步方法,其特征在于,所述根据所述第一日志数据和所述第二日志数据,将所述第一数据库中当前待同步数据同步至所述第二数据库中,包括:
解析所述第一日志数据得到与当前待同步数据对应的第一全局事务序列号,并解析所述第二日志数据得到与所述当前待同步数据对应的第二全局事务序列号;
判断所述第一全局事务序列号和第二全局事务序列号是否相同;
在所述第一全局事务序列号和所述第二全局事务序列号相同时,将所述第一数据库中当前待同步数据同步至所述第二数据库中。
4.如权利要求1所述的数据库同步方法,其特征在于,所述根据所述第一日志数据和所述第二日志数据,将所述第一数据库中当前待同步数据同步至所述第二数据库中,包括:
解析所述第一日志数据得到与当前待同步数据对应的第一字段值,并解析所述第二日志数据得到与所述当前待同步数据对应的第二字段值;
判断所述第一字段值和第二字段值是否相同;
在所述第一字段值和所述第二字段值相同时,将所述第一数据库中当前待同步数据同步至所述第二数据库中。
5.如权利要求1所述的数据库同步方法,其特征在于,所述将所述第一数据库中当前待同步数据同步至所述第二数据库中,包括:
采用异步复制的机制将所述第一数据库中当前待同步数据同步至所述第二数据库中。
6.一种数据库同步装置,其特征在于,所述数据库包括多个第一数据库和多个第二数据库,所述第一数据库和所述第二数据库被配置在不同的城市中,各所述第一数据库被配置在相同的城市中,所述多个第一数据库中包括第一主数据库和第一备数据库,所述第一主数据库和所述第一备数据库配置在不同的机房中,所述第一主数据库具有对应的从数据库,所述第一主数据库和对应的从数据库在同一个机房,各所述从数据库复制所述第一主数据库的数据,所述第一备数据库复制所述第一主数据库的数据,所述装置包括:
获取模块,用于获取各所述从数据库的第一日志数据,并获取所述第一备数据库的第二日志数据;
同步模块,用于根据所述第一日志数据和所述第二日志数据,将所述第一数据库中当前待同步数据同步至所述第二数据库中;其中,实时分析比对所述第一日志数据和第二日志数据中的全局事务序列号,确定当前待同步数据在本地机房中的从数据库和同城市机房中的第一备数据库是否均落盘,若所述当前待同步数据在所述从数据库和第一备数据库均落盘,将所述第一数据库中当前待同步数据同步至所述第二数据库中,以实现在单机房故障时,待同步数据及时同步至另一城市的机房。
7.如权利要求6所述的数据库同步装置,其特征在于,各所述从数据库半同步复制所述第一主数据库的数据,所述第一备数据库半同步复制所述第一主数据库的数据。
8.如权利要求6所述的数据库同步装置,其特征在于,所述同步模块,包括:
第一解析子模块,用于解析所述第一日志数据得到与当前待同步数据对应的第一全局事务序列号,并解析所述第二日志数据得到与所述当前待同步数据对应的第二全局事务序列号;
第一判断子模块,用于判断所述第一全局事务序列号和第二全局事务序列号是否相同;
第一同步子模块,用于在所述第一全局事务序列号和所述第二全局事务序列号相同时,将所述第一数据库中当前待同步数据同步至所述第二数据库中。
9.如权利要求6所述的数据库同步装置,其特征在于,所述同步模块,包括:
第二解析子模块,用于解析所述第一日志数据得到与当前待同步数据对应的第一字段值,并解析所述第二日志数据得到与所述当前待同步数据对应的第二字段值;
第二判断子模块,用于判断所述第一字段值和第二字段值是否相同;
第二同步子模块,用于在所述第一字段值和所述第二字段值相同时,将所述第一数据库中当前待同步数据同步至所述第二数据库中。
10.如权利要求6所述的数据库同步装置,其特征在于,所述同步模块,具体用于:
采用异步复制的机制将所述第一数据库中当前待同步数据同步至所述第二数据库中。
11.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的数据库同步方法。
12.一种计算机设备,包括壳体、处理器、存储器、电路板和电源电路,其中,所述电路板安置在所述壳体围成的空间内部,所述处理器和所述存储器设置在所述电路板上;所述电源电路,用于为所述计算机设备的各个电路或器件供电;所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行如权利要求1-5中任一项所述的数据库同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910954312.9A CN110851528B (zh) | 2019-10-09 | 2019-10-09 | 数据库同步方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910954312.9A CN110851528B (zh) | 2019-10-09 | 2019-10-09 | 数据库同步方法、装置、存储介质及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110851528A CN110851528A (zh) | 2020-02-28 |
CN110851528B true CN110851528B (zh) | 2022-09-02 |
Family
ID=69596499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910954312.9A Active CN110851528B (zh) | 2019-10-09 | 2019-10-09 | 数据库同步方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110851528B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858171B (zh) * | 2020-07-10 | 2024-03-12 | 上海达梦数据库有限公司 | 一种数据备份方法、装置、设备及存储介质 |
CN112015744B (zh) * | 2020-08-18 | 2024-05-31 | 广州市百果园信息技术有限公司 | 配置数据访问方法、装置、设备、配置中心及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014044466A (ja) * | 2012-08-24 | 2014-03-13 | Nippon Telegr & Teleph Corp <Ntt> | レプリケーションシステムおよびその第1データベース装置と第2データベース装置 |
KR20150137884A (ko) * | 2014-05-30 | 2015-12-09 | 주식회사 알티베이스 | 부분동기화 지원 데이터베이스 관리 시스템 및 데이터베이스 관리 시스템에서 부분동기화 방법 |
CN105468475A (zh) * | 2015-11-16 | 2016-04-06 | 北京奇虎科技有限公司 | 数据库的备份方法及备份装置 |
CN105574187A (zh) * | 2015-12-23 | 2016-05-11 | 武汉达梦数据库有限公司 | 一种异构数据库复制事务一致性保障方法及系统 |
CN106250514A (zh) * | 2016-08-04 | 2016-12-21 | 摩贝(上海)生物科技有限公司 | 基于Mysql数据库和SQL日志的跨国数据同步方法 |
CN107330035A (zh) * | 2017-06-26 | 2017-11-07 | 努比亚技术有限公司 | 一种数据库中操作日志同步方法、移动终端以及计算机可读存储介质 |
CN108243209A (zh) * | 2016-12-23 | 2018-07-03 | 深圳市优朋普乐传媒发展有限公司 | 一种数据同步方法及装置 |
CN109800272A (zh) * | 2019-02-25 | 2019-05-24 | 广州虎牙信息科技有限公司 | 缓存数据同步方法、服务器、应用系统及存储装置 |
CN109947772A (zh) * | 2018-09-07 | 2019-06-28 | 网联清算有限公司 | 数据库自动切换方法、装置、存储介质及计算机设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE515459C2 (sv) * | 1999-02-10 | 2001-08-06 | Ericsson Telefon Ab L M | Metod för att synkronisera en värddatabas och en fjärrdatabas |
US7822727B1 (en) * | 2004-07-02 | 2010-10-26 | Borland Software Corporation | System and methodology for performing read-only transactions in a shared cache |
US8301593B2 (en) * | 2008-06-12 | 2012-10-30 | Gravic, Inc. | Mixed mode synchronous and asynchronous replication system |
CN104239476B (zh) * | 2014-09-04 | 2018-09-25 | 上海天脉聚源文化传媒有限公司 | 一种数据库同步的方法、装置及系统 |
US10296632B2 (en) * | 2015-06-19 | 2019-05-21 | Sap Se | Synchronization on reactivation of asynchronous table replication |
CN105975579B (zh) * | 2016-05-05 | 2019-09-17 | 北京思特奇信息技术股份有限公司 | 一种内存数据库的主备复制方法及内存数据库系统 |
CN106815097A (zh) * | 2017-01-18 | 2017-06-09 | 北京许继电气有限公司 | 数据库容灾系统和方法 |
US10970266B2 (en) * | 2017-11-30 | 2021-04-06 | International Business Machines Corporation | Ensuring consistent replication of updates in databases |
-
2019
- 2019-10-09 CN CN201910954312.9A patent/CN110851528B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014044466A (ja) * | 2012-08-24 | 2014-03-13 | Nippon Telegr & Teleph Corp <Ntt> | レプリケーションシステムおよびその第1データベース装置と第2データベース装置 |
KR20150137884A (ko) * | 2014-05-30 | 2015-12-09 | 주식회사 알티베이스 | 부분동기화 지원 데이터베이스 관리 시스템 및 데이터베이스 관리 시스템에서 부분동기화 방법 |
CN105468475A (zh) * | 2015-11-16 | 2016-04-06 | 北京奇虎科技有限公司 | 数据库的备份方法及备份装置 |
CN105574187A (zh) * | 2015-12-23 | 2016-05-11 | 武汉达梦数据库有限公司 | 一种异构数据库复制事务一致性保障方法及系统 |
CN106250514A (zh) * | 2016-08-04 | 2016-12-21 | 摩贝(上海)生物科技有限公司 | 基于Mysql数据库和SQL日志的跨国数据同步方法 |
CN108243209A (zh) * | 2016-12-23 | 2018-07-03 | 深圳市优朋普乐传媒发展有限公司 | 一种数据同步方法及装置 |
CN107330035A (zh) * | 2017-06-26 | 2017-11-07 | 努比亚技术有限公司 | 一种数据库中操作日志同步方法、移动终端以及计算机可读存储介质 |
CN109947772A (zh) * | 2018-09-07 | 2019-06-28 | 网联清算有限公司 | 数据库自动切换方法、装置、存储介质及计算机设备 |
CN109800272A (zh) * | 2019-02-25 | 2019-05-24 | 广州虎牙信息科技有限公司 | 缓存数据同步方法、服务器、应用系统及存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110851528A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11379461B2 (en) | Multi-master architectures for distributed databases | |
US9141685B2 (en) | Front end and backend replicated storage | |
US10025634B2 (en) | Transparent high availability for stateful services | |
CN109558215A (zh) | 虚拟机的备份方法、恢复方法、装置及备份服务器集群 | |
CN111475483B (zh) | 数据库迁移方法、装置及计算设备 | |
CN112636992B (zh) | 一种动态路由方法、装置、设备及存储介质 | |
CN109561151B (zh) | 数据存储方法、装置、服务器和存储介质 | |
CN110851528B (zh) | 数据库同步方法、装置、存储介质及计算机设备 | |
CN111049928A (zh) | 数据同步方法、系统、电子设备及计算机可读存储介质 | |
CN106855834B (zh) | 一种数据备份方法、装置和系统 | |
CN113094430B (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN112291082B (zh) | 机房容灾处理方法、终端及存储介质 | |
CN113010549A (zh) | 基于异地多活系统的数据处理方法、相关设备及存储介质 | |
US20130232114A1 (en) | Probe System For Replication Monitoring | |
CN111726388A (zh) | 一种跨集群高可用的实现方法、装置、系统及设备 | |
CN115292408A (zh) | MySQL数据库的主从同步方法、装置、设备及介质 | |
CN111552701A (zh) | 确定分布式集群中数据一致性的方法及分布式数据系统 | |
WO2018010603A1 (zh) | 基于视频云存储系统的存储模式升级方法、装置和系统 | |
CN110764838B (zh) | 服务模型的加载方法、系统、电子设备及存储介质 | |
CN116108031A (zh) | 镜像数据更新方法、装置及电子设备 | |
CN115292293A (zh) | 分布式缓存系统的数据迁移方法和装置 | |
CN115189931A (zh) | 一种分布式密钥管理方法、装置、设备、存储介质 | |
CN110515907B (zh) | 一种分布式存储节点的数据同步方法及相关装置 | |
CN111522688B (zh) | 分布式系统的数据备份方法及装置 | |
US8429136B2 (en) | Information processing method and information processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |