毕业设计(论文)提高数据仓库中数据质量的研究_第1页
毕业设计(论文)提高数据仓库中数据质量的研究_第2页
毕业设计(论文)提高数据仓库中数据质量的研究_第3页
毕业设计(论文)提高数据仓库中数据质量的研究_第4页
毕业设计(论文)提高数据仓库中数据质量的研究_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、湖南大学毕业设计(论文)第 41 页hunan university毕业设计(论文)设计论文题目:提高数据仓库中数据质量的研究学生姓名:学生学号:专业班级:软件开发班学院名称:软件学院指导老师:学院院长:2008年5月20日提高数据仓库中数据质量的研究摘 要数据仓库是一个面向主题的、集成的、相对稳定的、能够反映历史变化并且能够支持管理决策的数据的集合。维护数据仓库中数据的正确性是非常重要的环节,而etl是构建数据仓库的重要组成部分,要占据60%左右的工作量。提高数据仓库中的数据质量有利于保障数据仓库的可靠性,也有利于企业长期的总结和应用数据。提高数据质量的方法很多,鉴于本项目在实际工程应用中的

2、经验总结和实践积累,本文主要侧重于利用etl调度以及校验的方式来提高数据仓库中的数据质量。首先,利用etl调度原理实现数据的自动化调度,使数据成为一个流动的数据流,数据所在的数据库作为etl流的起点,保存最终高质量数据的数据仓库作为etl数据流的终点。其次,对于已经形成etl数据流的数据生成流实例信息,对完成etl流程处理的数据构造历史信息,从而保证能够对etl流进行监控。再次,构造etl流程的处理逻辑,这是构造高质量数据的核心部分,根据实际的经验构造自动化的校验程序,使数据流流过时校验程序能够纠正错误数据,最终达到获得高质量数据的目的。最后,经过emc项目的实施情况证明,非法数据在以etl流

3、的形式流经校验程序时都能够按照提前设定得到处理,保证了数据仓库中数据的稳定性。关键词:etl,emc(etl管理中心),数据仓库the research in improving the quality of data in the data warehouseabstractauthor: gao zhongshantutor: shen yuxiangdata warehouse is a data collection which is subject-oriented, integrated, and relatively stable. it can reflect the chan

4、ges of history and support the management decision. it is an important segment to maintain the accuracy of the data warehouse. however, etl is an important part to build data warehouse and occupy about 60 percent of the load. the improvement of the quality in the data warehouse helps to guarantee th

5、e reliability and also help the enterprise to summarize and use the data for a long period of time. there are many methods to improve the quality of data. however, in the view of the experience summary and practice accumulation in the practical application, the paper mainly focuses on the etl dispat

6、cher and way of check to improve data quality of data warehouse.first of all, the automation of data management which is realized by etl principle make the data into a data stream., the database where the data exists become as starting point of etl, saving the data warehouse with ultimate high-quali

7、ty data as the end of etl.second, for the data which the etl data flow has been formed to generate example, for the data which complete etl processes structure to handling historical information, thus ensuring that the etl flow can monitoring.third, building the processing logic of etl tectonic proc

8、esses is the core of constructing high-quality data, constructing the automated calibration procedures based on the actual experience, so that the calibration procedures can correct erroneous data when passing by, and finally achieving the goal of access the high-quality data.finally, the implementa

9、tion of the emc project has proved that the illegal data in the form of etl run through calibration procedures can be handled in accordance with the set in advance, ensuring the stability of data in warehouse data.key words: etl, emc (etl manage center), data warehouse目 录1. 绪论11.1 研究背景11.2 国内外研究现状21

10、.3 本文的主要研究内容和内容组织32. 数据仓库以及etl42.1 数据仓库(data warehouse, dw)42.2 etl(extract, transform, loading)62.2.1 etl简介62.2.2 etl过程特点72.2.3 数据质量保证82.2.4 元数据:拓展新星应用93. emc项目中的etl应用103.1 业务背景103.2 实例概述123.3 总体流程133.4 接口表143.4 企业数据迁移(edm)模型层153.5 事实表层163.6 数据集市(dm)层173.7 多维分析(olap)层173.8 总体处理流程、反馈过程174. emc中数据调度校

11、验的应用194.1 需求分析194.1.1 需求设计描述194.1.2 功能性需求描述(按功能模块进行说明)194.1.3 非功能性需求描述204.2 系统总体设计214.2.1 系统总体功能设计图214.2.2 系统总体功能设计图说明214.2.3 系统功能设计描述224.3 概要设计234.3.1 概要功能设计图234.3.2 功能性描述(按功能模块)244.4 后台调度流程264.4.1 etl任务调度概述264.4.2 任务/任务组实例化274.4.3 任务实例调度284.5 后台校验流程294.5.1 功能294.5.2 数据结构294.5.3 流程294.5.4 重要函数325.

