CN109284334A - 实时数据库同步方法、装置、电子设备及存储介质 - Google Patents
实时数据库同步方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109284334A CN109284334A CN201811033356.XA CN201811033356A CN109284334A CN 109284334 A CN109284334 A CN 109284334A CN 201811033356 A CN201811033356 A CN 201811033356A CN 109284334 A CN109284334 A CN 109284334A
- Authority
- CN
- China
- Prior art keywords
- data
- real
- configuration
- database
- operation information
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施例公开了一种实时数据库同步方法、装置、电子设备及计算机可读存储介质,所述方法包括:根据用户的配置信息实时更新数据库同步的任务配置和规则配置;基于所述任务配置,实时采集数据库集群中至少一个源数据库的操作信息,并将所述操作信息发送给分布式消息队列;对所述分布式消息队列进行流式处理,实时获取所述操作信息,并基于所述规则配置对所述操作信息进行解析和过滤;利用解析和过滤获得的数据同步更新目标数据库。该方案能够实现即使在数据库的数据结构发生变更时,也能达到更新数据在数据库之间秒级别或者毫秒级同步。
Description
技术领域
本公开涉及计算机技术领域,具体涉及一种实时数据库同步方法、装置、电子设备及存储介质。
背景技术
大数据和分布式应用领域,通常需要对数据库中的数据进行同步。现有的一种数据库同步技术可以采用SQL式的数据抽取,例如Hadoop生态系统中数据同步工具sqoop,其可以运用命令行的方式采用传参数的方式进行数据的抽取与存储。但是,这种同步技术仅支持批量导出数据库中的历史数据,无法进行实时的数据库同步,实时性不高;并且无法兼容数据库的数据结构变更,兼容性较差。
发明内容
本公开实施例提供一种实时数据库同步方法、装置、电子设备及计算机可读存储介质。
第一方面,本公开实施例中提供了一种实时数据库同步方法。
具体的,所述实时数据库同步方法,包括:
根据用户的配置信息实时更新数据库同步的任务配置和规则配置;
基于所述任务配置,实时采集数据库集群中至少一个源数据库的操作信息,并将所述操作信息发送给分布式消息队列;
对所述分布式消息队列进行流式处理,实时获取所述操作信息,并基于所述规则配置对所述操作信息进行解析和过滤;
利用解析和过滤获得的数据同步更新目标数据库。
结合第一方面,本公开在第一方面的第一种实现方式中,所述源数据库为关系型数据库。
结合第一方面或第一方面的第一种实现方式,本公开在第一方面的第二种实现方式中,所述将所述操作信息发送给分布式消息队列之前,还包括:
将所述操作信息转化为具有预设固定格式的标准数据;其中,所述预设固定格式包括数据操作类型、数据操作字段名、数据操作前的字段值以及数据操作后的字段值。
结合第一方面、第一方面的第一种实现方式或第一方面的第二种实现方式,本公开在第一方面的第三种实现方式中,所述根据用户的配置信息实时更新数据库同步的任务配置的步骤包括:
基于所述配置信息和分布式的任务调度实时更新所述任务配置。
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式或第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,所述数据库集群中一个源数据库对应所述分布式消息队列的一个主题,源数据库中的一个表对应所述主题中的一个分区。
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式或第一方面的第四种实现方式,本公开在第一方面的第五种实现方式中,所述基于所述规则配置对所述操作信息进行解析和过滤包括:
从所述标准数据中解析出所述数据操作字段名;
在解析出的所述数据操作字段名为黑名单数据时,将所述数据操作字段名对应的所述标准数据丢弃。
结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式或第一方面的第四种实现方式或第一方面的第五种实现方式,本公开在第一方面的第六种实现方式中,所述方法包括:
从Web页面接收用户的所述配置信息。
第二方面,本公开实施例中提供了一种实时数据库同步装置。
具体的,所述实时数据库同步装置,包括:
更新模块,被配置为根据用户的配置信息实时更新数据库同步的任务配置和规则配置;
采集模块,被配置为基于所述任务配置,实时采集数据库集群中至少一个源数据库的操作信息,并将所述操作信息发送给分布式消息队列;
解析模块,被配置为对所述分布式消息队列进行流式处理,实时获取所述操作信息,并基于所述规则配置对所述操作信息进行解析和过滤;
存储模块,被配置为利用解析和过滤获得的数据同步更新目标数据库。
结合第二方面,本公开在第二方面的第一种实现方式中,所述源数据库为关系型数据库。
结合第二方面或第二方面的第一种实现方式,本公开在第二方面的第二种实现方式中,所述采集模块包括:
数据转换子模块,被配置为在将所述操作信息发送给分布式消息队列之前,将所述操作信息转化为具有预设固定格式的标准数据;其中,所述预设固定格式包括数据操作类型、数据操作字段名、数据操作前的字段值以及数据操作后的字段值。
结合第二方面、第二方面的第一种实现方式或第二方面的第二种实现方式,本公开在第二方面的第三种实现方式中,所述更新模块进一步被配置为基于所述配置信息和分布式的任务调度实时更新所述任务配置。
结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式或第二方面的第三种实现方式,本公开在第二方面的第四种实现方式中,所述数据库集群中一个源数据库对应所述分布式消息队列的一个主题,源数据库中的一个表对应所述主题中的一个分区。
结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式、第二方面的第三种实现方式或第二方面的第四种实现方式,本公开在第二方面的第五种实现方式中,所述解析模块包括:
数据解析子模块,被配置为从所述标准数据中解析出所述数据操作字段名;
数据过滤子模块,被配置为在解析出的所述数据操作字段名为黑名单数据时,将所述数据操作字段名对应的所述标准数据丢弃。
结合第二方面、第二方面的第一种实现方式、第二方面的第二种实现方式、第二方面的第三种实现方式、第二方面的第四种实现方式或第二方面的第五种实现方式,本公开在第二方面的第六种实现方式中,所述装置包括:
用户配置模块,被配置为从Web页面接收用户的所述配置信息。
第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现第一方面中实时数据库同步方法。
第四方面,本公开实施例提供了一种计算机可读存储介质,用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被处理器执行以实现第一方面中实时数据库同步方法。
本公开实施例提供的技术方案可以包括以下有益效果:
上述技术方案,通过用户的信息配置实时更新数据库同步的任务配置和规则配置,实时采集数据库集群中源数据库的操作信息,并基于分布式消息队列的流式处理和基于规则配置的解析和过滤,将源数据库中数据同步到目标数据库,从而基于用户的配置生成对应的同步任务,使得用户能够按照自身需求配置所需要同步的数据,增强了系统的自动化性能;同时本公开实施例还基于用户配置的同步任务实现了实时性数据同步,并且能够兼容源数据库表结构的实时变更问题,实现了即使在源数据库的数据结构发生变更时,也能达到更新数据在数据库之间秒级别或者毫秒级的同步。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开一实施方式的实时数据库同步方法的流程图;
图2示出根据图1所示实施方式的实时数据库同步方法的步骤S102的流程图;
图3示出根据图1所示实施方式的实时数据库同步方法的步骤S103的流程图;
图4示出根据本公开一实施方式的实时数据库同步装置的结构框图;
图5示出根据图4所示实施方式的实时数据库同步装置的采集模块402的结构框图;
图6示出根据图4所示实施方式的实时数据库同步装置的解析模块403的结构框图;
图7示出根据本公开一实施方式的电子设备的结构框图;
图8示出根据图1所示实时方式的实时数据库同步方法的应用场景示意图;
图9是适于用来实现根据本公开一实施方式的实时数据库同步方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出根据本公开一实施方式的一种实时数据库同步方法的流程图。如图1所示,所述实时数据库同步方法包括以下步骤S101-S104:
步骤S101,根据用户的配置信息实时更新数据库同步的任务配置和规则配置;
步骤S102,基于所述任务配置,实时采集数据库集群中至少一个源数据库的操作信息,并将所述操作信息发送给分布式消息队列;
步骤S103,对所述分布式消息队列进行流式处理,实时获取所述操作信息,并基于所述规则配置对所述操作信息进行解析和过滤;
步骤S104,利用解析和过滤获得的数据同步更新目标数据库。
上文提及,现有的数据库同步工具sqoop仅支持批量导出数据库中的历史数据,无法进行实时的数据库同步,实时性不高;并且无法兼容数据库的数据结构变更,兼容性较差。
考虑到上述缺陷,在该实施方式中,提出一种实时数据库同步方法,该方法通过用户的信息配置实时更新数据库同步的任务配置和规则配置,实时采集数据库集群中源数据库的操作信息,并基于分布式消息队列的流式处理和基于规则配置的解析和过滤,将源数据库中数据同步到目标数据库,从而基于用户的配置生成对应的同步任务,使得用户能够按照自身需求配置所需要同步的数据,增强了系统的自动化性能;同时本公开实施例还基于用户配置的同步任务实现了实时性数据同步,并且能够兼容源数据库表结构的实时变更问题,实现了即使在源数据库的数据结构发生变更时,也能达到更新数据在数据库之间秒级别或者毫秒级的同步。
其中,在步骤S101中,任务配置是基于用户的配置信息解析出的需要执行数据同步的任务信息,包括需要同步的数据库名的选择、数据库表名等的选择信息。规则配置是基于用户的配置信息解析出的对数据库的各个表中各个字段的具体过滤规则等的选择信息。用户配置的过滤规则可以存储于ETL规则库中,供后续解析和过滤时调用。ETL是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。本公开实施例应用于数据库集群中多数据库、多用户任务的数据同步。用户可以基于自身的需求进行配置,本公开实施例基于用户的配置信息解析出任务配置和规则配置,并基于任务配置和规则配置实时地将用户所需同步的数据从数据库集群中的源数据库同步到目标数据库。
在一实施例中,源数据库可以是用于存储大数据的数据库,数据量较大,属于持久化数据的数据库,一般不支持大规模的数据分析查询操作,不支持大数据领域的海量数据的分析工作,因此用户可以基于自身的需求将所需要的数据从源数据库中同步到目标数据库,目标数据库可以是仅用于存储用户所需数据的小型数据库,能够从业务层面上实现用户的交互式数据分析工作。
本实施例中,任务配置和规则配置可以通过分布式存储方式进行存储,并通过实时监听用户的配置信息,在用户产生新的配置信息或者对配置信息有修改时,能够实时同步到分布式存储的任务配置和规则配置中,并且基于实时更新的任务配置,采集源数据库中的操作信息。
其中,在步骤S102中,源数据库的操作信息包括数据库后台记录的体现数据库中数据变化的操作记录,例如可以包括操作日志。根据实时获取的任务配置,采集任务配置中指定的数据库中的相应数据,并将其发送到分布式消息队列中进行存储。分布式消息队列是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题,是大型分布式系统不可缺少的中间件。例如,可以采用kafka消息队列实现该分布式消息队列。由于本公开实施例针对的是数据库集群中一个或多个源数据库中数据的同步,且支持多用户的多业务配置,因此通过分布式消息队列存储源数据库中的同步数据,能够进一步提高数据同步的实时性。
其中,在步骤S103中,对所述分布式消息队列进行流式处理,流式处理即流式计算。流式计算是针对流式数据的实时处理,以连续、无边界和瞬时性为特征,适合高速并发和大规模数据实时处理的场景。例如,可以采用spark Streaming流式计算实现分布式消息队列的流式处理。操作信息可以是具有预定格式的数据,在获取到所述操作信息以后,根据预定格式对所述操作信息进行解析,得到更新数据,并基于规则配置对解析得到的数据进行筛选和过滤。
其中,在步骤S104中,目标数据库可以是分布式数据仓库,分布式数据仓库可以采用kudu或者hbase数据仓库。
在本实施例的一个可选实现方式中,所述源数据库可以为关系型数据库。
其中,以MySQL数据库为例,本实施例可以采集MySQL数据库集群中至少一个源数据库的操作信息,例如可以采用开源的canal引擎,实时订阅MySQL的binlog日志并进行解析,binlog日志为MySQL的实时操作日志,其是将MySQL中执行的所有SQL以日志方式记录下来。通过canal实时解析操作日志,将读取出来的操作数据发送至分布式消息队列。分布式消息队列可以采用kafka消息队列。随后,通过对kafka消息队列执行spark Streaming流式计算的处理,实时获得采集的操作数据进行解析和过滤。随后,解析和过滤后的操作数据同步写入目标数据库。
在本实施例的一个可选实现方式中,如图2所示,所述步骤S102,即基于所述任务配置,实时采集数据库集群中至少一个源数据库的操作信息,并将所述操作信息发送给分布式消息队列,包括步骤S201-S203:
步骤S201,基于所述任务配置,实时采集数据库集群中至少一个源数据库的操作信息;
步骤S202,将所述操作信息转化为具有预设固定格式的标准数据;其中,所述预设固定格式包括数据操作类型、数据操作字段名、数据操作前的字段值以及数据操作后的字段值;
步骤S203,将所述具有预设固定格式的标准数据发送给分布式消息队列。
其中,从源数据库中采集到的操作信息可以是数据库日志数据,通过对数据库日志数据进行解析,确定该条日志对应的数据操作类型、数据操作字段名、数据操作前的字段值以及数据操作后的字段值等。操作类型例如可以是数据增加、数据修改和数据删除中的一种,数据操作字段名包括但不限于数据库中的数据表名、列名、存储位置等。预设固定格式可以事先规定好,这样从分布式消息队列中获取到操作信息以后,可以按照该预设固定格式将操作信息中的数据操作类型、数据操作字段名、数据操作前的字段值以及数据操作后的字段值等封装成标准数据,以便同步到目标数据库时按照该预设固定格式对标准数据进行解析,进而按照目标数据库的存储结构进行更新。
具有预设固定格式的标准数据可以采用JSON消息格式。将操作类型是否属于数据增加(insert)、数据修改(update)和数据删除(delete),以及操作前的各字段值、操作后的各字段值依次封装在JSON消息中。
例如,如果数据库操作类型为insert类型、操作字段名为row1、row2,操作前字段row1、row2的字段值分别为“1”、“a”,操作后字段row1、row2的字段值分别为“1”、“a”。那么,在JSON消息中,按照名称/值对依次进行标记,如:
"type":"insert",
"before_row":["row1":"1","row2":"a"],
"after_row":["row1":"1","row2":"a"]。
在本实施例的一个可选实现方式中,所述根据用户的配置信息实时更新数据库同步的任务配置的步骤包括:基于所述配置信息和分布式的任务调度实时更新所述任务配置。
在本实施方式中,由于canal引擎本身存在技术缺陷,其每个任务配置为配置文件方式,无法进行任务配置的实时更新。本实施方式对canal引擎进行修改,通过分布式的任务调度来实时更新canal引擎的任务配置,从而实现了当用户配置的数据同步任务发生更改时,canal引擎中的任务配置也能实时地进行更新。
其中,分布式的任务调度可以通过Zookeeper分布式服务框架实现。Zookeeper作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,主要是用来维护和监控存储的数据的状态变化,通过监控这些数据状态的变化,从而达到基于数据的集群管理。本实施例通过canal引擎的任务配置实时监听Zookeeper存储,从而实现一旦用户的配置信息改变了数据库同步的操作任务时,通过实时更新Zookeeper存储中的任务配置以及Zookeeper提供的分布式任务调度,canal中的任务配置也能实时地进行更新。
在本实施例的一个可选实现方式中,所述数据库集群中一个源数据库对应所述分布式消息队列的一个主题,源数据库中的一个表对应所述主题中的一个分区。
本实施方式中,数据库集群中一个源数据库可以对应到kafka消息队列中的一个主题topic,而数据库中的每个表可以对应到该主题topic中的一个消息分区partition,这样可以有效保证数据库之间采集数据的时序性。在采用spark Streaming流式计算对kafka消息队列进行处理时,按任务的方式在kafka消息队列中实时拉取数据,一次拉取一个主题topic的数据,也就是一个数据库的数据,进行分布式处理。
在本实施例的一个可选实现方式中,如图3所示,所述步骤S103中基于所述规则配置对所述操作信息进行解析和过滤,包括步骤S301-S302:
步骤S301,从所述标准数据中解析出所述数据操作字段名;
步骤S302,在解析出的所述数据操作字段名为黑名单数据时,将所述数据操作字段名对应的所述标准数据丢弃。
本实施方式中,首先从预设固定格式的标准数据中解析出数据库操作的字段名,然后根据用户配置的过滤规则,判断当前处理的数据是否属于黑名单数据,如符合黑名单数据,则将此数据进行丢弃。对于过滤后的操作数据,可以根据预设固定格式的标准数据中的操作类型type生成对应的目标数据库中的操作类型,并将过滤黑名单后的所有字段名和字段值插入具体的操作对象,然后对目标数据库进行具体的操作,以达到数据同步的目的。
在本实施例的一个可选实现方式中,所述方法包括:从Web页面接收用户的所述配置信息。
本实施方式中,用户可通过web端的界面便可轻易地进行同步数据库的任务配置和规则配置,包括所要同步的数据库名称的选择、表名的选择、各个表中各个字段的具体过滤规则的选择等。此外,web端将用户的配置信息解析,实时更新数据库同步的任务配置和规则配置,以供采集、解析和过滤数据库操作信息使用。本公开实施例通过为用户提供任务配置界面,能够为用户提供业务可定制化服务,用户根据自身需求配置所要同步的数据库、数据库中的相应数据,系统实时监听用户的配置,并根据用户的配置实时更新任务配置和规则配置,进而将用户所要的数据实时更新到目标数据库中,供用户查询分析使用。本公开实施例无需像现有技术一样将整个源数据库中的数据全部同步到目标数据库中,而是基于用户的需求同步用户所需要的数据,用户只需在web界面进行简单的配置,即可生成对应的同步任务,大大增强了系统的自动化性能;同时,本公开实施例也无需像现有技术一样需要针对用户的需求重新开发同步系统,无法保证实时性,而是适应源数据库数据结构的变更,即使源数据库数据结构发生变更,目标数据库中的数据结构也能在秒级别进行实时的变更。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
图4示出根据本公开一实施方式实时数据库同步装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,所述实时数据库同步装置包括:
更新模块401,被配置为根据用户的配置信息实时更新数据库同步的任务配置和规则配置;
采集模块402,被配置为基于所述任务配置,实时采集数据库集群中至少一个源数据库的操作信息,并将所述操作信息发送给分布式消息队列;
解析模块403,被配置为对所述分布式消息队列进行流式处理,实时获取所述操作信息,并基于所述规则配置对所述操作信息进行解析和过滤;
存储模块404,被配置为利用解析和过滤获得的数据同步更新目标数据库。
上文提及,现有的数据库同步工具sqoop仅支持批量导出数据库中的历史数据,无法进行实时的数据库同步,实时性不高;并且无法兼容数据库的数据结构变更,兼容性较差。
考虑到上述缺陷,在该实施方式中,提出一种实时数据库同步装置,该装置通过用户的信息配置实时更新数据库同步的任务配置和规则配置,实时采集数据库集群中源数据库的操作信息,并基于分布式消息队列的流式处理和基于规则配置的解析和过滤,将源数据库中数据同步到目标数据库,从而基于用户的配置生成对应的同步任务,使得用户能够按照自身需求配置所需要同步的数据,增强了系统的自动化性能;同时本公开实施例还基于用户配置的同步任务实现了实时性数据同步,并且能够兼容源数据库表结构的实时变更问题,实现了即使在源数据库的数据结构发生变更时,也能达到更新数据在数据库之间秒级别或者毫秒级的同步。
其中,更新模块401中,任务配置是基于用户的配置信息解析出的需要执行数据同步的任务信息,包括需要同步的数据库名的选择、数据库表名等的选择信息。规则配置是基于用户的配置信息解析出的对数据库的各个表中各个字段的具体过滤规则等的选择信息。用户配置的过滤规则可以存储于ETL规则库中,供后续解析和过滤时调用。ETL是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。本公开实施例应用于数据库集群中多数据库、多用户任务的数据同步。用户可以基于自身的需求进行配置,本公开实施例基于用户的配置信息解析出任务配置和规则配置,并基于任务配置和规则配置实时地将用户所需同步的数据从数据库集群中的源数据库同步到目标数据库。
在一实施例中,源数据库可以是用于存储大数据的数据库,数据量较大,属于持久化数据的数据库,一般不支持大规模的数据分析查询操作,不支持大数据领域的海量数据的分析工作,因此用户可以基于自身的需求将所需要的数据从源数据库中同步到目标数据库,目标数据库可以是仅用于存储用户所需数据的小型数据库,能够从业务层面上实现用户的交互式数据分析工作。
本实施例中,任务配置和规则配置可以通过分布式存储方式进行存储,并通过实时监听用户的配置信息,在用户产生新的配置信息或者对配置信息有修改时,能够实时同步到分布式存储的任务配置和规则配置中,并且基于实时更新的任务配置,采集源数据库中的操作信息。
其中,采集模块402中,源数据库的操作信息包括数据库后台记录的体现数据库中数据变化的操作记录,例如可以包括操作日志。根据实时获取的任务配置,采集任务配置中指定的数据库中的相应数据,并将其发送到分布式消息队列中进行存储。分布式消息队列是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题,是大型分布式系统不可缺少的中间件。例如,可以采用kafka消息队列实现该分布式消息队列。由于本公开实施例针对的是数据库集群中一个或多个源数据库中数据的同步,且支持多用户的多业务配置,因此通过分布式消息队列存储源数据库中的同步数据,能够进一步提高数据同步的实时性。
其中,解析模块403中,对所述分布式消息队列进行流式处理,流式处理即流式计算。流式计算是针对流式数据的实时处理,以连续、无边界和瞬时性为特征,适合高速并发和大规模数据实时处理的场景。例如,可以采用spark Streaming流式计算实现分布式消息队列的流式处理。操作信息可以是具有预定格式的数据,在获取到所述操作信息以后,根据预定格式对所述操作信息进行解析,得到更新数据,并基于规则配置对解析得到的数据进行筛选和过滤。
其中,存储模块404中,目标数据库可以是分布式数据仓库,分布式数据仓库可以采用kudu或者hbase数据仓库。
在本实施例的一个可选实现方式中,所述源数据库可以为关系型数据库。
其中,以MySQL数据库为例,本实施例可以采集MySQL数据库集群中至少一个源数据库的操作信息,例如可以采用开源的canal引擎,实时订阅MySQL的binlog日志并进行解析,binlog日志为MySQL的实时操作日志,其是将MySQL中执行的所有SQL以日志方式记录下来。通过canal实时解析操作日志,将读取出来的操作数据发送至分布式消息队列。分布式消息队列可以采用kafka消息队列。随后,通过对kafka消息队列执行spark Streaming流式计算的处理,实时获得采集的操作数据进行解析和过滤。随后,解析和过滤后的操作数据同步写入目标数据库。
在本实施例的一个可选实现方式中,如图5所示,采集模块402包括如下子模块:
数据采集子模块501,被配置为基于所述任务配置,实时采集数据库集群中至少一个源数据库的操作信息;
数据转换子模块502,被配置为将所述操作信息转化为具有预设固定格式的标准数据;其中,所述预设固定格式包括数据操作类型、数据操作字段名、数据操作前的字段值以及数据操作后的字段值;
数据发送子模块503,被配置为将所述具有预设固定格式的标准数据发送给分布式消息队列。
其中,从源数据库中采集到的操作信息可以是数据库日志数据,通过对数据库日志数据进行解析,确定该条日志对应的数据操作类型、数据操作字段名、数据操作前的字段值以及数据操作后的字段值等。操作类型例如可以是数据增加、数据修改和数据删除中的一种,数据操作字段名包括但不限于数据库中的数据表名、列名、存储位置等。预设固定格式可以事先规定好,这样从分布式消息队列中获取到操作信息以后,可以按照该预设固定格式将操作信息中的数据操作类型、数据操作字段名、数据操作前的字段值以及数据操作后的字段值等封装成标准数据,以便同步到目标数据库时按照该预设固定格式对标准数据进行解析,进而按照目标数据库的存储结构进行更新。
具有预设固定格式的标准数据可以采用JSON消息格式。将操作类型是否属于数据增加(insert)、数据修改(update)和数据删除(delete),以及操作前的各字段值、操作后的各字段值依次封装在JSON消息中。
例如,如果数据库操作类型为insert类型、操作字段名为row1、row2,操作前字段row1、row2的字段值分别为“1”、“a”,操作后字段row1、row2的字段值分别为“1”、“a”。那么,在JSON消息中,按照名称/值对依次进行标记,如:
"type":"insert",
"before_row":["row1":"1","row2":"a"],
"after_row":["row1":"1","row2":"a"]。
在本实施例的一个可选实现方式中,更新模块401进一步被配置为:基于所述配置信息和分布式的任务调度实时更新所述任务配置。
在本实施方式中,由于canal引擎本身存在技术缺陷,其每个任务配置为配置文件方式,无法进行任务配置的实时更新。本实施方式对canal引擎进行修改,通过分布式的任务调度来实时更新canal引擎的任务配置,从而实现了当用户配置的数据同步任务发生更改时,canal引擎中的任务配置也能实时地进行更新。
其中,分布式的任务调度可以通过Zookeeper分布式服务框架实现。Zookeeper作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,主要是用来维护和监控存储的数据的状态变化,通过监控这些数据状态的变化,从而达到基于数据的集群管理。本实施例通过canal引擎的任务配置实时监听Zookeeper存储,从而实现一旦用户的配置信息改变了数据库同步的操作任务时,通过实时更新Zookeeper存储中的任务配置以及Zookeeper提供的分布式任务调度,canal中的任务配置也能实时地进行更新。
在本实施例的一个可选实现方式中,所述数据库集群中一个源数据库对应所述分布式消息队列的一个主题,源数据库中的一个表对应所述主题中的一个分区。
本实施方式中,数据库集群中一个源数据库可以对应到kafka消息队列中的一个主题topic,而数据库中的每个表可以对应到所述主题topic中的一个消息分区partition,这样可以有效保证数据库之间采集数据的时序性。在采用spark Streaming流式计算对kafka消息队列进行处理时,按任务的方式在kafka消息队列中实时拉取数据,一次拉取一个主题topic的数据,也就是一个数据库的数据,进行分布式处理。
在本实施例的一个可选实现方式中,如图6所示,解析模块403包括如下子模块:
数据解析子模块601,被配置为从所述标准数据中解析出所述数据操作字段名;
数据过滤子模块602,被配置为在解析出的所述数据操作字段名为黑名单数据时,将所述数据操作字段名对应的所述标准数据丢弃。
本实施方式中,首先从预设固定格式的标准数据中解析出数据库操作的字段名,然后根据用户配置的过滤规则,判断当前处理的数据是否属于黑名单数据,如符合黑名单数据,则将此数据进行丢弃。对于过滤后的操作数据,可以根据预设固定格式的标准数据中的操作类型type生成对应的目标数据库中的操作类型,并将过滤黑名单后的所有字段名和字段值插入具体的操作对象,然后对目标数据库进行具体的操作,以达到数据同步的目的。
在本实施例的一个可选实现方式中,所述装置包括:
用户配置模块,被配置为从Web页面接收用户的所述配置信息。
本实施方式中,用户可通过web端的界面便可轻易地进行同步数据库的任务配置和规则配置,包括所要同步的数据库名称的选择、表名的选择、各个表中各个字段的具体过滤规则的选择等。此外,web端将用户的配置信息解析,实时更新数据库同步的任务配置和规则配置,以供采集、解析和过滤数据库操作信息使用。本公开实施例通过为用户提供任务配置界面,能够为用户提供业务可定制化服务,用户根据自身需求配置所要同步的数据库、数据库中的相应数据,系统实时监听用户的配置,并根据用户的配置实时更新任务配置和规则配置,进而将用户所要的数据实时更新到目标数据库中,供用户查询分析使用。本公开实施例无需像现有技术一样将整个源数据库中的数据全部同步到目标数据库中,而是基于用户的需求同步用户所需要的数据,用户只需在web界面进行简单的配置,即可生成对应的同步任务,大大增强了系统的自动化性能;同时,本公开实施例也无需像现有技术一样需要针对用户的需求重新开发同步系统,无法保证实时性,而是适应源数据库数据结构的变更,即使源数据库数据结构发生变更,目标数据库中的数据结构也能在秒级别进行实时的变更。
本公开还公开了一种电子设备,图7示出根据本公开一实施方式的电子设备的结构框图,如图7所示,所述电子设备700包括存储器701和处理器702;其中,
所述存储器701用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器702执行以实现上述任一方法步骤。
图8示出了本公开一实施方式中实时数据同步方法的应用场景示意图。如图8所示,日志采集端负责实时采集的MySQL的binlog日志,并解析binlog日志为JSON消息,实时发生至kafka消息队列中;解析端采用spark Streaming框架,流式的从kafka中读取数据并进行数据解析过滤,存入kudu或者hbase中;web端负责整个系统的用户交互界面,用于供用户进行配置。
图9适于用来实现根据本公开实施方式的实时数据库同步方法的计算机系统的结构示意图。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行上述实施方式中的各种处理。在RAM903中,还存储有系统900操作所需的各种程序和数据。CPU901、ROM902以及RAM903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本公开的实施方式,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行本公开实施例所述方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种实时数据库同步方法,其特征在于,包括:
根据用户的配置信息实时更新数据库同步的任务配置和规则配置;
基于所述任务配置,实时采集数据库集群中至少一个源数据库的操作信息,并将所述操作信息发送给分布式消息队列;
对所述分布式消息队列进行流式处理,实时获取所述操作信息,并基于所述规则配置对所述操作信息进行解析和过滤;
利用解析和过滤获得的数据同步更新目标数据库。
2.根据权利要求1所述的方法,其特征在于,所述将所述操作信息发送给分布式消息队列之前,还包括:
将所述操作信息转化为具有预设固定格式的标准数据;其中,所述预设固定格式包括数据操作类型、数据操作字段名、数据操作前的字段值以及数据操作后的字段值。
3.根据权利要求1所述的方法,其特征在于,所述根据用户的配置信息实时更新数据库同步的任务配置的步骤包括:
基于所述配置信息和分布式的任务调度实时更新所述任务配置。
4.根据权利要求1所述的方法,其特征在于,所述数据库集群中一个源数据库对应所述分布式消息队列的一个主题,源数据库中的一个表对应所述主题中的一个分区。
5.根据权利要求2所述的方法,其特征在于,所述基于所述规则配置对所述操作信息进行解析和过滤包括:
从所述标准数据中解析出所述数据操作字段名;
在解析出的所述数据操作字段名为黑名单数据时,将所述数据操作字段名对应的所述标准数据丢弃。
6.根据权利要求1所述的方法,其特征在于,还包括:
从Web页面接收用户的所述配置信息。
7.一种实时数据库同步装置,其特征在于,包括:
更新模块,被配置为根据用户的配置信息实时更新数据库同步的任务配置和规则配置;
采集模块,被配置为基于所述任务配置,实时采集数据库集群中至少一个源数据库的操作信息,并将所述操作信息发送给分布式消息队列;
解析模块,被配置为对所述分布式消息队列进行流式处理,实时获取所述操作信息,并基于所述规则配置对所述操作信息进行解析和过滤;
存储模块,被配置为利用解析和过滤获得的数据同步更新目标数据库。
8.根据权利要求7所述的装置,其特征在于,所述采集模块包括:
数据转换子模块,被配置为在将所述操作信息发送给分布式消息队列之前,将所述操作信息转化为具有预设固定格式的标准数据;其中,所述预设固定格式包括数据操作类型、数据操作字段名、数据操作前的字段值以及数据操作后的字段值。
9.一种电子设备,其特征在于,包括存储器和处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1-6任一项所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-6任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811033356.XA CN109284334B (zh) | 2018-09-05 | 2018-09-05 | 实时数据库同步方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811033356.XA CN109284334B (zh) | 2018-09-05 | 2018-09-05 | 实时数据库同步方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109284334A true CN109284334A (zh) | 2019-01-29 |
CN109284334B CN109284334B (zh) | 2022-01-28 |
Family
ID=65183574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811033356.XA Active CN109284334B (zh) | 2018-09-05 | 2018-09-05 | 实时数据库同步方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284334B (zh) |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800272A (zh) * | 2019-02-25 | 2019-05-24 | 广州虎牙信息科技有限公司 | 缓存数据同步方法、服务器、应用系统及存储装置 |
CN110008267A (zh) * | 2019-03-12 | 2019-07-12 | 北京国电智深控制技术有限公司 | 一种数据处理的系统及方法 |
CN110083660A (zh) * | 2019-04-29 | 2019-08-02 | 重庆天蓬网络有限公司 | 一种同步数据的方法、装置、介质和电子设备 |
CN110209507A (zh) * | 2019-05-16 | 2019-09-06 | 厦门市美亚柏科信息股份有限公司 | 基于消息队列的数据处理方法、装置、系统及存储介质 |
CN110362629A (zh) * | 2019-07-02 | 2019-10-22 | 北京字节跳动网络技术有限公司 | 一种用于保证数据一致性的方法、装置、介质和电子设备 |
CN110471925A (zh) * | 2019-08-15 | 2019-11-19 | 浙江执御信息技术有限公司 | 实现搜索系统中索引数据同步的方法及系统 |
CN110489247A (zh) * | 2019-08-22 | 2019-11-22 | 深圳前海环融联易信息科技服务有限公司 | 一种数据实时集成方法及装置 |
CN110704401A (zh) * | 2019-10-10 | 2020-01-17 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN110727694A (zh) * | 2019-10-10 | 2020-01-24 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN110727724A (zh) * | 2019-09-09 | 2020-01-24 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 数据抽取方法、装置、计算机设备和存储介质 |
CN110781197A (zh) * | 2019-09-29 | 2020-02-11 | 北京淇瑀信息科技有限公司 | 一种hive离线同步校验方法、装置及电子设备 |
CN110807067A (zh) * | 2019-09-29 | 2020-02-18 | 北京淇瑀信息科技有限公司 | 关系型数据库和数据仓库的数据同步方法、装置及设备 |
CN110866022A (zh) * | 2019-10-24 | 2020-03-06 | 贝壳技术有限公司 | 基于日志文件的数据解析方法、系统及装置 |
CN111008232A (zh) * | 2019-11-23 | 2020-04-14 | 杭州米络星科技(集团)有限公司 | 一种业务数据入库方法 |
CN111026727A (zh) * | 2019-10-24 | 2020-04-17 | 贝壳技术有限公司 | 基于日志文件的表维度检索数据同步方法、系统及装置 |
CN111143468A (zh) * | 2019-12-11 | 2020-05-12 | 浙江华云信息科技有限公司 | 基于mpp分布式技术的多数据库数据管理方法 |
CN111221664A (zh) * | 2019-12-24 | 2020-06-02 | 视联动力信息技术股份有限公司 | 一种操作日志处理系统 |
CN111241135A (zh) * | 2019-12-31 | 2020-06-05 | 广州酷旅旅行社有限公司 | 一种商品搜索方法、装置、计算机设备和存储介质 |
CN111339073A (zh) * | 2020-02-24 | 2020-06-26 | 天津满运软件科技有限公司 | 实时数据处理方法、装置、电子设备及可读存储介质 |
CN111464368A (zh) * | 2020-04-27 | 2020-07-28 | 东方通信股份有限公司 | 一种网管系统中快速实现信令跟踪的装置与方法 |
CN111666344A (zh) * | 2020-06-19 | 2020-09-15 | 中信银行股份有限公司 | 异构数据同步方法及装置 |
CN111767340A (zh) * | 2020-05-29 | 2020-10-13 | 中国工商银行股份有限公司 | 数据处理方法、装置、电子设备和介质 |
CN111858190A (zh) * | 2020-06-15 | 2020-10-30 | 福建天泉教育科技有限公司 | 提高集群可用性的方法及其系统 |
CN111897878A (zh) * | 2020-08-25 | 2020-11-06 | 中国工商银行股份有限公司 | 主辅数据同步方法及系统 |
CN111984660A (zh) * | 2020-08-14 | 2020-11-24 | 上海好屋网信息技术有限公司 | 数据同步方法、装置、设备及存储介质 |
CN112418748A (zh) * | 2020-01-03 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 分布式架构下电商库存的离线对账方法及系统 |
CN112419018A (zh) * | 2020-01-03 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 分布式环境下的通用数据对账方法、服务器及存储介质 |
CN112434062A (zh) * | 2020-11-26 | 2021-03-02 | 平安普惠企业管理有限公司 | 准实时数据处理方法、装置、服务器及存储介质 |
CN112487025A (zh) * | 2020-12-18 | 2021-03-12 | 广州奇享科技有限公司 | 数据查询方法、装置、电子设备及存储介质 |
CN112925795A (zh) * | 2019-12-06 | 2021-06-08 | 北京沃东天骏信息技术有限公司 | 一种订单数据的处理方法和装置 |
CN112988916A (zh) * | 2021-03-05 | 2021-06-18 | 杭州天阙科技有限公司 | 针对Clickhouse的全量和增量同步方法、设备和存储介质 |
CN113282598A (zh) * | 2021-04-28 | 2021-08-20 | 青岛海尔科技有限公司 | 数据分析方法及装置、存储介质及电子装置 |
CN113297240A (zh) * | 2021-06-01 | 2021-08-24 | 杭州每刻科技有限公司 | 一种PostgreSQL数据库同步方法和系统 |
CN113407601A (zh) * | 2020-03-17 | 2021-09-17 | 北京国双科技有限公司 | 数据采集方法、装置、存储介质和电子设备 |
CN113468170A (zh) * | 2021-06-02 | 2021-10-01 | 上海赛可出行科技服务有限公司 | 一种自动化实现数据实时同步的系统 |
CN113946624A (zh) * | 2021-10-11 | 2022-01-18 | 北京达佳互联信息技术有限公司 | 分布式集群、信息处理方法、装置、电子设备及存储介质 |
CN115470302A (zh) * | 2022-10-25 | 2022-12-13 | 以萨技术股份有限公司 | 一种基于canal的数据库双向同步方法、介质及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429124B2 (en) * | 2010-12-21 | 2013-04-23 | Neustar Information Services, Inc. | On demand multi-location large database synchronization system |
CN107122497A (zh) * | 2017-05-25 | 2017-09-01 | 北京微影时代科技有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN107741950A (zh) * | 2017-09-05 | 2018-02-27 | 北京趣拿软件科技有限公司 | 数据同步任务的处理方法、装置、处理器及服务端 |
CN107784098A (zh) * | 2017-10-24 | 2018-03-09 | 百味云科技股份有限公司 | 实时数据仓库平台 |
CN107943979A (zh) * | 2017-11-29 | 2018-04-20 | 山东鲁能软件技术有限公司 | 一种数据库之间数据的准实时同步方法及装置 |
CN108121757A (zh) * | 2017-11-10 | 2018-06-05 | 广州优视网络科技有限公司 | 一种数据同步方法、装置、系统、计算设备及存储介质 |
-
2018
- 2018-09-05 CN CN201811033356.XA patent/CN109284334B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429124B2 (en) * | 2010-12-21 | 2013-04-23 | Neustar Information Services, Inc. | On demand multi-location large database synchronization system |
CN107122497A (zh) * | 2017-05-25 | 2017-09-01 | 北京微影时代科技有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN107741950A (zh) * | 2017-09-05 | 2018-02-27 | 北京趣拿软件科技有限公司 | 数据同步任务的处理方法、装置、处理器及服务端 |
CN107784098A (zh) * | 2017-10-24 | 2018-03-09 | 百味云科技股份有限公司 | 实时数据仓库平台 |
CN108121757A (zh) * | 2017-11-10 | 2018-06-05 | 广州优视网络科技有限公司 | 一种数据同步方法、装置、系统、计算设备及存储介质 |
CN107943979A (zh) * | 2017-11-29 | 2018-04-20 | 山东鲁能软件技术有限公司 | 一种数据库之间数据的准实时同步方法及装置 |
Cited By (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800272A (zh) * | 2019-02-25 | 2019-05-24 | 广州虎牙信息科技有限公司 | 缓存数据同步方法、服务器、应用系统及存储装置 |
CN110008267A (zh) * | 2019-03-12 | 2019-07-12 | 北京国电智深控制技术有限公司 | 一种数据处理的系统及方法 |
CN110083660A (zh) * | 2019-04-29 | 2019-08-02 | 重庆天蓬网络有限公司 | 一种同步数据的方法、装置、介质和电子设备 |
CN110209507A (zh) * | 2019-05-16 | 2019-09-06 | 厦门市美亚柏科信息股份有限公司 | 基于消息队列的数据处理方法、装置、系统及存储介质 |
CN110362629A (zh) * | 2019-07-02 | 2019-10-22 | 北京字节跳动网络技术有限公司 | 一种用于保证数据一致性的方法、装置、介质和电子设备 |
CN110471925A (zh) * | 2019-08-15 | 2019-11-19 | 浙江执御信息技术有限公司 | 实现搜索系统中索引数据同步的方法及系统 |
CN110489247A (zh) * | 2019-08-22 | 2019-11-22 | 深圳前海环融联易信息科技服务有限公司 | 一种数据实时集成方法及装置 |
CN110727724B (zh) * | 2019-09-09 | 2023-03-24 | 未鲲(上海)科技服务有限公司 | 数据抽取方法、装置、计算机设备和存储介质 |
CN110727724A (zh) * | 2019-09-09 | 2020-01-24 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 数据抽取方法、装置、计算机设备和存储介质 |
CN110807067B (zh) * | 2019-09-29 | 2023-12-22 | 北京淇瑀信息科技有限公司 | 关系型数据库和数据仓库的数据同步方法、装置及设备 |
CN110781197A (zh) * | 2019-09-29 | 2020-02-11 | 北京淇瑀信息科技有限公司 | 一种hive离线同步校验方法、装置及电子设备 |
CN110807067A (zh) * | 2019-09-29 | 2020-02-18 | 北京淇瑀信息科技有限公司 | 关系型数据库和数据仓库的数据同步方法、装置及设备 |
CN110781197B (zh) * | 2019-09-29 | 2023-09-26 | 北京淇瑀信息科技有限公司 | 一种hive离线同步校验方法、装置及电子设备 |
CN110704401A (zh) * | 2019-10-10 | 2020-01-17 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN110727694B (zh) * | 2019-10-10 | 2024-01-09 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN110727694A (zh) * | 2019-10-10 | 2020-01-24 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111026727A (zh) * | 2019-10-24 | 2020-04-17 | 贝壳技术有限公司 | 基于日志文件的表维度检索数据同步方法、系统及装置 |
CN110866022A (zh) * | 2019-10-24 | 2020-03-06 | 贝壳技术有限公司 | 基于日志文件的数据解析方法、系统及装置 |
CN111008232A (zh) * | 2019-11-23 | 2020-04-14 | 杭州米络星科技(集团)有限公司 | 一种业务数据入库方法 |
CN112925795A (zh) * | 2019-12-06 | 2021-06-08 | 北京沃东天骏信息技术有限公司 | 一种订单数据的处理方法和装置 |
CN111143468A (zh) * | 2019-12-11 | 2020-05-12 | 浙江华云信息科技有限公司 | 基于mpp分布式技术的多数据库数据管理方法 |
CN111143468B (zh) * | 2019-12-11 | 2022-12-06 | 浙江华云信息科技有限公司 | 基于mpp分布式技术的多数据库数据管理方法 |
CN111221664A (zh) * | 2019-12-24 | 2020-06-02 | 视联动力信息技术股份有限公司 | 一种操作日志处理系统 |
CN111241135A (zh) * | 2019-12-31 | 2020-06-05 | 广州酷旅旅行社有限公司 | 一种商品搜索方法、装置、计算机设备和存储介质 |
CN111241135B (zh) * | 2019-12-31 | 2024-04-09 | 广州酷旅旅行社有限公司 | 一种商品搜索方法、装置、计算机设备和存储介质 |
CN112419018A (zh) * | 2020-01-03 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 分布式环境下的通用数据对账方法、服务器及存储介质 |
CN112418748A (zh) * | 2020-01-03 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 分布式架构下电商库存的离线对账方法及系统 |
CN112419018B (zh) * | 2020-01-03 | 2022-11-18 | 上海哔哩哔哩科技有限公司 | 分布式环境下的通用数据对账方法、服务器及存储介质 |
CN111339073A (zh) * | 2020-02-24 | 2020-06-26 | 天津满运软件科技有限公司 | 实时数据处理方法、装置、电子设备及可读存储介质 |
CN113407601A (zh) * | 2020-03-17 | 2021-09-17 | 北京国双科技有限公司 | 数据采集方法、装置、存储介质和电子设备 |
CN111464368B (zh) * | 2020-04-27 | 2022-04-15 | 东方通信股份有限公司 | 一种网管系统中快速实现信令跟踪的装置与方法 |
CN111464368A (zh) * | 2020-04-27 | 2020-07-28 | 东方通信股份有限公司 | 一种网管系统中快速实现信令跟踪的装置与方法 |
CN111767340B (zh) * | 2020-05-29 | 2024-01-05 | 中国工商银行股份有限公司 | 数据处理方法、装置、电子设备和介质 |
CN111767340A (zh) * | 2020-05-29 | 2020-10-13 | 中国工商银行股份有限公司 | 数据处理方法、装置、电子设备和介质 |
CN111858190B (zh) * | 2020-06-15 | 2023-05-23 | 福建天泉教育科技有限公司 | 提高集群可用性的方法及其系统 |
CN111858190A (zh) * | 2020-06-15 | 2020-10-30 | 福建天泉教育科技有限公司 | 提高集群可用性的方法及其系统 |
CN111666344A (zh) * | 2020-06-19 | 2020-09-15 | 中信银行股份有限公司 | 异构数据同步方法及装置 |
CN111984660A (zh) * | 2020-08-14 | 2020-11-24 | 上海好屋网信息技术有限公司 | 数据同步方法、装置、设备及存储介质 |
CN111897878B (zh) * | 2020-08-25 | 2023-09-29 | 中国工商银行股份有限公司 | 主辅数据同步方法及系统 |
CN111897878A (zh) * | 2020-08-25 | 2020-11-06 | 中国工商银行股份有限公司 | 主辅数据同步方法及系统 |
CN112434062A (zh) * | 2020-11-26 | 2021-03-02 | 平安普惠企业管理有限公司 | 准实时数据处理方法、装置、服务器及存储介质 |
CN112487025A (zh) * | 2020-12-18 | 2021-03-12 | 广州奇享科技有限公司 | 数据查询方法、装置、电子设备及存储介质 |
CN112988916B (zh) * | 2021-03-05 | 2023-06-16 | 杭州天阙科技有限公司 | 针对Clickhouse的全量和增量同步方法、设备和存储介质 |
CN112988916A (zh) * | 2021-03-05 | 2021-06-18 | 杭州天阙科技有限公司 | 针对Clickhouse的全量和增量同步方法、设备和存储介质 |
CN113282598A (zh) * | 2021-04-28 | 2021-08-20 | 青岛海尔科技有限公司 | 数据分析方法及装置、存储介质及电子装置 |
CN113297240A (zh) * | 2021-06-01 | 2021-08-24 | 杭州每刻科技有限公司 | 一种PostgreSQL数据库同步方法和系统 |
CN113468170A (zh) * | 2021-06-02 | 2021-10-01 | 上海赛可出行科技服务有限公司 | 一种自动化实现数据实时同步的系统 |
CN113468170B (zh) * | 2021-06-02 | 2024-06-14 | 上海赛可出行科技服务有限公司 | 一种自动化实现数据实时同步的系统 |
CN113946624A (zh) * | 2021-10-11 | 2022-01-18 | 北京达佳互联信息技术有限公司 | 分布式集群、信息处理方法、装置、电子设备及存储介质 |
CN115470302B (zh) * | 2022-10-25 | 2023-05-09 | 以萨技术股份有限公司 | 一种基于canal的数据库双向同步方法、介质及设备 |
CN115470302A (zh) * | 2022-10-25 | 2022-12-13 | 以萨技术股份有限公司 | 一种基于canal的数据库双向同步方法、介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109284334B (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284334A (zh) | 实时数据库同步方法、装置、电子设备及存储介质 | |
US9262248B2 (en) | Log configuration of distributed applications | |
CN104679772B (zh) | 分布式数据仓库中删除文件的方法、装置、设备及系统 | |
US20150339388A1 (en) | Collection of Telemetry Data by a Telemetry Library Within a Client Device | |
CN110457178A (zh) | 一种基于日志采集分析的全链路监控告警方法 | |
CN112349404A (zh) | 基于云-边-端架构的多中心医疗设备大数据云平台 | |
CN108965355A (zh) | 用于数据传输的方法、装置及计算机可读存储介质 | |
CN105518673B (zh) | 管理数据摄取 | |
CN111327446B (zh) | 配置数据处理方法、软件定义网络设备、系统及存储介质 | |
CN106789195A (zh) | 一种事件处理方法及网管设备、服务器 | |
CN103825918B (zh) | 数据同步方法、终端设备、服务器和系统 | |
CN109359139A (zh) | 数据同步方法、系统、电子设备及计算机可读存储介质 | |
CN114189423A (zh) | 全面兼容扩展的智能问诊告警系统、方法及介质 | |
CN110019539A (zh) | 一种数据仓库的数据同步的方法和装置 | |
WO2019223178A1 (zh) | 跨平台任务调度方法、系统、计算机设备和存储介质 | |
CN113542074A (zh) | 一种可视化管理kubernetes集群的东西向网络流量的方法及系统 | |
CN109324942A (zh) | 微服务的双活处理方法、装置及系统、设备、存储介质 | |
CN106528300A (zh) | 一种同步单机游戏的方法、装置和终端 | |
CN113486095A (zh) | 一种民航空管跨网安全数据交换管理平台 | |
CN101170540A (zh) | 一种xml文档管理方法和客户端、服务器 | |
JP6950576B2 (ja) | ネットワークシステム、トポロジ管理方法、およびプログラム | |
CN117194562A (zh) | 数据同步方法和装置、电子设备和计算机可读介质 | |
CN112463527A (zh) | 一种数据处理方法、装置、设备、系统及存储介质 | |
DE102016114224B4 (de) | Priorisierung von Netzwerkverkehr basierend auf einer relativen bevorstehenden Verwendung | |
US20220327160A1 (en) | Delta-based conflict-free replicated data type arrays using dot stores that map dots to dot stores |
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 |