System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据同步系统和方法技术方案_技高网

数据同步系统和方法技术方案

技术编号:40528388 阅读:9 留言:0更新日期:2024-03-01 13:48
本发明专利技术公开了一种数据同步系统和方法。系统包括:目标数据层、源数据层和封装处理层,目标数据层和源数据层设有一个或多个数据库,封装处理层包括公共连接池、第一同步模块和第二同步模块,封装处理层用于:响应于SQL型的数据同步任务,将第一配置信息写入公共连接池,并将数据同步任务对应的第二配置信息写入目标同步模块;根据第一配置信息中的数据源类型和第二配置信息中的作业类型确定目标同步组件,根据第一配置信息中的JDBC连接信息访问数据源类型对应的数据库,并利用目标同步组件根据第二配置信息中的配置参数完成数据同步。该系统可解决增加一个作业就要增加一个配置文件的问题,能够节约开发时间和成本,利于加快项目交付进度。

【技术实现步骤摘要】

本专利技术涉及数据同步,尤其涉及一种数据同步系统和方法


技术介绍

1、目前应用于光伏智慧运维系统的数据同步系统,包含了主要用于在hadoop与传统的关系数据库间进行数据同步的sqoop、异构数据源离线同步工具datax,以及监控数据库的日志变化,通过对行级日志的处理来达到数据同步的debezium。这些数据同步组件均由oozie调度系统统一管理,进行对应的数据同步作业。由于所有的数据同步组件所依赖的配置文件均是不同的格式,需要在后台黑窗口进行对应的文件配置操作,且在组件运维上没有进行统一的管理,这样就存在缺乏统一调度管理和增加开发复杂度的问题,大大浪费了研发的人力成本。

2、随着集中式光伏电站的规模不断扩大,传统的场站光伏智慧运维系统的数据同步系统已经不能满足实际需求,诸如数据来源的多样性以及数据同步任务开发的效率等问题日渐出现,单个数据源的作业流开发需要对应一个同步组件的配置文件,并且部分作业配置复杂繁琐,待作业流积累到一定数量后,后期维护作业也会有很大的麻烦,此类缺陷必然导致研发人员的开发进度会受到影响,耽误项目交付,影响光伏场站系统的运维稳定及公司发展收益。


技术实现思路

1、本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的目的在于提出一种数据同步系统和方法,以解决增加一个作业就要增加一个配置文件的问题,利用公共同步模块传入参数的形式,只需执行一条简单的sql插入就可以完成同步作业的需求,省去了大量的研发人员开发时间,节约成本,利于加快项目交付进度。

2、为达到上述目的,本专利技术第一方面实施例提出了一种数据同步系统,包括:目标数据层、源数据层和封装处理层,所述目标数据层设有hive数据库、关系型数据库和hbase数据库中的至少一者,所述源数据层设有hive数据库、关系型数据库和非关系型数据库中的至少一者,所述封装处理层包括公共连接池、第一同步模块和第二同步模块,所述封装处理层用于:响应于调度平台下发的数据同步任务,将所述数据同步任务对应的第一配置信息写入所述公共连接池,并确定目标同步模块,将所述数据同步任务对应的第二配置信息写入所述目标同步模块,其中,所述数据同步任务为结构化查询语言sql任务;以及根据所述第一配置信息中的数据源类型和所述第二配置信息中的作业类型确定目标同步组件,根据所述第一配置信息中的jdbc连接信息访问所述数据源类型对应的数据库,并利用所述目标同步组件根据所述第二配置信息中的配置参数,完成所述目标数据层与所述源数据层之间的数据同步。

3、另外,本专利技术实施例的数据同步系统还可以具有如下附加的技术特征:

4、根据本专利技术的一个实施例,所述第一同步模块对应关系型数据设置,所述目标同步模块为所述第一同步模块时,所述配置参数包括目标表表名、目标表字段、源表表名和源表特殊操作;所述第二同步模块对应非关系型数据设置,所述目标同步模块为所述第二同步模块时,所述配置参数包括目标表表名、目标表字段、存储位置、目标表主键和目标表列簇。

5、根据本专利技术的一个实施例,所述数据同步为源关系型数据库至目标关系型数据库的同步时,所述封装处理层用于:利用datax组件中的读写插件根据所述配置参数,将所述源关系型数据库中的待同步数据同步至所述目标关系型数据库。

6、根据本专利技术的一个实施例,所述数据同步为关系型数据库至hive数据库的同步时,所述封装处理层用于:利用java+scala组件中的spark.sql方法将所述关系型数据库中的待同步数据存储至分布式文件系统,并从所述分布式文件系统中将所述待同步数据加载至所述hive数据库;所述数据同步为hive数据库至关系型数据库的同步时,所述封装处理层用于:利用java+scala组件中的spark.sql方法将所述hive数据库中的待同步数据导出至分布式文件系统,以及利用datax组件中的读写插件根据所述配置参数,从所述分布式文件系统将所述待同步数据加载至所述关系型数据库。

7、根据本专利技术的一个实施例,所述封装处理层还用于:在数据同步操作完成前和完成后,分别对相应数据库的同步表进行拓展操作。

8、根据本专利技术的一个实施例,待同步数据为第一类非关系型数据时,

