基于maxcomputer数据库的自动ETL配置方法及装置、控制系统与流程

文档序号:21179232发布日期:2020-06-20 17:41阅读:735来源:国知局
基于maxcomputer数据库的自动ETL配置方法及装置、控制系统与流程

本发明属于计算机技术领域,尤其涉及一种基于maxcomputer数据库的自动etl配置方法及装置、控制系统。



背景技术:

bi(商务智能)是从许多来自不同的企业运作系统的数据中提取出有用的数据并进行清理,以保证数据的正确性,然后经过抽取(extraction)、转换(transformation)和装载(load),即etl(数据仓库技术)过程,合并到一个企业级的数据仓库里,从而得到企业数据的一个全局视图,在此基础上利用合适的查询和分析工具、数据挖掘工具、olap工具等对其进行分析和处理,最后将知识呈现给管理者,为管理者的决策过程提供数据支持。

现有技术中,抽取数据的主要特点是数据量大,处理时间长。而处理的时间段大都是集中在数据库压力较小的凌晨,但存在如下问题:部分抽数任务由于依赖任务多或者报错等原因,运行时间排到了白天上班时间;而在上班时间对数据库进行大数据量长时间的抽取,对数据库io(数据库文件的读写,即检索数据和插入数据)和性能造成了很大影响;另外,数据的抽取过程需要每个单独配置脚本来完成同步,而有些开源工具不支持一些数据库,例如:kettle免费开源工具不支持maxcomputer数据库,因此抽取效率较低,且过程比较复杂。



技术实现要素:

本发明实施例提供了一种基于maxcomputer数据库的自动etl配置方法及装置、控制系统,旨在解决现有技术中由于数据抽取过程中需要进行多次配置导致过程较复杂的问题。

一种基于maxcomputer数据库的自动etl配置方法,包括:

获取用户的配置信息;

基于所述配置信息自动对源数据库及目标数据库进行校验配置;

基于所述配置信息及校验配置结果进行数据同步。

优选地,基于所述配置信息自动对源数据库及目标数据库进行校验配置包括:

基于所述配置信息自动对源数据库及目标数据库进行检测;

基于所述检测结果对对应的数据库进行校验配置。

优选地,基于所述配置信息自动对源数据库及目标数据库进行检测包括:

基于所述配置信息自动检测所述源数据库是否正常,所述源数据库包括源数据表;

基于所述配置信息自动检测对应的目标数据库是否正常,所述目标数据库包括目标数据表;

基于所述配置信息检测所述源数据表与目标数据表是否一致。

优选地,基于所述配置信息自动检测所述源数据库是否正常之后包括:

当检测所述源数据库出现异常时,发出异常提示。

优选地,基于所述配置信息自动对源数据库及目标数据库进行校验配置包括还包括:

基于所述配置信息检测是否有字段更新。

优选地,基于所述检测结果对对应的数据库进行校验配置包括:

当检测所述源数据库无法访问时,自动更新对应的etl同步开关;和/或

当检测有字段更新时,自动添加;和/或

当检测所述目标数据库无法访问时,自动更新对应的etl同步开关。

优选地,基于所述配置信息及校验配置结果进行数据同步包括:

基于所述配置信息生成目标数据库的目标数据表;

自动为所述目标数据表生成对应的字段数据;

基于所生成的字段数据对所述源数据库的数据同步到对应目标数据库。本发明还提供一种基于maxcomputer数据库的自动etl配置装置,包括:

获取单元,用于获取用户的配置信息;

校验配置单元,用于基于所述配置信息自动对源数据库及目标数据库进行校验配置;

同步单元,用于基于所述配置信息及校验配置结果进行数据同步。

本发明还提供一种控制系统,包括一种基于maxcomputer数据库的自动etl配置装置,所述装置包括:

获取单元,用于获取用户的配置信息;

校验配置单元,用于基于所述配置信息自动对源数据库及目标数据库进行校验配置;

同步单元,用于基于所述配置信息及校验配置结果进行数据同步。

本发明还提供一种存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行如下步骤:

获取用户的配置信息;

基于所述配置信息自动对源数据库及目标数据库进行校验配置;

基于所述配置信息及校验配置结果进行数据同步。

本发明还提供一种控制终端,包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取用户的配置信息;

基于所述配置信息自动对源数据库及目标数据库进行校验配置;

基于所述配置信息及校验配置结果进行数据同步。

本发明实施例中,自动基于用户的配置信息对源数据库及目标数据库进行校验配置,无需进行多次配置,简化数据抽取的过程,提高效率。

附图说明