12、效果说明和总结42致谢43参考文献441. 绪论1.1 研究背景随着全球经济一体化进程的推进以及我国的经济快速增长,大多数行业的市场竞争激烈加剧。这对企业管理和经营决策的制定的时效性、科学性、准确性提出了很高的要求。只有以数据为基础,从基于经验的分析到基于准确事实的洞察,才能有效保证企业服务质量、营销成功率和管理水平,节约企业营销成本,最终使企业利润和客户满意度的最大化。数据仓库正是在这种大环境下应运而生了。随着我国电信体制改革的深化,行业垄断格局已被打破,国内通信市场形成了电信、移动、联通、网通、铁通等多元化竞争局面,竞争日趋激烈。电信运营商的经营理念也逐渐从“以产品为中心”转移到“以客户为

13、中心”了。而面对客户的多样化、层次化、个性化的需求,大众化营销已经失去了其优势,基于客户信息、客户价值和行为,深入数据分析的洞察力营销、精确化营销的理念逐渐被各大电信运营商所接受。商务活动的主动权被交到了客户手中,而保持原有的客户对电信公司来说变的至关重要。在过去多年中电信行业建立了计费帐务系统、综合结算系统、97系统、10000号系统、大客户系统等多种业务支撑系统,然而各个系统相对独立,数据分散不一致。这就产生了数据依赖系统存在、缺少完整统一的客户视图、数据共享缺少统一的标准共享困难、数据对闭环的业务流程支撑程度较弱等问题。基于此现状,电信公司确定整合客户数据并以客户为中心实行统一视图的目标

14、,那么建设本企业的数据仓库就势在必行了,而同时保证数据仓库中数据的质量的有效性就成为了一个重点研究的问题。科学决策是现代企业的管理的核心与基础,但高质量的数据是正确决策的前提。要提供有质量保证数据,数据的抽取、转换和装载过程特别是转换过程相当重要。针对电信业务种类多,业务更新快,数据来源广的特点,etl过程就变得充满挑战性。庆幸的是,已经有很多成熟的etl工具,它们几乎能够自动完成数据的etl过程。但用户显然不放心这样一个重要的过程对他们来说完全是“透明化”的,加上多用户多任务必然会带来线程(或进程)的同步或互斥问题。所以本文将以etl框架设计为基础出发。同时为了便于理解整个框架,来详细介绍e

15、tl过程管理的具体流程和方法。同时,本文将流程的控制过程用可视化效果表现出来,提供流程定义和流程监控功能,并最终生成多维表。1.2 国内外研究现状在企业信息化建设过程中,随着技术的发展,原有的信息系统不断被功能更强大的新系统所取代,从两层结构到三层结构,从client/serve:到browser/server,在新旧系统的切换过程中,必然面临一个数据迁移的问题。原有的旧系统从启用到被新系统取代,在其使用期间往往积累了大量珍贵的历史数据,其中许多历史数据都是新系统顺利启用所必须的。另外,这些历史数据也是执行决策分析的重要依据。数据迁移,就是将这些历史数据进行清洗、转换,并装载至新系统中的过程。

16、数据迁移主要适用于一套旧系统切换到另一套新系统,或多套旧系统切换到同一套新系统时,需要将旧系统中的历史数据转换到新系统中的情况。银行、电信、税务、工商、保险以及销售等领域发生系统切换时,一般都需要进行数据迁移对于多对一的情况,例如由于信息化建设的先后,造成有多个不同的系统同时运行,但相互间不能做到有效信息共享,所以就需要一套新系统包容几套旧系统的问题。数据迁移对系统切换乃至新系统的运行有着十分重要的意义,数据迁移的质量不仅仅是新系统成功运行的重要前提,同时也是新系统今后稳定运行的有力保障。如果数据迁移失败,新系统将不能正常启用;如果数据迁移的质量较差,没能屏蔽全部的垃圾数据,对新系统将会造成很

17、大的隐患,新系统一旦访问这些垃圾数据,可能会由这些垃圾数据产生新的错误数据,严重时还会导致系统异常。相反,成功的数据迁移可以有效地保障新系统的顺利运行,能够继承珍贵的历史数据。无论对于一个公司还是一个部门,历史数据都是十分珍贵的一种资源,如公司的客户信息、银行的存款记录、税务部门的纳税资料等。早期的数据迁移工作往往是由程序人员手工编写存储过程完成的,对编写人员的技术要求很高,而且随着系统的升级换代、人员变动等原因使系统维护变得十分困难随着计算机技术的发展与进步,逐渐出现了使用特定的etl工具来完成数据迁移过程。目前很多数据库厂商纷纷推出针对其数据仓库产品的etl解决方案,如oracle公司的w

