一种数据同步方法、设备及计算机可读存储介质技术

技术编号:17812850 阅读:35 留言:0更新日期:2018-04-28 05:34
本发明专利技术公开了一种数据同步方法、设备及计算机可读存储介质,方法包括:获取所录入至少包括源库名称、源库表名称、源库表类型的源库信息,解析源库信息对应源库中所包括元数据得到源表结构;根据源表结构生成用于在目标库中建立临时存储数据的第一目标库表、和在目标库中建立存储与源库相同数据的第二目标库表的建表脚本;获取第一目标库表的表类型,并对应生成用于将元数据从源库依次经过第一目标库表、第二目标库表同步至目标库的同步脚本。通过配置有限的条目,自动生成建表脚本和同步脚本,使数据同步操作简单化,提升开发效率,并减少人为错误。

【技术实现步骤摘要】
一种数据同步方法、设备及计算机可读存储介质
本专利技术涉及数据同步
,具体涉及一种数据同步方法、设备及计算机可读存储介质。
技术介绍
目前,对企业级数据库的数据进行同步操作(即将数据通过同步工具由源库同步至目标库)时,需要进行如下的开发:1、根据源库表结构信息,建立目标hive数据库中对应的表;2、根据使用的同步工具开发同步脚本程序;上述过程中的建表脚本、以及同步脚本都是开发人员通过人工开发,开发过程复杂,效率低下,错误率高,极大的降低了数据同步的效率。因此,现有技术还有待于改进和发展。
技术实现思路
鉴于上述现有技术的不足之处,本专利技术的目的在于提供数据同步方法、设备及计算机可读存储介质,旨在解决现有技术中在数据同步过程中建表脚本、以及同步脚本都是开发人员通过人工开发,开发过程复杂,效率低下,错误率高,极大的降低了数据同步的效率的缺陷。为了达到上述目的,本专利技术采取了以下技术方案:一种数据同步方法,其中,包括如下步骤:获取所录入至少包括源库名称、源库表名称、源库表类型的源库信息,解析源库信息对应源库中所包括元数据得到源表结构;根据源表结构生成用于在目标库中建立临时存储数据的第一目标库表、和在目标库中建立存储与源库相同数据的第二目标库表的建表脚本;获取第一目标库表的表类型,并对应生成用于将元数据从源库依次经过第一目标库表、第二目标库表同步至目标库的同步脚本。所述数据同步方法,其中,所述第一目标库表的表类型为增量表、流水表或全量表中的一种;所述第二目标库表的表类型为增量表、流水表或全量表中的一种。所述数据同步方法,其中,所述获取所录入至少包括源库名称、源库表名称、源库表类型的源库信息,解析源库信息对应源库中所包括元数据得到源表结构的步骤包括:获取所录入包括源库名称、源库表名、源库表类型、源表更新字段、源表除重字段及目标库名称的源库信息;从与源库信息中源库名称对应的源库获取元数据;解析获取元数据的元数据信息表,并根据元数据信息表对应得到源表结构。所述数据同步方法,其中,所述获取第一目标库表的表类型,并对应生成用于将元数据从源库依次经过第一目标库表、第二目标库表同步至目标库的同步脚本的步骤包括;获取第一目标库表的表类型,判断第一目标库表的表类型是增量表、流水表或是全量表;当第一目标库表的表类型是增量表时,则对应生成第一sqoop同步脚本及hive程序;所述第一sqoop同步脚本及hive程序用于将元数据从源库同步至第一目标库表的指定分区中,再将第一目标库表中的元数据根据源表除重字段进行除重后存入第二目标库表。所述数据同步方法,其中,所述获取第一目标库表的表类型,并对应生成用于将元数据从源库依次经过第一目标库表、第二目标库表同步至目标库的同步脚本的步骤中还包括:当第一目标库表的表类型是流水表时,则对应生成第二sqoop同步脚本及hive程序;所述第二sqoop同步脚本及hive程序用于将元数据从源库同步至第一目标库表的指定分区中,再将第一目标库表中的元数据存入第二目标库表。所述数据同步方法,其中,所述获取第一目标库表的表类型,并对应生成用于将元数据从源库依次经过第一目标库表、第二目标库表同步至目标库的同步脚本的步骤中还包括:当第一目标库表的表类型是全量表时,则对应生成第三sqoop同步脚本及hive程序;所述第三sqoop同步脚本及hive程序用于将元数据从源库同步至第一目标库表,再将第一目标库表中的元数据存入第二目标库表。所述数据同步方法,其中,所述第一sqoop同步脚本及hive程序、第二sqoop同步脚本及hive程序、第三sqoop同步脚本及hive程序的执行周期均为24h。所述数据同步方法,其中,所述元数据对应的元数据信息表至少包括表属主,表名称,表注释,列名称,列注释及列顺序。一种数据同步设备,其中,包括:处理器、存储器、通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述通信总线实现处理器和存储器之间的连接通信;所述处理器执行所述计算机可读程序时实现所述的数据同步方法中的步骤。一种计算机可读存储介质,其中,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现所述的数据同步方法中的步骤。相较于现有技术,本专利技术提供的数据同步方法、设备及计算机可读存储介质,分别在源库和目标库中建立对应的表,再根据用户录入源库名称,源库表名称、源库表类型及目标hive库名称等条目和既定的规则,由程序自动生成建表脚本及同步脚本,根据自动生成的建表脚本和同步脚本,将源库中的数据同步到目标库中。通过配置有限的条目,自动生成建表脚本和同步脚本,使数据同步操作简单化,提升开发效率,并减少人为错误。附图说明图1为本专利技术提供的数据同步方法的流程图。图2为本专利技术提供的数据同步方法中步骤S100的流程图。图3为本专利技术提供的数据同步方法中步骤S300的流程图。图4为本专利技术提供的数据同步设备的较佳实施例的运行环境示意图。图5为本专利技术所述的数据同步程序的较佳实施例的功能模块图。图6为本专利技术提供的数据同步系统的结构框图。具体实施方式鉴于现有技术中数据同步过程中建表脚本、以及同步脚本都是开发人员通过人工开发,开发过程复杂,效率低下,错误率高,极大的降低了数据同步的效率的缺点,本专利技术的目的在于提供一种数据同步方法、设备及计算机可读存储介质,通过配置有限的条目,自动生成建表脚本和同步脚本,使数据同步操作简单化,提升开发效率,并减少人为错误。为使本专利技术的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。请参阅图1,本专利技术提供的数据同步方法,包括以下步骤:步骤S100、获取所录入至少包括源库名称、源库表名称、源库表类型的源库信息,解析源库信息对应源库中所包括元数据得到源表结构。本实施例中,当需要将元数据从源库同步至目标库中时,只需在由所述数据同步方法对应设计的同步工具(同步工具即是一个应用程序)的界面中,录入包括源库名称、源库表名、源库表类型、源表更新字段、源表除重字段及目标库名称的源库信息即可。在完成了源库信息录入后,后续自动生成建表脚本和同步脚本,使数据同步操作简单化。其中,元数据所初始存储的源库为oracle数据库(oracle数据库又名OracleRDBMS,或简称Oracle,是甲骨文公司的一款关系数据库管理系统),MySQL(MySQL是一个开放源码的小型关联式数据库管理系统)数据库或PostgreSQL(PostgreSQL是一个自由的对象-关系数据库服务器)数据库,所述目标库为hive(hive是基于Hadoop的一个数据仓库工具)数据库。这些数据库均为常见且易于操作的数据库管理系统及工具,便于在本实施例中对数据进行分析及处理。步骤S200,根据源表结构生成用于在目标库中建立临时存储数据的第一目标库表、和在目标库中建立存储与源库相同数据的第二目标库表的建表脚本。本实施例中,当录入源库信息后,则需根据录入的源库信息自动解析源表结构,根据源表结构即及预设的建表规则来自动生成建表脚本。为了更清楚的理解自动生成建表脚本的过程,下面具体对预设的建表规则进行说明。源库的建表规则如本文档来自技高网...
一种数据同步方法、设备及计算机可读存储介质

