ETL系统的仓库任务调度模块的实现开题报告.docx
《ETL系统的仓库任务调度模块的实现开题报告.docx》由会员分享,可在线阅读,更多相关《ETL系统的仓库任务调度模块的实现开题报告.docx(9页珍藏版)》请在冰豆网上搜索。
![ETL系统的仓库任务调度模块的实现开题报告.docx](https://file1.bdocx.com/fileroot1/2022-11/25/c550405c-3d95-4ca4-ab69-c38e3105cfe4/c550405c-3d95-4ca4-ab69-c38e3105cfe41.gif)
ETL系统的仓库任务调度模块的实现开题报告
厦门大学软件学院《毕业设计(论文)》开题报告
学生姓名
班级
学号
校外指导教师姓名
职称
所在单位
北京福富软件技术股份有限公司福州分公司
校内指导教师姓名
职称
所在单位
厦门大学
毕业设计(论文)题目
ETL系统的仓库任务调度模块的实现
毕业设计(论文)的目标:
一、项目背景[1]:
“数据仓库”一词最早是在1900年,由BillInmon先生提出的。
其描述如下:
“数据仓库是为支持企业决策而特别设计和建立的数据集合”。
准确说来,数据仓库是一个环境,而不是一件产品,提供用户用于决策支持的当前和历史数据,这些数据在传统的操作型数据库中很难或不能得到。
数据仓库技术是为了有效的把操作形数据集成到统一的环境中以提供决策型数据访问的各种技术和模块的总称。
打破数据来源的壁垒,对来源于全省多个业务系统的不同数据进行整合,建立一个“大集中”的数据仓库,构造真正意义上的“客户统一视图”,让领导和分析人员能切实掌握电信客户、用户的全面信息,为决策提供完备的依据。
具体目标:
设计并实现一个ETL工具,完成数据的抽取、转换与装载,保证数据源源不断的从源系统进入数据仓库。
(1)可以进行数据模型的任务配置
(2)数据转换规则能手动配置;(3)实现数据‘抽取-转换-装载’任务流程的自动调度;(4)能监控任务执行情况;(5)查询任务执行日志;(6)查看数据之间的依赖关系
(7)数据质量的管控。
二、项目概况[1]
整个项目的系统架构如图1所示。
可以从图中看出数据仓库系统将为中国电
信各个分公司进行各种分析与决策提供最基础的环境支持与数据支持。
图1系统部署图[1]
为了能更好的服务于企业分析与决策,提供直观的数据展示,保证数据获取中的数据质量,以及方便整个系统的管理运行,系统功能组织考虑到了整个方面,如图2所示。
图2系统功能组织图[1]
整个数据仓库系统划分为4个平台,具体功能模块如图3所示,各个平台以及各个模块的内容如下:
(1)应用管理平台:
主要用于对系统访问层面和操作层面进行管理,如对用户、权限的设置;个性化界面等的定制;报表搜索、系统参数设置等功能;通过这些功能,使用者能更方便、有效的使用数据仓库系统。
(2)目标客户管理平台:
通过对重点数据(如档案、月帐单、用户周话务汇总情况等数据)的支撑,使用者可自行通过简单的条件设置来定义其关注的目标客(用)户,灵活的设置跟踪周期。
部分有明确条件设置的目标客户更可以通过平台提供的专题功能更快速、方便的取得分析结果(如VPN专题)。
(3)ETL平台:
在自行开发的ETL平台上,使用者可以对逻辑模型进行物理设计,使用类标准SQL脚本实现数据的ETL,并对操作日志、数据质量等进行管理;同时还支持对数据的导出功能(文本/EXCEL等格式),以满足异构数据库系统的数据需求(如集团接口、查询结果导出等)。
(4)分析展示平台:
通过集成的展示平台,采用多维分析、图表结合、即席查询、GIS等多种展示方式,分析展示平台提供使用者一个简单、直观、有效的数据分析界面,使用者可以根据权限方便的实现数据访问的穿透、钻取以及相关报表的访问。
目前除数据挖掘尚在设计开发阶段外。
图3系统功能模块[1]
三、电信行业特点
1.电信企业数据来源:
1)支撑系统,包括计费、营帐等;2)网管系统;3)企业办公(OA)系统;4)其他系统。
[2]
2.电信企业的源数据特点:
1)数据量特别大;2)业务系统工作负荷重,7×24小时的工作;3)业务系统性能、实时性的要求较高。
[2]
实现方法:
一、基本环境
数据库管理系统:
IBMDB2
开发平台:
Windows,AIX
语言:
DB2存储过程,Shell编程
项目管理:
SVN,IBMClearQuery
其它第三方软件:
QuestCentralforDB2
二、ETL概念[2][3]
1.数据抽取(Extract)
数据抽取是数据源接口,从业务系统中抽取数据,为数据仓库输入数据。
典型的数据抽取接口包括数据库接口和文件接口,对于不同数据平台、不同源数据形式、不同性能要求和业务量的业务系统以及不同数据量的源数据,采取不同的数据抽取接口。
数据的抽取必须能够充分满足决策支持系统的需要,又要保证不影响业务系统的性能,所以,进行数据抽取时应制定相应的策略,包括抽取方式、抽取时机、抽取周期等等。
数据抽取策略有:
1)同步实现抽取;2)异步实现抽取。
2.数据清洗和转换(Transformation)
数据清洗和数据转换是指从业务系统中抽取的数据根据数据仓库系统模型的要求,进行数据的清洗、转换、拆分、汇总等处理,保证来自不同系统、不同格式的数据具有一致性和完整性,并按要求装入数据仓库。
数据转换工作进行的时机:
1)在抽取过程中进行数据处理;2)使用异步数据加载,以文件的方式处理;3)在数据加载过程中进行数据处理;4)进入数据仓库以后再进行数据处理。
3.数据装载(Load)
数据装载就是从数据源系统中抽取、转换、清洗后得数据装载到数据仓库中。
要求数据加载工具必须具有高效的加载性能。
同时加载策略要考虑加载周期及数据追加策略的内容。
主要加载技术:
1)使用数据仓库引擎厂商提供的数据加载工具进行数据加载;2)通过数据仓库引擎厂商提供的API编程进行数据的加载。
数据的追加策略类型:
直接追加、全部覆盖、更新追加。
三、ETL总体设计
根据电信行业特点,电信行业数据来源的多样性与地域性。
ETL平台将设计成如下图(图4所示)的架构,主要有前台系统与后台系统构成。
后台系统负责任务的自动调度,实现数据的抽取、转换、装载。
前台提供用户界面,方便数据仓库开发人员使用。
图4ETL架构图
整个ETL过程将实现数据如下图所示(图5)的流动过程。
数据将从数据源开始生成接口文件,后通过ETL平台装载到数据仓库接口区域,数据将在接口区域保存一定的时间,之后通过ETL配置数据转换、清洗的规则,实现数据从接口区到目标数据仓库的存储,同时亦可以实现数据到数据集市的流动。
图5ETL总体设计-数据流程图
四、系统功能模块
系统主要分为两大模块:
一、前台展示模块;二、后台任务调度模块
一、前台展示模块中主要的功能模块有:
1.实体配置:
开发人员进行数据仓库开发,根据业务逻辑在数据建模完成后,进行相关模型的物理模型设计,实体配置完成对模型的主体配置。
是生成实体调度任务的主要依据。
2.脚本配置:
在实体配置完成之后,需要进行相关的脚本配置,完成具体的数据如何转换,如何清洗,如何装载的问题。
3.依赖配置:
依赖配置,是配置实体与实体之间的依赖关系,大体分为弱实体依赖与强实体依赖。
是进行任务自动调度的重要环节。
4.时间调度配置:
对于配置的实体无法满足必要的依赖配置,可以直接进行时间调度配置,亦可以到达自动调度的效果。
5.任务查询:
对配置好的实体,可以进行相关任务的查询,查询是否生成了当日的调度任务等。
6.ETL监控:
实体调度过程是自动进行的。
对于实体调度执行的情况可以通过该功能进行查询,该查询通过实体依赖关系,可以查看各个调度环节的情况。
7.调度日志查询:
实体调度过程中会记录相关的执行日志,该功能可以查询指定实体的执行日志。
8.接口上传配置:
该功能对接口文件上传进行了规则设置:
如在某日期前接口文件必须上传服务器等。
可以监控数据是否到达,以及查询为到达数据所产生的影响。
二、后台任务调度模块的重要功能模块有:
1.接口文件处理:
该功能模块对到达服务器的接口文件进行扫描发现、剪切移动、导入、校验、备份删除等操作。
2.接口实体调度模块:
该功能模块负责把接口文件数据导入数据仓库的接口层区域,并对数据导入进行初步的校验。
3.ETL过程维护:
该功能模块负责生成接口文件调度任务,清除过期任务。
4.仓库集市实体调度:
该功能模块负责生成仓库集市调度任务,根据依赖关系更新任务的资源可用性,执行任务,根据任务对应的脚本配置,解析执行脚本。
5.其它功能模块:
若接口文件太大而上传为压缩文件则负责接口文件的解压,以及定期的接口文件清理等。
五、系统数据接口[1]
目前系统数据接口主要采用文本文件方式,并在省中心的数据仓库系统上建立统一接口存储区提供给各业务系统,由各业务系统按接口要求整理并通过FTP方式上传数据。
对于需通过人工录入的数据,系统将提供相应的工具或接口,并支持通过Excel、XML、TXT等格式文档加载的形式进行数据的批量录入功能。
六、平台的任务自动调度
系统使用Shell进行编程,实现平台在AIX操作系统上定时自动调度任务。
系统后台进程主要有接口文件扫描导入进程、实体任务生成进程、实体任务调度进程等。
通过使用CRONTAB命令并发执行这些进程。
CRONTAB命令:
提交、编辑、列出或除去cron作业。
这个crontab命令提交、编辑、列出或除去cron作业。
一个cron作业是一个命令,其运行是由cron守护进程在规则的调度间隔执行的。
要提交一个cron作业,指定crontab命令用-e标志。
crontab命令调用一个编辑会话,允许创建一个crontab文件。
在这个文件中,为每个cron创建条目。
每个条目必须是一种cron守护进程可接受的格式。
当创建完条目和退出文件后,crontab命令将它拷贝到/var/spool/cron/crontabs目录,并把它放到一个文件中,此文件的名称是当前的用户名。
如果以用户名命名的文件已存在于crontabs目录中,crontab命令会覆盖它。
同样的,可以通过指定文件参数创建crontab文件。
如果此文件已经存在,格式必须是cron守护进程所需要的。
如果文件不存在,crontab命令就调用编辑器。
如果EDITOR环境变量存在,此命令就调用它指定的编辑器。
否则,crontab命令调用vi编辑器。
七、数据仓库元数据
元数据,其最基本的定义是“关于数据的数据”。
但是整个及其抽象的定义对于元数据的理解往往是不够的。
并且它是一种广泛存在的现象,在许多领域有其具体的定义和应用。
对于在数据仓库中的应用,有这么一种定义:
元数据是一种提取的形式,它是描述数据库的结构和内容[4]。
对于元数据的理解,在很多书中也进行了比较深入的探讨,有题为“元数据与比喻”的文章[5],就是从作者自己的角度与理解阐释了元数据的概念。
在数据仓库领域中,元数据被定义为:
描述数据及其环境的数据。
一般来说,它有两方面的用途。
首先,元数据能提供基于用户的信息,如记录数据项的业务描述信息的元数据能帮助用户使用数据。
其次,元数据能支持系统对数据的管理和维护,如关于数据项存储方法的元数据能支持系统以最有效的方式访问数据。
具体来说,在数据仓库系统中,元数据机制主要支持以下五类系统管理功能:
(1)描述哪些数据在数据仓库中;
(2)定义要进入数据仓库中的数据和从数据仓库中产生的数据;(3)记录根据业务事件发生而随之进行的数据抽取工作时间安排;(4)记录并检测系统数据一致性的要求和执行情况;(5)衡量数据质量。
[6]
主要参考文献
[1].福建富士通信息软件有限公司,福建电信数据仓库系统简介[Z].
[2].段云峰,吴唯宁,李剑威,韩洁著.《数据仓库及其在电信领域中的应用》[M].北京:
电子工业出版社,
[3]何宇峰.《基于CWM的ETL工具的设计与实现》[D].大连海事学院,
[4]MarkHumphries,Michael,Michelle著,陈光群译.《数据仓储:
结构和实现》[M].北京:
社会科学文献出版社,
[5]LouAgosta著,潇湘工作室译.《数据仓库技术指南》.北京:
人民邮电出版社,
[6]XX百科.元数据.主流数据仓库产品对比分析.张金铭,赖大进.数据仓库系统在电信行业的应用.
时间进度安排:
2008年11月17日-2009年2月10日:
查阅相关书籍资料,理解数据仓库各种理论概念,重点熟悉ETL过程,掌握ETL重点,难点。
并完成开题报告。
2009年2月11日-2009年3月20日:
分析项目需求,理解项目目标与内容,理解项目中相关的业务逻辑;熟悉项目实现环境,开始项目初期步骤(需求与设计),搭建ETL工具系统框架,编写代码,完成中期检查报告。
2009年3月21日-2009年4月20日:
基本完成项目的ETL工具的代码编写,积累项目开发过程中的相关问题以及解决方法。
理解掌握过程中元数据管理。
2009年4月21日-2009年5月20日:
完善项目内容,进行项目测试,验证ETL工具的运行效果。
2009年5月21日-2009年5月31日:
应用ETL工具实现数据的抽取、装载;继续跟踪项目的后期测试,总结项目过程中的不足与难点。
2009年6月1日-2009年6月10日:
完成毕业设计文档撰写,交付指导老师,进行毕业答辩。
指导教师审核意见:
校外指导教师签名:
2009年月日
校内指导教师签名:
2009年月日