一种结合数据校验的etl调度系统及方法

文档序号:6634717阅读:374来源:国知局
一种结合数据校验的etl调度系统及方法
【专利摘要】本发明提供一种结合数据校验的ETL调度系统及方法,调度并执行ETL JOB;获取所述ETL JOB预先关联的校验数据以供加载;每执行一个ETL JOB前,分别对所述ETL JOB的执行结果及所述ETL JOB中加载的所述校验数据进行校验,进而判断是否执行与所述ETL JOB有依赖关系的ETL JOB,从而能够更加有效地加载数据,不仅节约了宝贵的服务器资源,同时大大提高了ETL调度效率。
【专利说明】一种结合数据校验的ETL调度系统及方法

【技术领域】
[0001] 本发明涉及数据仓库【技术领域】,特别是涉及一种结合数据校验的ETL调度系统及 方法。

【背景技术】
[0002] 传统的ETL (Extract-Transform-Load,数据仓库技术)指在构建数据仓库过程中 对数据源中数据的抽取(Extract),经过数据转换(Transform)后加载(Load)到数据仓库 的过程。一般情况下,ETL负责系统运行程序的调度控制,但是在调度过程中也不会涉及到 数据校验。
[0003] 当然,也有一些ETL调度过程涉及到数据校验。通常,在ETL调度系统周围部署数 据校验系统来实现,且当所有ETL调度系统中所有的ETL JOB (ETL JOB)运行调度完成后, 再集中调度数据校验程序,随后获取数据校验结果,生成数据校验报告。
[0004] 但是在实践过程中,上述调度方式存在很多缺陷,如,在ETL调度过程中,若加载 的数据有异常,现有的ETL调度系统中与前一个执行的ETL JOB有依赖关系的下一个ETL JOB仍会继续执行,导致异常数据继续加载到后续的列表中,这种情况一旦发生,异常数据 影响范围大,随后需要处理多张有问题的列表来解决这个问题;又如,数据源没有到达,在 现有的ETL调度系统中与前一个执行的ETL JOB有依赖关系的下一个ETL JOB同样会继续 执行,但是,这种情况下后续ETL JOB的运行变得完全没有意义,不仅浪费宝贵的服务器资 源,还降低了 ETL调度效率。
[0005] 从上述情况可知,即使在目前的ETL调度系统中部署了数据校验系统,最终校验 出数据问题也已经为时已晚,错误数据已经遍布整个数据仓库,因而急需一种能够解决上 述问题的ETL调度系统。


【发明内容】

