(通信与信息系统专业论文)基于多作业步数据库映射平台的设计与实现.pdf_第1页
(通信与信息系统专业论文)基于多作业步数据库映射平台的设计与实现.pdf_第2页
(通信与信息系统专业论文)基于多作业步数据库映射平台的设计与实现.pdf_第3页
(通信与信息系统专业论文)基于多作业步数据库映射平台的设计与实现.pdf_第4页
(通信与信息系统专业论文)基于多作业步数据库映射平台的设计与实现.pdf_第5页
已阅读5页,还剩47页未读 继续免费阅读

(通信与信息系统专业论文)基于多作业步数据库映射平台的设计与实现.pdf.pdf 免费下载

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

文档简介

北京邮i b 人学硕j 。学位论义基于多作业步数据库映射中台的设汁实现 摘要 数据仓库技术凭借其在数据存储与组织结构上的优势,为d s s e i s 提供了 强有力的数据支持。值得注意的是,数据质量是建设数据仓库成败的关键。数据 析取工具经过对源数据进行转换、清洁、集成,实现了从操作型数据库到数据仓 库的数据加载过程。因此,析取工具的优劣直接影响了数据仓库数据的质量,也 影响了数据仓库建设的成败。 本文分析了现有的数据析取技术,将现有析取技术进行综合,设计并实现了 一个基于多作业步的数据库映射平台( 以下简称映射平台) 。该映射平台针对特 定主题建立多级映射模型,定制数据采集任务完成源数据库到目标数据库的 数据加载,实现了数据的重新组织。该平台既可独立运行,也可以结合在其他数 据分析系统中使用,比如数据仓库的建设、d s s 的建设等。 论文的组织如下:第一章绪论,阐述了数据仓库产生的背景以及数据仓库的 概念并分析了当前数据析取工具的现状,提出了数据库映射平台,并说明了课 题所要解决的问题;第二章简要地介绍平台的功能、结构以及平台实现中所使用 的技术:第三章将现有的析取技术归纳为集成、清洁、转换,并分别对这三种析 取技术进行了详细的分析论述;第四章详细介绍了平台的设计和实现;第五章介 绍了映射平台在s d h 资源配置管理数据仓库实现中的应用;第六章总结。 关键词:数据仓库、映射、数据采集,数据析取、作业步 北京邮电大学硕士学位论文 基于多作业步数据库映射平台的设计,实现 a b s t r a c t d a t aw a r e h o u s ep r o v i d e ss t r o n gd a t as u p p o r tf o rd s s e i sb yr i g h to fi t sd a t a s t o r i e df o r m a ta n dd a t ao r g a n i z es t r u c t u r e t ob e e m p h a s i z e d ,i f t h ed a t aw a r e h o u s ei s g o o do rn o td e p e n d so nt h eq u a l i t yo ft h ed a t ao fw a r e h o u s e t h ee x t r a c t i n gt o o l f i n i s h e st h ed a t a l e a d p r o c e s s f r o mo p e r a t e dd a t a b a s et od e s t i n e dd a t a b a s e b y t r a n s f o r m a t i o n ,c l e a n i n ga n di n t e g r a t i o nt e c h n o l o g y s ow ec a ns a yt h a tt h ef u n c t i o n o f e x t r a c t i n g t o o la f f e c t s t h e q u a l i t y o f d a t a i n d a t a w a r e h o u s e d i r e c t l y t h e e x i s t i n ge x t r a c t i n gt e c h n o l o 百e s a r ei n t r o d u c e da n d i n t e g r a t e d f o rt h e d e v e l o p m e n to f ad a t a b a s e m a p p i n gp l a t f o r mb a s e d o na m u l t i - j o bs t e p ( r & d _ m a p ) i n t h i st h e s i s t h i sp l a t f o r mi m p l e m e n t st h ed a t al o a dp r o c e s sf r o mt h es o u r c ed a t a b a s e t od e s t i n e dd a t a b a s ea n dt h er e o r g a n i z a t i o no fd a t at h r o w l g hb u i l d i n gt h em a p p i n g m o d e l sa n d d e s i g n i n gt h ee x t r a c t i n gm i s s i o n s t h i s c a l lb eu s e d i n d e p e n d e n t l y o ru s e d i no t h e rd a t aa n a l y s i ss y s t e m s ,s u c ha st h eb u i l d i n go f d wo rt h eb u i l d i n go f d s s ,a n d s oo n t h i st h e s i sc o n s i s t so ft h ef o l l o w i n gc o n t e n t s :t h ea p p e a r a n c eb a c k g r o u n do f d wa n dt h e c o n c e p t i o n a r ei n l r o d u c e di nt h ef i r s t c h a p t e r a l s o ,t h ee x i s t i n g e x t r a c t i n gt o o l sa r ea n a l y z e da n dt h er & d _ m a p i sp r e s e n t e d i nt h es e c o n dc h a p t e r , t h ef u n c t i o n ,s t r u c t u r ea n dt h et e c h n o l o g yu s e di nt h i sp l a t f o r ma r en a r r a t e d t h e e x i s t i n ge x t r a c t i n gt e c h n o l o g ys u c ha si n t e g r a t i o n ,t r a n s f o r m a t i o na n dc l e a n i n ga r e a n a l y z e d i nd e t a i l si nt h et h i r d c h a p t e r i n t h ef o u r t h c h a p t e r t h e d e s i g n a n d i m p l e m e n t sa r ee x p l a i n e d t h ec o n t e n to f t h ef i f t hc h a p t e ri sa b o u tt h ea p p l i c a t i o no f t h er & d _ m a pi nt h ei m p l e m e n t so ft r m s d w l a s t l yb r i n g sf o r w a r dt h ei m p r o v e m e n t o f t h er & d _map k e y w o r d s :d a t aw a r e h o u s e ,m a p p i n g ,d a t ae x t r a c t i o n , d a t aa c q u i s i t i o n ,j o bs t e p 2 北京岫【乜大学硕i 。学位论立基于多作业步数据库映射牛什的吐计- j 实现 第一章绪论 信息技术发展的浪潮把人们带到了信息爆炸的时代。每天、每时、每刻潮水 般的信息涌到了人们面前,需要人们去处理、去应用。信息的价值在于用户通过 使用这些信息从中得到收益。计算机硬件技术和软件技术的飞速发展使得数据处 理更加容易,数据处理已经不是今后信息技术的重点,代之而来的是如何充分使 用这些比海水还多的信息i ”。因此,数据仓库作为一种解决数据使用的技术越来 越受到人们的关注。 本章首先介绍数据仓库产生的背景和数据仓库的概念及特点,针对数据仓库 建设中数据析取问题,提出了基于多作业步数据库映射平台的概念,并简述了映 射平台的功能和特点。 1 1 数据仓库产生的背景 传统的数据库应用系统主要是面向事务处理( o n l i n et r a n s a c t i o np r o c e s s i n g , o l t p ) 的。它实现了大量日常事务处理的电子化,减少了业务人员的工作量,大 大提高了工作效率。因此9 0 年代以来。越来越多的企业和部门纷纷建立了自己 的数据库信息管理系统( m - i s ) 。 然而激烈的市场竞争激发了各行各业对计算机应用的更多样需求。今天,计 算机用户早己不满足计算机仅帮助迅速地处理具体业务,他们需要从己积累的海 量历史数据中探索业务活动的规律陲。获得参与市场竞争的必需决策,从而实现 数据到信息的转换。为此,建立一个企业的数据决策支持系统企业信息系统 ( d s s ,e i s ) 是十分必要的。 如何建立企业自己的d s s e i s 呢? 一般,我们可以利用传统的关系型数据 库( r d b m s ) 。然而,就目前的r d b m s 所实现的功能而言,无法为数据的合成、 分析和综合提供强大的功能,因此满足不了数据处理多样化的要求,具体表现在 以下四个方面吼 1 不能同时满足业务处理和分析处理的需要 事务处理和分析处理具有完全不同的性质。事务处理的特点是面向应用,支 持同常操作,事务频繁,但每次操作数据量小,对性能、速度要求高;分析处理 北京邮i 乜人学硕f 学位论文 基于多怍业步数据库映射十什的设计实现 的特点是面向分析,支持管理需求,每次操作的数据量大。两者之间的巨大差异 使得传统的r d b m s 无法在事务处理和分析处理两方面同时达到令人满意的效 果。 2 无法集成企业内、外部各方面的数据 有效的分析和决策需要完整而准确的数据,然而传统的数据库在数据完整 性、一致性方面不能达到决策支持的要求。首先,由于企业业务的多样性,企业 内部不同业务部门往往有不同的业务处理系统,从而导致数据结构的不一致:其 次,般大中型企业的销售业务在不同地区有很多网点,造成业务数据分散的状 况;第三,很多企业的业务是面向市场的,管理者在决策中经常要用到外部数据, 如市场行情等。传统的数据库技术,无法集成企业内外部各种类型的分散、异构 数据,也就不能为管理者提供完整准确的信息,达到辅助决策的目的。 3 数据访问效率低 企业的业务数据往往是海量的,特别是数据密集型企业。一般关系型数据库 访问这些数据的效率十分低,一个典型的关系数据库每秒可读约2 0 0 条记录,可 写2 0 条新记录,而这对数据量太的d s s 厄i s 常常是无法忍受的。 4 难以适应各类用户对数据综合程度的不同要求 传统数据库中存储的是细节数据,而在决策分析时,管理人员需要的是综合 数据,而且根据用户级别和分析对象的不同,需要对细节数据进行不同程度的综 合。例如,部门经理可能只需要本部门的综合数据,而总经理就需要全公司的综 合数据。又比如,长期趋势分析预测需要按年度汇总,而中短期趋势预测要用到 月、周、同的数据。传统数据库系统不具备这类综合能力,需要人为地进行综合 和汇总,而且每做一次分析,都要进行一次这样的综合这必将导致极低的处理 效率。因此,在传统数据库上构建决策分析系统必将是失败的。 随着对操作型处理和分析型处理各自特点认识的加深,人们意识到要提高分 析和决策的效率和有效性,分析型处理及其数据必须与操作型处理及其数据相分 离。必须把分析型数据从事务处理环境中提取出来,按照d s s 处理的需要进行 重新组织,建立单独的分析处理环蝌”。数据仓库正是在这种情况下应运而生, 成为信息技术领域非常热门的话题之一。 北京邮电大学硕上学位论文 基于多作业步数据库映射平弁的设汁,实现 1 2 数据仓库的概念及特点 2 0 世纪9 0 年代,公认的数据仓库之父w h h l n l o r l 在其b u l i d i n gt h e d a t a w a r e h o u s e ( 建立数据仓库) 一书中首次提出了数据仓库的概念。他定义数据 仓库为“一个面向主题的、集成的、非易失的且随时间变化的数据集合,月来支 持管理人员的决策。”【3 】数据仓库的结构如图1 1 所示。从这个定义中我们可以概 括出数据仓库的四个基本特征:面向主题、数据集成性、不可更新性、与时间相 关性。下面具体介绍这四个特征。 阁 数据管理员 吲递模块r _ 曜i 模块 固 数据仓库之 介 数据 二爿模块 l 问模块f | r 信息目录 二 + j 模块 阿日 l竺兰l 数据仓库之# 二k 3 元数据 二刊竺兰型 l彳产 管理模块 图1 1 数据仓库结构图 1 面向主题 主题是一个抽象的概念,是在较高层次上将企业信息系统中的数据综合归类 并进行分析利用的抽象。在逻辑意义上,它是对应企业中某一宏观分析领域所涉 及的分析对象。例如在一个销售管理信息系统中,传统面向应用的数据组织方 式根据业务流程和功能设计的需要可分为:进货子系统、库存子系统、销售子系 统。这样,一个商品的信息会分散在这三个子系统中。而面向主题的数据组织方 北京邮电人学硕t 学位论文 基于多作业步数据库映射平台的世汁j 实埘 式则把商品作为一个主题,这样从宏观分析的角度对这一主题就有了个完整 致的描述。同样,把进货厂家、顾客也作为主题,这样商品、进货厂家、顾客这 三个相关的主题就共同描述了该系统。 2 数据集成性 数据仓库中的数据是面向主题的因此也是综合的、总结性的结构化数据。 这样的数据不可能直接从原有的操作型数据库中得到。因为操作型数据库中,数 据的结构是各式各样的,它们可能在追求局部最优时采用了不同的编码、不同的 关系结构、不同的命名规则等。数据库中原有的分散数据必须经过统一和综合爿 能进入数据仓库。这也是数据仓库建设中最复杂、最关键的一步。 3 不可更新性 数据仓库中的数据是提供给企业或组织进行决策分析之用的,所涉及的操作 主要是数据查询,一般情况下不进行修改操作,因此在其生存期间是不可更新的。 由于数据仓库只进行数据查询操作,所以数据仓库管理系统d w m s 相比d b m s 而苦要简单得多。d b m s 中有许多技术难点,如完整性保护、并行控制等技术都 可省去。但由于数据仓库的查询数据量很大,所以对数据查询提出了更高的要求, 它要求采用各种复杂的索引技术。同时,数据仓库是面向企业的高层管理者,因 此对数据查询的界面友好和数据表示也提出了更高的要求。 4 与时间有关 数据仓库中的数据不可更改是针对应用而言的,也就是说,数据仓库的用户 进行分析处理时是不进行更新操作的。但并不是说,在从数据集成输入到数据仓 库开始,到摄终被删除的整个数据生存周期中,所有数据仓库的数据都是永不改 变的。数据仓库的数据随时间的变化而不断变化,主要表现在以下三个方面: 1 ) 数据仓库系统必须不断捕捉o l t p 数据库中变化的数据,并追加到数据 仓库中去,使数据仓库随时间变化不断增加新的数据内容来反映最新状 态。 2 1 数据仓库必须随时间变化不断删去旧的数据内容。数据仓库的数据有存 储期限,一旦超出这个期限,过期的数据必须删除。 3 ) 数据仓库中包含大量综合数据,这些综合数据中很多跟时问有关,必须 随时问变化不断进行重新抽取。 北京邮t b 人学颧i 学位论义 基于多作业步数据库映劓平竹的驶计ij 实现 从以上数据仓库的特征我们可以简单地说,构建数据仓库是在收集企业原始 数据和各种外部信息的基础之上,对数据进行抽取、净化、转换和合成,最后将 数据汇集整理到数据仓库的全过程。数据仓库改变了数据库只提供数据支持的形 式,它通过合理、全面的信息管理为决策者提供总结性的信息知识、趋势分析、 情况描述等更直观的内容,帮助决策者探索业务活动规律,为制定全局范围的战 略决策和长期趋势分析提供有效的支持。因此数据仓库的概念经提出,它的应 用和研究立刻引起了广泛的关注。 1 3 课题提出的背景及意义 1 3 1 基于多作业步数据库映射平台的提出 数据仓库为决策支持系统的数据存储和管理提供了解决方案,但要想从数据 仓库中得到有用的信息,必须要保证数据仓库中数据的有效性,也就是要保证数 据仓库中数据的高质量。否则,不准确或错误的数据会误导决策人员的行为,引 起不必要的损失。由此可知,如何将分教在不同数据源原始数据正确地加载到数 据仓库是数据仓库建设中的一个关键性问题。这一加载过程听起来比较简单,其 实包含很多内容3 1 ,它需要将源数据进行必要的转换、清洁、集成才能装入数 据仓库我们把这一过程称为数据析取,这一过程要实现以下目标: 首先,数据在从面向应用到面向主题的转变过程中,要剔除原来不必要的、 不适于分析的信息,统计生成决策分析所需要的信息。因此,当数据从操作型业 务数据库提取出来后,要先对其进行必要的处理,才能将它们加载到数据仓库中。 其次,在原有的数据库模式中,有关某一主题的信息可能被分散在各个数据 源中,没有形成关于该主题完整一致的信息集合,所以还需要对源数据按主题重 新组织。 最后,业务库中关于同一主题的数据往往存在重复信息,或同一对象在命名 方式或表达方式上不一致,这些数据在被加载到数据仓库时需要对其进行处理, 去除重复数据,消除不一致现象。 出以上分析可知。一个完整的数据析取过程应该首先建立源数据到数据仓库 的映射模型,并制定转换、清洁规则,然后定制提取任务并执行,经过这几个环 北京邮l u 人学顺i 。学位论文 基于多作业步数据库映射f 台的设汁一,实现 节才能完成完整的析取过程。 目前数据库厂商或第三方厂商提供的数据仓库建设工具在数据析取或者太 专一,或者功能比较简单,不能很好地满足现实中的应用,于是提出了基于多作 业步数据库映射平台的概念。 跌射平台的目标是将多种数据源的数据映射成新的数据模式,并复制出新模 式下的数据。映射平台不是原模型下的“数据”复制,而首先是要面向新的应用 主题来进行数据模型的重定义,这种定义是基于数据源的源模型经单步或多步映 射得出的。 1 3 2 多作业步数据库映射平台的意义 由映射平台的目标可以知道,映射平台的两大基本功能是:面向特定主题建 立映射关系和根据映射关系实现数据析取。数据析取即从源数据库中获取数据, 并经过集成、清洁、转换后,将其加载到目标数据库。其中,集成是将业务数据 从多个数据源取出,并映射到目标数据库的新结构上去;清洁是指除去那些在给 定范围之外或不符合目标数据库要求的数据的操作;转换是将操作数据转换成另 一种更符合目标数据库要求的格式。 总的来说,该映射平台实现的目的主要有两个:一是将数据按主题合理地组 织,提高数据的可用性:二是去除源数据中的大量重复和对统计分析无用的数据, 并保证数据的完整性提高日标数据的质量。 由以上的讨论可以看出,该映射平台在数据仓库的建设和维护中,有着举足 轻重的作用: 为数据仓库提供数据支持,使数据仓库中的数据正确有效。 使数据从面向应用转换到面向主题。 对原始操作型数据进行集成和聚合。 使数据格式规范统一,方便决策系统使用。 另外,由于它是一个通用的数据库映射系统,与数据库管理系统无关,与库 结构无关,与目的数据库领域无关与平台无关因此具有灵活、可扩展的特性。 它的特点决定了该映射平台不仅可以应用于数据仓库的建设中,还可以应用于其 他的数据分析系统中,而且可以单独使用。 北京邮电大学碗上学位论文基于多作业步数据库映射平台的设计1 i 实现 第二章基于多作业步数据库映射平台概述 本章简要介绍了映射平台的基本概念、开发与应用环境、功能,以及元数据 库的设计、工作流程和映射平台开发使用的技术。各部分内容将会在第四章中详 细分析。 2 1 映射平台综述 本映射平台作为一个通用的数据库映射平台,可以针对特定的主题,通过对 数据进行映射模型定义,定制数据复制任务,并保证了数据复制任务实现的事务 性,以此实现对数据的重新组织。该平台可以容纳多厂商、多格式的数据源。本 平台主要是为数据集成服务的,可以单独使用,也可以应用于数据仓库、d s s 、 m i s 等系统的建设中。 2 2 映射平台的开发与应用环境 本平台代码的开发与调试是在m sw i n d o w s2 0 0 0 环境下进行的。由于j a v a 虚拟机( m ) 为j a v a 提供了调试开放的平台无关性以及j a v a 语言的诸多特点, 选择j a v a 语言作为编程语言,在j b u i l d e r 5 平台下开发。选择m ss q ls e r v e r 2 0 0 0 作为映射平台的映射设置数据库服务器; j a v a 语言的主要特点【4 】: 纯面向对象,即不能在类外面定义数据和函数。 所有对象都派生自同一个基类一- - o b j e c t ,并共享它所有的功能。 通过接口,支持有限形式的多重继承。 j a v a 的基本数据类型( 比如浮点数和整数) 定义在一定范围内,不依赖 具体平台的实现。 程序员永远不需要显式地释放一块和对象相关联的内存收集无用单元 是j a v a 内建的机制。 j a v a 具有一个巨大的标准代码库,以完成像网络通信、显示图形用户界 面和管理数据结构这样的功能。 北京邮电大学硕士学位论文 基于多作业步数据库映射平台的设计r j 实现 j a v a 不允许对指针进行算术运算,具有很高的安全性。 平台在m sw i n d o w s 系列平台下都可以使用。平台对数据源的要求是:可以 提供j d b c 接口,或能够为其创建o d b c 数据源,通过j d b c - - o d b c 桥实现对 数据库的访问,只要符合这个条件就能够完成定制的复制任务。 2 3 映射平台功能简介 本平台不仅可以实现数据源结构的获取,而且根据特定主题,建立映射模型, 定制复制任务,并完成复制任务,实现数据的重新组织。主要有三大功能: l _ 设置功能 设置功能主要是用来生成元数据为任务执行提供依据。包括数据源的设置、 数据库的设置、映射模型的定义、作业的设置、任务执行的条件、启动方式和数 据转换规则的设置等。所有这些设置都可以实现增加、删除和修改的功能。 2 跟踪功能 在执行定制任务时,用户可以随时查询任务执行情况,如果当前没有正在执 行的任务用户可以查询日志,得到任务的执行结果。根据查询结果,可以重新 设定任务进行执行,或者根据未成功的任务,及时查找原因排除故障。 3 执行功能 执行功能包括库结构的提取,特定域值的提取和作业的提取。库结构提取和 特定域值提取都是为映射模型定义来服务的,是映射模型定义的前提条件。作业 提取是本平台的核心功能,也是本平台的最终目的。 2 4 元数据库的设计 数据库的建立,主要是为了支持任务的执行,它保存了任务执行所需要的全 部元数据。数据库的设计主要以映射为中心展开下面以表与映射的关系为主线 将主要的表介绍一下。表的关系结构见图2 1 。 o d b c i n f o 表:记录了数据源的信息,包括数据源名称,数据源编号以及数据 源种类。其中数据源编号自动生成,以标志数据源的唯一性。 d b i n f o 表:记录数据库的信息,包括数据库的名称、用户名、口令、数据库 编号、同构库编号咀及保存库结构的日期。如果有两个数据库具有相同的库 1 2 三坠型坐旦查兰塑生竺兰生垒生 苎兰墨生些生茎塑壁堕墅! 鱼塑堂生:! 兰型 结构,则可以直接将同构库的信息导入元数据库,这样可以提高执行效率。 其中数据库编号自动生成,唯一标识数据库。 o d b c i n f o - | o d b c n e 一“ 剖案丁一 i 。拈c 即e d b l n f o 司。顽i o e e n l l 。:。 d b u s e r p i t s s is l a c 1 s t r u c d l s - m 曲1 d d b id t a b le i n f o 型d b i d 型t m e n n t “l t a “一c n _ j t “1 e t i t “1 e ld f i e l d i n f o 曲id t i b l e ia n m 姊id ”,o r d e r n d h 唾吼 f i d h 雌t y , 鲢! 鸶鲢。一。, m t p i d m 雌盯d 盯 ,o l x t c t ee l d id t f p t f i 1 “d h 1 n n k 弼i ;旗话i 。 f 圈m “ j 口s t a r t 慨 l j t d e 蛆e t m k | p e r io d t i m t 日,i 丑 m u p t y p e 曲i d e “r e e t * b l - t _ r p t t “1 | t f n t t p f 銎dbi d r t 曲1 - id 广一 f i 1 “dj ,o f d ri f i 1 “d 驰l t 日 嘲罐t i g t w h e r o d 打e c t y p o j o b n m o j 曲id s u b jo b o r d e r m c p ld j e b t y 罩e j 曲id j u u o b 口r 也e r t t t t u s t r t t i m o , n d t i m e f i e l d g e n w r t j 曲id 1 t * b l e id 引f i e l d id 引f i e l d v d u e 1 e - l q j t t y ,o 图2 1 数据库关系图 t a b l e i n f o 表:记录表的信息,包括表所属数据库编号、表名称、表编号、表 性质等。表编号自动生成,唯一标识表。 f i e l d i n f o 表:旧录字段信息,包括字段类型、字段长度、是否为主键、是否 为空等信急。字段编号自动生成,难一标识字段。 r e l a t i o n m a p 表:记录映射信息,包括映射名称、映射编号、映射性质、源表 强 ” t e e t n 雠抑“ o h m h h 心h 吖 u五“n丘垤6垤 引11_111_r 北京邮l 毡大学顿十学位论文 基于多作业步数据库映射半台的设计j 实现 号、目标表号、对于多源表对单目标表映射还具有多表关联条件。映射编号 自动生成,唯一标识映射。 f i e l d m a p 表:记录字段映射信息,包括映射号、源字段号和目标字段号。 f i e l d m a p f u n 表:记录字段映射关系,包括字段映射类型、字段映射表达式等。 对于多源字段对单目标字段,字段映射表达式通常用s q l 串描述多字段的组 合关系,对于单源字段对单目标字段时,可以有s u m 、m a x 、m i n 、 a v e r a g e 、c o u n t 等运算关系。 m a 翻o b 表:记录映射作业关系信息,包括作业名称、作业号、映射号、作业 类型。将多个相关联的映射组成为一个作业。 g e t c o n d i t i o n 表:记录每个映射的提取条件,包括对源数据的选取条件和对提 取记录的写入方式。 g e t j o b 表:记录作业提取的方式及时间。包括任务设置时间、作业号、启动 方式、如果是定时启动则设定定时启动时间,对于周期启动,设置周期启动 时间。 g e t j o b h i s t o r y 表:记录作业提取的状态及结果,包括执行状态、任务启动时 间和结束时间,以备跟踪模块使用。 g e t s t r u j o b 表:记录库结构提取的状态及结果。 g e t f l d v l j o b 表:记录特定字段域值提取的状态及结果。 f i e l d d o m a i n 表:记录提取出来的特定字段的域值。 f i e l d c o v e r t 表:记录需要进行域值转换的字段信息,包括源字段值和目标字 段值,用以实现数据净化和转换。 2 5 映射平台的工作流程 平台的工作流程分为以下几步: 1 首先将数据源设定好,设置提取库结构任务并执行,得到数据库信息, 为映射的建立提供前提条件。 2 根据特定主题,定制映射模型,将相关联的映射定义为一个作业。 3 ,设定需要提取特定字段域值任务并执行,根据提取的域值,设定目标域 值转换规则。 d 北京邮电人学硕t 学位论文摹于多作业步数据库映射1 2 台的设计,实现 4 设定作业提取的条件( 主要用来筛选记录) 、启动方式、启动时间、目 标库的写入方式。根据不同的启动方式及时间,按时启动完成作业提取 任务,实现平台的功能。 2 6 系统开发中使用的技术 i 1 使用j d b c ( j a v a d a t a b a s ec o n n e c t i o n ) 技术实现数据库的访r d 。 2 客户端与服务器端的通信方式采用基于t c p i p 协议的s o c k e t 技术。 3 任务执行时,采用多线程并发,提高运行效率。 北京邮电人学碗 。学位论文基于多作业步数据库映射平台的设计i 实现 第三章数据析取方法分析 大多数现有数据析取软件实现的功能比较单一,为了更好地适应数据仓库的 需要,本映射平台将己有的数据析取方法进行了综合应用。通常把传统的数据析 取方法分为三大类,即集成、转换和清洁旧,下面将这几种方法按照从简单到 复杂的顺序进行分析。 3 1 数据转换 这一类中包括的数据处理一次只针对一个或几个字段,而不必考虑相关字段 的值或其它信息,数据经过简单转换或不经转换就可以从业务数据库中加载到数 据仓库中。 1 简单变换 主要是指数据类型转换,转换源数据库表中的某些字段类型、长度以及 n u l l 约束。这类变换通常不用改变数据源中的数据值。下面是常见类型的列表: 数据来源数据仓库说明 p a y ( 7 ,2 )p a y ( 1 4 ,2 )字段长度改变 s h o p l d s t o r ei d 字段名称政变 p a y - d a t e ( s m a l l d a t e ,n o tn u l l )p a y _ d a t # ( s m a l l d a t e ,n u l l )n u l l 约束改变 e m p _ n a m e ( c h a r d ( 2 0 ) )e m p _ n a r a e ( c h a r ( 2 0 ) ) 不作任务变化 这类变换的实现比较简单,可以与数据加载到数据仓库的过程同时进行而 无须单独进行操作。其关键在于对目的数据仓库的表结构的定义。具体分为三步: 将字段的长度、名称、n u l l 约束等根据要求合理定义: f 确地指定字段映射; 从数据源向数据仓库加载数据。 2f 1 期、时间格式的转换 因为大多数业务环境都有许多不同的日期和时间类型,所以几乎所有数据仓 库的实现都必须将日期和时间变换成数据仓库的规范格式。 3 由编码到名称的转换 1 6 北京邮i 把学硕 。学位论文基于多作业步数据库映射、f 台的设计,实现 业务数据库中为了节省数据库存储空间,常常使用对于数据库使用者都熟悉 的编码代替繁杂的表示方式。有时在不同的业务环境中,所使用的编码值可能不 一致。因此,为使数据仓库中的数据被大多数用户所理解,同时为了决策分析的 需要,数据仓库中的数据一般不以编码方式存放。在存入数据仓库之前,根据编 码从代码表中查到对应的文字描述,使用该文字描述取代编码。例如:最常见的 布尔值的表示就有多种方式,如i 0 、t r u e f a l s e 、y e s n o ,在综合到一起时 要规范表示方式。 4 字段值合并 是指将源数据库中的多个字段的值合并成一个字段的值加载到数据仓库中, 该类操作主要针对文本类型字段。 5 字段值拆分 是合并字段的逆过程。将源数据库中的一个字段值拆分成多个字段的值加载 到数据仓库中。因为数据仓库中的数据经常需要按地区维、时间维进行统计分析。 3 2 数据清洁 数据清洁是比简单变换更复杂的一种变换。在这种变换中,要检查的是字段 或字段组的实际内容而不仅是存储格式,从而保证数据的合法性和有效性。下面 简要介绍两类方法。 1 检验有效值 范围检验是数据清洁的最简单形式。它是指检验一个字段中的数据以保证它 落在预期范围之内,通常是数字范围或日期范围;枚举清单是对照数据字段可接 受值的清单检验该字段的值;相关检验是将一个字段中的值与另一个字段中的值 进行比较。通常,数据清洁规则往往是这些方法的综合。 2 处理丢失的数据 处理数据元没有值的问题与处理一个数据元有多个冲突值的问题一样困难。 有时为一个丢失的元素把空白或空值赋进数据仓库中去也是可以接受的,而有时 数据元必须非空,对该表格所做的查询才会有效。例如,如果收集系统有缺陷, 没有某些地区某些月份的销售数字就必须为该数据赋一些估计值。如果是业务 系统,数据库中有这种明知不准确的值是没有意义的,但对数据仓库来说,有估 北京邮电大学硕士学位论文基于多作业步数据库映射平台的设计。j 实现 计值比根本没有值可能要好得多。例如 在表的某个元组中出现一个零值或空值 如果用户写的查询能生成销售数据图, 会在图中造成一个不自然的下口,似乎 销售量突然发生了下降,而实际情况并不一定如此。因此,对于仓库中的每种数 据类型,设计人员必须在存入估计数据的内在风险和数据丢失所造成的误解的风 险之间进行权衡。 解决数据丢失问题的方法简述如下: 1 ) 忽略元组:即不把该元组导入到数据仓库中。除非元组有多个属性是空 值,否则该方法不是很有效。当每个属性缺少值的百分比变化很大时, 它的性能差。该方法只适合在元组有多个属性缺少值时使用。 2 ) 使用一个全局常量填充空缺值:将空缺值的属性值用一个常数( 如 “u n k n o w n ”) 替换。如果空缺值都用“u n k n o w n ”替换,分析挖掘程序 将会误解“u n k n o w n ”为一种有趣的现象。 3 ) 使用属性平均值填充空缺值:例如,假定顾客的平均收入为r m b 2 0 0 0 , 则使用该值替换m c o m e 中的空缺值。 4 ) 使用与给定元组同类的所有样本的平均值:例如,如果将顾客按 c r e d i tr i s k 分类,则用具有相同信用度的顾客平均收入替换i n c o m e 中的 空缺值。 3 3 数据集成 要把从各种类型的数据源中得到的业务数据结合在一起,是数据析取过程中 最爨难的一步。这是因为数据往往遵循不同的业务规则,在生成新数据时,必须 考虑这一差异。数据集成的情况比较复杂,所以本平台仅实现了较为普通的几种 类型。 1 字段级的简单映射 字段级的简单映射在必须执行的数据变换总量中占大部分。在一个典型的数 据仓库里,指定进行的变换中有8 0 - - 9 0 是字段级的简单映射。这种映射的定 义是数据中的一个字段被转移到目标数据字段中的过程。在此过程中,这个字段 可以利用前面讨论过的任何一种简单变换进行变换。它可以刷洗或重新格式化。 这些字段绒的映射很容易实现,并且占了数据集成工作的大部分。 北京邮电大学硕士学位论文基于多作业步数据库映射平台的设计i 实现 2 复杂集成 在一般的数据仓库旱,1 0 - - 2 0 的数据移动和集成要比从源字段到目标字 段的简单移动更复杂一些。为了将源数据变换为目标数据,迷些复杂集成必须做 更多的分析。集成方案之间的差异很大,这里只介绍比较常见的方案。 1 1 对目标元素的多个来源指定主字段 当同一个目标数据元有多个来源时,会出现一个复杂的数据集成问题, 即你很难保证该数据元的各个来源总能保持一致。在这种情况下,我们采用 的解决冲突的办法是指定某一系统在冲突中占据主导地位。 2 1 衍生数据 衍生数据包括平均值、总和或统计等多种计算,还包括复杂的业务计算, 例如存货周期毛利。衍生数据字段通常是冗余的,因为计算中涉及的数据也 存储在仓库中。然而,它能大大简化查询,保证存入仓库中的这些衍生值的 准确性和一致性。这样,在查询时可以快速得到结果,而不必在用户每次需 要时都计算一次。我们用s q l 语句中的s u m ( ) a v g o 等函数来实现简单的衍 生功能,较复杂的衍生功能需要程序来实现。 3 1 数据概括 大多数数据仓库都要用到数据的某种概括。这通常有助于将某一实体的 实例数据减少到易于驾驭的水平,也有助于预先计算出广泛应用的概括数 字,以使每次查询不必计算它们。概括是指按照一个或几个业务维将相近的 数值加在一起。 北京邮电大学硕 学位论文基于多作业步数据库映射平台的设计非暮现 第四章映射平台的设计与实现 本章详细论述了映射平台的结构、功能设计与实现,并对映射平台实现中使 用的技术进行了详细的讲解。 4 1 映射平台的设计 4 1 i 映射平台的结构 本映射平台采用c s 结构,结构如图4 1 所示。客户端负责进行映射模型定 义、任务设置、向数据采集服务器发起任务执行请求等;数据采集服务器实现定 制的数据提取任务。由映射平台的结构图可以看出该平台主要由客户端、数据采 集服务器和元数据库三部分组成,下面依次介绍。 4 1 2 客户端 数据采集服务器 图4 1 映射平台结构图 客户端为用户提供进行各项设置的接口,并接受用户的设置,数据采集服务 器根据这些设置来进行相应的操作。客户端的主要功能有: 1 建立源数据库和和目标数据库之间的数据映射关系 建立映射关系的同时,把这种映射关系作为一种元数据保存到元数据库中。 2 0 北京邮电人学硕t :学位论文 基于多作业步数据库映射平台的设汁 o 实现 映射关系分为表级映射和字段级映射两个层次。表级映射定义源数据库和目标数 据库之间的二维表的对应关系,字段级映射在表级映射的基础上,定义表和表之 间的字段对应关系。 在实现时具体要求为: 让用户尽量减少输入,敬均提供缺省值。 对多数据源多表到单表映射,提供用户合理的操作顺序,但要注意 协调多个源表的字段结构是否一致;单数据源多表到单表映射,要 判断连接字段结构是否一致。 允许用户对生成的关系进行修改,对空表允许添加、删除、更改字 段,对非空表允许追加字段。 对以上操作进行只志记录作为元数据管理的依据,并提供维护同 志的手段。日志内容包括事件类型、用户编号、更改前值、更改后 值、发生时间、成功与否等内容:事件类型指建本地表字段、删除 本地表、修改本地表名、修改本地字段、添加本地表字段、删除本 地表字段、修改w h e r e 子句等;同志维护包括选择浏览事件( 按 时间、事件类型、用户名、日期等) 、清除日志和备份日志到本地文 本文件等。 2 为数据采集设置调度方案 此功能允许用户设定三种不同的数据采集调度方案,它们是立即启动方式、 定时启动方式、周期启动方式。 立即启动方式指用户设置需要提取或更新数据的表后,这些表将从当前时嵋j 开始更新。如果上次设置中的表还未完成更新,为了保证数据的一致性,此时不 能进行设置。在立即启动方式下,前台设置程序必须主动与服务器端的数据采集 程序进行通信,提示开始更新数据。 定时启动方式指用户设置一个时间点,当此时间点到来时开始更新相应的 表。如果以前的设置中某表正在提取则不能为该表设置:如果某表正在等待则提 醒用户是否为该表重新设置时间点。 周期启动方式指用户为某些表设置循环更新的周期,数据采集程序则按照这 个周期更新数据。如果以前的设置中某表正在提取则不能为该表设置:如果某表 2 北京邮电大学硕士学位论文 基于多作业步数据库映射平台的设计与实现 正在等待则提醒是否为该表重新设置。周期启动分为三种,即每天、每周和每月。 在设置之前必须对设定的表以及设定的时蒯进行严格的检查,以确保设置的有效 性。 3 对操作日志进行查询 用户进行各项设置时的操作需要以曰志形式记录。操作f ;| 志的内容包括目的 表名、用户名字、启动方式、每周、每月、设最的启动时间、实际开始提取时间、 结束时间、成功与否以及备注。 对于立即启动方式。周期时间和设置的定时启动时间项为空:对于定时启动, 启动时间为“年一月一日时一分一秒”格式,周期时间为空;对于周期启动, 定时启动时间为空,周期启动的设置如下:第一位分别用o 、1 、2 表示是每天、 每周、每月,具体时间为“时一分一秒”。 如果某表提取失败,那么在备注项中注明发生错误的数据库。 另外,还可以对r 志记录进行过滤。 4 1 3 数据采集服务器 数据采集服务器是平台的核心部分,既负责向元数据库提供数据源元数据, 又负责执行数据提取。当根据特定主题建立了映射模型并定制了复制任务后,数 据采集服务器执行制定的任务。需要执行的任务主要包括提取库结构、提取特定 域值和提取作业。其中提取作业任务是数据采集服务器的核心功能,其它两项功 能都是为此功能服务的。 后台( 数据采集服务器端简称后台) 数据提取程序可以按照前台( 客户端简 称前台) 用户的设置以三种不同的方式从远程数据库提取数据,这些方式如下所 不: 1 立即提取:前台的用户设置从哪些表中提取数据,当前台程序设置完后,发 消息给后台程序,后台程序收到消息后,根据这些设置立即从相应的远程数 据库中提取数据。 2 定时提取:前台用户设定某个固定时间点提取,后台程序在指定的时间点自 动从相应的远程数据库中提取数据。 3 周期提取:前台用户设定提取周期,后台程序按照设定的周期时间自动从相 北京邮电大学硕士学位论文 基于多作业步数据库映射平台的设计与实现 应的远程数据库中提取数据。 4 1 4 元数据库 映射平台的主要目标是根据元数据库中的映射规则,完成定制的任务,实现 从源数据库到目标数据库的数据加载。这些操作都是建立在元数据库基础上,因 此元数

温馨提示

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

评论

0/150

提交评论