




已阅读5页,还剩59页未读, 继续免费阅读
(计算机应用技术专业论文)基于公共仓库模型的etl系统的研究和应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京航守航天j = 学硕卜学位论文 摘要 信息是企业最重要的资源之一,是企业运用科学管理、决策分析 的基础。传统的面向事务处理的业务系统,在积累数据信息的同时, 对如何利用这些信息显得力不从心。数据仓库系统是在业务系统的基 础上发展而泉,旨在帮助用户充分利用宝贵的信息资源,做出正确的 决策。在数据仓库系统各个组成部分中,e i l 是影响数据仓库系统成 败与否的关键所在,e t l 的丌发也是整个数据仓库系统丌发过程中工 作量最大、耗时最长的部分。 然而,在目前开发e t l 系统的过程中,存在着一些问题,其中最 典型的就是元数据管理混乱的问题。针对这个的问题,本文提出了 种基于公共仓库模型( c o m m o nw a r e h o l i s em c t a m o d e l ,c w m ) 开发e t l 系统的思想。 本文首先分析了元数据在数据仓库系统中、特别是在e t l 系统中 的重要作用,明确了元数据对e t l 过程的控制作用。然后,讨论了c w m 的内容及其对e t l 过程提供的支持,在此基础上,提出了基于c w m 对e t l 过程进行建模的设计思想,并且插述了具体的设计过程,然后 进一步讨论了系统其它部分的设计和开发过程,最后,讨论了该系统 在泰兴医保决策支持系统中的应用。 关键词:数据仓库系统,元数据,公共仓库模型,e t l 系统 基于公共仓库模型的e t l 系统的研究与应用 a b s t r a o t d a t ai n f o r m a t i o n i so n eo ft h em o s t i m p o r t a n t r e s o u r c e sf o r e n t e r p r i s e s i t s t h eb a s iso fs c i e n t i f i c m a n a g e m e n t a n d m a k i n gr i g h t d e c is i o n s t h et r a d i t i o n a li n f o r m a t i o ns y s t e mf o rt r a n s a c t i o np r o c e s s i n g c a no n l yc o n t r i b u t et o p r o d u c i n g d a t ai n f o r m a t i o n ,b u tn o tt o a n a l y z i n g t h e m d a t aw a r e h o u s es y s t e m i s d e v e l o p e d f r o mt h et r a d i t i o n a l i n f o r m a t i o ns y s t e m ,a i m i n ga th e l p i n gu s e r st om a k et h eb e s tu s eo ft h e d a t ai n f or m a t i o nf o rm a k i n gd e c i s i o n s a m o n gs e v e r a lc o m p o n e n t so ft h e d w ,t h ep e r f o r m a n c e o fe t li st h e k e y f a c t o ro ft h e s u c c e s s f u l l y i m p l e m e n t i n g t h ed w s y s t e m d e v e l o p i n ge t ls y s t e m i sa ls ot h em o s t t i m e c o n s u m i n ga n dw o r k c o n s u m i n gp a r to ft h ew h o l ed e v e l o p m e n to f t h ed w h o w e v e r ,t h e r ea r es o m ep r o b l e m sa tt h ep r o c e s so fd e v e l o p i n ge t l s y s t e m o n eo ft h em o s tt y p i c a lp r o b l e m si s t h ec o n f u s i n gm a n a g e m e n to f m e t a d a t a a sf o rt h i sp r o b l e m ,w ep r o p o s ean e wi d e af o rd e v e l o p i n ge t l s y s t e m b a s i n gt h ee t l sd e v e l o p m e n t o nt h ec w m ( c o m m o nw a r e h o u s e m e t a m o d e l ) f i r s t l y w ea n a l y z e t h ef u n c t i o no fm e t a d a t ai nt h ed w s y s t e m 。e s p e c i a l l y i nt h ee t lp r o c e s s ,a n dc o n f i r mt h ec o m m a n d e r sr o l e o fm e t a d a t ai nt h ee t l s e c o n d l y ,w et a l ka b o u tt h ec o n t e n t so fc w m a n d t h ea b r o a d s u p p o r t o fc w mf o re t l t h e n ,w e p r o p o s eo u ri d e a o f d e s i g n i n gt h ee t lp r o c e s s t od e s i g nt h ee t lp r o c e s so nt h eb a s i so f t h e c w m f u r t h e rm o r e ,w eg i v et h ed e s i g no fo t h e rp a t so ft h ee t ls y s t e ma t l a s t ,w et a l ka b o u tt h er e a l i z a t i o no fe t ls y s t e ma n dt h ea p p l i c a t i o no f e t li nt h et a ix i n g sh o s p i t a ld e c i s i o ns u p p o r t s y s t e m k e y w o r d s :d a t aw a r e h o u s e ,m e t a d a t a ,c o m m o n w a r e h o u s em e t a m o d e l e t ls y s t e m u 承诺书 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进 行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容外, 本学位论文的研究成果不包含任何他人享有著作权的内容。对本论文所 涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标 明。 本人授权南京航空航天大学可以有权保留送交论文的复印件,允许 论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或其他复制手段保存论文。 作者签名:堑遣毽苎 日期: 互丝堑生三目 南京航空航天大学硕士学位论文 1 1 引言 第一章绪论 在激烈的市场竞争中,信息对于企业的生存和发展起着至关重要 的作用,表达信息的数据随着时间的增加和业务的发展而不断膨胀, 当今的时代是信息爆炸的时代。同时这些数据分布在不同的系统平台 上,具有多种存储形式,如何从这样复杂的数据环境中得到有用的决 策数据是一个迫切需要解决的问题。随着分布式结构的成熟、数据库 技术的提高和数据处理技术的发展,数据仓库( d a t aw a r e h o u s e ,d w ) 和决策支持系统( d e e l s i 0 1 - 1s u p p o r ts y s t e m ,d s s ) 应运而生【l 5 l 。 数据仓库是计算机和数据应用发展到一定阶段的必然产物。数据 仓库的目的是为了建立一种体系化的数据存储环境,将分析决策所需 的大量数据从传统的操作环境中分离出来,使分散、不一致的操作数 据转换为集成、统一的信息。然而,这个过程并非易事,这里所谓的 传统的操作环境,是指企业在不同时期、在不同的背景下开发出来的 事务处理系统,这些业务系统的建立,也往往是面向不同的应用、由 不同的开发商来完成的,其数据的存储结构、存储平台和系统平台具 有很大的异构性。如何将这些异构的数据有效地集成到数据仓库中, 是企业所面临的一个难题1 3 引。企业需要一个全面的解决方案来解决数 据的一致性和集成化问题,使我们能够从所有传统平台和环境中采集 数据,并利用一个单一的解决方案对其进行高效的转换,这个解决方 案就是e t l t ”儿3 “。 e t l ( e t r a c t 、t r a n s f o r m 、l o a d ) ,数据抽取转换装载系统,一般 把它简称为数据抽取系统。e t l 包括三个方面:首先是抽取,将数据 从各种原始的业务系统中提取出来,这是所有工作的前提;其次是转 换,按照预先设计好的规则对抽取的数据进行转换,使得本来异构的 数据格式能够统一起来:最后就是加载,将转换好的数据按计划增量 或者全部导入到数据仓库中1 4 1 2 1 1 1 2 6 1 1 3 5 】。 可以说,e t l 在传统的业务系统和数据仓库之间架立起了一座桥 梁,确保新的数据能够源源不断地进入数据仓库。从整体的角度来看, 基于公共仓库模型的e t l 系统的研究与应用 e t l 的主要作用在于其屏蔽了复杂的业务逻辑,从而为各种基于数据 仓库的分析和应用提供了统一的数据接口。虽然e t l 的技术含量相 对来讲不算高,但其涉及到大量的业务逻辑和异构环境,因此在一般 的数据仓库项目中,e t l 部分往往是牵扯精力最多的,般来讲,开 发e t l 要占到整个工作量的6 0 一8 0 2 4 l 。 我国的医保信息化是从1 9 9 8 年国家全面推行城镇职工基本医疗保 险制度开始的。近年来,随着医保信息化投资的迅速发展,医保信息 系统的数据量也迅速膨胀,年业务数据量往往是以g 为单位,在- - 些 人口密集的大型城市,医保年业务数据量甚至达到了几十g ,乃至上百 g 。 如此海量的数据,蕴藏大量的信息,需要决策分析工具或系统对 其发掘、整理,从中找出对业务或管理有价值的信息,来帮助提高管 理能力和业务水平。泰兴市医保决策支持系统是泰兴市医保管理系统 的一个子系统。该系统能够为决策者提供决策所需的数据、信息和背 景材料,帮助明确决策目标和进行问题的识别,建立或修改决策模型, 为正确决策提供必要的支持。 1 2 现状分析 在目前的数据仓库项目中,对于e t l 有两种实现途径:一是利用 现成的e t l 工具,二是手工编码实现。 目前市场上主流的e t l 工具可以分为两大类: 一类是专业e t l 厂商的产品,包括a s c e n t i a l 公司的 d a t a s t a g e x e ,s a g e n t 公司的s o l u t i o n 和i n f or m a t i c a 公司的产品。 另一类是整体数据仓库方案供应商所提供的e t l 产品,包括 o r a c l e 公司的w a r e h o u s eb u i l d e r 和i b m 公司的w a r e h o u s e m a n a g e r 等。 对于专业e t l 厂商提供的产品,往往大而全,而其中相当一部分 功能对于中小型用户来讲是不必要的,加上昂贵的价格,一般用户不 会采纳;对于整体数据仓库方案供应商所提供的e t l 工具,由于结构 相对封闭,相互之间不兼容,特别是元数据管理方面,各自都有自己 的方案,造成了元数据的共享异常困难【2 2 j 【3 。1 。 另外,从灵活性和充分利用开发团队的人力资源方面考虑,自行 编码实现e t l 都是一个不错的选择。然而,目前e t l 的开发过程中, 2 南京航空航天大学硕士学位论文 对于元数据管理非常混乱,表现在以下两个方面: 在项目实施之前,往往没有统一元数据的模式,甚至在对元数据 还不是十分理解的情况下,就匆匆开始项目开发: 项目周期不断在压缩、延迟中反复,开发人员不再关心如何维护 元数据的版本,来自各种角落的元数据各式各样; 本人在泰兴医保决策支持系统中,主要负责数据抽取( e t l ) 系统 t x h d s se t l 的设计和开发。在项目实践过程中,提出了基于公共仓 库模型( c o m m o nw a r e h o u s em e t a m o d e l ,c w m ) 来开发e t l 的思想并 且加以实现,这个思想的提出,主要是针对目前在自行编码实现e t l 的过程中元数据混乱的问题。本文将c w m 应用于e t l 系统的开发, 关于这方面的研究在国内外相关文献中还较为少见。 1 3 本文的主要内容和组织结构 1 3 1 本文的主要内容 本文首先分析了数据仓库中元数据的定义、分类及其在e t l 过程 中的作用,然后,对目前元数据的标准化问题进行了探讨,重点分析 了c w m 元模型的内容及其对e t l 过程提供的支持。在此基础上,提 出了一种基于c w m 为e t l 过程建模的思想,同时,我们给出了具体 的建模过程。然后,在e t l 过程模型的基础上,描述了t x h d s se t l 系统其他部分的设计。最后,我们给出了t x h d s se t l 系统的实现过 程,并讨论了该系统在泰兴医保决策支持系统中的应用。 本课题的研究重点是如何基于c w m 来完成t x h d s se t l 系统的 快速开发,具体来讲,就是如何利用c w m 元模型中的已有的类和关系 的定义,通过适当的扩展,为我们的e t l 过程快速建立模型,然后, 以这个模型为基础,完成t x h d s se t l 系统的各个相关模块的快速开 发。 1 3 2 本文的组织结构 本文共分六章: 第一章:主要介绍了e t l 的概念,并分析了目前e t l 开发过程中 存在的不足。 第二章:主要介绍了元数据的概念、分类以及在e t l 过程中的作 3 基于公共仓库模型的e t l 系统的研究与应用 用,并详细讨论了c w m 元模型的内容和它的扩展机制,然后进一步分 析了c w m 对e t l 过程所提供的广泛的支持。 第三章:主要介绍了我们的e t l 过程的建模思想,并论证了这种 思想的可行性。然后给出了具体的建模过程,并给出了系统的部分类 图和顺f 序图。 第四章:主要介绍了t x h d s se t l 系统的开发步骤,详细讨论了 每一步的内容和具体的设计方法。 第五章:主要介绍了t x h d s se t l 系统的实现,以及在泰兴医保 决策支持系统中的应用。 第六章:总结和展望。 南京航空航天大学硕上学位论文 第二章数据仓库中的元数据及其标准化模型 2 1 数据仓库中的元数据 2 11 数据仓库系统中的信息供应链 典型的数据仓库系统可以用图2 1 所示的信息供应链( i n f o r m a t i o n s u p p l yc h a i n ,i s c ) 来描述。在数据仓库环境中,信息从其源头( 底 层面向操作的业务系统) 流出,经过一系列的精化,最终产生出信息 产品,这些信息产品对企业的决策者来说具有重大的战略价值引。 | 垂三v1l百uoje心ct)dataobjectset o b j e c t 1 t r a n s f o r m a t i o n t a s kb 1r t m l f 。t e m p2 a t l 。n l d a t a o b j e c t s e t d a t a o b j e c t s e t j lp r o a r a m q u r e r v , r u l el t r a n s f o r m a t l o n m a p ! t r a n s f o n 、n a t i o n t r e e 图2 5e t l 过程模型图 在转换包中,还提供了组类来记录具体数据源( s o u r c e ) 和数据 目的( t a r g e t ) 之间的映射信息。这组类有:t r a n s f o r m a t i o n m a d , c l a s s f i e r m a p ,c l a s s i f i e r f e a t u r e m a p ,f e a t u r e m a p 组成。这些类的具体 情况,我们在系统设计部分再加以具体讨论。 2 3 3 调度执行方面的支持 在c w m 的管理层中,包含两个元模型:数据仓库处理包和数据仓 库操作包。其中,数据仓库处理包描述了数据仓库过程( 实际上就是 转换过程) 的调度方面的信息。在数据仓库处理包中,定义了能够触 发转换活动执行的一系列事件( e v e n t ) ,这些事件总体上可分为三种: 内部事件( i n t e r n a l e v e n t ) 、外部事件( e x t e r n a l e v e n t ) 和计划事件 ( s c h e d u l e d e v e n t ) 。这些事件可进一步细分为许多更详细的具体类型 的事件。在这里不一一描述,在系统设计部分再做讨论。 2 3 4 记录转换结果方面的支持 c w m 管理层中另外一个包,也就是数据仓库操作包记录了数据仓 库的三个重要事件:转换执行事件( t r a n s f o r m a t i o ne x e c u t i o n ) 、量度事 件( m e a s u r e m e n t ) 和改变请求事件( c h a n g er e q u e s t ) 。其中的转换执 基于公共仓库模型的e t l 系统的研究与应用 行事件定义了记录转换活动结果的类。在转换完成之后,转换活动的 结果可被a c t i v i t y e x e c u t i o n 类和s t e p e x e c u t i o n 类记录。这个记录行为 是对发生在数据仓库操作包中的一个i n t e r n a l e v e n t ,或者其他类似方式 的回应。可以为每个t r a n s f or m a t i o n e x e c u t i o n 记录开始时间、结束时间、 各种进展和结果的指标。 2 ,4 本章小结 本章首先讨论了元数据的定义、分类及其在数据仓库系统中的作 用,并且着重分析了元数据在e t l 过程中的重要作用,提出了元数据 是e t l 过程的“控制中心”的概念。然后,重点讨论了元数据的标准 化问题,详细介绍了c w m ( 公共仓库模型) 的制定过程、模型结构和 扩展机制,在上述基础之上,总结了c w m 对e t l 过程所提供的广泛 的支持。 在接下来的一章中,我们将提出基于c w m 为e t l 过程建模的设 计思想,并详细讨论具体的建模过程。 南京航空航天大学硕上学位论立 第三章基于c w m 的e t l 过程建模 3 1 基于c w m 的建模思想 通过第二章的分析,可以发现在c w m 模型中,包含了e t l 过程 需要的方方面面的元数据模型,虽然这些元模型在细节上不足以描述 具体的e t l 过程,但是已经把e t l 过程的大概框架描述出来,我们只 需要在这些元模型的基础上,补充一些和e t l 过程相关的细节方面的 内容,就可以完成对e t l 过程的快速建模。对e t l 的过程进行快速有 效的建模和实现,是t x h d s se t l 开发工作中最为重要的内容( 开发 工作的其它内容在下一章中有详细描述) 。这一章,我们将讨论如何基 于c w m 对e t l 过程进行建模。 在t x h d s se t l 系统中,e t l 过程建模的设计思想是:以c w m 模型为基础,根据我们具体的功能需求,对c w m 模型进行必要的选择 和适当的扩展,从而达到建模的目的。 这种设计思想可以带来两个方面的效果:其一,使得系统建模部 分实现了快速建模,c w m 已经为我们的系统完成了大部分的建模工作, 这有利于缩短我们这个e t l 系统的开发周期,前文我们提到,e t l 的 开发周期是加快整个项目开发周期的瓶颈部分( 工作量要占到整个项 目的6 0 到8 0 ) 【5 。这就使得任何能够缩短e t l 系统开发时间的开 发方法都具有很大的价值。 其二,由于e t l 过程的建模是在c w m 元模型的基础上进行的, 所以,我们开发的系统中描述e t l 过程所使用的元数据对象和c w m 模型中的对象之间存在着对应关系。这将在元数据交换方面,给我们 带来一些意想不到的效果。如果工具所使用的元数据对象和c w m 对象 之间不一致的话,在它们之间往往需要个类似“桥”的组件完成转 换,这种交换方式称为间接转换。如图3 1 所示: 基于公共仓库模型的e t l 系统的研究与应用 与特定 :y , l a a l t 关 与特定 工且相关 时对叠 图3 i 不遵从c w m 标准的软件之间元数据交换示意图 如果工具所使用的元数据对象和c w m 对象之间存在一一对应关 系的话,我们就可以将桥省略掉,这种交换方式称为直接转换【1 1 12 2 i i ”j 。 如图3 2 所示: 妒 与特定 工其相关 的对象 c w m 对蕞 与特定 工具相关 的对象 图3 2 遵从c w m 标准的软件之间元数据交换示意图 我们知道,c w m 设计的目的是为了提供一个元数据模型的标准定 义,从而便于数据仓库系统和商业智能系统中各种工具之间的元数据 交换 2 1 1 2 8 1 。我们的开发思想从另外一个角度使用c w m ,这和c w m 的 设计宗旨并不抵触,相反,如果数据仓库系统和商业智能系统中所用 到的工具,都是基于c w m 开发的,那么相互之间元数据的交换将变得 更加容易。c w m 规范的制定者们也同样给出了我们类似的建议,他们 建议我们在编写一个新工具时,如果可能的话,应该直接使用c w m 模 型【1 1 1 1 t2 1 1 2 2 1 。 3 2 功能需求和c w m 包的选择 基于c w m 开发t x h d s s e t l 过程中,我们要根据具体的项目需 求,在c w m 中选择相应的元模型( 包) ,建立满足需求的系统模型。 实现和使用整个模型的一部分是c w m 元模型的一个非常重要的特征。 这样的使用方式是c w m 的一个设计原则所决定的。 c w m 的这个基本的设计原则就是:位于某一层中的元模型只依赖 于其下层中的元模型。这种结构使得各个实现可以只使用与其问题空 间紧密相关的那部分c w m 元模型,从而使得同层元模型或底层与高层 南京航空航天大学硕士学位论文 元模型之间很少存在或者根本不存在包之间的耦合问题。这也就意味 着一个特定的c w m 元模型只依赖于块状图中位于它下方的包( 不一定 是下方所有的包) ,同时,这些包不依赖于同一层中的任何其他的包1 1 1 。 我们先看一下泰兴医保决策支持系统中,数据仓库的设计情况。 系统的数据仓库模型选用星型模型,即事实维表结构。该结构能很好 的反映在关系型数据库中的源系统内对象间的逻辑关系。系统的主题 可以大致划分为如下几个:“基金征缴”、“住院结算”、“陧性病种结算”、 “特殊病种结算”、“家庭病床结算”、“其他结算”。其中第一个主题是 属于基金收入的情况,后几个主题分别对应着医保基金的支出情况。 我们要关注的,是这些主题对应的事实表和维表的数据来源,而 对于为什么这样设计,我们不加讨论,这已经超出了我们需要考虑的 范围。下面我们举两个例子来说明,一个是“基金征缴”,另一个是“住 院结算”。 对于主题“基金征缴”,它对应的事实表是b a s ei n c o m e ,有四 个维表,分别是:维表f e e c l a s s ,维表m a n t y p e ,维表c o m p a n y t y p e , 维表t t i m e 。其数据来源情况如下所示: 维表f e e c l a s s ,数据来源于源系统的h i s b a s e f e e t y p e 表: 维表m a n t y p e ,数据来源于源系统的h i s b a s e w o r k s t a t u s 表; 维表c o m p a n y t y p e ,数据来源于源系统的h i s b a s e c o m p a n y t y p e 表; 维表t t i m e ,数据来源于源系统的h i sc o m p a n y j n m o n e y p l a n 表; 事实表b a s e i n c o m e ,数据来源于源系统的 h i s c o m p a n y i n m o n e y p l a n 表。 我们再分析一下主题“住院结算”,它对应的事实表是: b a s e o u t c o m e i n h o s ,有两个维表:维表m a n t y p e ,维表c u r e t i m e 。 其数据的来源如下所示: 维表m a n t y p e ,数据来源于源系统的h i s b a s e w o r k s t a t u s 表; 维表c u r e t i m e ,数据来源于源系统的h i s i n h o s p i t a l w r i t e o f f 表; 事实表b a s e o u t c o m e _ i n h o s ,数据来源于源系统的 h i s i n h o s p i t a l w r i t e o f f 表。 从以上分析我们发现,数据源格式和数据目的格式都是二维关系 表,其它主题也都是类似的情况。所以,在数据格式部分,我们只需 要支持关系型数据库即可。这样,在资源层中,只需要包括关系包就 可以了,对于其他的数据格式,暂不考虑。另外,我们需要建立和关 1 9 基于公共仓库模型的e t l 系统的研究与应用 系型数据库管理系统的连接,所以,在基础层中,我们还要考虑软件 部署包。 在分析层中,转换包是必须选择的。 我们再考虑一下,在泰兴医保决策支持系统中,数据的抽取策略 问题。由于基金征缴是按月进行,而住院相对时间跨度比较大,因此 对基金征缴和住院结算的数据要求是精确到月就可以了。抽取频率是 每个月抽取一次,时间定在每个月的最后一天的2 2 :0 0 。这样的话, 我们就可以简化仓库处理包的内容了,我们可以用循环时间点事件 ( r e c l i r i n g p o i n t i n t i m e e v e l 3 t ) 来完成数据仓库过程的触发执行。 另外,我们还需要管理层中的仓库操作包,该包所描述的元模型 可以记录每次e t l 过程的结果。 这样,泰兴医保决策支持系统中,t x h d s se t l 系统在c w m 中所 对应的元模型就很清晰了,如下图3 3 所示,深色部分为我们的系统 所对应的包。 管理层 分析层 资源层 基础层 对象模型层 图3 3c w m 元模型中和我们具体需求对应的部分 3 3 包之间的关联 我们从基础层中的软件部署包和资源层中的关系包之间的联系开 始,将依次讨论软件部署包和关系包、关系包和转换包、转换包和仓 库处理包,转换包和仓库操作包之间的联系。通过分析这些包之间的 结合点,从而明确这些包如何作为一个互相联系的整体来描述我们所 南京航空航天大学硕士学位论文 需的e t l 过程。我们以c w mv e r s i o n1 1 为准来进行以下的讨论。 33 1 软件部署包和关系包之间的关联 我们要分析两个元模型之间的关联,首先要分析两个元模型,在 此基础上,找到它们的衔接之处。 软件部署包的主要作用是记录数据仓库中数据资源的位置以及对 其负责的软件的位置。在e t l 过程中,第一步就是要从数据源将数据 抽取( e t r a c t ) 出来,这就需要知道,相应数据源存放在哪个位置、管 理它的软件是什么类型,比如,是关系型数据库管理系统、或者是文 件系统,知道了这些信息,我们才可能顺利建立连接,并访问到我们 所需的数据。 我们先看看软件部署包中的一个元模型片断。如图3 4 【“o 所示: 图3 4 软件部署包元模型示意图 d a t a m a n a g e r 类表示对数据提供访问的软件组件,例如数据库管理 系统和文件系统。该类从d e p l o y e d c o m p o n e n t 类继承了和m a c h i n e 类 之间的关系,在m a c h i n e 类中,记录了d a t a m a n a g e r 类安装的位置。这 两个类解决了两个问题,一是标示了用于管理数据资源的软件类型 ( d a t a m a n a g e r 类) ,二是确定了相应管理软件所处的位置,指的是主 基十公共仓库模型的e t l 系统的研究与应用 机的位置( m a c h i n e 类) 。 d a t a p r o v i d e r 类是d a t a m a n a g e r 类的予类,它提供了对存储在 d a t a m a n a g e r 类中的数据的访问。这个类用于对诸如o d b c 和j d b c 之 类的数据接口建模。d a t a p r o v i d e r 类通过p r o v i d e r c o n n e c t i o n 类建立与 d a t a m a n a g e r 类之间的连接,从而达到访问数据的目的。 关系型包主要用来描述关系数据库模式。关系包的元模型如图 3 5 【i3 i 所示: 图3 5 关系包元模型片断 s c h e m a 类是一个将构成数据库模式的各部分聚集起来的公共点, 这个类将和表相关的各部分信息都包含在内,记录的是表一级的元数 据信息。c a t a l o g 类是一个s c h e m a 类的集合,记录数据库级的元数据 信息。 分析了两个元模型的基本内容后,我们着手查找两个元模型之间 的关联部分。在图3 5 中,我们发现d a t a m a n a g e r 类和c a t a l o g 类之间 的关联,这个关联就是软件部署包和关系型包之间的关联。如下图所 示: 圈3 6 软件部署包和关系包之间的关联示意图 南京航空航天大学硕士学位论文 3 3 2 关系包和转换包之间的关联 我们还按照分析软件部署包和关系包之间关联的方法,来分析关 系包和转换包之间的关联。 首先,我们看一下转换包的元模型的一个片段。如图3 7 【”1 所示: 图3 7 转换包元模型片断 上图主要反映了在转换包中,数据源和数据目的之间的映射关系。 c l a s s i f i e r m a p 类、f e a t u r e m a p 类和c l a s s i f i e r f e a t u r e m a p 类记录了不同 级别的映射方面的信息,分别是c l a s s i f i e r 类之间的映射、f e a t u r e 类之 间的映射和c l a s s i f i e r 类和f e a t u r e 类之间的映射。 为了明确c l a s s i f i e r 类和f e a t u r e 类和关系包之间的联系,我们分 析关系包中类的继承图。如图3 8 【l3 】所示: 基于公共仓库模型的e t l 系统的研究与应用 图3 8 关系包中的继承关系图 从上图我们可以看到,t a b l e 类实际上就是c l a s s i f i e r 类的一个子 类,c o l u m n 类是a t t r i b u t e 类的一个子类,到此为止,我们找到了关系 包和转换包的一个关联点。为了找到f e a t u r e 类和c o l u m n 类之间的关 系,我们追本溯源到对象层的核心包,核心包元模型如图3 9 t ”1 所示: 圈3 9 核心包元模型 我们可以看到,a t t i b u t e 类实际上是f e a t u r e 类的一个子类,而 c o l u m n 类又是a t t r i b u t e 类的子类,所以,c o l u m n 类也就是f e a t u r e 类 的一个子类。这样,关系包和转换包间的关联我们就也找到了,如下 2 4 南京航空航天大学硕e 学位论文 图所示 图3 1 0 转换包和关系包之间的关联 3 33 转换包和仓库处理包之间的关联 转换包完成了对e t l 过程建模的工作,仓库处理包则定义了e t l 过程的调度方面的信息。 仓库处理包的一个元模型片断如图3 1 1 【】所示: 图3 1 l 仓库处理包元模型片断 从上图中,我们可以很清楚地看到两个包之间的关联:通过 t r a n s f o r m a t i o n a c t i v i t y 类和w a r e h o u s e a c t i v i t y 类之间的关系和 t r a n s f o r m a t i o n s t e p 类和w a r e h o u s e s t e p 类之间的关系,建立了两个包 之间的关联。如下图所示: 基于公共仓库模型的e t l 系统的研究与应用 转换包i仓库处理包l n s 如r m a 黼耐i r l , , v a r e n o u s e , & e t l v i t y i n 。“5 幻”8 曲“轴口lll w a r e h o u s e s t e p 图3 1 2 转换包和仓库处理包之间的关联 3 3 4 转换包和仓库操作包之间的关联 仓库操作包记录了数据仓库中的三种重要事件,其中之一就是转 换执行事件。在转换完成之后,转换活动的结果可被a c t i v i t y e x e c u t i o n 类和s t e p e x e e u t i o n 类记录。 仓库操作包元模型如图3 13 【13 】所示: 图3 1 3 仓库操作包元模型片断 从图中我们可以看到 , a c t i v “y e x e c u t i o n类和 t r a n s f o r m a t i o n a e t i v i t y 类之间的关系,以及s t e p e x e c u t i o n 类和 t r a n s f o r m a t i o n s t e p 之间的关系,是联系仓库操作包和转换包之间的纽 带。两个包之间的关系如下图示: 南京航空航天大学硕上学位论文 图3 1 4 转换包和仓库操作包之间的关联 上述四节分别讨论了我们用来为e t l 建模的c w m 包间的关系。 通过这些包之间的关联,使得它们形成一个整体,如下图所示: 3 4 e t l 过程的建模 3 4 1 类图设计 图3 15 整体示意图 在图3 ,15 所示的整体图中,我们去掉包的边界,就构成了系统的 基本类图。我们所谓的基本类图是指没有经过扩展的、直接使用c w m 模型中的类组成的类图。前面我们已经提到,c w m 提供的仅仅是一个 公共的元模型,对具体的工具,可能缺乏一些它所需要的完整的信息, c w m 的用户必须扩展给定的定义来满足特定的要求。 基于公共仓库模型的e t l 系统的研究与点用 在我们设计e t l 系统的过程中,我们也需要对c w m 模型进行 些适当的扩展。我们采用模型化的方法来扩展,更具体的讲,我们采 用继承的方法来扩展c w m 模型中某些类的定义。继承的扩展方法也被 c w m 的设计者广泛使用,在c w m 规范第二卷中,所有的c w m 扩展 包都是使用、而且仅仅使用了这种扩展方法1 1 1 。 对于和e t l 过程相关的包,我们首先分析在这些包中,我们需要 哪些类,这些类是否同时具有我们所需的属性,如果现有的定义不能 满足我们的需求,我们再根据具体的需要对c w m 进行适当的扩展。限 于篇幅,我们不能对每一个元模型都进行这样的分析,在整体图中, 转换包元模型所包含的类最多,而且也处在核心的位置,所以,我们 就以转换包为例,来详细讨论我们的设计过程。 3 4 1 1 现有元模型的分析 首先,我们分析一下在转换包中,各个类的定义及其属性的定义。 同时,我们选择出我们需要的类。转换包的元模型如下图所示: 图3 1 6 转换包的元模型 t r a n s f o r m a t i o n a c t i v i t y 类:这个类定义了某个转换活动整体上的 南京航空航天大学硕士学位论文 一些元数据信息,比如转换活动的创建时间、创建者方面的元数据信 息。 t r a n s f o r m a t i o n s t e p 类:和t r a n s f o r m a t i o n t a s k 类一一对应这个 类主要用来定义属于某个转换活动( t r a n s f or m a t i o n a c t i v i t y ) 的转换步 骤方面的元数据。 t r a n s f o r m a t i o n t a s k 类:是相关的转换t r a n s f o r m a t i o n 的集合,这 些转换可能具有相同的数据源或数据目的,或者前一个的数据源是后 一个转换的数据目的,或者在逻辑上具有某种关系。这个类主要用来 对转换( t r a ns f or m a t i o n ) 进行分类管理。 t r a n s f o r m a t i o n 类:主要用来定义数据源和数据目的之间的映射的 元数据,然后在和相应的数据容器取得连接的基础上,完成数据的转 换。这个类中所要描述的映射信息在后边要描述的t r a n s f o r m a t i o n m a p 类中,t r a n s f o r m a t i o n m a p 类是该类的一个子类。 t r a n s f o r m a t i o n m a p 类:继承了t r a n s f o r m a t i o n 类,我们可以把这 个类理解为t r a n s f o r m a t i o nw i t hm a p ,带有映射信息的t r a n s f o r m a t i o n 类。这个类主要定义了数据源和数据目的之间如何映射的问题。 t r a n s f o r m a t i o n m a p 是由c l a s s i f i e r m a p 组成的。 c l a s s i f i e r m a p 类:具体定义了映射是在哪两个c l a s s i f i e r 类之间, 从我们前面的分析中,我们知道t a b l e 类是c l a s s i t i e r 类的一个子类。 所以,这个类在关系型数据源的情况下,定义了映射是在哪两个表之 间进行。c l a s s i f i e r m a p 是由c l a s s i f i e r f e a t u r e m a p 和f e a t u r e m a p 组成的。 c l a s s i f i e r f e a t u r e m a p 类:定义了这样一种映射,映射的一端是列 的集合( e o l u m n s e t ) ,而另一端是单列。也就是说,这种映射是将某一 列拆分到若干列或由若干列组合出某一列的情况,这个类除了记录映 射的源和目的信息外,也记录转换方面的元数据信息。 f e a t u r e m a p 类:定义了映射两端都是单列的情况下映射的信息( 包 括源、目的和转换规则) 。 c l a ss i f i e r 类,f e a t u r e 类:这两个类分别作为c l a s s i f i e r m a p 映射、 f e a t u r e m a p 映射以及c l a s s i f i e r f e a t u r e m a p 映射的源端和目的端。通过 我们在前文分析,我们知道,c l a s s i f i e r 类实际上是t a b l e 类的一个超 类,而f e a t u r e 类实际上是c o l u m n 类的超类。 上述的各个类,是c w m 模型中我们需要的类。我们省略了以下几 个类: p r e c e d e n c e c o n s t r a i n t 类 、 s t e p p r e c e d e n c e类 : 我们在 2 9 基于公其仓库模型的e t l 系统的研究与应用 t r a n s f o r m a t i o n s t e p 类中增加个属性来表示各个步骤的优先级,从而 将这两个类省略掉,这是我们在系统设计中普遍采用的一种简化手段。 t r a n s f o r m a t i o n u s e 类:我们将会对t r a n s f o r m a t i o n 类作一些扩展, 增加一系列的方法,如增加e x e c u t e 方法完成转换的执行。所以,我们 将该类省略。 d a t a o b i e c t 类:这个类是和t r a n s f o r m a t i o n 类相关,用来表示转换 的源和目的数据对象。关于数据源和数据目的之间的映射信息,我们 通过引入t r a n s f o r m a t i o n m a p 类来表示,所以,我们也省略这个类。 t r a n s f or m a t i o n t r e e 类:为了存储数据的血统信息( 从哪里来,往
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 不同序列聘任管理办法
- 业务订单处理管理办法
- 规划艺术作坊管理办法
- 调度中心消防管理办法
- 上海项目团队管理办法
- 贡井区项目管理办法
- 专项工程招标管理办法
- 菜园子种植管理办法
- 规模猪场饲料管理办法
- 专业分包物资管理办法
- 2025-2026学年北师大版(2024)初中物理八年级上册教学计划及进度表
- 2025年度哈尔滨“丁香人才周”(春季)哈尔滨新区教育系统专项招聘80人考试备考试题及答案解析
- 军用电台知识培训方案课件
- 外科面试题目及答案
- 院前急救工作制度及流程
- 2025年留置辅警考试题库及答案
- 《不懂就问》教学课件
- 《创新创业基础 第2版》 课件 第1章 认识创业
- 学堂在线 极区航海导航保障 期末考试答案
- 血液净化中心静脉导管护理指南
- 高压蒸汽灭菌原理
评论
0/150
提交评论