18、arehouse builder等。这些工具具有功能强大,提供图形化界面以利于用户操作,易与第三方软件集成等优点,但其高昂的价格,复杂的操作往往让人望而却步。表1.1对手工编码与使用etl工具实现数据迁移工作进行了比较。表1.1 人工编码与etl工具比较对比项手工编码etl工具灵活性最灵活比较灵活难易程度要求一定的技术水平相对容易管理和维护较难容易性能和效率取决于编写者水平较高开发周期较长较短工作量较重中等价格相对较低较高目前国内外关于etl领域的研究非常活跃,主要涉及以下几个方面:1、建立一种通用的与领域无关的工具框架;2、在自动化异常检测和清洗处理间增加人工判断处理以提高处理精度;3、对海

19、量数据集进行并行处理;4、如何消除合并后数据集中以及重复数据;5、研究高效的数据异常检测算法以避免扫描整个庞大的数据集。在我国,对etl的研究开发甚少,还没有一个成型的、完善的etl工具应用于数据仓库的系统中。1.3 本文的主要研究内容和内容组织本次设计主要采用的技术手段是:利用etl在构造数据仓库中的原理,通过构造etl数据流来实现数据的自动化处理,通过编写校验程序来处理数据流中非法数据,从而保证数据仓库中数据的高质量。本文结构分为五章,第一章为绪论,主要介绍该课题的背景,过内外发展概况以及应用的技术以及论文的组织结果等;第二章为基础技术介绍,主要根据项目需要用到的数据仓库、etl等技术做详

20、细的介绍;第三章将根据emc项目情况讲解etl的应用情况;第四章重点讲解调度和校验过程,使读者能够更清晰的了解emc项目中的实现方法;第五章将根据实际应用对提高数据质量的效果做进一步的说明并总结获得结论。2. 数据仓库以及etl2.1 数据仓库(data warehouse, dw)目前,数据仓库一词尚没有一个统一的定义,著名的数据仓库专家w.h.inmon在其著作building the data warehouse一书中给予如下描述:数据仓库(data warehouse)是一个面向主题的(subject oriented)、集成的(integrate)、相对稳定的(non-volatil

21、e)、反映历史变化(time variant)的数据集合,用于支持管理决策。数据仓库的概念可以从两个层次予以理解:首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。根据数据仓库概念的含义,数据仓库拥有以下四个特点:1、面向主题:操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织。主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相

22、关。2、集成的:面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的。而数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。3、相对稳定的:操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。4、反映历史变化:操作型数据库

23、主要关心当前某一个时间段内的数据,而数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。企业数据仓库的建设,是以现有企业业务系统和大量业务数据的积累为基础。数据仓库不是静态的概念,只有把信息及时交给需要这些信息的使用者,供他们做出改善其业务经营的决策,信息才能发挥作用,信息才有意义。而把信息加以整理归纳和重组,并及时提供给相应的管理决策人员,是数据仓库的根本任务。因此,从产业界的角度看,数据仓库建设是一个工程,是一个过程,而不是一个产品。图2.1所示为数据仓库的基本体系

24、结构图:分析工具归纳工具数据挖掘olap数据仓库元数据数据源数据源数据源数据集市数据集市etl图2.1 数据仓库基本体系结构图1、数据源:是数据仓库系统的基础,是整个系统的数据源泉。通常包括企业内部信息和外部信息。内部信息包括存放于rdbms中的各种业务处理数据和各类文档数据。外部信息包括各类法律法规、市场信息和竞争对手的信息等等;2、数据的存储与管理:是整个数据仓库系统的核心。数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。针对现有各业务

25、系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。3、olap服务器:对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。其具体实现可以分为:rolap、molap和holap。rolap基本数据和聚合数据均存放在rdbms之中;molap基本数据和聚合数据均存放于多维数据库中;holap基本数据存放于rdbms之中,聚合数据存放于多维数据库中。4、前端工具:主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。

26、其中数据分析工具主要针对olap服务器,报表工具、数据挖掘工具主要针对数据仓库。2.2 etl(extract, transform, loading)2.2.1 etl简介在数据仓库的构建中,问题最多,工作量最大的是从各种数据源抽取(extract),转换(transform)和装载(loading)数据的操作。数据仓库中的数据往往来自不同时期,不同硬件平台,不同操作系统等,数据源的多样性造成了“脏数据”(dirty data)的大量存在,这些“脏数据”产生的原因主要有:1、数据库之间缺乏统一的标志,即表示同一对象的数据库记录的记不唯一;2、不同组织采用不同的格式表示数据,这对数据的整合也造

