[发明专利]一种实现ETL调度的方法及系统有效
申请号: | 200910137527.8 | 申请日: | 2009-04-28 |
公开(公告)号: | CN101533417A | 公开(公告)日: | 2009-09-16 |
发明(设计)人: | 蒋杰;陈荣松;蒋萃林 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/50 |
代理公司: | 北京同达信恒知识产权代理有限公司 | 代理人: | 魏 杉 |
地址: | 英属开曼群*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 etl 调度 方法 系统 | ||
技术领域
本申请涉及计算机领域,特别涉及一种实现ETL调度的方法及系统。
背景技术
数据仓库(Data Warehouse,DW)是一个面向主题的、集成的、相对稳定 的、反映历史变化的数据集合,用于支持管理决策。数据仓库是一个独立的数 据环境,而数据抽取、转换和加载(Extraction-Transformation-Loading,ETL) 是构建数据仓库的重要一环。
ETL用于将分布的、异构数据源中的数据(例如,关系数据、平面数据文 件等)抽取到临时中间层后进行清洗、转换和集成,最后按照预先定义好的数 据仓库模型,将数据加载到数据仓库中,使构建的数据仓库成为联机分析处理 和数据挖掘的基础。在技术上,ETL主要涉及到关联、转换、增量、调度和监 控等几个方面。通常,数据仓库中的数据不要求与联机事务处理系统中的数据 实时同步,因此,ETL可以定时进行,但多个ETL的操作时间、顺序和成败 对数据仓库中数据的有效性有着至关重要的影响,从而直接影响到联机分析处 理结果和数据挖掘结果的质量。
参阅图1所示,现有技术下,在数据仓库中执行ETL调度时,需要规划 出多个任务流程,例如,如图1所示,过程A、过程B、过程C......即是规划 出的多个任务流程;每个任务流程是由一个或多个原子级任务(以下简称为任 务)组成,例如,如图1所示,过程A中的抽取任务、清洗任务和加载任务即 是原子级任务。其中,归属于同一任务流程的各任务之间,存在前后依赖关系 的各任务按照其依赖关系串行运行,而不存在前后依赖关系的各任务则可以并 行运行;同理,存在前后依赖关系的各任务流程按照其依赖关系串行运行,而 不存在前后依赖关系的各任务流程则可以并行运行。
但是,现有技术下,程序代码分散配置在各个应用服务器上,一台应用服 务器根据配置的程序代码内容仅能执行固定的任务流程,因此,归属于同一任 务流程的所有任务必须分配至同一应用服务器进行处理,这样,便使得系统中 的应用服务器资源难以得到合理分配,容易出现部分应用服务器空闲,而部分 应用服务器负荷过重的现象,从而造成严重的系统负载不均衡,并且也不利于 应用服务器数量的进一步扩展;另一方面,将每台应用服务器设置为一个独立 运行单元会给后期维护带来不便,因为当应用服务器出现运行错误时需维护人 员登录每一台应用服务器进行维护,从而会耗费大量的人力物力,增加了维护 成本。
发明内容
本申请实施例提供一种实现ETL调度的方法及系统,用以提高ETL调度 的执行效率,减少误操作概率,以及实现应用服务器资源的负载均衡。
本申请实施例提供的具体技术方案如下:
一种数据抽取、转换和加载ETL调度的实现方法,包括:
根据预设的任务配置文件确定当前需要执行的至少一个任务,所述任务配 置文件包括完成ETL调度所需执行的各任务,以及各任务之间的依赖关系, 所述任务为原子级的任务,为ETL调度针对的后台程序;
获取各应用服务器的资源信息,并将所述资源信息与针对所述至少一个任 务预设的限定条件进行比较,获得比较结果,所述资源信息包括应用服务器当 前执行的进程数、应用服务器当前数据库表内剩余的存储空间和应用服务器当 前的CPU使用率中的一种或任意组合;
根据所述比较结果对各应用服务器进行筛选,若确定存在符合预设的限定 条件的应用服务器,选定用于执行所述至少一个任务的应用服务器;若确定不 存在符合预设的限定条件的应用服务器,则将所述至少一个任务保存至缓冲池 中,定时提取所述至少一个任务,并判断当前是否存在符合所述限定条件的应 用服务器,并在确定存在符合所述限定条件的应用服务器时,选定用于执行所 述至少一个任务的应用服务器;
将所述至少一个任务分配至选定的应用服务器,并指示该应用服务器根据 设定的程序代码执行所述至少一个任务。
一种管理系统,包括:
知识库单元,用于保存任务配置文件、针对各任务预设的限定条件和执行 各任务时所需的程序代码,所述任务配置文件用以定义完成数据抽取、转换和 加载ETL调度所需执行的各任务之间的依赖关系,所述任务为原子级的任务, 为ETL调度针对的后台程序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910137527.8/2.html,转载请声明来源钻瓜专利网。