CN112199447A - 数据库的同步方法、装置、系统及电子设备 - Google Patents

数据库的同步方法、装置、系统及电子设备 Download PDF

Info

Publication number
CN112199447A
CN112199447A CN202011391514.6A CN202011391514A CN112199447A CN 112199447 A CN112199447 A CN 112199447A CN 202011391514 A CN202011391514 A CN 202011391514A CN 112199447 A CN112199447 A CN 112199447A
Authority
CN
China
Prior art keywords
database
synchronization
data
information
data synchronization
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
CN202011391514.6A
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.)
Shenzhen Eebochina Technology Co ltd
Original Assignee
Shenzhen Eebochina Technology 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 Shenzhen Eebochina Technology Co ltd filed Critical Shenzhen Eebochina Technology Co ltd
Priority to CN202011391514.6A priority Critical patent/CN112199447A/zh
Publication of CN112199447A publication Critical patent/CN112199447A/zh
Pending legal-status Critical Current

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • 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/23Updating
    • G06F16/2358Change logging, detection, and notification

Abstract

本发明提供了一种数据库的同步方法、装置、系统及电子设备,涉及数据同步的技术领域,该方法包括:获取当前数据库的变更信息;提取变更数据,以及,在变更信息中嵌入当前数据库的同步标记,生成携带有同步标记的同步信息;在预先配置的数据同步环关系中查找当前数据库对应的同步端;将同步信息发送至同步端,以使同步端的数据同步服务基于同步信息进行数据同步操作。本发明提供的数据库的同步方法、装置、系统及电子设备,通过打入同步标记的方式,在数据同步过程中避免出现循环同步的问题,以达到数据库同步数据的同时,减少数据同步延时,提升数据同步效率的目的,并且,可在出现某一个数据库达到瓶颈时,便于进行拓展。

Description