27、成一定的困难,典型的例子就是日期型的数据;3、输入大量的数据时,总会或多或少出现一些错误;4、存在不一致的数据。数据仓库要不断地装载这些存在“脏数据”的数据,如果不能保证装载数据的质量,那么势必会降低数据仓库中数据的质量,对数据仓库的后续操作造成影响,降低数据挖掘的质量。为了提高数据质量,需要在数据源与数据仓库之间架一座桥梁,同时还要在桥梁上设立“检查站”,对经过的数据进行检查,去除不符合要求的数据,这就是etl工具的功能。而把数据的etl过程当成一个个进程或job,对其进行调度,就是etl调度过程。etl是数据仓库获得高质量数据的重要环节,它是数据仓库中数据的入口,一个设计良好,功能强大的e

28、tl工具和一个高效有效的调度模块对于构建一个数据清洁,结构良好的数据仓库有着重要的意义。2.2.2 etl过程特点etl的过程就是数据流动的过程,数据从异构数据源流向统一的目标数据库。其间,数据的抽取、清洗、转换和装载形成串行或并行的过程。etl的核心是t过程,也就是转换,而抽取和装载一般可以作为转换的输入和输出,或者作为一个单独的部件,其复杂程度没有转换部件高。与oltp系统中的单条记录的insert、update和select等操作相比,etl过程一般都是批量操作,其装载多采用批量装载工具,一般都是dbms系统自身附带的工具,例如oracle sqlloader和db2的autoloade

29、等。下面从etl元数据等几个方面探讨etl过程的特点:1、etl元数据。元数据是描述数据的数据,它的含义非常广泛,这里仅指etl的元数据,主要包括每次转换前后的数据结构和转换的规则。etl元数据还包括形式参数的管理,形式参数是etl单元定义的参数,相对还有实参,它是运行时指定的参数,实参不在元数据管理范围之内。2、转换规则的定义方法。提供函数集,包括日期处理函数、字符串处理函数等。提供常用规则方法,提供规则定义语言的描述规则。3、对数据的快速索引。一般都是利用hash技术,将参照关系表提前装入内存,在转换时查找这个hash表。datastag中有hash文件技术,powermart也有类似的功

30、能。4、数据流程的控制。具有可视化的流程编辑工具,提供流程定义和流程监控功能。流程调度的最小单位是etl单元实例,etl单元是不能细分的etl过程,该过程由开发者来控制,如可以将抽取、转换定义为一个etl单元,但此时抽取和转换只能同时运行,而如果将他们分作两个单元,可以分别运行,这有利于错误恢复操作。etl单元究竟应该细分到什么程度应该依据具体应用来看,目前还没有很好的细分策略。可以规定将装载一个表的功能作为一个etl单元,但这样的etl单元之间会有很多共同的操作,例如两个单元共用一个hash表,则需要这个hash表装入内存两次。尽可能将etl单元的工作简单化、独立化是定义etl单元的基本标准

31、。2.2.3数据质量保证虽然数据清洗可以提高数据质量,但数据质量问题是无法根治的,只能采取特定的手段去尽量避免,而且必须要定义出度量方法来衡量数据的质量。对于数据源的质量问题,客户对此更加关心,如果在源头不能保证比较干净的数据,那么后面分析功能的可信度会大为降低。数据源系统也在不断进化过程中,客户的操作也在逐渐规范中。下面探讨一下对数据源质量和etl处理质量的应对方法。在数据仓库模型维表中,通常有一条记录,表示“未知”,“未知”含义过于广泛,任何可能出错的数据,null数据甚至是规则没有涵盖到的数据,都转成1记录。这是一种处理脏数据的方法,但这也是一种掩盖事实的方法。例如写一个函数fileop

32、en(filename),没有返回标明错误原因的错误码而只返回一种错误码,如1。显然这是一种不好的设计,对于调用者来说,需要依据这个错误码进行某些判断,不同的错误都有相应的处理逻辑。数据仓库中也是如此,所以,应该将不同的数据质量类型处理结果分别转换成不同的值,比如在转换后,-1表示无法关联,-2表示null数据等。这只是处理数据格式的错误,对于数据一致性和业务逻辑合理性问题仍有待进一步研究。必须有一个数据质量的度量方法,对于数据质量有明确的定义。通常的席量方法是设定一个误差范围,例如指标的误差范围不能高于5%等,对系统本身来说必须要有这样的度量方法,但对于etl过程中的数据质量,其度量方法更为