[0006] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种结合数据校验的ETL 调度系统及方法,解决上述现有技术中数据仓库建立过程中因校验不及时而造成错误数据 较多的问题。
[0007] 为实现上述目标及其他相关目标,本发明提供一种结合数据校验的ETL调度系 统,包括:ETL调度装置及与所述ETL调度装置连接的数据校验装置;所述ETL调度装置,用 于完成所述ETL调度系统中任一 ETL JOB的调度及执行,以及与所述数据校验装置之间的 数据交互;所述数据校验装置包括:数据接口模块,用于所述数据校验装置与所述ETL调度 装置间的校验数据交互,其中,所述校验数据供预先关联的ETL JOB加载;与所述数据接口 模块连接的数据校验模块,用于执行所述校验数据的校验;其中,所述ETL调度系统中每执 行一个ETL JOB前,所述数据校验装置分别对所述ETL JOB的执行结果及所述ETL JOB中 加载的所述校验数据进行校验。
[0008] 可选的,所述ETL调度装置包括:相连的ETL调度控制模块、ETL JOB管理模块、以 及数据校验消息模块;所述ETL JOB管理模块,用于管理以及执行所述ETL JOB;所述ETL 调度控制模块,用于控制ETL JOB的调度和执行、以及控制校验数据的校验执行;所述数据 校验消息模块,用于与所述数据接口模块进行数据交互、调用所述数据接口模块、以及接收 数据校验模块的校验结果。
[0009] 可选的,所述数据校验模块包括:相连的校验配置单元及校验执行单元;所述校 验配置单元,用于存储第一配置信息;所述校验执行单元,用于根据所述第一配置信息以执 行所述校验数据的校验。
[0010] 进一步可选的,所述第一配置信息包括:校验数据列表、校验规则列表、所述校验 数据列表与所述校验规则列表之间的关系、以及校验数据期数。
[0011] 可选的,所述ETL调度控制模块包括:相连的调度配置单元及调度处理单元;所述 调度配置单元,用于存储第二配置信息;所述调度处理单元,用于根据所述第二配置信息来 控制ETL JOB的执行及其加载校验数据是否执行校验,并接收ETL JOB的执行结果和所述 校验数据的校验结果,据以判断是否执行与所述ETL JOB有依赖关系的ETL JOB。
[0012] 进一步可选的,所述第二配置信息包括:ETL JOB的名称、ETL JOB之间的依赖关 系、ETL JOB中所述校验数据的加载周期,以及ETL JOB数据校验选项开关。
[0013] 进一步可选的,当所述ETL JOB的执行结果为成功,则执行所述ETL JOB中加载的 所述校验数据的校验;若ETLJOB执行结果失败,则不执行所述校验数据的校验;当所述校 验数据校验完成,则继续执行与所述ETL JOB有依赖关系的ETL JOB。
[0014] 可选的,所述ETL JOB管理模块包括:相连的管理配置单元及管理执行单元;所述 管理配置单元,用于存储第三配置信息;所述管理执行单元,用于根据所述第三配置信息以 执行 ETL JOB。
[0015] 进一步可选的,所述第三配置信息包括:ETL JOB的名称、ETL JOB报错重试次数、 以及ETL JOB加载的数据表。
[0016] 为实现上述目标及其他相关目标,本发明提供一种结合数据校验的ETL调度方 法,包括:调度并执行ETL J0B,所述ETL JOB加载预先关联的校验数据;每执行一个ETL JOB前,分别对所述ETL JOB的执行结果及所述ETL JOB中加载的所述校验数据进行校验。
[0017] 如上所述,本发明提供一种结合数据校验的ETL调度系统及方法,调度并执行ETL JOB;获取所述ETL JOB预先关联的校验数据以供加载;每执行一个ETL JOB前,分别对所述 ETLJOB的执行结果及所述ETL JOB中加载的所述校验数据进行校验,进而判断是否执行与 所述ETL JOB有依赖关系的ETL J0B,从而能够更加有效地加载数据,不仅节约了宝贵的服 务器资源,同时大大提高了 ETL调度效率。

【专利附图】

【附图说明】
[0018] 图1为本发明一实施例中结合数据校验的ETL调度系统结构示意图;
[0019] 图2为本发明一实施例中ETL调度装置的结构示意图;
[0020] 图3为本发明一实施例中ETL调度控制模块结构示意图;
[0021] 图4为本发明一实施例中表1中得到的ETL JOB依赖关系示意图;
[0022] 图5为本发明一实施例中ETL JOB管理模块结构示意图;
[0023] 图6为本发明一实施例中数据校验模块结构示意图;
[0024] 图7为本发明一实施例中ETL调度系统具体实施的结构示意图;
[0025] 图8为本发明一实施例中结合数据校验的ETL调度方法流程示意图;
[0026] 图9为本发明一实施例中结合数据校验的ETL调度方法的具体实施的流程示意 图;
[0027] 图10为本发明一实施例中结合数据校验的ETL调度系统的调度过程示意图。
[0028] 元件标号说明
[0029] 1 结合数据校验的ETL
[0030] 调度系统
[0031] 11 ETL调度装置
[0032] 111 ETL调度控制模块
[0033] 1111调度配置单元
[0034] 1112调度处理单元
[0035] 112 ETL JOB 管理模块
[0036] 1121管理配置单元
[0037] 1122管理执行单元
[0038] 113数据校验消息模块
[0039] 12数据校验装置 [0040] 121数据接口模块
[0041] 122数据校验模块
[0042] 1221校验配置单元
[0043] 1222校验执行单元
[0044] Sll ?S12, S21 ?S28, S31 ?S37 方法步骤

