System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,具体而言,涉及一种数据同步方法、系统、设备及存储介质。
技术介绍
1、数据仓库可以将不同数据源、不同形式的数据整合在一起。数据仓库具有数据多样、数据传输量大的特性。如何将不同数据源的数据同步到数据仓库是数据仓库应用时的主要问题。
2、现有技术中,都是将数据变更日志实时采集到kafka消息队列中,并对kafka消息队列中的数据变更日志进行解析得到待同步数据,将待同步数据同步至数据仓库。
3、但是,现有技术中针对每一种数据库需要单独进行日志配置,并考虑不同数据库的兼容性。并且同步数据的过程中不能按照用户的要求过滤、筛选数据,灵活性较差。
技术实现思路
1、本申请的目的在于,针对上述现有技术中的不足,提供一种数据同步方法、系统、设备及存储介质,以解决现有技术需要针对数据库单独配置日志,难以满足不同数据库的兼容性,且不能灵活支撑用户的数据筛选需求的问题。
2、为实现上述目的,本申请采用的技术方案如下:
3、第一方面,本申请提供了一种数据同步方法,应用于数据同步服务端,所述数据同步服务端部署有大数据平台以及数据仓库,所述大数据平台中部署有kafka消息队列以及spark计算引擎,所述kafka消息队列中包括kafka数据读取组件,所述spark计算引擎中包括数据过滤组件以及数据同步组件,所述方法包括:
4、解析待同步任务的任务参数,得到源端数据库的信息、源端表的信息、数据仓库端表的信息、过滤条件以及数据表映射信息,
5、由所述kafka数据读取组件根据所述源端数据库的信息以及所述源端表的信息,从所述源端表中获取待同步数据,并将所述待同步数据存储在主题消息队列中;
6、由所述数据过滤组件基于所述过滤条件对所述主题消息队列中的待同步数据进行过滤,并由数据同步组件将过滤后的待同步数据写入数据仓库端表;
7、由所述数据同步组件基于所述数据表映射信息将所述数据仓库端表中的待同步数据同步至所述数据仓库。
8、可选地,所述由所述kafka数据读取组件根据所述源端数据库的信息以及所述源端表的信息,从所述源端表中获取待同步数据,并将所述待同步数据存储在主题消息队列中,包括:
9、由所述kafka数据读取组件根据所述源端数据库的信息确定所述源端数据库,并根据所述源端表的信息确定所述源端数据库中的所述源端表;
10、由所述kafka数据读取组件从所述源端表中获取待同步数据,并将所述待同步数据存入所述主题消息队列中。
11、可选地,所述将所述待同步数据存入所述主题消息队列中之前,所述方法还包括:
12、根据所述源端表的信息和所述待同步任务的任务标识,创建所述待同步任务对应的主题消息队列。
13、可选地,所述由所述数据过滤组件基于所述过滤条件对所述主题消息队列中的待同步数据进行过滤,并由数据同步组件将过滤后的待同步数据写入数据仓库端表,包括:
14、由所述数据同步组件在内存中创建初始数据表,并将所述主题消息队
15、列中的待同步数据写入所述初始数据表;
16、由所述数据同步组件创建中间数据表,由所述数据过滤组件基于所述过滤条件对所述初始数据表中的待同步数据进行过滤,并由所述数据同步组件将过滤后的数据写入所述中间数据表;
17、由所述数据同步组件将所述中间数据表中的数据写入所述数据仓库端表。
18、可选地,所述由所述数据同步组件创建中间数据表,由所述数据过滤组件基于所述过滤条件对所述初始数据表中的待同步数据进行过滤,并由所述数据同步组件将过滤后的数据写入所述中间数据表,包括:
19、由所述数据同步组件在内存中创建中间数据表,并建立所述中间数据表中各字段到所述初始映射表中各字段的中间映射关系;
20、由所述数据过滤组件基于所述过滤条件对所述初始数据表中的待同步数据进行过滤,并由所述数据同步组件基于所述中间映射关系将所述过滤后的数据写入所述中间数据表的对应字段中。
21、可选地,所述spark计算引擎中还包括:数据读取组件;
22、所述由所述数据过滤组件基于所述过滤条件对所述主题消息队列中的待同步数据进行过滤,并由数据同步组件将过滤后的待同步数据写入数据仓库端表,包括:
23、由所述数据读取组件从所述主题消息队列中读取待同步数据,由所述数据过滤组件基于所述过滤条件对所述待同步数据进行过滤,并由所述数据同步组件将满足所述过滤条件的待同步数据写入所述数据仓库端表。
24、可选地,所述由所述数据同步组件基于所述数据表映射信息将所述数据仓库端表中的待同步数据同步至所述数据仓库,包括:
25、由所述数据同步组件基于所述数据表映射信息确定所述数据仓库端表中的源字段在所述数据仓库中对应的目的字段;
26、将所述源字段的待同步数据写入所述目的字段的对应位置。
27、第二方面,本申请提供了一种数据同步系统,所述数据同步系统部署有大数据平台以及数据仓库,所述大数据平台中部署有kafka消息队列以及spark计算引擎,所述kafka消息队列中包括kafka数据读取组件,所述spark计算引擎中包括数据过滤组件以及数据同步组件,所述系统包括:
28、解析组件,用于解析待同步任务的任务参数,得到源端数据库的信息、源端表的信息、数据仓库端表的信息、过滤条件以及数据表映射信息,所述数据表映射信息用于表征所述源端表到所述数据仓库端表的映射关系;
29、所述kafka数据读取组件用于根据所述源端数据库的信息以及所述源端表的信息,从所述源端表中获取待同步数据,并将所述待同步数据存储在主题消息队列中;
30、所述数据过滤组件用于基于所述过滤条件对所述主题消息队列中的待同步数据进行过滤,并将过滤后的待同步数据写入数据仓库端表;
31、所述数据同步组件用于基于所述数据表映射信息将所述数据仓库端表中的待同步数据同步至所述数据仓库。
32、可选地,所述kafka数据读取组件具体用于:
33、根据所述源端数据库的信息确定所述源端数据库,并根据所述源端表的信息确定所述源端数据库中的所述源端表;
34、从所述源端表中获取待同步数据,并将所述待同步数据存入所述主题消息队列中。
35、可选地,所述系统还包括主题创建组件,具体用于:
36、根据所述源端表的信息和所述待同步任务的任务标识,创建所述待同步任务对应的主题消息队列。
37、可选地,所述数据同步组件具体用于在内存中创建初始数据表,并将所述主题消息队列中的待同步数据写入所述初始数据表;
38、所述数据同步组件具体用于创建中间数据表,所述数据过滤组件用于基于所述过滤条件对所述初始数据表中的待同步数据进行过滤,并由本文档来自技高网...
【技术保护点】
1.一种数据同步方法,其特征在于,应用于数据同步服务端,所述数据同步服务端部署有大数据平台以及数据仓库,所述大数据平台中部署有Kafka消息队列以及Spark计算引擎,所述Kafka消息队列中包括Kafka数据读取组件,所述Spark计算引擎中包括数据过滤组件以及数据同步组件,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述由所述Kafka数据读取组件根据所述源端数据库的信息以及所述源端表的信息,从所述源端表中获取待同步数据,并将所述待同步数据存储在主题消息队列中,包括:
3.根据权利要求2所述的方法,其特征在于,所述将所述待同步数据存入所述主题消息队列中之前,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述由所述数据过滤组件基于所述过滤条件对所述主题消息队列中的待同步数据进行过滤,并由数据同步组件将过滤后的待同步数据写入数据仓库端表,包括:
5.根据权利要求4所述的方法,其特征在于,所述由所述数据同步组件创建中间数据表,由所述数据过滤组件基于所述过滤条件对所述初始数据表中的待同步数据进行过滤,并由所述
6.根据权利要求1所述的方法,其特征在于,所述Spark计算引擎中还包括:数据读取组件;
7.根据权利要求1所述的方法,其特征在于,所述由所述数据同步组件基于所述数据表映射信息将所述数据仓库端表中的待同步数据同步至所述数据仓库,包括:
8.一种数据同步系统,其特征在于,所述数据同步系统部署有大数据平台以及数据仓库,所述大数据平台中部署有Kafka消息队列以及Spark计算引擎,所述Kafka消息队列中包括Kafka数据读取组件,所述Spark计算引擎中包括数据过滤组件以及数据同步组件,所述系统包括:
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1至7任一所述的数据同步方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的数据同步方法的步骤。
...【技术特征摘要】
1.一种数据同步方法,其特征在于,应用于数据同步服务端,所述数据同步服务端部署有大数据平台以及数据仓库,所述大数据平台中部署有kafka消息队列以及spark计算引擎,所述kafka消息队列中包括kafka数据读取组件,所述spark计算引擎中包括数据过滤组件以及数据同步组件,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述由所述kafka数据读取组件根据所述源端数据库的信息以及所述源端表的信息,从所述源端表中获取待同步数据,并将所述待同步数据存储在主题消息队列中,包括:
3.根据权利要求2所述的方法,其特征在于,所述将所述待同步数据存入所述主题消息队列中之前,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述由所述数据过滤组件基于所述过滤条件对所述主题消息队列中的待同步数据进行过滤,并由数据同步组件将过滤后的待同步数据写入数据仓库端表,包括:
5.根据权利要求4所述的方法,其特征在于,所述由所述数据同步组件创建中间数据表,由所述数据过滤组件基于所述过滤条件对所述初始数据表中的待同步数据进行过滤,并由所述数据同步组件将过滤后的...
【专利技术属性】
技术研发人员:陈雄锋,张益彬,梁雨波,
申请(专利权)人:浙江中控信息产业股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。