33、严格,理论上,要求输入输出的指标应该完全一致。但是完全一致只是理想,有误差的数据不可避免。对于有误差的数据,必须找到原因。对于etl过程中产生的质量问题必须有数据验证机制,其目的是能够在eti,过程中监控数据质量,产生报警。下面是保证数据质量的几点建议:1、提供前端的统一界面。将开发实施人员当作用户,为之提供友好的用户界面。以olap的方式提供界面,将测试统计出来的指标结果反映给开发人员,使开发人员可以根据统计结果查找错误原因。2、数据清洗框架的设计。数据验证不是一次性工作,而是每次etl过程中都必须做的。因此,必须有一个框架,使验证过程自动化,并提供扩展手段,让实施人员能够增加验证范围。这样

34、一个框架起到了规范化操作的作用,开发实施人员可以将主要精力放在验证脚本的编写上,而不必过多关注验证如何融合到流程中,如何展现等工作。3、规范流程。很多etl数据质量问题是由于人工处理导致的,其中最主要原因是流程不规范。对于同一个etl过程,使用的etl工具不同,实施的人员不同,产生的结果也会不同,因此有必要为etl的开发与实施工作制定相应的操作和开发规范。规范流程是提高实施效率的关键工作。2.2.4 元数据:拓展新星应用对业务数据本身及其运行环境的描述与定义的数据,称之为元数据(metadata)。元数据是描述数据的数据。从某种意义上说,业务数据主要用于支持业务系统应用的数据,而元数据则是企业

35、信息门户、客户关系管理、数据仓库、决策支持和b2b等新型应用所不可或缺的内容。元数据的典型表现为对象的描述,即对数据库、表、列、列属性(类型、格式、约束等)以及主键/外部键关联等等的描述。特别是现行应用的异构性与分布性越来越普遍的情况下,统一的元数据就愈发重要了。“信息孤岛”曾经是很多企业对其应用现状的一种抱怨和概括,而合理的元数据则会有效地描绘出信息的关联性。而元数据对于etl的集中表现为:定义数据源的位置及数据源的属性、确定从源数据到目标数据的对应规则、确定相关的业务逻辑、在数据实际加载前的其他必要的准备工作,等等,它一般贯穿整个数据仓库项目,而etl的所有过程必须最大化地参照元数据,这样

36、才能快速实现etl。3. emc项目中的etl应用3.1 业务背景电信行业内应用数据仓库技术意义非凡,由于电信业内早有大量成熟的数据库应用系统,如“电信业务计算机综合管理系统”、“本地网管系统”、“财务管理系统”、“计费账务系统”、“112障碍管理系统”、“收费销账系统”等,通过这些系统产生了大量的业务处理数据。而许多的历史数据都被存储在磁带、光盘中,或是分布在不同的硬件、数据库内,要查询一次历史数据时,费力费时,更不用说把不同业务部门的数据来关联比较分析了,同时也会遇到如数据类型不匹配、数据定义不同、数据不一致、数据冗余等多种问题。如果我们针对电信业的特点和发展需求,对这些数据进行结构上的重

37、组,按更有利于决策分析的角度去设计,就会使我们企业的宝贵资源数据,实现真正的信息价值。根据行家们的预测,可以有几个方面分析。1、固定电话话费行为分析举个例子,固定电话的热装冷用一直是令各电信公司头疼的事,如果能对用户历年来大量的长话、网话和信息台的详细清单数据和用户的档案资料等相关数据进行关联分析,通过对用户的分类,从消费能力、消费习惯、消费周期等诸方面对用户的话费行为进行分析和预测,一定会为企业的相关解决措施提供依据和帮助。对话费行为的分析还可以是通过对通话起止时间及通话时长分析可得到各类用户的通话时段分布情况及日消费高峰、月消费高峰;长话的消费时间、消费次数、什么地方的用户消费能力较高、什

38、么地方的用户消费能力偏低;以及话费流失的分析。2、优惠策略预测仿真优惠促销固然可以开拓市场,但如果优惠策略不恰当,结果可能适得其反。利用数据仓库技术实现优惠策略在模型上的仿真,根据优惠策略进行模拟计费和模拟出帐,其仿真结果将提示所制定的优惠策略是否合适,并可按情况进行调整、优化,使优惠策略获得最大的成功。3、欠费和动态防欺诈行为分析欠费问题一直是电信面临的一个严重问题。催费、停机、拆机这样的举措是层出不穷,但对于恶意欠费的用户并不能制止,相反却会使一些偶尔欠费的用户怨声载道。欠费和动态防欺诈行为分析就是在总结各种骗费、欠费行为的内在规律后,在数据仓库的基础上建立一套欺骗行为和欠费行为规则库,当