数据库的同步方法、装置、系统及电子设备
技术领域
本发明涉及数据同步的技术领域,尤其是涉及一种数据库的同步方法、装置、系统及电子设备。
背景技术
数据库同步是指A库的全量数据,同步到B库,同时A库的新写入数据,也将通过一定的技术进行增量同步。通常,数据库同步技术是应用系统处理核心,不但应用系统需要向数据库进行增/删改/查操作,同样数据仓库也需要从众多的数据库中获取不同交易数据来完善自身的数据集。
现有技术中,通用的数据库同步方案大多是基于数据库的主从来进行数据同步的,当从库越来越多时,主库压力会越来越大,最终导致达到主库瓶颈,无法再次进行扩展,同时数据库的主从在跨机房,或者跨地域的数据同步中,也容易出现高延时和频繁的数据同步失败的现象,降低了效率。
发明内容
有鉴于此,本发明的目的在于提供一种数据库的同步方法、装置、系统及电子设备,以缓解上述技术问题。
第一方面,本发明实施例提供了一种数据库的同步方法,应用于数据同步服务,其中,所述数据同步服务被配置为对数据库进行数据同步,所述方法包括:获取当前数据库的变更信息,其中,所述变更信息携带有变更数据;提取所述变更数据,以及,在所述变更信息中嵌入所述当前数据库的同步标记,生成携带有所述同步标记的同步信息;在预先配置的数据同步环关系中查找所述当前数据库对应的同步端;将查找到的所述同步端作为目标数据库,并将所述同步信息发送至所述目标数据库,以使所述目标数据库的数据同步服务基于所述同步信息进行数据同步操作。
优选地,在一种可能的实施方式中,上述方法还包括:接收配置信息,其中,所述配置信息包括监听组件、所述监听组件所监听的数据库,以及,设置在不同区域的多个所述数据库的数据库地址,其中,多个所述数据库地址包括所述当前数据库和所述目标数据库的数据库地址;基于所述配置信息生成所述数据同步环关系,并将所述数据同步环关系存储在预设的位置;其中,所述数据同步环关系记载有多个所述数据库的进行数据同步时的逻辑环同步方向。
优选地,在一种可能的实施方式中,上述方法还包括:响应作用于所述当前数据库的数据变更操作,所述数据变更操作携带有所述变更数据,则根据所述变更数据生成所述变更信息。
优选地,在一种可能的实施方式中,上述方法还包括:接收所述当前数据库的上游数据库对应的数据同步服务发送的所述同步信息;其中,所述上游数据库为所述逻辑环同步方向上,处于所述当前数据库上游的数据库;判断所述同步信息中是否携带有所述当前数据库的同步标记;如果否,则将所述同步信息确定为所述当前数据库的变更信息。
优选地,在一种可能的实施方式中,上述方法还包括:如果所述同步信息中携带有所述当前数据库的同步标记,则丢弃所述同步信息。
优选地,在一种可能的实施方式中,上述在预先配置的数据同步环关系中查找所述当前数据库对应的同步端的步骤包括:根据所述数据同步环关系记载的所述逻辑环同步方向查找所述当前数据库的下游数据库;将所述下游数据库确定为所述当前数据库对应的同步端。
优选地,在一种可能的实施方式中,上述所述数据同步服务包括第一节点和第二节点;将所述同步信息发送至所述目标数据库的步骤包括:将所述同步信息发送至所述第一节点,通过所述第一节点将所述同步信息发送至所述目标数据库;接收所述当前数据库的上游数据库对应的数据同步服务发送的所述同步信息的步骤包括:通过所述第二节点接收所述当前数据库的上游数据库对应的数据同步服务发送的所述同步信息。
第二方面,本发明实施例还提供一种数据库的同步装置,应用于数据同步服务,其中,所述数据同步服务被配置为对目标数据库进行数据同步,所述装置包括:获取模块,用于获取当前数据库的变更信息,其中,所述变更信息携带有变更数据;标记模块,用于提取所述变更数据,以及,在所述变更信息中嵌入所述当前数据库的同步标记,生成携带有所述同步标记的同步信息;查找模块,用于在预先配置的数据同步环关系中查找所述当前数据库对应的同步端;发送模块,用于将查找到的所述同步端作为目标数据库,并将所述同步信息发送至所述目标数据库,以使所述目标数据库的数据同步服务基于所述同步信息进行数据同步操作。
第三方面,本发明实施例还提供一种数据库的同步系统,包括多个所述数据库,每个所述数据库配置有数据同步服务,以及,监听组件;多个所述数据库的所述数据同步服务组成服务集群;所述数据同步服务用于执行第一方面所述的方法,以对数据库进行数据同步。
第四方面,本发明实施例还提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现第一方面所述的方法。
第五方面,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现第一方面所述的方法。
本发明实施例带来了以下有益效果:
本发明实施例提供的数据库的同步方法、装置、系统及电子设备,能够在获取到当前数据库的变更信息时,提取变更数据,并在变更信息中嵌入当前数据库的同步标记,生成携带有同步标记的同步信息,以便于在预先配置的数据同步环关系中查找当前数据库对应的同步端,并将查找到的同步端作为目标数据库,进而将同步信息发送至目标数据库,以使目标数据库的数据同步服务基于同步信息进行数据同步操作,通过打入同步标记的方式,在数据同步过程中避免出现循环同步的问题,以达到数据库同步数据的同时,减少数据同步延时,提升数据同步效率的目的,并且,可在出现某一个数据库达到瓶颈时,便于进行拓展。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据库的同步方法的应用场景;
图2为本发明实施例提供的一种数据库的同步方法的流程图;
图3为本发明实施例提供的一种数据库的同步系统的流程图;
图4为本发明实施例提供的一种数据库的同步装置的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对于主从方式的数据库同步方式,在从库越来越多时,容易使主库压力增大,最终导致达到主库瓶颈,无法再次进行扩展,并且,数据库的主从在跨机房,或者跨地域的数据同步中,将出现高延时和频繁的数据同步失败的现象,也无法在数据库层面支持异地多活,例如,A、B两地均有业务服务器时,同时对同一个用户提供同一个服务,用户的数据均只能在A地写入,然后同步到B地,而无法做到B地写入数据,然后同步到A地。即无法做到异地多活。
因此,现有技术中,多采用监听变更记录的方式,来伪装数据库从库,但是,这种方式也难以实现数据的双向同步,即,也难以实现异地多活,基于此,本发明实施例提供的一种数据库的同步方法、装置、系统及电子设备,可以有效缓解上述问题。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种数据库的同步方法进行详细介绍。
在一种可能的实施方式中,本发明实施例提供了一种数据库的同步方法,具体地,该方法应用于数据同步服务,其中,数据同步服务被配置为对数据库进行数据同步,在实际使用时,当前数据库可以是设置在任意一个地区的数据库,为了实现对数据库进行维护更新,以及数据同步,上述数据同步服务是预先配置完成的,以满足异地多活的架构要求。
其中,异地多活的架构的关键点就是异地、多活,其中异地指的是地理位置上不同的地方,多活则是指不同地理位置上的系统都能够提供业务服务,具体地,该异地多活的架构要求正常情况下,用户无论访问哪一个地点的业务系统,都能够得到正确的业务服务,而,某个地方业务异常的时候,用户访问其他地方正常的业务系统,能够得到正确的业务服务。因此,就需要不通地理位置上的数据库的数据要能够高度同步,而本发明实施例中,则是通过数据同步服务来实现的不同地理位置上数据库之间的数据同步。
为了便于理解,图1示出了一种数据库的同步方法的应用场景,具体地,图1中,以三个异地的数据库为例进行说明,例如,三个关系型数据库MySQL,如图1所示,三个异地的数据库A、B、C形成环状,即,A->B->C->A,应当理解,图1仅仅是一种示意性视图,在其他实施方式中,数据库的数量可以以实际使用情况为准,本发明实施例对此不进行限制。
例如,可以在图1的基础上进行扩展,可以扩展成多个数据库,如A、B、C、D、E等多个点,组成A->B->C->D->E->A的环状,当A、B、C、D、E中任意一个节点异常,即可临时搭建另外一条临时通道过渡。如上图1中,C地数据异常时,那么可直接搭建A->B->A的临时通道,变成A->B->A的环状数据同步,当C地进行运维处理完成后,即可进行B->C的通道恢复,待数据一致性后,断开B->A的通道,恢复A->B->C->A的环状同步。
具体地架构的设置情况以实际使用为准,本发明实施例对此不进行限制。
进一步,基于图1所示的应用场景,每个地区的数据库都可以设置监听组件,以获取当前数据库的变更信息,而基于图1的应用场景中,每个地区的数据库所配置的数据同步服务,则可以基于上述环状关系组成分布式协同工作集群,例如,zookeeper分布式集群等等,负责给每个数据同步服务提供分布式协调功能。因此,基于图1所示的应用场景,上述数据同步服务相当于是组成了一个环形数据库分布式同步平台,以对设置在不同地区的多个数据库进行数据同步。
具体地,基于图1所示的应用场景,图2示出了一种数据库的同步方法的流程图,该方法包括以下步骤:
步骤S202,获取当前数据库的变更信息,其中,变更信息携带有变更数据;
具体地,该变更信息是当前数据库中有变更数据之后引起的,当前数据库可以是图1所示应用场景中设置在任意一个地区的数据库。
步骤S204,提取变更数据,以及,在变更信息中嵌入当前数据库的同步标记,生成携带有同步标记的同步信息;
其中,上述变更信息携带的变更数据可以是对数据库中进行的业务修正的数据,如更新、删除、添加数据等等。
步骤S206,在预先配置的数据同步环关系中查找当前数据库对应的同步端;
进一步,上述同步标记通常表征的是该变更数据的来源,因此,上述同步标记通常包括预设的字段,例如,如果该变更数据是在数据库A产生的,此时数据库A在将该变更数据同步至本身数据库外,还可以在变更信息中嵌入from_A的字段,以标准数据库A产生的变更数据,然后将携带有该同步标记的同步信息发送至同步端。
步骤S208,将查找到的同步端作为目标数据库,并将上述同步信息发送至目标数据库,以使目标数据库的数据同步服务基于同步信息进行数据同步操作。
本发明实施例提供的数据库的同步方法,能够在获取到当前数据库的变更信息时,提取变更数据,并在变更信息中嵌入当前数据库的同步标记,生成携带有同步标记的同步信息,以便于在预先配置的数据同步环关系中查找当前数据库对应的同步端,将查找到的同步端作为目标数据库,进而将同步信息发送至目标数据库,以使目标数据库的数据同步服务基于同步信息进行数据同步操作,通过打入同步标记的方式,在数据同步过程中避免出现循环同步的问题,以达到数据库同步数据的同时,减少数据同步延时,提升数据同步效率的目的,并且,可在出现某一个数据库达到瓶颈时,便于进行拓展。
具体实现时,上述同步端通常指当前数据库的下游数据库,即,当前数据库通常作为源数据库,同步端对应的下游数据库通常为目标数据库。为了便于上述步骤S206中查找该同步端,在配置数据同步服务时,通常会预先配置上述数据同步环关系,以图1所示的应用场景为例,在该应用场景中,通常会设置配置平台,在该配置平台中,用户可以基于该配置平台预先配置各个区域的基础配置数据,包括数据库,数据库的监听组件,以及数据库地址等等,然后将这些基于配置数据下发至每个数据同步服务,因此,本发明实施例提供的数据库的同步方法,还包括对配置数据的处理过程,具体地,包括以下步骤:
(1)接收配置信息,其中,该配置信息包括监听组件、监听组件所监听的数据库,以及,设置在不同区域的多个数据库的数据库地址,其中,多个数据库地址包括当前数据库和目标数据库的数据库地址;
(2)基于配置信息生成数据同步环关系,并将数据同步环关系存储在预设的位置;
其中,数据同步环关系记载有多个数据库的进行数据同步时的逻辑环同步方向。
具体地,以图1所示的应用场景为例,上述A、B、C三个地区的配置信息通常是用户在配置平台上配置好的,然后配置平台再分别发送至A、B、C三个地区的数据同步服务,然后数据同步服务在基于预设的规则生成包含上述A,B,C三个区域的数据同步环关系,即: A->B->C->A的数据同步环关系。
进一步,基于上述数据同步环关系中记载的逻辑环同步方向,上述步骤S206中,查找同步端时,可以根据数据同步环关系记载的逻辑环同步方向查找当前数据库的下游数据库;然后将下游数据库确定为当前数据库对应的同步端。例如,假设A地区的数据库A为当前数据库,则按照A->B->C->A的数据同步环关系,其下游数据库则为B地区的数据库B,此时数据库B则为数据库A的同步端,即数据库A对应的目标数据库,在发送同步信息时,可以直接获取到数据库B的数据库地址,基于该数据库地址发送上述同步信息。
进一步,上述监听组件指的是对数据库的变更记录进行监听的组件,例如,Canal组件、Kingbus组件,或者类似的组件等等。当监听组件监听到当前数据库有变更时,可以以日志的方式对该变更进行记录,例如,通过Canal组件监听对应的binlog记录,并在数据库有变更时生成binlog日志等,以便于实现对变更的监听。
在实际使用时,上述变更可以是用户直接对数据库进行变更时引起的,当监听组件监听到用户的操作时,可以通过binlog日志进行记录,因此,上述方法还包括:响应作用于当前数据库的数据变更操作,如果该数据变更操作携带有变更数据,则根据变更数据生成变更信息。当前数据库的数据同步服务可以获取到该变更信息,进而执行图1所示的数据库的同步方法。
进一步,上述变更也可以是当前数据库的上游数据库发送的,例如,图1所示的应用场景中,假设A地区的数据库A为当前数据库,则根据上述数据同步环关系记载的逻辑环同步方向,C地区的数据库C则为数据库A的上游数据库,此时,如果上游数据库有数据变更,则上游数据库的数据同步服务也可以执行图1所示的数据库同步方法,然后生成同步信息,此时数据库A作为数据库C的同步端,则可以接收到该同步信息。因此,本发明实施例提供的数据库的同步方法,还包括以下过程:
(1)接收当前数据库的上游数据库对应的数据同步服务发送的同步信息;
其中,上游数据库为逻辑环同步方向上,处于当前数据库上游的数据库;
(2)判断同步信息中是否携带有当前数据库的同步标记;
(3)如果否,则将同步信息确定为当前数据库的变更信息。
具体地,由于同步标记表征的是该变更数据的来源,因此,在获取到同步信息时,需要对该同步信息携带的同步标记进行判断,仅在当同步标记不是该当前数据库的同步标记时,才会将同步信息确定为当前数据库的变更信息,然后进一步执行图1所示的数据库的同步方法。
如果该同步标记为当前数据库的同步标记,则说明当前的同步信息中包括的变更数据,其数据源是当前数据库,因此,如果同步信息中携带有当前数据库的同步标记,则丢弃该同步信息,不进行数据同步,进而达到回环同步打断的目的。因此,通过上述同步标记,可以解决多个数据库进行数据同步过程中出现循环同步的问题。
在实际使用时,为了实现数据同步服务的功能,可以设置多个节点,通过对节点进行分组的方式,实现数据库的同步过程,同时,多个节点的配置方式,可以方便管理和运维监控定位问题。
具体地,上述数据同步服务可以包括第一节点和第二节点;其中,每个节点的功能通常都是一样的,在实际使用时,可以对每个节点进行分组,例如,可以配置两个第一节点和两个第二节点,其中,第一节点用于同步信息的发送,此时,将同步信息发送至目标数据库的步骤包括:将同步信息发送至第一节点,通过该第一节点将同步信息发送至目标数据库;进一步,还可以将第二节点配置为接收同步信息的功能,此时接收当前数据库的上游数据库对应的数据同步服务发送的同步信息的步骤包括:通过第二节点接收所述当前数据库的上游数据库对应的数据同步服务发送的所述同步信息。具体的节点的数量、功能,以及分组情况可以根据实际使用情况进行设置,本发明实施例对此不进行限制。
进一步,在上述实施例的基础上,本发明实施例还提供了一种数据库的同步系统,具体地,该数据库的同步系统包括多个数据库,每个数据库配置有数据同步服务,以及,监听组件;多个数据库的数据同步服务组成服务集群;数据同步服务用于执行图1所示的数据库的同步方法,以对数据库进行数据同步。
具体地,为了便于理解,以图1所示的包括三个异地的数据库的应用场景为例,对本发明实施例提供的数据库的同步系统进行说明,具体地,如图3所示的一种数据库的同步系统的流程图,包括以下步骤:
步骤S1:在配置平台,配置对应的A区域,B区域,C区域三者的数据库A、数据库B和数据库C,以及,对应数据库的数据库地址,监听组件对应监听的数据库,并推送下发到A、B、C三个区域的数据同步服务;
数据同步服务得到配置数据之后,可以得到A,B,C三个区域的数据同步环关系,即:A->B->C->A的逻辑环同步方向。
此外,还可以配置每个区域的数据同步服务所包括的节点,例如,为了便于说明,每个区域的数据同步服务配置两个第一节点和两个第二节点;其中,第一节点用于同步信息的发送,第二节点配置为接收同步信息的功能,每个区域的节点,可以设置成集群节点,组成分布式协同工作集群,例如,zookeeper分布式集群等等,进行分布式协同。
步骤S2-A、步骤S2-B、步骤S2-C:A、B、C三个区域的监听组件监听变更信息;
例如,Canal组件根据配置信息,监听对应区域的mysql数据库的binglog变更,然后将监听到的binglog变更推送至对应的数据同步服务。
步骤S3-A、步骤S3-B、步骤S3-C:数据同步服务消费Canal组件中的binlog变更记录,同时根据步骤S1得到的A->B->C->A的逻辑环同步方向,在数据同步服务组成的服务集群中找到对应的同步端;
具体地,以下步骤中,以A区域的数据库A为当前数据库为例,对数据库的同步过程进行说明:
步骤S4:A区域的数据同步服务得到的binlog变更记录中记载的变更信息,经过节点处理,在变更信息中嵌入A区域的同步标记,如:from_A,生成带有该同步标记的同步信息,并将同步信息发往B区域的数据同步服务进行数据同步;
步骤S5:A区域的同步信息达到B区域,经过B区域的数据同步服务进行处理,数据同步服务判断同步信息的同步标记为from_A,即为A区域生成的变更数据,需要同步到B区域的数据库B,故此变更数据将通过B区域的数据同步服务的节点写入到B区域的数据库B中,同时,B区域产生新的变更数据,并携带了from_A的同步标记,同时,B区域的数据同步服务也会在该变更信息中嵌入数据库B的同步标记,继续根据步骤S1得到的A->B->C->A的逻辑环同步方向,在数据同步服务组成的服务集群中找到对应的同步端;
步骤S6:B区域产生的同步信息,根据步骤S1的下发数据同步环关系,找到C区域的同步入口,即,C区域的数据同步服务对应的节点,并发起数据同步的过程,与步骤S5类似。
在实际使用时,上述A、B、C三个区域的数据同步服务的节点在判断出同步信息中已存在自身的同步标记时,则表明该变更数据来源于本身,则不进行再次标记,而是直接抛弃该记录,若不存在自身的同步标记,则表明该变更数据并不是在本地产生的,需要同步到本地的数据库,并打入本地数据库的同步标记。
步骤S7:A、B、C三个区域的数据同步服务将同步进度、同步延时等情况上报至配置平台,供用户对数据库的同步过程进行管理和监控。
在实际使用时,上述A、B、C三个区域的数据同步服务组成的服务集群,也可以称为环形数据库分布式同步平台RDSP(Ring Database Synchronization Platform),形成一种扩展的多向数据库同步技术,即形成数据环,实现在多地域(两个地域以上)互相之间的数据同步。
因此,本发明实施例提供的数据库的同步系统,具有以下优点:
(1)通过Canal,Kingbus等类似的监听组件,监听数据库的数据变更,通过不变更记录,打入同步标记的方式,解决了多点数据同步过程中出现的循环同步问题;
(2)通过数据同步服务组成服务集群的方式,解决了数据库原本单线程同步带来的性能问题和跨地域的网络带宽利用率提升;
(3)基于配置信息形成的数据库同步的环形架构,可以解决异地多活,异地多中心的数据同步和扩展。
进一步,在上述实施例的基础上,本发明实施例还提供了一种数据库的同步装置,应用于数据同步服务,其中,数据同步服务被配置为对目标数据库进行数据同步,如图4所示的一种数据库的同步装置的结构示意图,包括以下结构:
获取模块40,用于获取当前数据库的变更信息,其中,所述变更信息携带有变更数据;
标记模块42,用于提取所述变更数据,以及,在所述变更信息中嵌入所述当前数据库的同步标记,生成携带有所述同步标记的同步信息;
查找模块44,用于在预先配置的数据同步环关系中查找所述当前数据库对应的同步端;
发送模块46,用于将查找到的所述同步端作为目标数据库,并将所述同步信息发送至所述目标数据库,以使所述目标数据库的数据同步服务基于所述同步信息进行数据同步操作。
本发明实施例提供的数据库的同步装置,与上述实施例提供的数据库的同步方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
进一步,本发明实施例还提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现上述数据库的同步方法。
进一步,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述数据库的同步方法。
进一步,本发明实施例还提供了一种电子设备的结构示意图,如图5所示,为该电子设备的结构示意图,其中,该电子设备包括处理器51和存储器50,该存储器50存储有能够被该处理器51执行的计算机可执行指令,该处理器51执行该计算机可执行指令以实现上述数据库的同步方法。
在图5示出的实施方式中,该电子设备还包括总线52和通信接口53,其中,处理器51、通信接口53和存储器50通过总线52连接。
其中,存储器50可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口53(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线52可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线52可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器51可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器51中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器51可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器51读取存储器中的信息,结合其硬件完成前述实施例的数据库的同步方法。
本发明实施例所提供的数据库的同步方法、装置、系统及电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (11)

1.一种数据库的同步方法,其特征在于,应用于数据同步服务,其中,所述数据同步服务被配置为对数据库进行数据同步,所述方法包括:
获取当前数据库的变更信息,其中,所述变更信息携带有变更数据;
提取所述变更数据,以及,在所述变更信息中嵌入所述当前数据库的同步标记,生成携带有所述同步标记的同步信息;
在预先配置的数据同步环关系中查找所述当前数据库对应的同步端;
将查找到的所述同步端作为目标数据库,并将所述同步信息发送至所述目标数据库,以使所述目标数据库的数据同步服务基于所述同步信息进行数据同步操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收配置信息,其中,所述配置信息包括监听组件、所述监听组件所监听的数据库,以及,设置在不同区域的多个所述数据库的数据库地址,其中,多个所述数据库地址包括所述当前数据库和所述目标数据库的数据库地址;
基于所述配置信息生成所述数据同步环关系,并将所述数据同步环关系存储在预设的位置;
其中,所述数据同步环关系记载有多个所述数据库的进行数据同步时的逻辑环同步方向。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应作用于所述当前数据库的数据变更操作,所述数据变更操作携带有所述变更数据,则根据所述变更数据生成所述变更信息。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收所述当前数据库的上游数据库对应的数据同步服务发送的所述同步信息;其中,所述上游数据库为所述逻辑环同步方向上,处于所述当前数据库上游的数据库;
判断所述同步信息中是否携带有所述当前数据库的同步标记;
如果否,则将所述同步信息确定为所述当前数据库的变更信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
如果所述同步信息中携带有所述当前数据库的同步标记,则丢弃所述同步信息。
6.根据权利要求2所述的方法,其特征在于,在预先配置的数据同步环关系中查找所述当前数据库对应的同步端的步骤包括:
根据所述数据同步环关系记载的所述逻辑环同步方向查找所述当前数据库的下游数据库;
将所述下游数据库确定为所述当前数据库对应的同步端。
7.根据权利要求4所述的方法,其特征在于,所述数据同步服务包括第一节点和第二节点;
将所述同步信息发送至所述目标数据库的步骤包括:
将所述同步信息发送至所述第一节点,通过所述第一节点将所述同步信息发送至所述目标数据库;
接收所述当前数据库的上游数据库对应的数据同步服务发送的所述同步信息的步骤包括:
通过所述第二节点接收所述当前数据库的上游数据库对应的数据同步服务发送的所述同步信息。
8.一种数据库的同步装置,其特征在于,应用于数据同步服务,其中,所述数据同步服务被配置为对数据库进行数据同步,所述装置包括:
获取模块,用于获取当前数据库的变更信息,其中,所述变更信息携带有变更数据;
标记模块,用于提取所述变更数据,以及,在所述变更信息中嵌入所述当前数据库的同步标记,生成携带有所述同步标记的同步信息;
查找模块,用于在预先配置的数据同步环关系中查找所述当前数据库对应的同步端;
发送模块,用于将查找到的所述同步端作为目标数据库,并将所述同步信息发送至所述目标数据库,以使所述目标数据库的数据同步服务基于所述同步信息进行数据同步操作。
9.一种数据库的同步系统,其特征在于,包括多个所述数据库,每个所述数据库配置有数据同步服务,以及,监听组件;
多个所述数据库的所述数据同步服务组成服务集群;
所述数据同步服务用于执行权利要求1~7任一项所述的方法,以对数据库进行数据同步。
10.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1~7任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1~7任一项所述的方法。
CN202011391514.6A 2020-12-03 2020-12-03 数据库的同步方法、装置、系统及电子设备 Pending CN112199447A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011391514.6A CN112199447A (zh) 2020-12-03 2020-12-03 数据库的同步方法、装置、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011391514.6A CN112199447A (zh) 2020-12-03 2020-12-03 数据库的同步方法、装置、系统及电子设备

Publications (1)

Publication Number Publication Date
CN112199447A true CN112199447A (zh) 2021-01-08

Family

ID=74033728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011391514.6A Pending CN112199447A (zh) 2020-12-03 2020-12-03 数据库的同步方法、装置、系统及电子设备

Country Status (1)

Country Link
CN (1) CN112199447A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656366A (zh) * 2021-08-03 2021-11-16 北京数码大方科技股份有限公司 电子仓库的数据处理方法和装置
CN114970479A (zh) * 2022-07-29 2022-08-30 飞狐信息技术(天津)有限公司 图表生成方法及装置
CN116126882A (zh) * 2023-04-17 2023-05-16 中国工商银行股份有限公司 数据同步方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341454A (zh) * 2016-08-23 2017-01-18 世纪龙信息网络有限责任公司 跨机房多活分布式数据库管理系统和方法
CN107784016A (zh) * 2016-08-30 2018-03-09 北京京东尚科信息技术有限公司 数据同步控制装置和数据同步系统及方法
CN108304473A (zh) * 2017-12-28 2018-07-20 石化盈科信息技术有限责任公司 数据源之间的数据传输方法和系统
CN108573006A (zh) * 2017-06-06 2018-09-25 北京金山云网络技术有限公司 跨机房数据同步系统、方法及装置、电子设备
CN110222114A (zh) * 2019-04-30 2019-09-10 武汉达梦数据库有限公司 数据库中数据双向同步的方法及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341454A (zh) * 2016-08-23 2017-01-18 世纪龙信息网络有限责任公司 跨机房多活分布式数据库管理系统和方法
CN107784016A (zh) * 2016-08-30 2018-03-09 北京京东尚科信息技术有限公司 数据同步控制装置和数据同步系统及方法
CN108573006A (zh) * 2017-06-06 2018-09-25 北京金山云网络技术有限公司 跨机房数据同步系统、方法及装置、电子设备
CN108304473A (zh) * 2017-12-28 2018-07-20 石化盈科信息技术有限责任公司 数据源之间的数据传输方法和系统
CN110222114A (zh) * 2019-04-30 2019-09-10 武汉达梦数据库有限公司 数据库中数据双向同步的方法及设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656366A (zh) * 2021-08-03 2021-11-16 北京数码大方科技股份有限公司 电子仓库的数据处理方法和装置
CN113656366B (zh) * 2021-08-03 2024-05-03 北京数码大方科技股份有限公司 电子仓库的数据处理方法和装置
CN114970479A (zh) * 2022-07-29 2022-08-30 飞狐信息技术(天津)有限公司 图表生成方法及装置
CN116126882A (zh) * 2023-04-17 2023-05-16 中国工商银行股份有限公司 数据同步方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN112199447A (zh) 数据库的同步方法、装置、系统及电子设备
TWI751402B (zh) 一種資料同步方法、分散式系統、電腦可讀取儲取媒體、電腦設備及分散式設備
CN108234170B (zh) 一种服务器集群的监控方法和装置
CN110619114B (zh) 流水号生成方法及系统
CN101854400B (zh) 一种数据库同步部署及监控的方法和装置
CN107800565B (zh) 巡检方法、装置、系统、计算机设备和存储介质
CN112291724B (zh) 一种5g信令可视化方法及装置
CN110166562B (zh) 数据同步的方法、装置、存储介质和电子设备
CN109788026B (zh) 消息处理方法及装置
WO2014116527A1 (en) Method and system for using a recursive event listener on a node in hierarchical data structure
CN111831748A (zh) 数据同步方法、装置及存储介质
CN111092752B (zh) 跨多个网络切片的故障定位方法及装置
CN110647531A (zh) 数据同步方法、装置、设备及计算机可读存储介质
CN109167819B (zh) 数据同步系统、方法、装置及存储介质
CN107888434B (zh) 网络设备配置同步方法和装置
CN109992279A (zh) 配置数据更新方法、装置、计算设备及存储介质
CN113779153A (zh) 一种数据同步方法、装置、电子设备及存储介质
CN112711710A (zh) 多号码终端的追踪方法、系统、服务器和存储介质
CN109639777B (zh) 数据同步的方法、装置、系统和非易失性存储介质
WO2017020748A1 (zh) 信令跟踪任务的处理方法及装置
CN112584380A (zh) 一种校验方法、数据同步方法、装置、网元及介质
CN113965538B (zh) 设备状态消息处理方法、装置及存储介质
CN111984723A (zh) 数据同步方法、装置及终端设备
CN101610281A (zh) 一种数据指纹保存方法和装置
CN109739883B (zh) 提升数据查询性能的方法、装置和电子设备

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210108

RJ01 Rejection of invention patent application after publication