图1为本发明第一实施例提供的一种基于maxcomputer数据库的自动etl配置方法的流程图;

图2为本发明第一实施例提供的一种基于maxcomputer数据库的自动etl配置方法的步骤s2的具体流程图;

图3为本发明第一实施例提供的一种基于maxcomputer数据库的自动etl配置方法的步骤s21的具体流程图;

图4为本发明第二实施例提供的一种基于maxcomputer数据库的自动etl配置装置的结构图;

图5为本发明第三实施例提供的一种控制终端的结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例中,一种基于maxcomputer数据库的自动etl配置方法,包括:获取用户的配置信息;基于所述配置信息自动对源数据库及目标数据库进行校验配置;基于所述配置信息及校验配置结果进行数据同步。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一:

图1示出了本发明第一实施例提供的一种基于maxcomputer数据库的自动etl配置方法的流程图,该方法包括:

步骤s1,获取用户的配置信息;

具体地,用户需要配置需要同步的源数据库及目标数据库时,可手动或者其他方式输入配置信息,例如批量csv文件导入。该配置信息包括源数据库及目标数据库的相关信息,该相关信息可包括:源数据库的地址、源数据库当前的状态信息等,所述目标数据库的地址、当前的状态信息等。该配置信息还可包括新增字段、增量表等。

进一步地,该配置信息还包括:配置同步开关,可预先配置好但暂时不生效,例如使用字段xtype控制是否配置。

进一步地,该配置信息还包括:配置全量或增量同步,例如全量同步采用字段isinc来控制,增量同步采用字段inc_column控制,当设置isinc=1时,次序设置inc_column的内容。

进一步地,配置信息还可包括:支持可视化。

步骤s2,基于配置信息自动对源数据库及目标数据库进行校验配置;

具体地,根据配置信息自动对源数据库及目标数据库进行校验配置,使得源数据库与目标数据库可正常访问,便于后续的数据同步。

步骤s3,基于配置信息及校验配置结果进行数据同步;

具体地,根据配置信息及校验配置结果进行数据同步。

在本实施例中,自动基于用户的配置信息对源数据库及目标数据库进行校验配置,无需进行多次配置,简化数据抽取的过程,提高效率。

在本实施例的一个优选方案中,如图2所示,为本发明第一实施例提供的一种基于maxcomputer数据库的自动etl配置方法的步骤s2的具体流程图,该步骤s2具体包括:

步骤s21,基于配置信息自动对源数据库及目标数据库进行检测;

具体地,分别自动基于配置信息自动对源数据库及目标数据库进行检测,确保源数据库及目标数据库可正常连接。

步骤s22,基于检测结果对对应的数据库进行校验配置;

具体地,基于前述检测结果对需要校验配置的数据库进行校验配置,例如,当经过检测需要对目标数据库和/或源数据库进行校验配置时,根据检测结果进行校验配置。

需要说明的是,上述检测结果及校验配置结果均自动写入日志数据库,便于后续需要使用时(例如进行数据库维护等)能及时获取。

在本实施例的一个优选方案中,如图3所示,为本发明第一实施例提供的一种基于maxcomputer数据库的自动etl配置方法的步骤s21的具体流程图,该步骤s21具体包括:

步骤s211,基于配置信息自动检测所述源数据库是否正常;

具体地,基于配置信息调用后台python脚本检测员数据库是否正常,例如,检测源数据库是否配置正确,是否可正常连接访问等;当检测出现异常时,发出异常提示,可通过语音、邮件方式发出异常提示,将异常情况及对应的异常提示自动写入日志数据库中。

步骤s212,基于配置信息自动检测对应的目标数据库是否正常;

具体地,基于配置信息检测目标数据库是否正常,例如,是否可进行正常连接访问,当出现异常时,发出异常提示,将异常情况及对应的异常提示自动写入日志数据库中。本实施例中,可采用语音、邮件的方式自动发出异常提示,还可以是其他方式,此处对此不作限制。

步骤s213,基于配置信息检测源数据表与目标数据表是否一致;

具体地,基于配置信息检测源数据表与目标数据表是否一致。

在本实施例的一个优选方案中,该步骤s21还包括:

分别检测源数据表及目标数据表是否有字段更新;

具体地,检测该配置信息是否有目标数据表及源数据表的新增字段。

在本实施例的一个优选方案中,该步骤s21还包括:

检测配置信息中的增量表配置是否正确;

在本实施例中,上述步骤21包括的具体步骤没有严格的限制,可以是包括一个或两个以上上述具体步骤,此处对此不作限制。