9、若所述数据同步为非关系型数据库至hbase数据库的同步,则所述封装处理层用于:利用java+scala组件中的copybytes方法将所述非关系型数据库中的所述待同步数据存储至分布式文件系统,并利用java+scala组件中的liststatus方法获取所述待同步数据在所述分布式文件系统的存储信息,以及将所述存储信息写入所述hbase数据库;

10、若所述数据同步为从hbase数据库至非关系型数据库的同步,则所述封装处理层用于:利用java+scala组件中的java api扫描所述hbase数据库,得到所述待同步数据的存储信息,并利用java+scala组件中的fs.filesystem和io流方法根据所述存储信息将所述待同步数据下载至所述非关系型数据库。

11、根据本专利技术的一个实施例,所述数据同步为非关系型数据库至hive数据库的同步,且待同步数据为第二类非关系型数据时,所述封装处理层用于:对所述非关系型数据库中的所述待同步数据进行匹配解析,并利用java+scala组件中的fs.filesystem和io流方法将解析后数据存储至分布式文件系统,以及从所述分布式文件系统中将所述解析后数据加载至所述hive数据库。

12、根据本专利技术的一个实施例,所述封装处理层还包括:作业报告模块,用于记录同步作业过程中的作业状态、作业规模、作业处理时间和作业处理方法中的至少一者。

13、根据本专利技术的一个实施例,所述jdbc连接信息是采用des加密技术加密后得到的。

14、为达到上述目的,本专利技术第二方面实施例提出了一种数据同步方法,用于上述实施例所述的数据同步系统,所述方法包括:响应于调度平台下发的数据同步任务,将所述数据同步任务对应的第一配置信息写入所述公共连接池,并确定目标同步模块,将所述数据同步任务对应的第二配置信息写入所述目标同步模块,其中,所述数据同步任务为结构化查询语言sql任务;以及根据所述第一配置信息中的数据源类型和所述第二配置信息中的作业类型、作业流标识确定目标同步组件,根据所述第一配置信息中的jdbc连接信息访问所述数据源类型对应的数据库,并利用所述目标同步组件根据所述第二配置信息中的配置参数,完成所述目标数据层与所述源数据层之间的数据同步。

15、本专利技术实施例的数据同步系统和方法,通过在封装处理层设置公共连接池、第一同步模块和第二同步模块,当接收到调度平台下发的sql型数据同步任务后,将数据同步任务对应的第一配置信息写入公共连接池,并确定目标同步模块,将数据同步任务对应的第二配置信息写入目标同步模块,之后根据第一配置信息中的数据源类型和第二配置信息中的作业类型确定目标同步组件,根据第一配置信息中的jdbc连接信息访问数据本文档来自技高网...

【技术保护点】

1.一种数据同步系统,其特征在于,包括:目标数据层、源数据层和封装处理层,所述目标数据层设有Hive数据库、关系型数据库和Hbase数据库中的至少一者,所述源数据层设有Hive数据库、关系型数据库和非关系型数据库中的至少一者,所述封装处理层包括公共连接池、第一同步模块和第二同步模块,所述封装处理层用于:

2.根据权利要求1所述的数据同步系统,其特征在于,

3.根据权利要求2所述的数据同步系统,其特征在于,所述数据同步为源关系型数据库至目标关系型数据库的同步时,所述封装处理层用于:

4.根据权利要求2所述的数据同步系统,其特征在于,

5.根据权利要求3或4所述的数据同步系统,其特征在于,所述封装处理层还用于:

6.根据权利要求2所述的数据同步系统,其特征在于,待同步数据为第一类非关系型数据时,

7.根据权利要求2所述的数据同步系统,其特征在于,所述数据同步为非关系型数据库至Hive数据库的同步,且待同步数据为第二类非关系型数据时,所述封装处理层用于:

8.根据权利要求1所述的数据同步系统,其特征在于,所述封装处理层还包括:

9.根据权利要求1所述的数据同步系统,其特征在于,所述数据同步任务是由调度平台创建的,且为结构化查询语言SQL任务,所述JDBC连接信息是采用DES加密技术加密后得到的。

10.一种数据同步方法,其特征在于,用于根据权利要求1-9中任一项所述的数据同步系统,所述方法包括:

...

【技术特征摘要】

1.一种数据同步系统,其特征在于,包括:目标数据层、源数据层和封装处理层,所述目标数据层设有hive数据库、关系型数据库和hbase数据库中的至少一者,所述源数据层设有hive数据库、关系型数据库和非关系型数据库中的至少一者,所述封装处理层包括公共连接池、第一同步模块和第二同步模块,所述封装处理层用于:

2.根据权利要求1所述的数据同步系统,其特征在于,

3.根据权利要求2所述的数据同步系统,其特征在于,所述数据同步为源关系型数据库至目标关系型数据库的同步时,所述封装处理层用于:

4.根据权利要求2所述的数据同步系统,其特征在于,

5.根据权利要求3或4所述的数据同步系统,其特征在于,所述封装处理层还用...

【专利技术属性】
技术研发人员:洪流柴东元李小飞刘志飞
申请(专利权)人:尚特杰电力科技有限公司
类型:发明
国别省市:

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

1