39、用户的话费行为与该库中规则吻合或相似就发出告警,同时该系统还可以在此规则库的基础上分析各种欺骗和欠费行为,从而演绎出可能的欺骗和欠费行为,加以论证后自动加入规则库。另外,欠费和动态防欺诈行为分析不仅仅是被动式的预防分析,它可以主动地进行统计分析。欠费和动态防欺诈行为分析能及时预警各种骗费、欠费,使企业损失尽量减少。同时通过用户的缴费销账情况、社会类别、占用资源等,分析用户的信誉度,对不同信誉度用户给予不同的服务及优惠。4、客户关系管理(crm)分析在电信行业内,赢得一个新客户比保留一个老客户所付出的代价要高得多。因此,提高服务质量,赢得客户的忠诚对企业生存发展意义重大。但是电信的客户群体非常庞

40、大,而且客户对服务的要求也越来越高,作好服务工作不再是漂亮的营业员会微笑就可以完成的事了,必需要利用先进的数据仓库技术,对用户进行客户关系管理分析,也就是crm(customer relation manage)。具体内容包括:利用用户资料和一切可能有助于进行客户分析管理的资料进行客户概况分析,客户忠诚度分析,客户利润分析,客户性能分析,客户未来分析,客户产品分析,客户促销分析;通过对这些数据的分析,提供既能留住老客户又能吸引新客户的决策信息。5、经营成本与收入分析作为一个在市场经济中运作的企业,无疑以获得最大的经济效益为企业运作的核心目标之一,当然还应兼顾社会效益、客户服务等方面。经营成本与

41、收入分析就是对各种类型的经济活动进行成本核算,比较可能的业务收入(通信业务收入、其他收益)与各种费用(业务成本、管理费用、税收、其他支出)之间的收支差额,分析经济活动的曲线,得到相应的改进措施和办法,从而降低成本、减少开支、提高收入。6、网络管理和网络优化分析中国电信目前大都建成了省网管中心和各地的网管集中操作维护中心,对网络进行管理,它们包含的数据是调整、优化固定网络结构,提高全网通话质量的根本依据。网络管理和网络优化分析就是在对目前网络管理中大量的数据进行分析、聚类,从而为提高全网质量、优化网络结构,进行网络规划提供可靠的保证。网络管理和优化分析将在以下三个方面对现行系统进行扩展:扩大并细

42、化数据源;增加数据量;丰富统计分析类型。7、动态报表由于业务和管理的需求不断变化,许多需求在系统设计之初不曾想到,报表输出已成为一个日益突出的矛盾,报表形成困难和制表人员工作量极大增加是目前亟待解决的问题。动态报表就是利用数据仓库技术中元数据的思想,将报表元素分解成基本构件,实现对数据按用户轴、时间轴、地域轴、通话类型轴等,对用户的呼叫量,消费量等进行分析统计,形成各种各样的报表即动态报表。目前,应用数据仓库技术,改善企业决策支持模式,并取得最大的投资回报,已经成为大多数成功企业的共识,作为当今发展最快,吸收新技术最快的电信企业,原始数据正在快速地积累和膨胀,如何保存并利用好这些珍贵的资源,将

43、其中蕴藏的信息转化为生产力,将成为业内人士所关注的又一个技术热点。3.2实例概述由于经营分析系统维护的主要工作量在etl过程处理上,因此事先建立一个通用先进的etl处理过程,将会给系统维护工作带来事半倍功的效果。本章将通过对emc产品实际系统进行分析对etl进行详细的讲述,达到实现etl过程图形化、流程化和可配置化的效果。图3.1为etl过程总体逻辑图:图3.1 etl过程总体逻辑图3.3总体流程经营分析系统的数据来源于各源系统,并按层次分组处理,而实际上源系统是千差万别的,为了便于系统开发,数据源和各后续处理过程,设立了接口表层,将源系统中不同数据源在接口表层进行统一。图3.2概要描述了et