【技术保护点】
一种数据同步方法,其特征在于,包括如下步骤:获取所录入至少包括源库名称、源库表名称、源库表类型的源库信息,解析源库信息对应源库中所包括元数据得到源表结构;根据源表结构生成用于在目标库中建立临时存储数据的第一目标库表、和在目标库中建立存储与源库相同数据的第二目标库表的建表脚本;获取第一目标库表的表类型,并对应生成用于将元数据从源库依次经过第一目标库表、第二目标库表同步至目标库的同步脚本。

【技术特征摘要】
1.一种数据同步方法,其特征在于,包括如下步骤:获取所录入至少包括源库名称、源库表名称、源库表类型的源库信息,解析源库信息对应源库中所包括元数据得到源表结构;根据源表结构生成用于在目标库中建立临时存储数据的第一目标库表、和在目标库中建立存储与源库相同数据的第二目标库表的建表脚本;获取第一目标库表的表类型,并对应生成用于将元数据从源库依次经过第一目标库表、第二目标库表同步至目标库的同步脚本。2.根据权利要求1所述数据同步方法,其特征在于,所述第一目标库表的表类型为增量表、流水表或全量表中的一种;所述第二目标库表的表类型为增量表、流水表或全量表中的一种。3.根据权利要求2所述数据同步方法,其特征在于,所述获取所录入至少包括源库名称、源库表名称、源库表类型的源库信息,解析源库信息对应源库中所包括元数据得到源表结构的步骤包括:获取所录入包括源库名称、源库表名、源库表类型、源表更新字段、源表除重字段及目标库名称的源库信息;从与源库信息中源库名称对应的源库获取元数据;解析获取元数据的元数据信息表,并根据元数据信息表对应得到源表结构。4.根据权利要求3所述数据同步方法,其特征在于,所述获取第一目标库表的表类型,并对应生成用于将元数据从源库依次经过第一目标库表、第二目标库表同步至目标库的同步脚本的步骤包括:获取第一目标库表的表类型,判断第一目标库表的表类型是增量表、流水表或是全量表;当第一目标库表的表类型是增量表时,则对应生成第一sqoop同步脚本及hive程序;所述第一sqoop同步脚本及hive程序用于将元数据从源库同步至第一目标库表的指定分区中,再将第一目标库表中的元数据根据源表除重字段进行除重后存入第二目标库表。5.根据权利要求4所述数据同步方法,其特征在于,所述获取第一目...

【专利技术属性】
技术研发人员:付军
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

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

1