System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据同步方法、装置、电子设备及介质制造方法及图纸_技高网

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

技术编号:39938556 阅读:6 留言:0更新日期:2024-01-08 22:22
本申请提供的数据同步方法、装置、电子设备及介质,包括:获取各源数据表中更新的目标数据,并针对所有目标数据,建立一个同步任务;每个源数据表对应Doris数仓中的一个同步数据表;对同一同步任务下的所有目标数据执行处理,生成多个数据流;每个数据流下的目标数据属于同一源数据表;将各数据流下的目标数据写入所属源数据表对应的同步数据表;同一同步任务下的目标数据的同步状态相同;从数据更新的源数据表中确定目标源数据表,比较目标源数据表中的数据的行数与对应的目标同步数据表中的数据的行数是否相等,若相等,则判定完成同步任务。本方案能够降低数据同步过程的监控负担,从而提高数据同步的时效性。

【技术实现步骤摘要】

本申请涉及大数据,尤其涉及一种数据同步方法、装置、电子设备及介质


技术介绍

1、随着大数据应用的不断深入,企业不在满足离线数据加工计算的时效,实时数据需求成为数据应用的新常态。为了方便查询或获取各数据库下的数据,将需要查询的各数据库下的数据同步至doris数仓中,doris数仓具有较强的查询功能,因而能够方法企业基于doris数仓中的数据进行快速的获取及分析。

2、相关技术中,在源数据库和数仓之间设置kafka源流处理平台,通过kafka实现数据的同步,由于kafka是基于消息队列的形式对数据执行处理,因而在数据同步过程中,针对每个源数据表建立一个同步任务,将同步任务分配到kafka对应消息队列,然后将每个同步任务下的数据同步至doris数仓中。并针对每个同步任务进行监控,以确认数据同步的有效性。

3、然而相关技术中,需要对每个数据表对应的同步任务进行监控,在库和表的数量较多的场景中,监控负担较重,占用的资源较多,从而导致数据同步的时效性较差。


技术实现思路

1、本申请实施例提供一种数据同步方法、装置、电子设备及介质,旨在降低数据同步过程的监控负担,以提高数据同步的时效性。

2、第一方面,本申请提供一种数据同步方法,包括:若各数据库下的源数据表中的数据更新,获取各源数据表中更新的目标数据,并针对所有目标数据,建立一个同步任务;其中,每个源数据表对应doris数仓中的一个同步数据表;对同一同步任务下的所有目标数据执行处理,生成多个数据流;每个数据流下的目标数据属于同一源数据表;将各数据流下的目标数据写入所属源数据表对应的同步数据表;所述同一同步任务下的所述目标数据的同步状态相同;从数据更新的源数据表中确定目标源数据表,比较所述目标源数据表中的数据的行数与所述doris数仓中对应的目标同步数据表中的数据的行数是否相等,若相等,则判定完成所述同步任务。

3、在一些实施例中,所述获取各源数据表中更新的目标数据,包括:通过flink cdc组件,从所述各数据库的日志中采样更新的日志数据;基于flink框架,对所述更新的日志数据执行map处理,生成map结构的日志数据;对所述map结构的日志数据执行fliter处理,获得所述更新的目标数据。

4、在一些实施例中,所述目标数据中包括所属源数据表字段;所属所述对同一同步任务下的所有目标数据执行处理,生成多个数据流,包括:基于flink框架,并依据各更新的目标数据的所属源数据表字段,对所述各目标数据执行flatmap处理,生成多个数据流。

5、在一些实施例中,所述从数据更新的源数据表中确定目标源数据表,比较所述目标源数据表中的数据的行数与所述doris数仓中对应的同步数据表的数据的行数是否相等,包括:从数据更新的源数据表中确定目标源数据表,将所述目标源数据表作为挂载在所述doris数仓的外表层的外表;调用所述外表对应的目标同步数据表;比较所述外表中的数据的行数与目标同步数据表的数据的行数是否相等。

6、在一些实施例中,所述比较所述目标源数据表中的数据的行数与所述doris数仓中对应的目标同步数据表中的数据的行数是否相等,之后还包括:若不相等,则检测所述目标源数据表的更新时间与调用所述目标同步数据表的调用时间的差值是否超出第一阈值,若超出,则判定未完成所述同步任务。