【具体实施方式】
[0045] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书 所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实 施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离 本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,本申请中的实施例 及实施例中的特征可以相互组合。
[0046] 如图1所示,在实施例一中,本发明提供的一种结合数据校验的ETL调度系统1,包 括ETL调度装置11及与ETL调度装置11连接的数据校验装置12 ;其中,ETL调度装置11, 用于完成ETL调度系统1中任一 ETL JOB的调度及执行,以及与数据校验装置12之间的数 据交互;数据校验装置12包括:数据接口模块121,用于实现数据校验装置12与ETL调度 装置11间的校验数据交互;与数据接口模块121连接的数据校验模块122,用于执行校验 数据的校验;ETL调度系统1中每执行一个ETL JOB前,数据校验装置11分别对ETL JOB 的执行结果及ETL JOB中加载的校验数据进行校验,例如通过数据校验装置11设置的校验 规则对校验数据进行校验等,校验技术本身较为常见,但是本发明的改进点之一在于将校 验技术应用于ETL JOB执行的实时准确性判断中,而非校验技术本身。在一实施例中,所述 ETL调度装置11,可以设置在ETL服务器中,也可以独立地设置在另一台服务器中,提供结 合数据校验的ETL调度。本发明对ETL调度装置的具体形式不作限定,只要其能实现本发 明的目的,都包括在本发明的内容中。
[0047] 对实施例一进行改进,得到优选地实施例二,如图2和图7所示ETL调度装置11 中包括:相连的ETL调度控制模块IlUETL JOB管理模块112、以及数据校验消息模块113。 其中,ETL调度控制模块111,是ETL调度装置的核心所在,通过控制ETL JOB与数据校验的 交互执行,来控制ETL JOB的调度和执行、以及校验数据的调度(例如请求获取等)及加载; ETL JOB管理模块112,用于管理以及执行ETL JOB;所述数据校验消息模块113,用于与数 据接口模块121进行数据交互、调用数据接口模块121、以及接收数据校验模块122的校验 结果。
[0048] 对实施例一进行改进,得到优选地实施例三,如图3所示ETL调度控制模块111包 括:相连的调度配置单元1111及调度处理单元1112。其中,调度配置单元1111用于存储 第二配置信息;调度处理单元1112通过调用第二配置信息控制ETL JOB的执行及控制ETL JOB中加载的校验数据校验是否执行等,实现ETL JOB和校验数据的交互执行;同时接收 ETL JOB的执行结果和校验数据的校验结果,进而控制与ETL JOB有依赖关系的ETL JOB是 否执行。具体地,每个ETL JOB执行完成后,都需要对当前执行ETL JOB中加载的数据表进 行数据校验,且只有当数据校验结果为"无异常",与当前执行的ETL JOB有依赖关系的ETL JOB才可以运行;当数据校验结果"存在异常",相关依赖的ETL JOB将不会运行。
[0049] 对实施例三进行改进,得到优选地实施例四,当ETL JOB的执行结果为成功,S卩"无 异常",则执行ETL JOB中加载的校验数据的校验,否则不执行校验数据的校验;当校验数据 校验完成,则继续执行与ETL JOB有依赖关系的ETL JOB。
[0050] 对实施例四进行改进,得到优选地实施例五,所述第二配置信息包括:ETL JOB的 名称,ETL JOB之间的依赖关系,ETL JOB中校验数据的加载周期,以及ETL JOB数据校验选 项开关。
[0051] 例如,应用于上述一个完整实施例,本发明中第二配置信息,即ETL JOB加载的数 据表如表1所不:
[0052] 表 1 :
[0053]