44、l的总体流程:图3.2 etl总体流程3.4接口表接口表沿用营销分析时的标准,作少量调整,在etl监控、管理过程中按业务、按层次模式展示。在监控界面可以查看各层状态。将本树状格式做成元数据,与etl过程关联,每原子节点对应的任务需包含稽核、执行历史、执行状态三要素。如图3.3所示图3.3 接口表数据源树接口表数据源树按配置的元数据生成,方便后续地域的变更和业务扩展。数据频率可以按日、按周、按月(甚至可以按3天)等,都根据配置实时生成。etl程序根据配置的间隔时间取数据。稽核报表按维度配置统计表,例如产品、资源按地域统计到达数、帐单按产品、地域统计量收,(选项需求:有历史数据可以增加统计的同比和

45、环比)。关于维度和代码的稽核,需要统计代码缺失、各代码值的记录分布、零记录数的代码。状态与稽核报表的结果关联,由稽核人员评估。稽核报表举例:如表3.1所示。表3.1 校验报表校验报表地域状态正常单停双停合肥27254243 市区673219 长丰区7301211 肥东区53917 肥西区783816蚌埠451117 怀远县15432 固镇县29785芜湖5601311 南陵县23143 繁昌县32998稽核结果: 正常 数据异常 异常说明(可空): 提交3.4企业数据迁移(edm)模型层进入标准:接口层各原子节点对应的任务无异常。edm模型层按域实体组织任务,采用统一模式(可以是定制的etl程

46、序或编写好的datastage jobs)从接口层处理数据,形成处理日志。edm模型层的域实体关系保存在数据库表中以生成处理过程的任务清单。edm模型层稽核采用处理日志评估模式。处理日志记录了处理的数据源、目的表处理的记录数,正常信息、异常信息等内容。如图3.4所示:图3.4 edm模型图稽核表举例:如表3.2。表3.2 稽核报表域实体处理过程状态tb_prd_prd_inst处理记录数:231,237正常edm模型层的任务调度由专门后台程序根据业务规则执行。这些业务规则以元数据的形式保存在一些表中。3.5事实表层进入标准:edm模型层的各必要的原子节点对应的任务无异常。某原子节点是否必要,可

47、在edm模型层的域实体关系保存的数据库表中描述。事实表层按事实表组织任务,采用统一模式(可以是定制的通用事实表etl处理程序)从edm模型层处理数据,形成处理日志。要处理的事实表和处理逻辑保存在数据库表中以生成处理过程的任务清单。处理事实表的扩充可以增加一条记录描述事实表和处理逻辑,处理程序自动能处理并生成事实表。通用事实表etl处理程序可以借鉴四川项目组目前的锁定对象etl过程模型的设计。事实表层稽核采用处理日志评估模式。3.6数据集市(dm)层进入标准:事实表层的各原子节点对应的任务无异常。数据集市层按集市表(dm表,一般表名以dm_开头)组织任务,采用统一模式(可以是定制的通用集市表et

48、l处理程序)从事实表层处理数据,形成处理日志。要处理的集市表和处理逻辑保存在数据库表中以生成处理过程的任务清单。处理集市表的扩充可以增加一条记录描述集市表和处理逻辑,处理程序自动能处理并生成集市表。通用集市表etl处理程序也可以借鉴四川项目组目前的锁定对象etl过程模型的设计。集市表层稽核采用处理日志评估模式。3.7多维分析(olap)层进入标准:集市表层的各原子节点对应的任务无异常。主要为数据加载过程,如果olap使用essbase,可以采用api编程实现,如果olap采用cognos,可以使用cognos数据加载脚本完成。此步骤处理过程目前大多采用的是人工处理的方式,后续工作需要在自动化方

49、面加强。多维分析层稽核通过报表展现无错误实现。3.8总体处理流程、反馈过程整个处理流程由系统调度发起,在数据稽核环节暂停(后续可以设定自动稽核规则,满足规则的,可以自动通过稽核,这样只有异常的数据才需要人工干预),等待数据稽核岗确认后才往下走。除稽核外所有流程都是可以配置且自动的,如没有异常,稽核人员只需要确认稽核报表就可以。如图3.5所示:图3.5 总体处理流程图4. emc中数据调度校验的应用emc(etl manage center)是我公司构建数据仓库自动化处理的重要产品。由于数据仓库中数据质量的重要性,客户就会对数据转移过程提出实时监控、实时配置和实时查询等要求。面对庞杂多变的任务,

50、如何使这些任务能够有序无差错地执行,如何识别各种任务,将会是一个很大挑战性的问题。这一章就是就解决这个具体问题设定的。4.1 需求分析4.1.1 需求设计描述emc的调度过程可分为前台功能模块和后台功能模块,前者是为最终用户提供友好的可视化界面以支持对数据仓库的数据准备阶段的实时监控和参数配置等要求,后者则提供任务调度和实例生成工作。而前台功能功能模块可进一步分为任务/任务组配置、任务实例监控、任务实例修改和日志查询,后台功能模块可进一步分为任务/任务组实例生成和任务调度。4.1.2 功能性需求描述(按功能模块进行说明)1、前台功能性需求描述: 任务/任务组配置对任务进行注册/修改,指定任务的

51、名称、路径、存放的主机、各任务参数类型等;对任务组进行注册/修改,指定任务组的名称、包含的任务、任务之间的执行顺序关系、各任务的参数值、任务组的启动周期或启动时间等。 任务实例监控对在运行的任务实例进行监控,可以查询任务实例的状态。 任务实例状态修改对任务组实例的任务实例运行状态进行修改。 日志查询对任务实例日志(数据库)和过程日志(nfs映射的日志文件)进行查询。2、后台功能需求描述: 任务组/任务实例生成扫描任务组表,实例化符合启动条件的任务组,将任务组写入任务组实例表。 任务实例调度扫描任务实例表,调度上尚没有启动的任务实例。4.1.3 非功能性需求描述 频度etl统一框架调度系统支持按