需要说明的是,当包括步骤s211~步骤s213时,上述步骤s211~步骤s213的顺序没有严格限制,三个步骤可同时进行,也可其中两个步骤同时进行,此处对此不作限制。

在本实施例的一个优选方案中,该步骤s22具体包括:

当检测源数据库无法访问时,自动更新对应的elt同步开关;

具体地,当检测源数据库的源数据表无法访问时,自动添加对应的etl同步开关并更新当前etl同步开关;

在本实施例的一个优选方案中,该步骤s22还可包括:

当检测有字段更新时,自动添加该更新字段;

在本实施例的一个优选方案中,该步骤s22还可包括:

当检测目标数据库无法访问时,自动添加对应的etl同步开关并更新当前etl同步开关;

在本实施例的一个优选方案中,该步骤s22还可包括:

当检测所述增量表异常时,更新etl同步开关。

在本实施例的一个优选方案中,该步骤s3具体包括:

基于配置信息生成目标数据库的目标数据表;

自动为目标数据表生成对应的字段数据;

具体地,自动为目标数据表生成对应的字段数据,该字段数据可包括字段说明、字段的类型等;

基于所生成的字段数据对源数据库的数据同步到对应目标数据库;

具体地,基于所生成的字段数据对源数据库的数据同步到对应目标数据库;例如,使用python脚本调用datax工具实现数据多线程同步,从源数据库中下载数据(增量方式或者全量方式),然后上传至目标数据库,该目标数据库优选为maxcomputer数据库。

需要说明的是,下载的数据也自动写入日志数据库,便于后续需要使用时及时取得。

在本实施例中,自动基于用户的配置信息对源数据库及目标数据库进行校验配置,无需进行多次配置,简化数据抽取的过程,提高效率。

其次,可自动检测配置的准确性,提供配置效率;

再者,自动将检测、更新及操作数据写入日志数据库进行保存,可提供数据保存的完整性,为后续进行数据追踪、维护带来便利。

实施例二:

基于上述实施例一,如图4所示,为本发明第二实施例提供的一种基于maxcomputer数据库的自动etl配置装置的结构图,该装置包括:获取单元1、与获取单元1连接的校验配置单元2、与校验配置单元2连接的同步单元3,其中:

获取单元1,用于获取用户的配置信息;

具体地,用户需要配置需要同步的源数据库及目标数据库时,可手动或者其他方式输入配置信息,例如批量csv文件导入。该配置信息包括源数据库及目标数据库的相关信息,该相关信息可包括:源数据库的地址、源数据库当前的状态信息等,所述目标数据库的地址、当前的状态信息等。该配置信息还可包括新增字段、增量表等。

进一步地,该配置信息还包括:配置同步开关,可预先配置好但暂时不生效,例如使用字段xtype控制是否配置。

进一步地,该配置信息还包括:配置全量或增量同步,例如全量同步采用字段isinc来控制,增量同步采用字段inc_column控制,当设置isinc=1时,次序设置inc_column的内容。

进一步地,配置信息还可包括:支持可视化。

校验配置单元2,用于基于配置信息自动对源数据库及目标数据库进行校验配置;

具体地,根据配置信息自动对源数据库及目标数据库进行校验配置,使得源数据库与目标数据库可正常访问,便于后续的数据同步。

同步单元3,用于基于配置信息及校验配置结果进行数据同步;

具体地,根据配置信息及校验配置结果进行数据同步。

在本实施例中,自动基于用户的配置信息对源数据库及目标数据库进行校验配置,无需进行多次配置,简化数据抽取的过程,提高效率。

在本实施例的一个优选方案中,该校验配置单元2具体包括:检测子单元及与其连接的校验配置子单元,其中:

检测子单元,用于基于配置信息自动对源数据库及目标数据库进行检测;

具体地,分别自动基于配置信息自动对源数据库及目标数据库进行检测,确保源数据库及目标数据库可正常连接。

校验配置子单元,用于基于检测结果对对应的数据库进行校验配置;

具体地,基于前述检测结果对需要校验配置的数据库进行校验配置,例如,当经过检测需要对目标数据库和/或源数据库进行校验配置时,根据检测结果进行校验配置。

需要说明的是,上述检测结果及校验配置结果均自动写入日志数据库,便于后续需要使用时(例如进行数据库维护等)能及时获取。

在本实施例的一个优选方案中,该检测子单元具体用于:

基于配置信息自动检测所述源数据库是否正常;