【权利要求】
1. 一种结合数据校验的rni调度系统,其特征在于,包括: E化调度装置及与所述rni调度装置连接的数据校验装置; 所述rni调度装置,用于完成所述rni调度系统中任一 ETL JOB的调度及执行,W及与 所述数据校验装置之间的数据交互; 所述数据校验装置包括: 数据接口模块,用于所述数据校验装置与所述6化调度装置间的校验数据交互,其中, 所述校验数据供预先关联的ETL JOB加载; 与所述数据接口模块连接的数据校验模块,用于执行所述校验数据的校验; 其中,所述rni调度系统中每执行一个ETL JOB前,所述数据校验装置分别对所述ETL JOB的执行结果及所述ETL JOB中加载的所述校验数据进行校验。
2. 如权利要求1所述结合数据校验的Ell调度系统,其特征在于,所述Ell调度装置包 括;相连的rni调度控制模块、E化JOB管理模块、W及数据校验消息模块; 所述ETL JOB管理模块,用于管理W及执行所述ETL JOB; 所述rni调度控制模块,用于控制ETL JOB的调度和执行、W及控制校验数据的校验执 行; 所述数据校验消息模块,用于与所述数据接口模块进行数据交互、调用所述数据接口 模块、W及接收数据校验模块的校验结果。
3. 如权利要求1所述结合数据校验的ETL调度系统,其特征在于,所述数据校验模块包 括;相连的校验配置单元及校验执行单元; 所述校验配置单元,用于存储第一配置信息; 所述校验执行单元,用于根据所述第一配置信息W执行所述校验数据的校验。
4. 如权利要求3所述结合数据校验的Ell调度系统,其特征在于,所述第一配置信息包 括;校验数据列表、校验规则列表、所述校验数据列表与所述校验规则列表之间的关系、W 及校验数据期数。
5. 如权利要求2所述结合数据校验的ETL调度系统,其特征在于,所述ETL调度控制模 块包括:相连的调度配置单元及调度处理单元; 所述调度配置单元,用于存储第二配置信息; 所述调度处理单元,用于根据所述第二配置信息来控制ETL JOB的执行及其加载校验 数据是否执行校验,并接收ETL JOB的执行结果和所述校验数据的校验结果,据W判断是否 执行与所述ETL JOB有依赖关系的ETL JOB。
6. 如权利要求5所述结合数据校验的Ell调度系统,其特征在于,所述第二配置信息包 括;E化JOB的名称、ETL JOB之间的依赖关系、ETL JOB中所述校验数据的加载周期,W及 E化JOB数据校验选项开关。
7. 如权利要求6所述结合数据校验的ETL调度系统,其特征在于, 当所述ETL JOB的执行结果为成功,则执行所述ETL JOB中加载的所述校验数据的校 验;若ETL JOB执行结果失败,则不执行所述校验数据的校验; 当所述校验数据校验完成,则继续执行与所述ETL JOB有依赖关系的ETL JOB。
8. 如权利要求2所述结合数据校验的Ell调度系统,其特征在于,所述ETL JOB管理模 块包括:相连的管理配置单元及管理执行单元; 所述管理配置单元,用于存储第H配置信息; 所述管理执行单元,用于根据所述第H配置信息W执行ETL JOB。
9. 如权利要求8所述结合数据校验的Ell调度系统,其特征在于,所述第H配置信息包 括;E化JOB的名称、E化JOB报错重试次数、W及ETL JOB加载的数据表。
10. -种结合数据校验的6化调度方法,其特征在于,包括: 调度并执行ETL JOB,所述ETL JOB加载预先关联的校验数据; 每执行一个ETL JOB前,分别对所述ETL JOB的执行结果及所述ETL JOB中加载的所 述校验数据进行校验。
【文档编号】G06F17/30GK104462243SQ201410659768
【公开日】2015年3月25日 申请日期:2014年11月19日 优先权日:2014年11月19日
【发明者】陈品, 栾晓宇, 陈德莉 申请人:上海烟草集团有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1