52、天/月的抽取频度。 时间特性要求etl统一框架调度系统启动后会一直运行,只要一到任务组的启动时间,则产生相应的任务组实例和任务实例,只要还有尚未运行的任务实例,则会调度这些实例。 灵活性1) 能够灵活配置任务和任务组。2) 能够灵活支持不同频度的etl任务。3) 能够灵活重新运行已运行过的任务实例。4) 能够灵活支持多主机调度,非常简易的增加新调度主机。 故障处理要求如果etl调度系统因某些情况出现崩溃后,在其重新启动后,能自动识别在崩溃前尚在运行的任务实例,并结束运行任务实例的运行,然后自动重新运行崩溃前需要运行的任务实例。4.2系统总体设计4.2.1 系统总体功能设计图系统总体功能设计图如

53、图4.1所示:图4.1 系统总体功能设计图4.2.2系统总体功能设计图说明此结构图说明了etl过程的前台管理和后台调度过程。在前台,用户可以直接对未运行状态的任务或任务组的相应参数进行配置,还可以了解etl源数据处理状态(比如进度),还可以查询日志和进行任务实例的状态修改,这些操作都是在图形界面下进行的。这些操作可以直接在pc机或客户端下完成。在后台,包含有任务调度模块和任务或任务组实例生成模块。这两个功能模块在主机上一直在运行,以完成各种任务需求。在前台与后台操作中,都是建立在数据库基础上的,各种参数的生成和修改以及查询,都要数据库来实现。4.2.3 系统功能设计描述 任务/任务组配置操作人

54、员在前台界面要预先定义好数据抽取工作流所涉及的任务(etl程序)及任务组。任务组包含了完成整个数据抽取所涉及的到的任务以及这些任务之间的关系(执行的顺序关系)。在配置好以后,操作人员在前台界面给指定的任务组的每个任务赋予参数,设置好任务组相应的运行时间 任务实例监控操作人员可以在前台界面监控当前执行的每个任务实例的运行状态,及时了解任务实例的状况。同时操作人员可以修改任务组实例中的任务实例运行状态,以便操作人员可以重新运行某些已经运行完的任务实例。 任务实例状态修改同时操作人员可以修改任务组实例中的任务实例运行状态,以便操作人员可以重新运行某些已经运行完的任务实例或者删除某些运行的任务实例或者

55、整个任务组实例 日志查询任务实例在运行时会生成相应的日志,显示了任务实例在运行时的状况信息,包括错误信息,操作人员可以通过在前台查询任务实例的过程日志,了解任务运行情况,对有问题的进行修改。 任务组/任务实例生成在操作人员完成了任务组的配置以后,由etl统一框架系统后台通过扫描数据库的任务组表,生成已经到了运行时间的任务组实例及任务实例 任务实例调度在生成了任务组及任务运行实例后,etl统一框架系统后台根据扫描得到的任务组实例,识别出任务组实例中各任务实例的执行顺序关系,按照串行或并行的方式调度相应的任务实例。4.3 概要设计4.3.1 概要功能设计图概要功能设计图如图4.2所示:图4.2 概

56、要功能设计图4.3.2 功能性描述(按功能模块) 任务/任务组配置:功能:对任务/任务组进行注册/修改,指定任务的名称、路径、存放的主机、各任务/任务组参数类型等。过程:1、在添加任务或修改任务/任务组之前,先对输入的数据有效性进行检验。2、当提交时就把对任务/任务的维护结果写到后台数据库。结果:1、当增加任务/任务组时,在数据库的任务/任务组表应该增加一条记录。2、当修改任务/任务组时,在那条相应的记录要做相应的修改。同样,删除任务/任务组就要求把那条记录从表中删除。 任务实例监控功能:对在运行的任务实例进行监控,可以查询任务实例的状态。过程:在点击了查询按钮以后,前台访问数据库的任务实例表,取出正在运行的任务实例纪录。结果:前台将这些正在运行的任务实例纪录返回到界面。 任务实例状态修改功能:对任务组实例中的任务实例运行状态进行修改。过程:1、前台按照用户指定的条件查询数据库的任务实例表,并找到相应的记录。2、前台根据用户所选择任务实例及修改后的状态更新数据的任务实例表。结果:1、返回用户查询的任务实例的各种状态。2、对数据库的任务实例的各状态字段进行更新。3、返回更新后的任务实例状态结果给用户。 日志查询功能:对任务实例日志的过程日志进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论