CN115309827A - 一种数据差异化同步方法及系统及装置及介质 - Google Patents
一种数据差异化同步方法及系统及装置及介质 Download PDFInfo
- Publication number
- CN115309827A CN115309827A CN202211046974.4A CN202211046974A CN115309827A CN 115309827 A CN115309827 A CN 115309827A CN 202211046974 A CN202211046974 A CN 202211046974A CN 115309827 A CN115309827 A CN 115309827A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- synchronization
- configuring
- differentiation
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据差异化同步方法及系统及装置及介质,涉及数据同步技术领域,所述方法包括以下步骤:配置第一数据源、第一数据库和分布式数据库同步系统;第一数据库获取第一数据源的第一数据并记录到第一数据库日志;基于第一数据,配置第一数据过滤规则;基于第一数据过滤规则,分布式数据库同步系统获取第一数据库日志并解析得到第一同步数据;配置第二数据源和第二数据库;第一同步数据经过第二数据库同步到第二数据源。本发明通过动态配置数据过滤规则,当需要过滤的数据对象发生变化时,仅需要相应的修改数据过滤规则,简化了开发、部署、发布等操作,从而达到快速配置实时生效的效果。
Description
技术领域
本发明涉及数据同步技术领域,具体地,涉及一种数据差异化同步方法及系统及装置及介质。
背景技术
面对业务数据,存在需要多个不同环境数据之间的同步,数据同步过程中需要对部分数据进行过滤处理,将不需要同步至另一个场景的数据拦截过滤掉,现有的数据同步方式是通过数据库本身同步机制来实现,无法做到同步数据之间的特定过滤拦截处理,如果需要做差异化同步,则需要通过单独的业务代码来实现过滤,如果过滤规则发生变化,则需要相应的进行代码修改、部署和发布等一系列操作,不能做到及时生效。
发明内容
为解决数据差异化同步中因为过滤规则修改而存在的及时性较差的问题,本发明提供了一种数据差异化同步方法,所述方法包括以下步骤:
配置第一数据源、第一数据库和分布式数据库同步系统;
所述第一数据库获取所述第一数据源的第一数据并记录到第一数据库日志;
基于所述第一数据,配置第一数据过滤规则;
基于所述第一数据过滤规则,所述分布式数据库同步系统获取所述第一数据库日志并解析得到第一同步数据;
配置第二数据源和第二数据库;
所述第一同步数据经过所述第二数据库同步到所述第二数据源。
本发明原理:配置第一数据源、第一数据库、第二数据源、第二数据库和分布式数据库同步系统,是为了配置初始参数。第一数据库获取第一数据源的第一数据并记录到第一数据库日志,即利用第一数据库本身具有的同步机制,将对第一数据的获取转换成对第一数据库增量日志的获取。对第一数据制定第一数据过滤规则,分布式数据库同步系统再基于第一数据过滤规则,获取过滤后的第一数据库增量日志并进行解析得到第一同步数据,也就是得到第一数据中需要同步的数据。最后第一同步数据再经过第二数据库同步到第二数据源,完成对第一数据的差异化同步。在不同环境数据进行同步传输过程中,本发明通过消费数据库日志,动态配置相应数据过滤规则,能实现在不同环境数据同步中的过滤处理,当需要过滤的数据对象发生变化时,仅需要对相应数据过滤规则进行修改,简化了开发、部署、发布等操作,从而达到快速配置实时生效的效果。
优选的,基于所述第一数据,配置相应数据过滤规则具体包括:获取所述第一数据中需要过滤的第二数据;将所述第二数据的表名添加到数据过滤条件;将所述第一数据中的数据表名与所述数据过滤条件中的数据表名进行匹配,对所述第一数据中匹配成功的数据表名对应的数据进行过滤。
其中,首先获取到第一数据中需要过滤的数据,再将需要过滤数据的表名添加到过滤条件中,当需要使用该数据过滤规则时,通过获取第一数据对象中的表名与过滤条件中的表名是否匹配来确定数据是否合适过滤,当匹配成功时,就将匹配成功的表名所对应的数据进行过滤,
优选的,基于所述数据过滤规则,所述分布式数据库同步系统获取所述第一数据库日志并解析得到同步数据包括:获取所述第一数据中的数据表名并与所述数据过滤规则中的数据表名进行匹配,对所述第一数据中匹配成功的数据表名对应的数据进行过滤处理,对所述第一数据中匹配失败的数据表名对应的数据进行同步处理。
其中,基于数据过滤规则,分布式数据同步系统获取第一数据库日志,是通过同步数据时获取的数据对象的表名是否与数据过滤规则中的表名的匹配关系来决定是否进行过滤,匹配成功时,数据就过滤掉,在数据同步的目标端就接收不到相应数据,达到数据源端与目标端数据差异过滤的效果;匹配失败时,就对相应数据进行同步,在数据同步的目标端就能接收到相应数据,
优选的,配置分布式数据库同步系统包括:配置用于获取所述第一数据库日志的工具。其中,需要对获取数据库日志的工具进行配置,常用到canal开源软件来实现,canal是基于数据库日志的增量订阅和消费组件,通过它可以订阅数据库的binlog(二进制日志文件),然后进行一些数据消费,如数据镜像、数据异构、数据索引、缓存更新等,相对于消息队列,通过这种机制可以实现数据的有序化和一致性。
优选的,配置分布式数据库同步系统还包括:配置用于发布和监控同步任务的管理器;配置用于处理同步任务的若干节点;配置用于协调所述若干节点工作的分布式协调工具。其中,管理器运行时推送同步配置到若干节点,若干节点将同步状态反馈到管理器,即管理器对若干节点处理同步任务进行监控,分布式协调工具解决分布式状态调度的,允许多节点之间协调工作。
优选的,所述分布式数据库同步系统获取所述第一数据库日志并解析得到同步数据还包括:发布和监控多线程同步任务;基于所述多线程同步任务,对所述第一数据库日志进行解析得到所述第一同步数据;对所述多线程同步任务进行协调。其中,分布式数据库同步系统例如otter系统,其工作模式是manager(管理器)发布和监控多线程任务,node(若干节点)负责处理多线程任务即对第一数据库日志进行解析,zookeeper(分布式协调工具)解决分布式状态调度,允许若干节点之间协同工作,即对多线程同步任务进行协调。
为解决数据差异化双向同步中因为过滤规则修改而存在的及时性较差的问题,本发明还提供了一种数据差异化双向同步方法,所述方法包括以下步骤:
配置第一数据源、第一数据库、第二数据源、第二数据库和分布式数据库同步系统;
所述第一数据库获取所述第一数据源的第一数据并记录到第一数据库日志;
基于所述第一数据,配置第一数据过滤规则;
基于所述第一数据过滤规则,所述分布式数据库同步系统获取所述第一数据库日志并解析得到第一同步数据;
所述第一同步数据经过所述第二数据库同步到所述第二数据源;
所述第二数据库获取所述第二数据源的第二数据并记录到第二数据库日志;
基于所述第二数据,配置第二数据过滤规则;
基于所述第二数据过滤规则,所述分布式数据库同步系统获取所述第二数据库日志并解析得到第二同步数据;
所述第二同步数据经过所述第一数据库同步到所述第一数据源。
其中,基于第一数据过滤规则,第一数据源通过第一数据库、分布式数据库同步系统和第二数据库同步差异化数据到第二数据源,同理,基于第二数据过滤规则,第二数据源通过第二数据库、分布式数据库同步系统和第一数据库同步差异化数据到第一数据源。例如将上述方法应用公有云和私有云两个环境之间的同步,公有云向私有云只同步部分数据,即会过滤一部分数据,私有云向公有云同步全部数据,即不过滤数据。
本发明还提供了一种数据差异化同步系统,所述系统包括:
第一配置单元,用于配置第一数据源、第一数据库和分布式数据库同步系统;
获取单元,用于所述第一数据库获取所述第一数据源的第一数据并记录到第一数据库日志;
第二配置单元,用于基于所述第一数据,配置第一数据过滤规则;
解析单元,用于基于所述第一数据过滤规则,所述分布式数据库同步系统获取所述第一数据库日志并解析得到第一同步数据。
第三配置单元,用于配置第二数据源和第二数据库;
同步单元,用于所述第一同步数据经过所述第二数据库同步到所述第二数据源。
本发明还提供了一种数据差异化同步装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述数据差异化同步方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述数据差异化同步方法的步骤。
本发明提供的一个或多个技术方案,至少具有如下技术效果或优点:
在不同环境数据进行同步传输过程中,消费数据库日志,本发明通过动态配置数据过滤规则,能够实现在不同环境数据同步中的过滤处理,当需要过滤的数据对象发生变化时,仅需要对数据过滤规则进行修改,简化了开发、部署、发布等操作,达到快速配置实时生效的效果。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本发明的一部分,并不构成对本发明实施例的限定;
图1是本发明中一种数据差异化同步方法的流程示意图;
图2是本发明中一种数据差异化同步系统的组成示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在相互不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述范围内的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
实施例一
请参考图1,为本发明中一种数据差异化同步方法的流程示意图,所述方法包括以下步骤:
配置第一数据源(如公有云)、第一数据库(如mysql数据库)和分布式数据库同步系统(如otter系统);
第一数据库获取第一数据源的第一数据并记录到第一数据库日志;
基于第一数据,配置第一数据过滤规则;传统针对数据差异化同步大多通过编写单独的代码来实现,当需要过滤的对象发生改变,需要对过滤用的代码进行修改、部署、发布等一系列操作,不能做到及时生效。本发明实施例一基于第一数据,对需要过滤的数据进行规则设置,动态配置规则,当过滤的数据对象发生变化时,仅需要对数据过滤规则进行修改,简化了开发、部署和发布等操作,达到快速配置实时生效的效果。
基于第一数据过滤规则,所述分布式数据库同步系统获取第一数据库日志并解析得到第一同步数据;
配置第二数据源(如私有云)和第二数据库(如mysql/oracle数据库);
第一同步数据经过第二数据库同步到第二数据源。
其中,基于第一数据,配置相应数据过滤规则具体包括:获取第一数据中需要过滤的第二数据;将第二数据的表名添加到数据过滤条件;将第一数据中的数据表名与数据过滤条件中的数据表名进行匹配,对第一数据中匹配成功的数据表名对应的数据进行过滤。例如第一数据中需要过滤的第二数据的表名为table_a,就table_a添加到数据过滤条件,将第一数据中的数据表名与数据过滤条件中的数据表名进行匹配,此时table_a表名匹配成功,table_a表名对应的第二数据则被过滤处理。
其中,基于数据过滤规则,分布式数据库同步系统获取第一数据库日志并解析得到同步数据包括:获取第一数据中的数据表名并与数据过滤规则中的数据表名进行匹配,对第一数据中匹配成功的数据表名对应的数据进行过滤处理,对第一数据中匹配失败的数据表名对应的数据进行同步处理。例如获取第一数据中的数据表名包括table_b、table_c和table_d,数据过滤规则中的数据表名为table_b,当第一数据中的数据表名与数据过滤规则中的数据表名进行匹配时,table_b表名匹配成功,table_b对应的数据就被过滤处理,table_c和table_d表名匹配失败,table_c和table_d对应的数据就被同步处理。
其中,配置分布式数据库同步系统包括:配置用于获取第一数据库日志的工具。在配置分布式数据库同步系统时首先配置获取数据库增量日志的工具,常采用canal开源软件来实现,canal是基于数据库binlog(二进制日志文件)的增量订阅和消费组件,通过它可以订阅数据库的binlog日志,相对于消息队列,通过这种机制可以实现数据的有序化和一致性。Canal的工作原理:模拟mysql数据库slave模式与master模式的交互协议(当master中的数据发生变化时,slave也跟着发生相应的变化,使得master和slave的数据信息同步,达到备份同步目的),将自己伪装成一个mysql slave,向mysql master发送dump(备份)协议,mysql master收到mysql slave发送的dump请求,开始推送binlog增量日志给slave(即canal),完成对数据库增量日志的获取。
其中,配置分布式数据库同步系统还包括:配置用于发布和监控同步任务的管理器;配置用于处理同步任务的若干节点;配置用于协调若干节点工作的分布式协调工具。分布式数据库同步系统(如otter)的工作模式是采用管理器(manager)+若干工作节点(node)的方式,manager负责配置和监控,node负责处理任务,再基于分布式协调工具(zookeeper),解决分布式状态调度,保障多节点之间能协同工作。
其中,所述分布式数据库同步系统获取第一数据库日志并解析得到同步数据还包括:发布和监控多线程同步任务;基于多线程同步任务,对第一数据库日志进行解析得到第一同步数据;对多线程同步任务进行协调。当分布式数据库同步系统接收到需要同步的数据时,首先管理器会基于同步数据配置若干节点(如4个节点)来进行处理,然后就会发布和推送多线程任务(如4线程)到若干节点,若干节点基于发布的任务进行处理同时将同步的状态反馈到管理上,即对多线程任务进行监控,最后再由分布式协调工具来解决分布式状态调度,即对多线程同步任务进行协调。
在本实施例一中,首先mysql数据库环境安装,同时开启mysql数据库日志权限功能,同步otter(分布式数据库同步系统)环境安装,其中包括安装配置manager、node、zookeeper和canal软件。Mysql数据库获取第一数据源(如公有云)中的数据并记录到数据库日志,制定相应数据库过滤规则,对数据过滤规则的制定,需要通过以下步骤:
1)确定过滤的数据表名,本实施例一以table_e、table_f和table_g为过滤数据表。
2)编写过滤规则实现代码片段,可通过记事本或其他代码编辑工具进行编写,对table_e、table_f和table_g的表名进行配置,利用CHECK_TABLES对table_e、table_f和table_g数据表进行定义。
3)配置规则生效,登录otter同步管理后端,找到“映射关系”绑定配置,在“EventProcessor类型”配置处选择SOURCE模式,将实现过滤规则的代码片段拷贝至配置区域,保存即可。
4)数据过滤原理,当数据同步消费时,通过事件对象(代码片段中EventData)获取相应表名,判断此表名是否在初始制定的规则中,如果数据存在过滤规则中,则对数据进行拦截过滤,数据目标端接收不到数据,达到过滤效果;若数据不在过滤规则中,则不进行过滤,正常同步至目标数据端。
基于上述数据过滤规则,canal对mysql数据库增量日志进行获取,再通过manager推送同步配置到若干node节点,若干node节点对获取到的数据库增量日志进行解析得到同步数据,同时将同步状态反馈到manager上,让manager能一直监控同步任务。基于zookeeper,解决分布式状态调度,允许多node节点之间协同工作。最后将经过分布式数据库同步系统处理过的同步数据传递到另一个mysql数据库,第二数据源(如私有云)再通过接口等方式从数据库中读取同步数据,完成第一数据源到第二数据源之间的数据差异化同步。当需要过滤的对象发生变化时,通过更改数据过滤规则中的数据表名,就可完成对数据过滤规则的更改,简化了开发、部署、发布等操作,达到快速配置实时生效的效果。
实施例二
本发明实施例二提供了一种数据差异化双向同步方法,所述方法包括以下步骤:
配置第一数据源、第一数据库、第二数据源、第二数据库和分布式数据库同步系统;
第一数据库获取第一数据源的第一数据并记录到第一数据库日志;
基于第一数据,配置第一数据过滤规则;
基于第一数据过滤规则,分布式数据库同步系统获取第一数据库日志并解析得到第一同步数据;
第一同步数据经过第二数据库同步到第二数据源;
第二数据库获取第二数据源的第二数据并记录到第二数据库日志;
基于第二数据,配置第二数据过滤规则;
基于第二数据过滤规则,分布式数据库同步系统获取第二数据库日志并解析得到第二同步数据;
第二同步数据经过第一数据库同步到第一数据源。
其中,面对业务数据,存在需要多个不同环境数据之间的同步,且不同环境数据的同步也会存在差异,如公有云和私有云之间双向数据同步,公有云是为广大用户、个人或企业提供的云基础设施,私有云是为一个企业或者组织提供专用的云环境,因此公有云向私有云只同步部分表数据,即需要过滤掉一部分数据,私有云向公有云同步全部数据,即不过滤数据。在本实施例二中,第一数据源为公有云,第二数据源为私有云,在对第一数据过滤规则进行配置时,就可将需要过滤数据的表名添加到第一数据过滤规则中,在对第二数据过滤规则进行配置时,就不需要添加数据表名。公有云向私有云同步数据和私有云向公有云同步数据中涉及的数据差异化同步方法,都可参考实施例一中所涉及到的数据差异化同步方法的步骤,本实施例二不再具体展开。
实施例三
请参考图2,为本发明中一种数据差异化同步系统的组成示意图,所述系统包括:
第一配置单元,用于配置第一数据源、第一数据库和分布式数据库同步系统;
获取单元,用于第一数据库获取第一数据源的第一数据并记录到第一数据库日志;
第二配置单元,用于基于第一数据,配置第一数据过滤规则;
解析单元,用于基于第一数据过滤规则,分布式数据库同步系统获取第一数据库日志并解析得到第一同步数据。
第三配置单元,用于配置第二数据源和第二数据库;
同步单元,用于第一同步数据经过第二数据库同步到第二数据源。
实施例四
本发明实施例四提供了一种数据差异化同步装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述数据差异化同步方法的步骤。
其中,所述处理器可以是中央处理器(CPU,Central Processing Unit),还可以是其他通用处理器、数字信号处理器(digital signal processor)、专用集成电路(Application Specific Integrated Circuit)、现成可编程门阵列(Fieldprogrammablegate array)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的数据,实现发明中数据差异化同步装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等。此外,存储器可以包括高速随机存取存储器、还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡,安全数字卡,闪存卡、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
实施例五
本发明实施例五提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述数据差异化同步方法的步骤。
所述数据差异化同步装置如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序可存储于一计算机可读存介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码、对象代码形式、可执行文件或某些中间形式等。所述计算机可读取介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存储器、点载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
本发明已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种数据差异化同步方法,其特征在于,所述方法包括以下步骤:
配置第一数据源、第一数据库和分布式数据库同步系统;
所述第一数据库获取所述第一数据源的第一数据并记录到第一数据库日志;
基于所述第一数据,配置第一数据过滤规则;
基于所述第一数据过滤规则,所述分布式数据库同步系统获取所述第一数据库日志并解析得到第一同步数据;
配置第二数据源和第二数据库;
所述第一同步数据经过所述第二数据库同步到所述第二数据源。
2.根据权利要求1所述的一种数据差异化同步方法,其特征在于,基于所述第一数据,配置相应数据过滤规则具体包括:获取所述第一数据中需要过滤的第二数据;将所述第二数据的表名添加到数据过滤条件;将所述第一数据中的数据表名与所述数据过滤条件中的数据表名进行匹配,对所述第一数据中匹配成功的数据表名对应的数据进行过滤。
3.根据权利要求2所述的一种数据差异化同步方法,其特征在于,基于所述数据过滤规则,所述分布式数据库同步系统获取所述第一数据库日志并解析得到同步数据包括:获取所述第一数据中的数据表名并与所述数据过滤规则中的数据表名进行匹配,对所述第一数据中匹配成功的数据表名对应的数据进行过滤处理,对所述第一数据中匹配失败的数据表名对应的数据进行同步处理。
4.根据权利要求1所述的一种数据差异化同步方法,其特征在于,配置分布式数据库同步系统包括:配置用于获取所述第一数据库日志的工具。
5.根据权利要求1所述的一种数据差异化同步方法,其特征在于,配置分布式数据库同步系统还包括:配置用于发布和监控同步任务的管理器;配置用于处理同步任务的若干节点;配置用于协调所述若干节点工作的分布式协调工具。
6.根据权利要求1所述的一种数据差异化同步方法,其特征在于,所述分布式数据库同步系统获取所述第一数据库日志并解析得到同步数据还包括:发布和监控多线程同步任务;基于所述多线程同步任务,对所述第一数据库日志进行解析得到所述第一同步数据;对所述多线程同步任务进行协调。
7.一种数据差异化双向同步方法,其特征在于,所述方法包括以下步骤:
配置第一数据源、第一数据库、第二数据源、第二数据库和分布式数据库同步系统;
所述第一数据库获取所述第一数据源的第一数据并记录到第一数据库日志;
基于所述第一数据,配置第一数据过滤规则;
基于所述第一数据过滤规则,所述分布式数据库同步系统获取所述第一数据库日志并解析得到第一同步数据;
所述第一同步数据经过所述第二数据库同步到所述第二数据源;
所述第二数据库获取所述第二数据源的第二数据并记录到第二数据库日志;
基于所述第二数据,配置第二数据过滤规则;
基于所述第二数据过滤规则,所述分布式数据库同步系统获取所述第二数据库日志并解析得到第二同步数据;
所述第二同步数据经过所述第一数据库同步到所述第一数据源。
8.一种数据差异化同步系统,其特征在于,所述系统包括:
第一配置单元,用于配置第一数据源、第一数据库和分布式数据库同步系统;
获取单元,用于所述第一数据库获取所述第一数据源的第一数据并记录到第一数据库日志;
第二配置单元,用于基于所述第一数据,配置第一数据过滤规则;
解析单元,用于基于所述第一数据过滤规则,所述分布式数据库同步系统获取所述第一数据库日志并解析得到第一同步数据。
第三配置单元,用于配置第二数据源和第二数据库;
同步单元,用于所述第一同步数据经过所述第二数据库同步到所述第二数据源。
9.一种数据差异化同步装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任意一个所述数据差异化同步方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任意一个所述数据差异化同步方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211046974.4A CN115309827A (zh) | 2022-08-30 | 2022-08-30 | 一种数据差异化同步方法及系统及装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211046974.4A CN115309827A (zh) | 2022-08-30 | 2022-08-30 | 一种数据差异化同步方法及系统及装置及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115309827A true CN115309827A (zh) | 2022-11-08 |
Family
ID=83864348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211046974.4A Pending CN115309827A (zh) | 2022-08-30 | 2022-08-30 | 一种数据差异化同步方法及系统及装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115309827A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115599797A (zh) * | 2022-11-29 | 2023-01-13 | 广东通莞科技股份有限公司(Cn) | 基于操作日志的双向同步方法、装置和电子设备 |
-
2022
- 2022-08-30 CN CN202211046974.4A patent/CN115309827A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115599797A (zh) * | 2022-11-29 | 2023-01-13 | 广东通莞科技股份有限公司(Cn) | 基于操作日志的双向同步方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10353913B2 (en) | Automating extract, transform, and load job testing | |
US10740093B2 (en) | Advanced packaging techniques for improving work flows | |
US20200067791A1 (en) | Client account versioning metadata manager for cloud computing environments | |
US9575871B2 (en) | System and method for dynamically debugging data in a multi-tenant database environment | |
US8453136B1 (en) | Change tracking and incremental synchronization of EDA design and technology data | |
CN108874558B (zh) | 分布式事务的消息订阅方法、电子装置及可读存储介质 | |
US10366112B2 (en) | Compiling extract, transform, and load job test data cases | |
CN112559475B (zh) | 数据实时捕获和传输方法及系统 | |
US20160140025A1 (en) | Method and apparatus for producing a benchmark application for performance testing | |
US20150261766A1 (en) | Method and apparatus for determining a range of files to be migrated | |
US11615076B2 (en) | Monolith database to distributed database transformation | |
CN115309827A (zh) | 一种数据差异化同步方法及系统及装置及介质 | |
US9703800B1 (en) | Method and system for calculating changes for a large data set | |
US20190311010A1 (en) | Systems and methods for using linked documents | |
CN108255967B (zh) | 存储过程的调用方法、装置、存储介质及终端 | |
US11709862B2 (en) | Selective synchronization of database objects | |
US11436089B2 (en) | Identifying database backup copy chaining | |
CN113761052A (zh) | 数据库同步方法和装置 | |
CN116244383A (zh) | 基于bom中台的bom同步处理方法、设备及介质 | |
CN115080663A (zh) | 一种分布式数据库同步方法及系统及装置及介质 | |
US10691557B1 (en) | Backup file recovery from multiple data sources | |
US11537455B2 (en) | Schema management using an event stream | |
CN114328722A (zh) | 一种支持多数据源的数据同步方法、装置及计算机设备 | |
US20240078140A1 (en) | APPLICATION PROGRAMMING INTERFACE (API) ENABLER FOR UPDATED APIs | |
US20220222132A1 (en) | Application code management using an event stream |
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 |