具体地,基于配置信息调用后台python脚本检测员数据库是否正常,例如,检测源数据库是否配置正确,是否可正常连接访问等;当检测出现异常时,发出异常提示,可通过语音、邮件方式发出异常提示,将异常情况及对应的异常提示自动写入日志数据库中。

基于配置信息自动检测对应的目标数据库是否正常;

具体地,基于配置信息检测目标数据库是否正常,例如,是否可进行正常连接访问,当出现异常时,发出异常提示,将异常情况及对应的异常提示自动写入日志数据库中。本实施例中,可采用语音、邮件的方式自动发出异常提示,还可以是其他方式,此处对此不作限制。

基于配置信息检测源数据表与目标数据表是否一致;

具体地,基于配置信息检测源数据表与目标数据表是否一致。

在本实施例的一个优选方案中,该检测子单元还用于:

分别检测源数据表及目标数据表是否有字段更新;

具体地,检测该配置信息是否有目标数据表及源数据表的新增字段。

在本实施例的一个优选方案中,该检测子单元还用于:

检测配置信息中的增量表配置是否正确;

在本实施例的一个优选方案中,该校验配置子单元具体用于:

当检测源数据库无法访问时,自动更新对应的elt同步开关;

具体地,当检测源数据库的源数据表无法访问时,自动添加对应的etl同步开关并更新当前etl同步开关;

在本实施例的一个优选方案中,该校验配置子单元还用于:

当检测有字段更新时,自动添加该更新字段;

在本实施例的一个优选方案中,该校验配置子单元具体用于:

当检测目标数据库无法访问时,自动添加对应的etl同步开关并更新当前etl同步开关;

在本实施例的一个优选方案中,该校验配置子单元具体用于:

当检测所述增量表异常时,更新etl同步开关。

在本实施例的一个优选方案中,该同步单元3具体用于:

基于配置信息生成目标数据库的目标数据表;

自动为目标数据表生成对应的字段数据;

具体地,自动为目标数据表生成对应的字段数据,该字段数据可包括字段说明、字段的类型等;

基于所生成的字段数据对源数据库的数据同步到对应目标数据库;

具体地,基于所生成的字段数据对源数据库的数据同步到对应目标数据库;例如,使用python脚本调用datax工具实现数据多线程同步,从源数据库中下载数据(增量方式或者全量方式),然后上传至目标数据库,该目标数据库优选为maxcomputer数据库。

需要说明的是,下载的数据也自动写入日志数据库,便于后续需要使用时及时取得。

在本实施例中,自动基于用户的配置信息对源数据库及目标数据库进行校验配置,无需进行多次配置,简化数据抽取的过程,提高效率。

其次,可自动检测配置的准确性,提供配置效率;

再者,自动将检测、更新及操作数据写入日志数据库进行保存,可提供数据保存的完整性,为后续进行数据追踪、维护带来便利。

本发明还提供一种控制系统,所述控制系统包括如上述实施例二所述的一种基于maxcomputer数据库的自动etl配置装置,该装置的具体结构、工作原理及所带来的技术效果与上述实施例二的描述一致,此处不再赘述。

实施例三:

图5示出了本发明第三实施例提供一种控制终端的结构图,该控制终端包括:存储器(memory)51、处理器(processor)52、通信接口(communicationsinterface)53和总线54,该处理器52、存储器51、通信接口53通过总线54完成相互之间的交互通信。

存储器51,用于存储各种数据;

具体地,存储器51用于存储各种数据,例如通信过程中的数据、接收的数据等,此处对此不作限制,该存储器还包括有多个计算机程序。

通信接口53,用于该控制终端的通信设备之间的信息传输;

处理器52,用于调用存储器51中的各种计算机程序,以执行上述实施例一所提供的一种基于maxcomputer数据库的自动etl配置方法,例如:

获取用户的配置信息;

基于所述配置信息自动对源数据库及目标数据库进行校验配置;

基于所述配置信息及校验配置结果进行数据同步。

本实施例中,自动基于用户的配置信息对源数据库及目标数据库进行校验配置,无需进行多次配置,简化数据抽取的过程,提高效率。

本发明还提供一种存储器,该存储器存储有多个计算机程序,该多个计算机程序被处理器调用执行上述实施例一所述的一种基于maxcomputer数据库的自动ftl配置方法。

本发明中,自动基于用户的配置信息对源数据库及目标数据库进行校验配置,无需进行多次配置,简化数据抽取的过程,提高效率。

其次,可自动检测配置的准确性,提供配置效率;

再者,自动将检测、更新及操作数据写入日志数据库进行保存,可提供数据保存的完整性,为后续进行数据追踪、维护带来便利。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。

专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1