数据实时同步方法、装置及计算机可读存储介质制造方法及图纸

技术编号:28978581 阅读:13 留言:0更新日期:2021-06-23 09:24
本申请公开了一种数据实时同步方法、装置及计算机可读存储介质。其中,方法应用于Flink分布式框架,根据源数据库和ClickHouse的配置信息、实时同步任务控制信息从Binlog中读取待处理数据;根据待处理数据对应的数据库操作类型为数据插入操作、数据删除操作还是数据更新操作来采用相匹配的数据插入操作方式将待处理数据写入至内存中。当目的数据库数据导入操作被触发后,将内存中的数据加载至ClickHouse中。本申请可解决相关技术长时间处理极易出现数据同步不一致的现象,有效提升数据同步的实时性能,满足高性能的实时同步需求。

【技术实现步骤摘要】
数据实时同步方法、装置及计算机可读存储介质
本申请涉及计算机
,特别是涉及一种数据实时同步方法、装置及计算机可读存储介质。
技术介绍
ClickHouse为一个用于OLAP(OnlineAnalyticalProcessing,联机分析处理)的列式数据库管理系统,随着数据量的大幅增长,其作为计算密集型和存储密集型并重的数据分析引擎,并以其轻量和易使用的特性而被越来越广泛地应用在大数据领域中。使用ClickHouse实时数据分析的首要条件是实现将数据从业务数据库实时同步到ClickHouse中,业务数据库例如可为MySQL数据库、阿里云的RDS这种类MySQL数据库等。数据实时同步是将数据从源数据库迁移至目的数据库,实时数据实时同步则是保证源数据库和目的数据库在全量数据的基础上实时保持一致的过程。相关技术在将业务数据实时同步到ClickHouse进行OLAP实时数据分析过程中,是将数据落地到Kafka或者消息队列中作为源数据库和目的数据库间的中转地,然后再从中转地将数据最终同步至目的数据库中。但是,这种数据同步方式增加了传输环节,提高了整个系统复杂度,增大数据延迟概率,长时间处理会带来的数据不一致现象,降低数据同步的实时性能,无法满足实时大数据量同步的需求。
技术实现思路
本申请提供了一种数据实时同步方法、装置及计算机可读存储介质,解决相关技术长时间处理极易出现数据同步不一致的现象,有效提升数据同步的实时性能,满足高性能的实时同步需求。为解决上述技术问题,本专利技术实施例提供以下技术方案:本专利技术实施例一方面提供了一种数据实时同步方法,应用于Flink分布式框架,包括:根据源数据库和ClickHouse的配置信息、实时同步任务控制信息从Binlog中读取待处理数据;所述Binlog存储所述源数据库的变化数据;根据所述待处理数据对应的数据库操作类型,采用相匹配的数据插入操作方式将所述待处理数据写入至内存中;所述操作数据库类型包括数据插入操作、数据删除操作和数据更新操作;当检测到目的数据库数据导入操作被触发,将所述内存中的数据加载至所述ClickHouse中。可选的,所述采用相匹配的数据插入操作方式将所述待处理数据写入至内存中之后,还包括:将所述待处理数据的处理时间点和在所述Binlog中的位置记录在Checkpoint,以将所述Binlog同步位点实时记录在状态中。可选的,所述采用相匹配的数据插入操作方式将所述待处理数据写入至内存中之后,还包括:当再次启动数据实时同步任务,自动从故障点对应记录在所述Binlog的位点处恢复所述数据实时同步任务。可选的,所述当检测到目的数据库数据导入操作被触发,将所述内存中的数据加载至所述ClickHouse中包括:当检测到存储数据至所述内存中的操作次数达到预设次数阈值或检测到当前时刻到达Checkpoint周期,将所述内存中的数据加载至所述ClickHouse中。可选的,所述根据所述待处理数据对应的数据库操作类型,采用相匹配的数据插入操作方式将所述待处理数据写入至内存中包括:预先设置所述数据插入操作方式包括字段和主键,所述字段用于标识操作数据库类型;若所述待处理数据对应的数据库操作类型为所述数据插入操作,将相应主键的数据写入至所述内存中;若所述待处理数据对应的数据库操作类型为所述数据删除操作,利用同主键合并功能删除相应数据;若所述待处理数据对应的数据库操作类型为所述数据更新操作,所述数据插入操作方式包括第一字段和第一主键、第二字段和第二主键;将所述第一主键的数据和所述第二主键的数据顺序写入至所述内存。可选的,所述根据源数据库和ClickHouse的配置信息、实时同步任务控制信息从Binlog中读取待处理数据之前,还包括:接收并发度设置指令;根据所述并发度设置指令中的并发度数设置所述实时同步任务控制信息的任务线程数。本专利技术实施例另一方面提供了一种数据实时同步装置,应用于Flink分布式框架,包括:数据读取模块,用于根据源数据库和ClickHouse的配置信息、实时同步任务控制信息从Binlog中读取待处理数据;所述Binlog存储所述源数据库的变化数据;数据写入模块,用于根据所述待处理数据对应的数据库操作类型,采用相匹配的数据插入操作方式将所述待处理数据写入至内存中;所述操作数据库类型包括数据插入操作、数据删除操作和数据更新操作;数据同步模块,用于当检测到目的数据库数据导入操作被触发,将所述内存中的数据加载至所述ClickHouse中。可选的,还包括状态记录模块,用于将所述待处理数据的处理时间点和在所述Binlog中的位置记录在Checkpoint,以将所述Binlog同步位点实时记录在状态中。本专利技术实施例还提供了一种数据实时同步装置,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述数据实时同步方法的步骤。本专利技术实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有数据实时同步程序,所述数据实时同步程序被处理器执行时实现如前任一项所述数据实时同步方法的步骤。本申请提供的技术方案的优点在于,使用Flink分布式框架将源数据库的插入、更新、删除的业务数据均可在内存中进行转换和传输,实现了源端到目的端ClickHouse的端到端的高性能数据实时同步,保证端到端的数据一致性,解决相关技术长时间处理极易出现数据同步不一致的现象,有效提升数据同步的实时性能,满足高性能的实时同步需求;此外,Flink分布式框架还可以根据实际需要调整并发度,进一步满足高性能的实时同步需求。此外,本专利技术实施例还针对数据实时同步方法提供了相应的实现装置及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置及计算机可读存储介质具有相应的优点。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。附图说明为了更清楚的说明本专利技术实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种数据实时同步方法的流程示意图;图2为本专利技术实施例提供的另一种数据实时同步方法的流程示意图;图3为本专利技术实施例提供的再一种数据实时同步方法的流程示意图;图4为本专利技术实施例提供的数据实时同步装置的一种具体实施方式结构图;图5为本专利技术实施例提供的数据实时同步装置的另一种具体实施方式结构图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的本文档来自技高网
...

