实时数据库同步方法、装置、电子设备及存储介质制造方法及图纸

技术编号:20242306 阅读:52 留言:0更新日期:2019-01-29 23:20
本公开实施例公开了一种实时数据库同步方法、装置、电子设备及计算机可读存储介质,所述方法包括:根据用户的配置信息实时更新数据库同步的任务配置和规则配置;基于所述任务配置,实时采集数据库集群中至少一个源数据库的操作信息,并将所述操作信息发送给分布式消息队列;对所述分布式消息队列进行流式处理,实时获取所述操作信息,并基于所述规则配置对所述操作信息进行解析和过滤;利用解析和过滤获得的数据同步更新目标数据库。该方案能够实现即使在数据库的数据结构发生变更时,也能达到更新数据在数据库之间秒级别或者毫秒级同步。

【技术实现步骤摘要】
实时数据库同步方法、装置、电子设备及存储介质
本公开涉及计算机
,具体涉及一种实时数据库同步方法、装置、电子设备及存储介质。
技术介绍
大数据和分布式应用领域,通常需要对数据库中的数据进行同步。现有的一种数据库同步技术可以采用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.一种实时数据库同步方法,其特征在于,包括:根据用户的配置信息实时更新数据库同步的任务配置和规则配置;基于所述任务配置,实时采集数据库集群中至少一个源数据库的操作信息,并将所述操作信息发送给分布式消息队列;对所述分布式消息队列进行流式处理,实时获取所述操作信息,并基于所述规则配置对所述操作信息进行解析和过滤;利用解析和过滤获得的数据同步更新目标数据库。2.根据权利要求1所述的方法,其特征在于,所述将所述操作信息发送给分布式消息队列之前,还包括:将所述操作信息转化为具有预设固定格式的标准数据;其中,所述预设固定格式包括数据操作类型、数据操作字段名、数据操作前的字段值以及数据操作后的字段值。3.根据权利要求1所述的方法,其特征在于,所述根据用户的配置信息实时更新数据库同步的任务配置的步骤包括:基于所述配置信息和分布式的任务调度实时更新所述任务配置。4.根据权利要求1所述的方法,其特征在于,所述数据库集群中一个源数据库对应所述分布式消息队列的一个主题,源数据库中的一个表对应所述主题中的一个分区。5.根据权利要求2所述的方法,其特征在于,所述基于所述规则配置对所述操作信息进行解析和过滤包括:从所述标准数据中解析出所述数据操作字段名;在解析出的所述数据操作字段名为黑名单数据时,将所述数据操作字段名对应的所...

【专利技术属性】
技术研发人员:宋风举
申请(专利权)人:拉扎斯网络科技上海有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1