




免费预览已结束,剩余54页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本 科 毕 业 论 文 ETL系统的仓库任务调度模块的实现Implementation of Warehouse-Task Scheduling Module of ETL System 姓 名: 学 号:学 院:软件学院系:软件工程专 业:软件工程年 级:校内指导教师: 校外指导教师: 年 月摘要 数据仓库作为支持企业决策而出现的一项技术,提供了可以访问决策型数据的集成统一的环境。ETL(Extract, Transformation, Load, 即数据抽取、转换、装载)作为数据集成过程的抽象,在整个数据仓库项目实施过程中扮演着重要的角色。据调查统计,实施数据仓库的项目开发团队花费在ETL上的精力占了整个项目的60至80。对ETL工具的选择,将对整个数据仓库项目产生重大影响。2008年实现运营商重组后,中国电信行业进入了3G时代。进入新的时代意味着即将面临挑战与竞争。提高企业核心竞争力,关键在于如何充分利用信息资源。中国电信多年的发展中积累了大量的数据,这些数据相对独立地存储在丰富多样的业务系统中,其中包含着客户、用户、产品、销售、运营等方面信息。如何从这些分散,零乱的信息中找到其中的价值信息,为企业的经营决策提供依据,提高企业竞争力成为企业信息化的重要目标。因此,中国电信实施数据仓库项目,对于提高企业综合实力,核心竞争力都有着重要的意义。本文ETL系统背景是中国电信企业的数据仓库项目,通过自主研发,实现数据的抽取、转换与装载。系统架构分为前台开发系统与后台ETL任务调度系统。前台系统满足数据仓库项目的开发需求,开发人员可以进行数据转换脚本的开发;后台系统完成ETL任务的自动调度,实现数据不间断的从源系统进入数据仓库中存储;系统设计提供对ETL任务调度的监控功能,可以查看任务执行状况,有效的定位任务出错原因,并做出相应的处理。ETL系统具有以主要特点:1.前台采用B/S架构,符合J2EE规范,系统移植性好,部署容易;2.自定义脚本语言,支持SQL语言,并提供内置参数,方便数据转换的脚本编写;3.系统前台与后台耦合性低,开发人员无须面对复杂的后台调度;4.系统核心部分调度功能,使用存储过程开发,充分利用数据库性能,ETL效率高。关键字:ETL;数据仓库;电信行业 Implementation of Warehouse-Task Scheduling Module ofETL SystemAbstractData warehouse is a technology that supports an enterprise to make decision. Mostly it is an integrated and uniform environment that is provided to access analytical data. As the abstract of the process of integrating data, ETL (Data extract, transformation, loading) plays a very important role in the whole process of implementing a data warehouse project. As the survey reveals, it takes up 60 to 80 percent time of entire DW project to develop and carry out ETL. Therefore, how to choose an ETL tool will make a great impact on the DW project.The China telecommunications industry was reorganized in 2008. At the same time, 3G times began in the telecommunications industry. For the China Telecom, a new round of challenge and competence has begun. For the past ten years, the China Telecom has accumulated a large number of businesses information. To search individual systems for valuable information to support enterprise to make decision is the main goal of enterprise informationalization. So, carrying out The Data Warehouse Project contains important significance in strengthening the comprehensive strength and core competence of the China Telecom.The China Telecom DW Project is the background of this thesis. The ETL system consists of two subsystems: Development System and ETL Task Scheduling System. The previous one lets developers write scripts to achieve data transformation. The latter one makes the ETL tasks called automatically. And it allows inspecting the execution of ETL task. The main features of this ETL system: 1B/S architecture, easy deployment; 2Simple script language, easy development; 3Low coupling between development system and ETL task scheduling system; 4High performance based on database procedure.Keyword: ETL; Data Warehouse; Telecom Industry 目录第一章绪论11.1项目背景11.2应用现状与存在的问题21.3论文主要内容41.4论文组织结构5第二章ETL系统的总体设计62.1ETL概述62.2ETL系统的需求分析92.3ETL系统的框架122.4仓库任务调度模块的总体设计142.5小结18第三章仓库任务调度模块的实现193.1开发工具与软硬件环境193.2仓库任务调度模块的实现193.3仓库任务的状态图313.4小结31第四章ETL系统的集成展示334.1ETL配置334.2ETL监控394.3仓库任务调度执行结果434.4小结45第五章总结与展望465.1总结465.2展望47参考文献48致谢50ContentsChapter 1 Introduction.11.1 Project Background. 11.2 The Current Applications of ETL and Existing Problems.21.3 Contents and Tasks.41.4 Architecture of Thesis.4Chapter 2 Overall Design of ETL System.62.1 Basic Concepts of ETL.62.2 Requirement Analysis of ETL System.92.3 Framework of ETL System.122.4 Overall Design of Warehouse-Task Scheduling Module.142.5 Summary.18Chapter 3 Implementation of Warehouse-Task Scheduling Module193.1 Development Language and Environment.193.2 Module Design and Implementation.193.3 Warehouse-Task State Diagram.313.4 Summary.31Chapter 4 Exhibition of ETL System.334.1 ETL Configuration .334.2 ETL Inspection.394.3 Module Scheduled Results.434.4 Summary.45Chapter 5 Conclusions and Future Work.465.1 Conclusions.465.2 Future Work.47References.48Acknowledgements.50第五章总结与展望第一章绪论随着信息技术在各行各业中的广泛应用,以及越来越激烈的市场竞争,数据仓库技术应运而生,并逐步被应用于支持企业战略决策、企业经营分析等方面。数据仓库作为企业数据的集中地,面临着如何高效的集成各个源系统的数据,如何保证进入数据仓库的数据质量等多方面的问题。本章对数据仓库以及其重要支撑技术ETL技术的理论和存在的问题进行了阐述,并对本文的主要内容和论文结构进行总体概述。1.1项目背景“数据仓库”一词很早就被提出,可以说是由Bill Inmon先生在1991年出版的“Building the Data Warehouse”一书中所提出的,其描述如下:数据仓库是一个面向主题的、集成的、不可更新的、随时间不断变化的数据集合,它用于支持企业或组织的决策分析处理。从中我们可以清楚的看出数据仓库是什么,有哪些特征,做何用途。数据仓库是时代发展的产物,它的出现是为满足企业更高需求因而有其必然性。从信息技术在商业领域的应用过程中可以看出,信息系统正在经历着“MISERPBI”的演变过程1。在信息系统应用过程中伴随着海量的数据累积,同时这些积累的数据存在着一系列的问题:诸如信息囚笼、信息孤岛和信息对抗问题1。为了解决特定的问题,于是数据仓库(Data Warehouse)技术应运而生,同时奠定了商业智能(BI)的基石。数据仓库技术正是在信息暴涨的当今社会,寻求从海量的数据中获取有价值的信息从而支撑企业领导人做出有效的商业决策的解决方案。现今应用数据仓库解决方案的有金融、电信、保险、零售、税务、证券、航空、铁路运输、邮政等等行业2。正如前文所述,长期累积的企业数据存在着不可忽视的问题,主要表现为企业数据异构性,有以下三个方面3:1系统异构,即数据源所原来的业务应用系统,数据库管理系统乃至操作系统之间的不同构成了系统异构;2模式异构,即数据源在存储模式上的不同。存储模式主要包括关系模式、对象模式、对象关系模式和文档嵌套模式等几种。同时,既便是同一种存储模式,它们的模式结构可能也存在着差异;3来源异构,即企业内部数据源和外部数据源之间的异构4。因此,如何整合数据,统一数据的存储格式,保证数据集成后的质量是数据仓库所要解决的主要问题。ETL作为数据仓库的核心技术之一,是构建数据仓库的主要环节,其主要功能包括从源系统中识别并抽取出必要的信息,然后将从不同源系统中抽取出的数据转换成统一的数据格式,并基于业务规则对结果数据集进行清洗,最后将数据高效的加载到数据仓库或数据集市中。因此我们说ETL在数据仓库和业务系统之间搭起了一座桥梁,或者说是一条通道,确保了新的业务数据能不间断的进入数据仓库。中国电信作为上市公司,同时面临着日益开放和竞争激烈的电信市场,在加上电信行业的重组,3G业务的发展,为了更有效的参与市场竞争,提升企业的核心竞争力,中国电信制定了5年内把中国电信建设成为世界级的现代电信企业集团,从而完成“做世界级综合信息服务提供商”的战略目标5。其中的数据仓库项目正是为了打破数据来源的壁垒,对来源于全省多个业务系统的不同数据进行整合,建立一个“大集中”的数据仓库,构造真正意义上的“客户统一视图”,让领导和分析人员能切实掌握电信客户、用户的全面信息,为决策提供完备的依据6。福富软件技术股份有限公司数据仓库项目组负责为中国电信实施企业数据仓库,考虑到电信行业的行业特性,以及中国电信对数据仓库项目的投入等方面因素,自主开发一款ETL工具,实现实施过程中的核心环节数据的抽取、转换、装载过程。1.2应用现状与存在的问题 国外对数据仓库技术的研究和应用起步较早,同样对于支撑数据仓库的关键技术ETL技术的研究相比较之下,国内也是晚于国外。1.2.1ETL应用现状 数据ETL主要在数据仓库(Data Warehouse)、数据仓库中的知识发现(Knowledge Discovery in Database,KDD)和总体数据质量管理(Total data quality management,TDQM)这三个领域中应用7。目前,对ETL根据的研究主要包括ETL处理过程本身和ETL工具在整个数据仓库解决方案中的可适应性和可扩展性等等8。 对于ETL过程描述的研究主要集中在数据转换中的模式映射描述9,10, 11,数据清理和数据转换的融合,以及如何使用ETL过程描述来追踪数据仓库中的数据来源。 目前市场上主流的ETL工具有两类:一是数据库厂商所提供的,例如Microsoft公司的Data Transformation Service(DTS),Oracle公司的Warehouse Builder,IBM公司的Websphere DataStage(2005年3月,IBM公司成功收购了Ascential公司,集成了Ascential DataStage)等;另一类是专门的ETL厂商(或数据集成厂商)提供,例如Informatic公司的PowerCenter,CA公司的Advantage data transformer,Teradata公司的ETL Automation, Sunopsis公司的Sunopsis Data Conductor,SAS ETL studio, Business Objects Data Integrator(BODI)等。 除了以上提及的,源于开源项目的ETL工具也是ETL发展的主要推动力。比较著名的有Pentaho的Kettle12。另外的还有CloverETL13、Dengues Studio14等,它们基本上都是实现了图形化的ETL过程描述。此外,在国内对系统的数据抽取工具的研究起步比较晚,一部分是与数据仓库系统设计及其应用背景或BI解决方案相关的、专用的数据抽取、集成工具,只能在其具体的业务背景下使用;另一部分则是直接编写脚本来实现数据的抽取、转换和装载或者只是一些功能简单的ETL工具。主要有国内首家ETL工具厂商Beecradle公司的BeeLoad15(目前最新版本为5.0);北京睿智欣泰科技有限公司开发的睿金ETL(UDIS-ETL)16;东南大学计算机数据库实验室自行设计和实现的通用ETL工具(SEU_ETL)17。1.2.2存在的问题ETL部分是数据仓库项目中问题比较集中的部分,常见的问题如下:1元数据问题 元数据是关于数据的数据18。数据仓库的元数据的作用是使数据仓库对象易于理解,通用元数据便于信息交换,同时可以提高系统是适用度和可扩展性,同时可以监控保证数据的质量。因此如何设计使用ETL元数据,充分发挥元数据的作用是ETL工具设计的一个重要方面。2工具设计问题数据仓库的数据量一般在GB级到TB级,是设计一个考虑到方方面面通用性强的ETL工具,还是根据具体数据仓库实施环境设计满足具体业务需求的ETL工具;是采用整体架构,降低耦合性而牺牲数据抽取转换装载效率,还是为了提高集成性开发效率高的ETL工具,直接关系到项目的投入与进度。3ETL工具选型问题基于以上的各方面考虑因素,数据仓库项目实施过程中是选择购买专业的ETL工具还是自主开发实现ETL工具仍是一个颇具争议的话题。前者来说,价格昂贵,但是性能稳定,通用性高,功能丰富、强大,后者来说灵活性高,贴近具体需求,但是项目开销大,工期长有一定的风险。1.3论文主要内容本论文在前文所述的中国电信数据仓库项目背景下,针对数据仓库实施过程中数据集成所面临的问题,认识到ETL的重要性,综合考虑了ETL存在的问题,福富软件技术股份有限公司数据仓库项目组,决定自主开发一个ETL系统,实现灵活配置数据转换规则,实现自动调度执行ETL过程,从而实现数据抽取、转换、装载,最终完成数据从业务系统进入数据仓库。论文主要内容包括:1阐述论文背景,分析了ETL存在的问题。根据项目的具体需求,介绍了ETL系统的架构即框架设计;2实现ETL系统后台系统的仓库任务调度模块;3发现并提出系统改进的地方,以及需要拓展的功能。本项目系统属于是自主研发,项目知识产权归福富软件技术股份有限公司。整个系统开发过程是一次理论与实践相结合的过程,项目根据具体的企业需求,进行详细的分析,提出了符合需求的解决方案,开发并实现了系统,满足了客户的需求。验证了具体项目实现过程中会碰到难已预料的问题,且具体问题需要具体分析。根据遇到的具体问题会发现系统有待扩展的功能。1.4论文组织结构本论文共有五章内容,各章节内容如下:第一章 绪论。本章首先介绍了项目的背景,国内外ETL应用与研究现状,概括了论文的主要内容,并对本文的结构进行了概述;第二章 ETL系统的总体设计。本章介绍了ETL的基本概念以及ETL的重要性和如何评价ETL,接着分析了系统的需求,及系统的体系结构,并对系统后台系统的仓库任务调度模块进行了总体设计;第三章 仓库任务调度模块的实现。首先介绍了项目的开发工具及软硬件环境,接着介绍了仓库任务调度模块的详细设计和实现,以及系统调度过程中仓库层实体对应的调度任务的状态变更图;第四章 ETL系统的集成展示。本章为ETL系统成果展示,展示了ETL系统在实际应用过程中的开发流程,如何进行实体配置、基本配置、依赖配置等。最后展示了仓库任务调度模块执行的结果在前台ETL监控模块中如何展现,以及具体的执行结果在数据仓库中的显示;第五章 总结与展望。作为结论部分,本章节归纳了本论文的工作,以及对未来工作的展望。第二章ETL系统的总体设计ETL通常可分为三部分:数据抽取、数据转换、数据加载。在设计ETL的时候一般也是从这三部分出发。ETL三个部分中,花费时间最长的是“T”,即转换部分,一般情况下这部分的工作量是整个ETL的2/3还多19。因此,如何综合考虑实现三个部分,提高ETL效率是设计的主要目标。ETL系统由福富软件股份有限公司数据仓库项目组开发,本人参与了ETL系统的后台系统中仓库任务调度模块的开发过程,并参与系统集成后ETL过程的开发,以及独立承当后期系统扩展功能的开发与测试工作。2.1ETL概述本节将阐述ETL的基本概念,并强调了ETL的重要性以及列出了对于通用ETL工具的一般评价标准。2.1.1ETL基本概念 1 数据抽取(Extract)8数据抽取是数据源接口从业务系统中抽取数据,为数据仓库输入数据。典型的数据抽取接口包括数据库接口和文件接口,对于不同数据平台、不同源数据形式、不同性能要求和业务量的业务系统以及不同数据量的源数据,采取不同的数据抽取接口。数据的抽取必须能够充分满足决策支持系统的需要,又要保证不影响业务系统的性能,所以,进行数据抽取时应制定相应的策略,包括抽取方式、抽取时机、抽取周期等等。数据抽取策略有20:(1)同步实现抽取;(2)异步实现抽取。2 数据清洗和转换(Transformation)8数据清洗和数据转换是指从业务系统中抽取的数据根据数据仓库系统模型的要求,进行数据的清洗、转换、拆分、汇总等处理,保证来自不同系统、不同格式的数据具有一致性和完整性,并按要求装入数据仓库。数据转换工作进行的时机20:(1)在抽取过程中进行数据处理;(2)使用异步数据加载,以文件的方式处理;(3)在数据加载过程中进行数据处理;(4)进入数据仓库以后再进行数据处理。3 数据装载(Load)8数据装载就是从数据源系统中抽取、转换、清洗后得数据装载到数据仓库中。要求数据加载工具必须具有高效的加载性能。同时加载策略要考虑加载周期及数据追加策略的内容。主要加载技术20:(1)使用数据仓库引擎厂商提供的数据加载工具进行数据加载;(2)通过数据仓库引擎厂商提供的API编程进行数据的加载。数据的追加策略类型20:(1)直接追加;(2)全部覆盖;(3)更新追加。2.1.2ETL的重要性一般来说,ETL部分在整个数据仓库项目实施过程中占用了60%到80%的时间21。在实际的项目中,常常在整个环节耗费太多的人力,而且在后续的维护工作中,更是费时费力。当然这是和是否正确估计ETL工作,是否合理有效的设计实现ETL工具有关。ETL作为数据仓库的核心,贯穿于数据仓库搭建与应用的整个过程,具体来说ETL过程发生在数据从源系统进入数据仓库,从数据仓库到数据集市,从数据仓库或数据集市到数据挖掘所需数据模型等。另外ETL处理过程中产生了在整个环境中最为重要的元数据包括数据源系统、数据转换规则、数据仓库结构描述、数据稽核规则定义、数据模型代表的业务含义等。这些信息对于数据质量的管控,日后的系统变更,数据转移,数据共享等都将发挥其重要的作用。2.1.3如何评价ETL工具正确评价一款通用的ETL工具,可以从ETL对平台的支持、对数据源的支持、数据转换功能、管理和调度功能、集成和开放性、对元数据管理等功能出发,具体如下22:1支持平台 随着各种应用系统数据量的飞速增长和对业务可靠性等要求的不断提高,人们对数据抽取工具的要求往往是将几十、上百个GB的数据在有限的几个小时内完成抽取转换和装载工作,这种挑战势必要求抽取工具对高性能的硬件和主机提供更多支持。 目前主流的平台包括SUN Solaris、HP-UX、IBM AIX、AS/400、OS/390、Sco UNIX、Linux、Windows等。 2 支持数据源对数据源支持的重要性不言而喻。首先,我们需要对项目中可能会遇到的各种数据源有一个清晰的认识;其次对各种工具提供的数据源接口类型也要有深入了解,比如,针对同一种数据库,使用通用的接口(如ODBC/JDBC)还是原厂商自己的专用接口,数据抽取效率都会有很大差别,这直接影响到我们能否在有限的时间内完成ETL任务。可供参考的数据源有:DB2、Informix、Oracle、Sybase、SQL Server、Teredata、OleDB、SAS、Text、Excel、SAP、Peoplesoft、IMS、VSAM、QSAM on 390、FTP、XML、MessageQueue、Weblog等。3 数据转换功能 ETL工具必须对所抽取的数据进行灵活的计算、合并、拆分等转换操作。通常情况下,我们遇到的ETL转换要求包括:字段映射;映射的自动匹配;字段的拆分;多字段的混合运算;跨异构数据库的关联;自定义函数;多数据类型支持;复杂条件过滤;支持脏读;数据的批量装载;时间类型的转换;对各种码表的支持;环境变量是否可以动态修改;去重复记录;抽取断点;记录间合并或计算;记录拆分;抽取的字段是否可以动态修改;行、列变换;排序;统计;度量衡等常用的转换函数;代理主键的生成;调试功能;抽取远程数据;增量抽取的处理方式;制造样品数据;在转换过程中是否支持数据比较的功能;数据预览;性能监控;数据清洗及标准化;按行、按列的分组聚合等。 4 管理和调度功能 由于我们对数据抽取的要求越来越高以及专业ETL工具的不断涌现,ETL过程早已不再是一个简单的小程序就可完成的,目前主流的工具都采用像多线程、分布式、负载均衡、集中管理等高性能高可靠性与易管理和扩展的多层体系架构。因此,这就要求ETL在管理和调度功能上都具备相应的功能。管理和调度的基本功能包括:抽取过程的备份与恢复;升级;版本管理;开发和发布;支持统一以及自定义的管理平台;支持时间触发方式;支持事件触发方式;支持命令行执行方式;支持用户对计算机资源的管理和分配;负载均衡;文档的自动生成;调度过程中能否执行其他任务等。 5 集成和开放性 随着数据仓库技术在国内应用的不断深入,许多开发商希望不向用户提供ETL工具的原来操作界面,而是将其一些主要功能模块嵌入到自己的系统或其他厂商的系统中,因为在大多数情况下一般项目只会用到ETL工具的少数几个功能,同时也没有必要给用户提供那么复杂的操作环境,其结果反而使用户容易产生操作错误。 上述问题就要求ETL工具能提供很好的集成性和开放性,可以从几方面考量:与OLAP集成;与前端工具集成;与建模工具集成;开放的API可将产品集成到统一界面;是否能调用各种外部应用,包括存储过程、各种流行语言开发的应用程序等;是否支持客户化定制的转换过程;是否支持与统计分析工具的集成等。 6管理元数据 元数据是关于数据的数据,尤其对于ETL来说尤其重要。ETL中大量的数据源定义、映射规则、转换规则、装载策略等都属于元数据范畴,如何妥善地存储这些信息已经关系到ETL过程能否顺利完成而且影响到后期的使用和维护。任何业务逻辑的微小改变最终都落实为相应元数据的调整,初期没有一个完善的元数据管理功能而后期作类似调整几乎是“不可完成的任务”。基于元数据的重要性,国际组织提出一些统一的元数据存储标准,比较知名的如CWM等,为不同厂商工具之间互操作提供了可能性,相信也是今后的发展趋势。 针对ETL的元数据管理应包括:元数据存储的开放性;元数据存储的可移植性;提供多种方式访问元数据;元数据的版本控制;支持开放的元数据标准;支持XML进行元数据交换;支持分布式的元数据访问和管理;生成元数据报表;对于ETL过程的冲突分析;基于元数据的查询功能;元数据的广播和重用;对于ETL过程的流程分析等。2.2ETL系统的需求分析本节从项目的需求入手,详细分析了客户的需求并根据需求对系统的各个功能模块进行了划分。2.2.1需求概述电信行业数据仓库解决方案数据源主要来自电信各业务系统,包括计费系统、营业系统、客服系统、财务系统、结算系统、网管系统、112系统、114系统、电信网络资源管理系统以及其它系统,此外数据源还有来自电信系统外的数据,如人口统计、社会各企业的财务数据、银行数据等23。同时电信企业的源数据的也有其特点:1数据量特别大;2业务系统工作负荷重,724小时的工作;3业务系统性能、实时性的要求较高20。此外,中国电信各省子公司基本都构建了ODS(Operational Data Store,操作型数据存储)用于在业务系统和数据仓库之间形成一个隔离层,并能转移一部分业务系统细节查询的功能,同时存储着来源于业务系统中的细节数据,在必要的时候能提供查询24。针对电信行业的特点,以及根据实施数据仓库的过程需要,本ETL系统的主要用户是数据仓库开发人员和系统管理人员。系统前台系统采用B/S架构,仓库开发人员通过WEB浏览器就能进行数据仓库的ETL过程开发,具体配置实体模型,编写数据从接口文件到数据仓库的转换与装载的脚本。系统维护人员通过前台Web就能进行仓库任务的监控,查找并处理任务执行过程中发生的错误。系统的后台系统规定数据接口为文件形式,数据主要来自于ODS系统,并在数据仓库中设置接口数据层,用于存储来之接口文件的数据,同时实现ETL过程的自动调度,完成数据从源系统装载到数据仓库的。2.2.2ETL系统的功能划分根据项目的需求分析,本文对ETL系统做了如图2-1所示的功能模块划分:系统主要分为两大模块:1前台开发展示模块;2后台任务调度模块。前台模块主要面向开发人员与系统维护人员,开发人员通过前台界面进行ETL过程的开发;系统维护人员通过前台界面查询系统后台的运行结果,对后台任务调度进行监控。后台模块主要实现ETL任务的自动调度,并实现ETL执行过程的监控,错误日志等。前后台系统的耦合性低,开发人员无须面对复杂的后台调度。图2-1 系统功能图1前台展示模块中主要的功能模块有:(1) 实体配置:开发人员进行数据仓库开发,根据业务逻辑在数据建模完成后,进行相关模型的物理模型设计,实体配置完成对模型的主体配置。是生成实体调度任务的主要依据;(2) 脚本配置:在实体配置完成之后,需要进行相关的脚本配置,完成具体的数据如何转换,如何清洗的问题。所配置的脚本即为数据的转换与清洗规则;(3) 依赖配置:依赖配置,是配置实体与实体之间的依赖关系,大体上分为弱实体依赖关系与强实体依赖关系,是进行任务自动调度的重要环节;(4) 时间调度配置:对于配置的实体无法满足必要的依赖配置,可以直接进行时间调度配置如调度起始时间、终止时间、时间间隔,亦可以到达自动调度的效果。同时对于一些特殊实体如有些实体需要把各地区数据汇总到同一个具体的表,该功能模块这些配置;(5) 任务查询:对配置好的实体,可以进行相关任务的查询,查询是否生成了当日的调度任务等;(6) ETL监控:实体调度过程是自动进行的。对于实体调度执行的情况可以通过该功能进行查询,该查询通过实体依赖关系,可以查看各个调度环节的情况;(7) 调度日志查询:实体调度过程中会记录相关的执行日志,该功能可以查询指定实体的执行日志;(8) 接口上传配置:该功能对接口文件上传进行了规则设置,如在某日期前接口文件必须上传服务器等。可以监控数据是否到达,查询未到达数据所产生的影响,并做出相应的处理,如通知维护人员。2后台任务调度模块的重要功能模块有:(1) 接口文件处理:该功能模块对到达服务器的接口文件进行扫描发现、剪切移动、导入、校验、备份删除等操作;(2) 接口实体调度模块:该功能模块负责把接口文件数据导入数据仓库的接口层区域,并对数据导入进行初步的校验;(3) ETL过程维护:该功能模块负责生成接口文件调度任务,清除过期任务;(4) 仓库集市实体调度:该功能模块负责生成仓库集市调度任务,系统根据依赖关系更新任务的资源可用性,执行任务,根据任务对应的脚本配置,解析执行脚本;(5) 其它功能模块: 负责对压缩上传的大数据量的接口文件的解压,以及定期清理接口文件等。2.3ETL系统的框架 本节从系统架构与软件架构两个方面入手对系统进行了概要设计,定义了系统软硬件方面的结构。2.3.1ETL系统的系统体系架构 系统的前台系统采用B/S架构,后台系统部署于单独的ETL服务器上,来自于源系统的数据以及系统的元数据亦存储在单独的服务器上,系统的架构如图2-2所示。图2-2 ETL系统系统架构图用户通过浏览直接访问前台服务器,进行ETL实体开发,并将生成的元数据存储倒数据存储服务器。后台系统从数据存储服务器读取系统元数据,实现ETL过程,把数据由源系统导入到数据仓库存储。2.3.2ETL系统的软件体系架构 本系统是针对电信行业设计实现的,其整体的软件体系架构采用经典的三层架构如图2-3所示。 图2-3 ETL系统软件体系架构图各个层在ETL系统中的具体情况如下: 1 展现层 展现层向用户提供友好的界面。数据仓库开发人员通过前台的展示界面,进行实体的配置,脚本的配置(数据抽取规则,转换规则的设置),配置完成后系统生成相应的元数据保存到数据仓库的数据库存储系统中,未系统自动调度ETL任务提供必要的数据。2 业务逻辑层对于前台开发模块,该层主要负责提供接口将生成重要的元数据保存到数据库中。对于后台任务调度模块,通过前台配置完成的实体,以及相关的调度配置,脚本配置提供的数据,实现ETL任务的自动调度,完成数据从源系统到数据仓库的抽取、转换、装载。同时实现任务的监控,保证数据转换装载的质量;记录任务执行日志,提供对发生错误的任务调度及时有效的做出处理的重要信息。3数据存储层数据存储层实现对企业业务数据的存储,以及数据仓库元数据的存储。业务系统的数据经过抽取、清洗、转换、装载,按照主题分类存储在数据仓库中,这些数据即为数据仓库中的主体数据。前台系统产生的ETL系统元数据亦存储在数据仓库中,正是有了它们,才保证数据从源系统不断进入数据仓库,因此也是数据仓库中的重要组成部分。2.4仓库任务调度模块的总体设计本节对仓库任务调度模块的领域模型进行了介绍,定义了仓库任务调度过程中涉及的主要对象,并对模块进行了总体设计。2.4.1领域模型数据是系统运作的基础,因此弄清整个ETL系统运作过程中所涉及的概念对象并转换成相应的数据库数据是非常重要的。对于系统的设计其核心对象是实体,实体指数据仓库中主题数据的逻辑概念。另外源于电信行业本身的业务运作特点以及企业的管理模式:数据来源于不同的业务系统,且分布于不同的地区、部门,同时也具有时间特性。因此综合考虑这些方面的设计了满足需求所需的各种对象如,周期类型,地域,日期,更新方式等。系统通过配置实体、实体脚本、实体依赖,接着生成调度任务,最终经过自动调度模块生成数据仓库中的物理表。因此,系统实现了把不同地区、不同业务系统、不同时间阶段的数据有效的集成,整合到数据仓库中。同时考虑到业务系统的实时性,性能要求较高,且数据量大,因此系统对数据接口设计以文本文件为主的方式,对于数据量大的源系统数据,允许分割成多个文件并分批次上传。图2-4 仓库任务调度模块领域模型图2-4所示是ETL系统后台调度系统中仓库任务调度模块涉及的对象,调度过程中将根据实体之间的依赖关系判断实体是否能进行调度,并在执行的过程中从实体对应的脚本库中读取脚本,然后解析执行,并进行日志记录任务调度的相关信息。2.4.2总体设计 ETL系统后台功能模块,大致分为接口文件处理模块,接口实体调度模块,仓库集市任务维护模块,仓库集市任务调度模块,他们之间的关系如图2-5所示。各个模块相对独立,且独立调度,每个进程独立完成自身的任务,通过共享数据信息,完成进程间的协作。同时采用多进程调度,合理安排进程个数以达到充分应用系统的资源。后台系统功能模块还有包括定期的接口文件备份与删除模块用以保证服务器的资源有效利用,接口文件解压模块,进程维护模块,数据质量核查模块,数据重跑等模块。 图2-5 后台系统功能模块关系图其中仓库集市任务维护模块与仓库任务调度模块的总体设计如下:1仓库集市任务维护模块流程图如图2-6所示。该功能模块主要完成对仓库集市层的任务基本信息的维护。图2-6仓库集市任务维护模块流程图任务维护模块中包括调度任务生成,调度任务状态的更改,添加任务配置,更新任务配置表,更新实体配置,计算任务的资源可用性。实现仓库集市任务的自动调度,正是因为实体之间有相互依赖的关系。通过依赖关系,处于底层的接口实体在完成任务调度后,便可以激发直接依赖于自身的其它实体的任务调度,从而完成整个依赖树上的实体调度。2仓库集市任务调度模块流程图如图2-7所示。该功能模块负责从任务列表中选择出符合自动调度条件的任务,读取该任务对应的实体已存储的脚本库,并解析执行,实现数据从接口层到数据仓库层的流动,也可实现数据从仓库到集市应用层的流动。图2-7仓库集市任务调度模块流程图此功能模块主要是在通过开发人员前台配置实体脚本,即实现数据清洗、转换规则的配置后,通过ETL系统调度,最终实现目标数据的物理存储。在任务调度之前将系统对任务进行资源可用性的判断,同时对仓库层任务所依赖的接口实体导入时间是否小于当前时间,以决定任务是否可以调度。该模块是系统的核心模块,除了实现任务的调度,还完成了ETL任务执行过程的日志,提供任务出错的必要信息。2.5小结本章介绍了ETL的基本概念,以及ETL在数据仓库实施过程中的地位和如何评价ETL工具。接着从项目的需求入手,详细分析了企业的特征以及项目的需求,并根据项目的需求对系统进行了功能的划分,再接着介绍了系统的体系架构,并对系统的仓库任务调度模块进行了总体设计。第三章仓库任务调度模块的实现ETL系统前台系统采用J2EE规范,Struct开发,应用MVC架构,使程序开发更加清晰、简洁;降低了界面与业务逻辑的耦合度,提高程序的拓展性与可用性。前台各功能模块非本人所实现,因此不做详细介绍。数据仓库是基于数据库技术的,关系数据库仍然是主要的存储工具2,所有的数据仓库数据,各种工具的元数据等都存储于数据库中;且在具体的数据仓库开发、实施过程中,实现数据的抽取、转换、装载与数据库技术息息相关,结合紧密。选择一个好的数据库管理系统对于整个数据仓库的创建、维护、性能是一个重要的保障。因此后台系统的各个功能模块的实现方式采用数据库管理系统的存储过程编写。各个大功能模块由具体的小功能函数协作实现的,本章描述仓库任务调度模块各个功能模块函数的具体实现。3.1开发工具与软硬件环境整个系统的开发建立在以下的软硬件基础上,本系统前台系统是在Microsoft Widows XP下实现的,后台系统一部分是在IBM AIX操作系统上实现,另一部分由于使用存储过程实现主要的逻辑,因此是在DB2数据库
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院安保考试题库及答案
- 保育师初级考试题库及答案
- 云客服考试题库及答案
- 抖音电商考试题库及答案
- 亲友房屋无偿赠与合同8篇
- 2025年贵州六盘水留置看护人员面试题及参考答案
- 2025年轨道交通地铁考试题库(附答案)
- 2025年广西专业技术人员继续教育公需科目创新与创业能力建设试题和答案
- 重庆职高语文高考试题及答案
- 康复科医院考试题及答案
- 水利监理人员安全培训课件
- 2025-2026学年岭美版(2024)小学美术三年级上册(全册)教学设计(附目录P148)
- 培训学校前台工作
- 2025党风廉政建设知识题库(含参考答案)
- 第五课 网络的搭建说课稿-2025-2026学年初中信息技术(信息科技)初中二年级(上册)教科版(云南)
- 东岸文化传媒劳务合同4篇
- 上甘岭战役课件
- GB/T 45951-2025科技馆常设展览实施通用流程
- 医院安全生产知识培训课件
- (2025)汽车驾驶员(技师)考试题库及答案
- 中职高考英语一轮复习课件(名词)
评论
0/150
提交评论