资源描述:
第3 3 卷第1 期 2 0 0 4 年1 月 中国矿业大学学报 J o u r n a lo fC h i n aU n i v e r s i t yo fM i n i n g &T e c h n o l o g y V o l _ 3 3N o .1 J a n .2 0 0 4 文章编号1 0 0 019 6 4 2 0 0 4 0 1 0 0 2 5 0 4 基于E R P 的数据仓库动态增量维护技术 张虹,张薇,梁银 中国矿业大学计算机科学与技术学院,江苏徐州2 2 1 0 0 8 摘要提出了数据仓库动态联机增量维护算法,构建了该算法的模型.阐述了动态联机增量雏护 算法和利用该算法对数据仓库实体视图的维护技术.以基于E R P 数据源的数据仓库为例,描述 了本算法在数据仓库中的应用与实现,该算法与技术对数据仓库技术的发展及应用有重要的意 义. 关键词数据仓库;E R P ;视图维护 增量维护 中图分类号T P3 1 1 .1 3文献标识码A D y n a m i cI n c r e m e n t a lM a i n t e n a n c eT e c h n i q u e f o rD a t aW a r e h o u s eB a s e do nE R P Z H A N GH o n g .Z H A N GW e i .L I A N GY i n S c h o o lo fC o m p u t e rS c i e n c ea n dT e c h n o l o g y ,C U M T tX u z h o u ,J i a n g s u2 2 1 0 0 8 ,C h i n a A b s t r a c t An e wo n l i n ed y n a m i ci n c r e m e n t a lm a i n t e n a n c ea l g o r i t h mf o rd a t aw a r e h o u s ei sp u t f o r w a r d .a n dam o d e lo ft h ea l g o r i t h mi se s t a b l i s e d .T h e0 1 3 .一l i n ed y n a m i ci n c r e m e n t a lm a i n t e n a n c e a l g o r i t h ma n dM a i n t e n a n c et e c h n i a u ea r ed e s c r i b e di nd e t a i l .T a k et h ed a t aw a r e h o u s eb a s e do n E R Pd a t as o u r c ea sa ne x a m p l et h ea p p l i c a t i o na n dr e a l i z a t i o no ft h ea l g o r i t h ma r ei n t r o d u c e d .T h e a l g o r i t h ma n dt e c h n i q u ei ss i g n i f i c a n tf o rd e v e l o p m e n to fd a t aw a r e h o u s et e c h n i q u e . K e yw o r d s d a t aw a r e h o u s e ;E R P e n t e r p r i s er e s o u r c ep l a n ;v i e wm a i n t e n a n c e ;i n c r e m e n t a l m a i n t e n a n c e E R P 和数据仓库系统都是2 0 世纪9 0 年代迅 速发展起来的新型技术[ 1 。] ,E R P 系统主要用于日 常事务处理;数据仓库能够存储企业大量的历史和 现实数据,用来帮助企业管理人员进行分析与决 策.若把E R P 系统与数据仓库有机的集成在一起, 将数据仓库建立在E R P 系统之上,构建基于E R P 的数据仓库系统,两者能够互补,既满足企业日常 事务和流程处理,又能满足各级管理人员决策需 求,是企业运营行之有效的模式.它将提高企业的 管理水平和决策机制,更好的适应市场经济体制的 规范,为企业带来更大的效益和竞争优势. 1 数据仓库视图维护 目前,多数数据仓库方案采用脱机维护方 式[ 2 。4 ] ,即利用夜晚时间对数据仓库进行脱机维护, 但是夜晚的时间段因地域的不同而有差异.例如, 中国的零点到凌晨6 点却是美国的中午1 1 点到下 午的5 点,也就是说中国与美国夜晚的时间不同. 可见地域问的差异对数据仓库维护时间的确定显 得十分重要.因此,传统的数据仓库脱机维护对企 业数据正常运转和决策者的使用带来一定的困难. 针对脱机维护技术的不足,近年来许多专家致力于 数据仓库维护技术的研究,其中较有影响的视图维 护技术是联机维护技术瞳“.此类技术不必在脱机 情况下对数据仓库进行视图维护,因而不会影响决 策者的随机查询和使用,但是也带来其他问题.例 如,在进行视图维护时,需要频繁地查询数据源和 由数据源向数据仓库传送大量数据,这不仅影响到 收稿日期;2 0 0 3 0 5 0 7 作者简介张虹 1 9 4 2 一 .女,山东省济南市人,中国矿业大学教授,博士生导师,从事数据库与数据仓库技术、软件工程、多媒体技术 图像压缩技术等方面的研究. 万方数据 中国矿业大学学报第3 3 卷 数据源的系统性能,而且增加了数据仓库视图的维 护费用,降低了数据仓库视图的维护效率. 为了解决数据仓库脱机与联机维护技术的不 足,本文提出动态联机增量视图维护算法 D O V M S 对数据仓库进行视图维护.此算法无论 对于单或多数据源的数据仓库视图维护均实用,它 将对数据仓库技术的发展和应用有很好的前景和 推广价值. 2 动态增量视图维护技术 在数据仓库中存储着两级视图一级视图存放 高度综合数据,即用户经常访问的数据;二级视图 存放轻度综合数据,是用来辅助维护一级视图的, 用户很少直接访问.每类一级视图可以没有二级视 图,也可以有二级视图,或者有两个以上的二级视 图,具体情况视用户需求而定. 数据仓库视图维护是为了使数据仓库中的数 据与数据源的数据在一定时间内保持一致性,因此 需要定期地对数据仓库进行数据维护.这种维护也 就是将数据源的数据反映到数据仓库中.由于数据 仓库存储的是大量的实体化视图,因此对数据仓库 采用的维护技术实质上就是对数据仓库实体化视 图的维护技术. 2 .1D O V M S 模型 D O v M s 动态联机增量视图维护模型由两部 分组成;数据源端算法和数据仓库端算法.该模型 如图1 所示. 数据仓库靖 羲据蔼靖 圈1D O V M S 模型 F i g .1 D O V M Sm o d e l 数据源端主要由监控器和转换器组成监控器 的作用是定期检测数据源端的数据变化,转换器的 作用是将数据变化按照视图映射作相应处理后暂 时存储. 数据仓库端主要是视图管理器,其作用是依据 由转换器发来的反映数据变化的两种改变表,并确 定优化的维护策略,实现对数据仓库的视图维护. 数据源端采用动态检测算法,数据仓库端采用 增量视图维护算法.因此,D O V M S 模型是一种集 成模型.下面分别描述D O V M S 模型中动态检测 和增量视图维护算法. 2 .2 动态检测算法 在正常运转的数据仓库系统中,监控器定期检 测数据源端与数据仓库视图维护有关的数据变化, ⋯旦发现有数据变化时,监控器就通知并将数据变 化传送到转换器.转换器将数据变化按照视图映射 作相应处理后,生成两种改变表,即插入改变表和 删除改变表,并暂时存储.当收到从数据仓库端发 来的允许视图维护消息后,立刻将改变表中的数据 发往数据仓库端,以备对数据仓库辅助视图和视图 进行增量维护. 数据操作有3 种类型,即插入、删除和更新.若 把更新操作分解为删除原有元组,插入一个新元 组,这样就简化了算法,只考虑插入和删除两种操 作即可. 生成改变表算法涉及到消息类型d b u p u . , 该类消息是由监控器发往转换器的基表R ,的数据 变化通知.转换器收到U 后,将其转换为与改变表 格式一致的元组,记为u 监控器发出的数据变化通知中包括3 个参数 i n s R ,,t 在基表R .中插入元组t ; d e l R ,,t 在基表R .中删除元组t ; m o d R 。t 。,t 。 在基表R .中用元组t 。更新元 组t 算法实现如下 对监控器发来的消息做相应处理 d b u p U , i fU . i n s R .,t t h e n u 1 5 ⅡP 口s t ; i fu l ≠{ t h e nu ,一△R 0 /* A R ,表示在 基表R 。上生成的插入改变表* / i fU , d e l R 。,t t h e n t u i 7 t p a _ t ; i fH i ≠{ t h e n { 对于Vu ,∈A R 。} i fk e y u 1 k e y u i t h e n △R .一△R i - - L 1 i e l s eu 、一V R 。} /* V R ,表示在基表R 。上生成的删 除改变表* / i fU i m o d R ,,t 1 ,t z t h e n { u ,5 “P d B t 2 ; i fu .≠{ t h e nu .一△R i } u t 一“P 氏t l ; 1 fu ,≠{ t h e n 霎 万方数据 第1 期张虹等;基于E R P 的数据仓库动态增量维护技术 { 对于VU ,∈△R ,; i fk e y u . 一k e y u , t h e n △R . 一△R 。一u 】 e l s eu l V R .; , 在把删除元组插入到删除改变表之前,先判断 该删除元组是否在插入改变表中已存在.若存在, 从插入改变表中删除该元组,且不再把该元组插入 到删除改变表中;若不存在。则把该元组插入到删 除改变表中.这样,可以使改变表中的数据量达到 最少,从而减少网络通信开销, 2 .3 增量维护算法 当数据仓库端收到从数据源端发来的改变表 时,利用改变表的数据,按照一定的维护策略对一 级或二级视图进行增量维垆.在计算一级视图的增 量变化时,有多种维护笋咯,例如利用二级视图的 所有数据变化和二气视U 更新前的状态,计算出一 级视图的增量变化,利用这些增量变化更新所有视 图.不同的维护策略导致不同的维护工作量,因此 维护策略影响视图维护的效率,最优视图策略的定 义及实现方法如下. 定义1函数c o m p V ,{ v 。} 表示利用二级视 图v ,的增量变化计算一级视图v 的增量变化} 函 数i n s t v 表示用一级视图v 的增量变化更新一 级视图v . 定义2 △A 表示二级视图A 的插人改变表, v A 表示二级视图A 的删除改变表;l △A l 表示插 入改变表△A 的元组个数,Iv AI 表示删除改变表 v A 的元组个数. 实现算法 B E G I N F O R 每个V 。D O /* V 。是基于二级视图 集{ A 。A 。⋯,A .。 导出的一级视图* / F O R 每个A 。.D O 计算I △A ,,l l v A ,。l ; E N D F O R 按l A A i j l v A u I 的值对二级视图A 。从小 到大进行排序得到排序表{ A A 。A A 。⋯,A A 。} ; /* 每个A A n 与A .,一一对应* / 根据排序表得出最优的视图维护策略 e .一{ c o m p V l ,{ A A .1 } ,i n s t A A .1 , c o m p V .,{ A A i 2 ,i n s t A A i 2 ,⋯, c o m p V i ,{ A A .。 ,i n s t A A 。 ,i n s t V i ; F O R 每个A A iD O /* 按排序表顺序执 行A A 。.* / 计算一级视图增量变化 △V , A A .. 一丌P A A 。;p q A A 。;p q ⋯x △A A 。】阁A A 盯1 p 司⋯阅A A 。 ; 可V . A A 。, 一“P A A d 睁 A A 。;K ⋯Ⅸ V A A 。A A 。 1 p ⋯D A A .。 ; /* P 为视图V .的属性集合;A A i 表示 A A .。使用改变表更新后的状态* / 更新二级视图A A i 把A A A 。中的元组插入到二级视图A A .,中; 删除二级视图A A ,。中与v A A b 中关键字相 同的元组; E N D F O R 更新一级视图 F O R 每个V , A A ,. D O 把△v 。 A A “ 中的元组插入到一级视图v , 中; 删除一级视图v .中与v V . A A u 中关键字 相同的元组; E N D F O R E N D F O R E N D 增量视图维护算法可以大大减少视图维护的 计算量. 由上两部分算法可见,本系统所采用的动态联 机增量数据仓库视图维护技术,是将维护分为两个 阶段进行,第一阶段为动态检测与抽取阶段,检测 并抽取数据源与数据仓库视图维护相关的数据变 化.第二阶段为增量视图维护阶段,依据改变表中 的数据形成优化的视图维护策略,尽而实现对视图 的维护.这一过程是动态进行的,从微观的角度分 析,数据仓库视图维护时间是暂短的,从宏观上看 它不影响数据源与数据仓库各自独立的正常工作 和数据的一致性. 3 应用示例 煤矿实施的E R P 系统主要包括以下功能模 块计划管理、采煤管理、安全管理、库存管理、合同 管理、销售管理、运输管理、质量管理、财务会计、物 料需求、设备管理、安全管理以及工作流程管理等. 这些系统分布于企业不同的部门和组织中,主要用 于各部门日常流程和生产管理.辅助预决策的任务 由数据仓库承担,形成基于E R P 的数据仓库及维 护系统.该系统总体结构如图2 所示. 万方数据 中国矿业大学学报第3 3 卷 图2 基于E R P 的数据仓库系统结构 F i g .2s y g t e ma r c h i t e c t u r e0 fd a t a w a r e h o u s eb a s e do nE R P 3 .1 系统组成 该系统分为3 层数据源层、数据仓库层和工具 层.数据源层包括数据源、监控器、转换器.数据仓 库层包括集成器、视图管理器.工具层由查询报 表、数据挖掘和o L A P 联机分析与处理 等多种工 具组成. 3 .2 实现技术 针对E R P 系统中的每一功能模块均生成一个 数据抽取部件即监控器和转换器,用来负责自动监 测各子系统数据的变化并抽取变化的数据,按照转 换器中实体化视图定义的映射,将数据源中的数据 变化作相应处理,生成插入改变表和删除改变表并 暂存,当收到从数据仓库端发来的视图维护消息 时,改变表通过数据集成部件进行清洁、转换和集 成等工作后被传送到数据仓库端的视图管理器,调 用视图策略模块,确定最优的视图维护策略,在视 图维护模块中完成计算视图的增量变化工作,最后 实现对数据仓库视图的增量维护. 在数据仓库中采用关系型数据库进行数据存 储管理,用星形模型表示多维概念.利用星形模型 设计方法简单,容易被用户理解和接受.基于E R P 系统的数据仓库星形图包括数百个事实表和维表. 为了提高系统的查询性能,数据仓库系统还针对各 层管理人员的不同查询需求,存储丁大量以星形模 式存储的实体化视图. 企业各级管理人员通过前端查询工具,定义查 询范围、内容,生成某一时间段的数据统计报表,各 种财务管理报表,多币种的财务报表等信息,帮助 煤矿进行产品的市场监控,搜索煤矿产品的市场机 遇.管理人员也可以通过前端O L A P 和数据挖掘 分析等工具,分析预测煤产量、市场规律、煤产品销 售与利润等情况;分析煤产品销售渠道、煤产品销 售的历史与现状等决策所需信息,并可生成各种图 形,如柱状图、曲线图、散点图、饼图和表格等,为管 理人员提供决策依据. 4 结束语 本文所提出的动态联机增量数据仓库视图维 护技术,是在分析和评价传统的脱机维护技术和联 机维护技术不足,并博取多家之长的基础上提出 的.本文算法具有两大优点第一,本文算法不需要 特定的维护时间,从而改进了文献[ 2 4 ] 脱机维护 造成数据仓库维护与用户查询不能并行操作的不 足;第二,动态联机增量维护和采用最优策略计算 视图的增量变化,很好地克服了文献[ 5 7 ] 等在进 行视图维护时,需要频繁地查询数据源和向数据仓 库传送大量数据所导致系统性能下降的缺点,使计 算和维护工作量大大降低,从而提高了联机维护效 率. 数据仓库动态联机增量视图维护技术,对于全 球网络化的今天和未来数据仓库的快速发展有着 积极的推动作用和重要意义. 参考文献 [ 1 JI n m o nWH .B u i l d i n gt h ed a t aw a r e h o u s e [ M ] .N e w Y o r k J o h nW i l e y &S o n s 。I n c .1 9 9 6 .5 7 5 9 . [ 2 ] H a m m e rJ .G a r e i a M o l i n aH ,W i d o mJ ,e ta 1 .S p e c m l i s s u eo nm a t e r i a l i z e dv i e w sa n dd a t aw a r e h o u s i n g [ J ] . I E E ED a t aE n g i n e e r i n gB u l l e t i n ,1 9 9 5 。1 8 2 4 1 4 8 . [ 3 3T h e o d o r a t o sD ,T s o i sA .P r o c e s s i n gO L A Pq u e r i e si n h i e r a r c h i c a l l y c l u s t e r e dd a t a b a s e s [ J ] .D a t a & K n o w l e d g eE n g i n e e r i n g ,2 0 0 3 4 5 2 0 5 2 2 4 . [ 4 ] B l a k e l e yJ ,L a r s o nPA tT o m p aF .E f f i c i e n t l yu p d a r i n gm a t e r i a l i z e dv i e w s [ C ] .W a s h i n g t o nDC S I G M O D .1 9 8 6 .6 1 7 1 . [ 5 ] L a b i oWJ ,Y e r n e n iR ,G a r c i a M o l i n aH .S h r i n k i n 2 t h ew a r e h o u s eu p d a t ew i n d o w [ E B /O L ] .h t t p // W W W d b .s t a n f o r d .e d u /p u b /p a p e r s /s e t v m .p s , 2 0 0 0 0 2 2 6 . [ 6 3Q u a s sC .M a t e r i a l i z e dv i e w si nd a t aw a r e h o u s e [ D ] . S t a n f o r dU n i v e r s i t y ,1 9 9 7 . [ 7 3C o l b yL .G r i f f i nT ,L i b k i nL ,e ta 1 .A l g o r i t h m sf o r d e f e r r e dv i e wm a i n t e n a n c e I t ] .C a n a d a S I G M O D . 1 9 9 6 .4 6 9 4 8 0 . 责任编辑邓群 万方数据
展开阅读全文