【技术保护点】
1.一种数据实时同步方法,其特征在于,应用于Flink分布式框架,包括:/n根据源数据库和ClickHouse的配置信息、实时同步任务控制信息从Binlog中读取待处理数据;所述Binlog存储所述源数据库的变化数据;/n根据所述待处理数据对应的数据库操作类型,采用相匹配的数据插入操作方式将所述待处理数据写入至内存中;所述操作数据库类型包括数据插入操作、数据删除操作和数据更新操作;/n当检测到目的数据库数据导入操作被触发,将所述内存中的数据加载至所述ClickHouse中。/n

【技术特征摘要】
1.一种数据实时同步方法,其特征在于,应用于Flink分布式框架,包括:
根据源数据库和ClickHouse的配置信息、实时同步任务控制信息从Binlog中读取待处理数据;所述Binlog存储所述源数据库的变化数据;
根据所述待处理数据对应的数据库操作类型,采用相匹配的数据插入操作方式将所述待处理数据写入至内存中;所述操作数据库类型包括数据插入操作、数据删除操作和数据更新操作;
当检测到目的数据库数据导入操作被触发,将所述内存中的数据加载至所述ClickHouse中。


2.根据权利要求1所述的数据实时同步方法,其特征在于,所述采用相匹配的数据插入操作方式将所述待处理数据写入至内存中之后,还包括:
将所述待处理数据的处理时间点和在所述Binlog中的位置记录在Checkpoint,以将所述Binlog同步位点实时记录在状态中。


3.根据权利要求2所述的数据实时同步方法,其特征在于,所述采用相匹配的数据插入操作方式将所述待处理数据写入至内存中之后,还包括:
当再次启动数据实时同步任务,自动从故障点对应记录在所述Binlog的位点处恢复所述数据实时同步任务。


4.根据权利要求1所述的数据实时同步方法,其特征在于,所述当检测到目的数据库数据导入操作被触发,将所述内存中的数据加载至所述ClickHouse中包括:
当检测到存储数据至所述内存中的操作次数达到预设次数阈值或检测到当前时刻到达Checkpoint周期,将所述内存中的数据加载至所述ClickHouse中。


5.根据权利要求1至4任意一项所述的数据实时同步方法,其特征在于,所述根据所述待处理数据对应的数据库操作类型,采用相匹配的数据插入操作方式将所述待处理数据写入至内存中包括:
预先设置所述数据插入操作方式包括字段和主键,所述字段用于标识操作数据库类型;
若所述待处理数据对应的数据库操作类型为所述数据插入操作,将相应主键的数据写入至所述内存中;

【专利技术属性】
技术研发人员:俞舒沈鹄张聪耿志振江海洋
申请(专利权)人:亿企赢网络科技有限公司
类型:发明
国别省市:上海;31

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

1