7、在一些实施例中,所述调用所述外表对应的目标同步数据表,包括:每隔预定时长,基于所述doris数仓当前的外表,调用所述外表对应的目标同步数据表。

8、在一些实施例中,所述调用所述外表对应的同步数据表,包括:基于所述各数据库的日志,获取当前各源数据表中更新的数据的条目数;若所述条目数标达到第二阈值,调用所述外表对应的同步数据表,并将所述条目数归零。

9、第二方面,本申请提供一种数据同步装置,包括:获取模块,用于若各数据库下的源数据表中的数据更新,获取各源数据表中更新的目标数据,并针对所有目标数据,建立一个同步任务;其中,每个源数据表对应doris数仓中的一个同步数据表;处理模块,用于对同一同步任务下的所有目标数据执行处理,生成多个数据流,;每个数据流下的目标数据属于同一源数据表;同步模块,用于将各数据流下的目标数据写入所属源数据表对应的同步数据表;所述同一同步任务下的所述目标数据的同步状态相同;监控模块,用于从数据更新的源数据表中确定目标源数据表,比较所述目标源数据表中的数据的行数与所述doris数仓中对应的目标同步数据表中的数据的行数是否相等,若相等,则判定完成所述同步任务。

10、第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如前所述的方法。

11、第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如前所述的方法。

12、本申请实施例提供的数据同步方法、装置、电子设备及介质中,获取各源数据表中更新的目标数据,并针对所有目标数据,建立一个同步任务,对同一同步任务下的所有目标数据执行处理,生成多个数据流,将各数据流下的目标数据写入所属源数据表对应的同步数据表,然后比较目标源数据表中的数据的行数与对应的目标同步数据表中的数据的行数是否相等,若相等,则完成同步任务。本方案通过对所有目标数据,建立一个同步任务,对同一同步任务下的目标数据可以执行批量处理,且同一同步任务目标数据的同步状态相同,即都同步成功或都同步失败,这样通过将目标源数据表与目标同步数据表进行一次比较,就可以确认该同步任务是否完成,进而确定所有的目标数据是否同步完成,因而能够减少同步监控任务的次数,降低监控负担,释放更多资源,从而能够提高数据同步的时效性。

本文档来自技高网...

【技术保护点】

1.一种数据同步方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述获取各源数据表中更新的目标数据,包括:

3.根据权利要求1所述的方法,其特征在于,所述目标数据中包括所属源数据表的标识字段;所属所述对同一同步任务下的所有目标数据执行处理,生成多个数据流,包括:

4.根据权利要求1所述的方法,其特征在于,所述从数据更新的源数据表中确定目标源数据表,比较所述目标源数据表中的数据的行数与所述Doris数仓中对应的同步数据表的数据的行数是否相等,包括:

5.根据权利要求4所述的方法,其特征在于,所述比较所述目标源数据表中的数据的行数与所述Doris数仓中对应的目标同步数据表中的数据的行数是否相等之后,还包括:

6.根据权利要求4所述的方法,其特征在于,所述调用所述外表对应的目标同步数据表,包括:

7.根据权利要求6所述的方法,其特征在于,所述调用所述外表对应的同步数据表,包括:

8.一种数据同步装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7中任一项所述的方法。

...

【技术特征摘要】

1.一种数据同步方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述获取各源数据表中更新的目标数据,包括:

3.根据权利要求1所述的方法,其特征在于,所述目标数据中包括所属源数据表的标识字段;所属所述对同一同步任务下的所有目标数据执行处理,生成多个数据流,包括:

4.根据权利要求1所述的方法,其特征在于,所述从数据更新的源数据表中确定目标源数据表,比较所述目标源数据表中的数据的行数与所述doris数仓中对应的同步数据表的数据的行数是否相等,包括:

5.根据权利要求4所述的方法,其特征在于,所述比较所述目标源数据表中的数据的行数...

【专利技术属性】
技术研发人员:黄民政温源姜辉乔新亚滕海燕郑子初赵健
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:

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

1