(计算机应用技术专业论文)电力系统中数据集成技术的研究与应用.pdf_第1页
(计算机应用技术专业论文)电力系统中数据集成技术的研究与应用.pdf_第2页
(计算机应用技术专业论文)电力系统中数据集成技术的研究与应用.pdf_第3页
(计算机应用技术专业论文)电力系统中数据集成技术的研究与应用.pdf_第4页
(计算机应用技术专业论文)电力系统中数据集成技术的研究与应用.pdf_第5页
已阅读5页,还剩57页未读, 继续免费阅读

(计算机应用技术专业论文)电力系统中数据集成技术的研究与应用.pdf.pdf 免费下载

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

文档简介

华北电力大学硕士学位论文摘要 摘要 数据集成平台的作用是提供一个访问异构数据源的统一接口,使开发人员不必 考虑数据模型的异构性、数据抽取、数据合成等问题。 本文以电力系统领域数据现状和对数据集成的要求为基础,进行基于x m l 数据 集成的研究,重点解决电力系统领域数据模式的异构问题和查询语占的转换问题。 在分析比较已有数据集成方法和体系结构特征的基础上,设计了基于x m l 的电力系 统数据集成平台框架,并对其中的关键技术进行研究。 本文工作的意义在于解决了关系数据库的x m l 化问题,设计的平台框架提供统 一查询异构数据源的服务,为在电力系统领域内部建立一个通用数据访问底层架构 奠定基础。 关键词:数据集成,模式集成,查询处理,x m l ,x q u e r y a b s t r a c t t h eg o a lo fad a t ai n t e g r a t i o np l a t f o r mi st op r o v i d eau n i f o r mi n t e r f a c et oa m u l t i t u d eo fd a t as o u r c e s u s i n gt h ei n t e r f a c eu s e r sd o n tn e e dt oc o n s i d e rt h ep r o b l e m a b o u tm o d e lh e t e r o g e n e i t y , d a t ae x t r a c t i n ga n dc o m b i n a t i o n ,e t c t h i sp a p e rd i s c u s s e st h ei s s u eo fi n t e g r a t i n gp o w e rs y s t e md a t au s i n gx m lb a s e d o ne x t e n s i v ea n a l y s i sa n dr e s e a r c hw o r k i ti sf o c u so nt h ep r o b l e m sr e l a t e dw i t h h e t e r o g e n e o u sd a t as c h e m aa n dq u e r yp r o c e s s i n gi np o w e rs y s t e md o m a i n w ed e s i g n t h ed a t ai n t e g r a t i o np l a t f o r mf r a m e w o r kb a s e do na n a l y s i sa n dc o m p a r i n gt h ee x i s t e n t d a t ai n t e g r a t i o nm e t h o d sa n dt h ec h a r a c t e r i s t i c so fa r c h i t e c t u r e m e a n w h i l e ,w ed i s c u s s t h em a i nt e c h n o l o g i e s t h es i g n i f i c a n c eo ft h i sp a p e ri st oi m p l e m e n tt h ex m lf o r m a tv i e w so fr d b m s a n dd e s i g nap l a t f o r mf r a m e w o r kt op r o v i d eau n i f o r mq u e r ys e r v i c ef o rh e t e r o g e n e o u s d a t as o u r c e so u rw o r kc a nb eu s e dt ob u i l dau n i f o r md a t aa c c e s s i n gi n f r a s t r u c t u r ei n p o w e rs y s t e md o m a i n m a y u - m e i ( c o m p u t e ra p p l i e dt e c h n o l o g y ) d i r e c t e db yp r o f w a n gc u i r u k e yw o r d s :d a t ai n t e g r a t i o n ,s c h e m ai n t e g r a t i o n ,q u e r y p r o c e s s i n g ,x m l , x q u e r y 2 声明 本人郑重声明:此处所提交的硕士学位论文电力系统中数掘集成技术 的研究与应用,是本人在华北电力大学攻读硕士学位期间,在导师指导下进 行的研究工作和取得的研究成果。据本人所知,除了文中特别加以标注和致 谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得华北电力大学或其他教育机构的学位或证书而使用过的材料。与我一同 工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了 谢意。 学位论文作者签名:妙日期: o f s | 。 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学 校有权保管、并向有关部门送交学位论文的原件与复印件;学校可以采用 影印、缩印或其它复制手段复制并保存学位论文;学校可允许学位论文被 查阅或借阅;学校可以学术交流为目的,复制赠送和交换学位论文;同意 学校可以用不同方式在不同媒体上发表、传播学位论文的全部或部分内容。 f 涉密的学位论文在解密后遵守此规定) 作者签名 日期 纠矽跏签名: o6 1 f0 j 口期:鲤:! ! 华北电力大学硕士学位论文 1 1 本文研究背景 第一章绪论 中国电力行业的信息化建设经过长时间的持续发展,已经逐步形成了大量的专 业信息系统,如办公自动化( o a ) 、m i s 系统、电力市场和营销系统、电力调动系统 ( e m s ) 、配电管理系统( d m s ) 和客服系统、电能计量系统、资产管理、生产管理、经 营管理等。从而造成这些系统的运行环境不同,开发工具不同,数据环境也大有差 异,各系统相互独立,从而形成了许许多多的“信息孤岛”。 随着国家电力体制改革的进一步深入,以及中国加入w t o 后所面临的外界不定 因素的竞争,国内电力企业对自身的管理水平,领导层的决策能力要求越来越高, 所需的信息数据量也要求更加的准确、及时、充分。因此,完整统一的、数据实时 传递的、信息充分共享的跨专业跨平台的综合信息系统逐步成为企业的信息化发展 方向。 但眼前的问题是,面对已经花费了大量财力、物力、人力建设的信息系统,简 单的放弃并不是出路。合理的做法是在原有的应用系统基础上,通过信息应用集成 与数据集成手段,建立既相互独立又能数据共享、有效协同工作的企业综合信息平 台,最大限度利用各专业信息系统多年积累的数据,将这些数据转换成为企业创造 价值的信息。 数据集成的目的是提供一个访问异构数据源的统一接口,使用户不必考虑数据 模型的异构性、数据抽取、数据合成等问题,用户只需指定他们想要的数据,而不 必描述怎样得到数据。这样就减轻了用户寻找相关数据源、和每个数据源交互然后 合并返回结果的负担。数据集成平台提供了底层数据源存储数据的统一视图( 全局 模式a ,这样用户访问所有所有数据源就像操作一个数掘源一样。同时,数据集成 平台还提供全局数据管理、模式转换与集成、全局查询处理等功能解决数据的异构 性问题,完成从实际数据源到数掘源视图的转换,在应用构件之间充当数据总线的 作用。 华北电力大学硕士学位论文 1 2 数据源集成研究的主要问题和发展现状 1 2 1 数据源集成研究的主要问题 在异构数据源集成系统中,如何有效解决数据分布的异构性,实现客户访问的 透明性,同时还要保持局部系统的自治性,是系统考虑的主要问题。 异构性:是指数据集成系统中两个数据源的不相似程度。异构发生在不同 的级别。最底层是硬件平台、操作系统和网络协议的异构。其次是不同的 编程语言和数据模型,以及对相同的概念不同的理解和描述。由于每个数 据源都用自己的描述数据,所以,每个数据源中对相似的语义的描述可能 不同,而且可能引起数据的冲突。 透明性:与系统解决异构性的程度相关,决定系统的功能和使用的方便性。 包括平台透明性、系统透明性、数据源透明性和语义透明性。 1 ) 平台透明性:隐藏了硬件平台、操作系统和通讯协议等各种数据源所基 于的平台间的差异。对于用户来讲,每个数据源像运行在同一个硬件 软件平台上。 2 ) 系统透明性:当数据源的数据管理系统、数据模型和语言间的差异被隐 藏时,对用户来讲,每个数据源像是用同一个数据模型来描述的、由同 一个数据管理系统和数据语言来管理和维护的。 3 ) 数据源透明性:隐藏了数据源的描述信息,由系统解决诸如:数据的存 储位置,数据如何被查询。用户所见到的只是一个逻辑数据源。 自治性:指的是一个数据源是独立于其它数据源,也独立于集成系统的,主 要有三类自治。 1 ) 设计自治:数据源在数据模型、数据元素的命名、数据的语义介绍及约 束等方面是独立的。 2 ) 通信自治:数据源独立决定给集成系统中其它组件提供什么信息和给组 件发什么请求。 3 ) 执行自治:数据源独立执行和调度输入请求。 1 2 2 发展现状 异构数据源集成平台的实现多采用多数据库集成技术。多数据库集成系统支持 用户使用单一数据定义和操作语言,同时访问多个独立的数据源。代表性的多库系 统有g a r l i c ,t s i m m i s ,l i f o d b y a t 和h p 公司开发的p e s a s u s ”3 。国内有东北大学 华北电力大学硕士学位论文 数据库研究室开发的p 0 1 y b a s e 和s c o p e 系统以及北京理工大学的u n h d b 系统等, 这些系统多采用对象模型作为数据集成模型。 早在7 0 年代中期即提出多数据库的集成问题。开始采用全局模式的集成方法, 后来m e l e o d 等人提出了联邦式数掘库系统的概念,由于缺乏必要的标准,联邦数 据库系统只能在一定的限制条件( 如对加入联邦系统的d b m s 和各d b m s 间的互操作 加一定的限制) 下实现,难以实现各种数据源的灵活的数据集成。因此,联邦式数 据库目前还不能成为一种通用的数据集成方法。 但是,随着分布异构计算环境下互操作性。的研究和i n t e r n e t 技术的发展,多 数据库的集成方法,己无法适应人们获取更多更新数据的需要。人们要求数据集成 系统不仅能集成数据库系统中的数据,而且能集成非数据库系统中的数据;不仅能 集成传统数据,而且能集成多媒体数据;不仅能集成已有数据源中的数据,而且能 集成随时加入的新数据源中的数据。也就是说,数据集成系统必须具有可扩展性, 可以实现数据源的“即插即用”,这是传统的数据集成技术难以实现的。异构数据 源集成系统的作用是提供一个统一的查询手段和查询界面,支持对网络上异构的数 据源的查询。其中的关键是如何以一种统一的数据模式描述各数据源中的数据,屏 蔽它们的平台、数据结构等异构性,实现数据的无缝集成。 已有的数据集成技术,存在一些不足: 全局模式同各数据源模式的转换工作繁杂。 对结构化数据的支持较好,而半结构化数据不够重视,数据源参与集成 的程度不高。 查询处理效率低、数据传输量大。 不能解决多平台的异构性、缺少灵活性、不能实现数据的远程操作。 对网络连接的依赖性强等。 w 3 c 定制的x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 和针对x m l 的x o u e r y 查询标 准为解决这些关键技术和不足提供了新的契机。x m l 具有内容的自描述性、跨平台 性、内容和显示分离、可扩展性等特点,为数据访问和交换提供了一种新的模式, 使描述各种格式的数据成为可能。基于x m l 的各种技术不断涌现,x m l 将成为一种 新的数据互操作的标准。 利用这些新技术以及领域应用的需要,本文提出了一个基于x m l 的模式集成方 案并设计了一个基于x m l 的异构数据源集成平台框架。与其他异构数据源集成系统 相比,它最大的特点在于: 使用x m l 作为集成层的公共数据模型的描述语言,大大简化了各数据源 数据模式与全局数据模式的转化工作。 不同于异构数据库集成系统,它除了可以集成d b m s 管理的数据外,还可以 集成非数据库系统管理的数据,例如文件系统、x m l 数据、w w w 上的数据。 1 华北电力大学硕士学位论文 采用x q u e r y 实现基于标准接口用统一的方式查询x m l 全局和局部视图 提高查询处理效率及系统的可扩展性。 1 3 本文的主要工作 论文研究和分析了异构数据源集成体系结构,在此基础上,选用典型的 m e d i a t o r w r a p p e r 体系结构作为异构数据集成平台框架的体系结构。论文将x m l 技 术应用于数据集成,设计了基于x m l 的数据集成平台框架,给出了该框架体系结构 各模块的实现策略,并研究其中的关键技术:模式集成和查询处理。论文对模式集 成技术的一些国内外学术成果进行了研究,剖析了其中存在的问题。在已有数据源 集成系统理论和技术基础上,采用x m l 作为集成公共数据模型的描述语言,改进了 已有模式集成方法,结合x m l 作为数据模型描述语言的优势,将x m l 技术应用于模 式集成,生成符合x m l 标准的全局模式和模式映射规则,为全局查询处理奠定了基 础。论文还分析了查询处理过程,并借鉴已有技术,详细描述了x q u e r y 到s q l 的 映射方法及查询结果转换成x m l 的方法。主要工作归结为以下几点: 设计基于x m l 的数据集成平台框架,实现其中关键部分。 模式集成研究:将x m l 技术应用于模式集成,改进已有模式集成方法,实现 数据源模式到全局模式的映射。 查询处理研究:分析查询处理过程,重点实现x o u e r y 到s q l 的映射及查询结 果的x m l 化。 华北电力大学硕士学位论文 第二章数据集成体系结构 目前有很多种集成异构数据源的体系结构,主要的也是最常见的有三种:联邦 数据库、m e d i a t i o n 和数据仓库。根据数据集成系统接收的查询是发送到数据源还 是查询预处理好的数据,把这三种体系结构分成两组。如果接收的查询是发送到数 据源,这种方法就是虚拟视图( v i r t u a lv i e w ) 方法,另外一种就是物化的 ( m a t e r i a l i z e d ) 方法,即数据仓库法。在比较这两种方法前先介绍这两种方法。 2 1 虚拟视图法 采用虚拟视图法实现的数据集成系统,当用户向该系统提交查询请求时,系统 根据命令操作数据源中的数据,所以称这种方法为l a z y 方法。采用虚拟视图法集 成数据源主要有两种体系结构,一种是联邦数据库系统,另一种是m e d i a t e d 系统。 2 1 1 联邦数据库系统 联邦数据库系统( f e d r a t e dd a t a b a s es y s t e mf d b s ) 是由参与联邦的半自治的 数据库系统组成,目的是实现数据库系统间部分数据的共享”1 。联邦中的每个数据 库的操作是独立于其它数据库和联邦的。之所以叫“半自治”是因为联邦中的所有 数据库都添加了彼此访问的接口。 联邦数据库系统分紧耦合f d b s 和松耦合f d b s 两种。 紧耦合f d b s 有一个或几个统一的模式,这些模式可通过模式集成技术半自动 生成,也可通过用户手工构造。要解决逻辑上的异构,就需要领域专家决定数据库 模式间的对应关系。由于模式集成技术不易添加删除联邦数据库集成系统中的数 据库,所以紧耦合f d b s 通常是静态的,且很难升级。 松耦合f d b s 没有统一的模式,但它提供了一些查询数据库的统一语言。这样 f d b s 中的数据库更具有自治性,但必须用户解决所有语义上的异构。由于松耦合 f d b s 没有全局模式,所以,每个数据库都要创建自己的“联邦模式”。 f d b s 中实现互操作最常用的方法是将每个数据库模式分别和其它所有数据库 模式进行映射,这样的例子如图2 1 所示。这样联邦中需要建立n ( n 1 ) 个模式映射 规则,但当参与联邦的数据库很多( n 值很大) 时,建立映射规则的任务变得不可行 了。所以,联邦数据库集成系统适合于自治数据库的数量比较小的情况,而且,希 望数据库能够保持“独立”,允许用户单独查询,数据库间能够彼此联合回答查询 华北电力大学硕士学位论文 的情况。对于网络上越来越丰富的数据源,f d b s 显然不是一个很好的解决方案。 图2 1 联邦数据库体系结构的例子 2 1 2m e d i a t e d 系统 m e d i a t e d 系统通过提供所有异构数据源的虚拟视图来集成它们,这里的数据源 可以是数据库、遗产系统、w e b 数据源等等。该系统提供给用户一个全局模式( 也 叫m e d i a t e d 模式) ,用户提交的查询是针对该模式的,所以用户不必知道数据源的 位置、模式及访问方法。 m e d i a t i o r 体系结构与紧耦合联邦有如下不同之处: m e d i a t e d 系统可以集成非数据库数据源。 基于中介器( m e d i a t o r ) 的系统中的数据源的查询能力可以是受限制的, 数据源可以不支持s q l 查询。 m e d i a t e d 系统中的数据源是完全自治的,这就意味着很容易向从系统 中添加删除数据源。 由于m e d i a t e d 系统中的数据源是自治的,所以对系统中数据源的访问 通常是只读的,而f d b s 支持读写访问“1 。 查 图2 2m e d i a t e d 系统体系结构 图2 2 所示的是典型的m e d i a t e d 系统体系结构。该系统的主要部分是中介器 6 华北电力大学硕士学位论文 和钊对每个数据源的包装器( w r a p p e r ) 。这里中介器的功能是接收针对全局模式生 成的查询,根据数据源描述信息及映射规则将接收的查询分解成每个数据源的子查 询,再根据数据源描述信息优化查询计划,最后将子查询发送到每个数据源的包装 器。包装器将这些子查询翻译成符合每个数据源模型和模式的查询,并把查询结果 返回给中介器。中介器将接收的所有数据源的结果合并成一个结果返回给用户。 2 2 物化方法 物化方法也就是数据仓库法,该方法需要建立一个存储数据的仓库,由 e t l ( e x t r a c t ,t r a n s f o r m ,a n dl o a d ) 工具定期从数据源过滤数据,然后装载到 数据仓库,供用户查询。与虚拟视图法相对应称这种方法为e a g e r 方法。数据仓库 体系结构图2 3 所示。 f十 用户奇询+l 结果 图2 3 数据仓库体系结构 与虚拟视图法相似的是用数据仓库集成异构数据源也需要异构统一的数据视 图,但不同的是e t l 工具过滤得到的数据存储到仓库中。而与传统的数据库不同的 是数据仓库中主要存储的是历史和汇总数据,用于决策支持,主要供分析或执行等 人员使甩,而且为避免数据仓库与数据源中数据出现不一致,通常不允许用户对数 据仓库进行更新。 、 2 3 虚拟集成与数据仓库 数据集成在很大程度上是基于这两个相对的方法。数据仓库和虚拟数据集成系 统主要的不同是“e a g e r ”和“l a z y ”的对抗( 如图2 4 ) 。如上所述,数据仓库方 华北电力大学硕士学位论文 法需要建立一个存储数据的仓库,定期对数据源中的所有信息进行预处理,形成符 合仓库模式的信息,然后下载数据到数据仓库对数据源中信息的预处理及数据仓 库的更新主要是通过e t l 工具。这种方法的主要好处是查询处理性能高,但主要缺 点是数据可能不是最新的,如果仓库模式设计成静态的,当有新数据源加入或己有 数据源发生变化时对仓库的修改代价比较高,而且创建数据仓库比较费时费力,通 常需要61 8 个月的时间”1 。 画 + 对全局 画 式的查 图( a ) 数据仓库 图( b ) 虚拟数据集成系统 图2 4 数据仓库与虚拟数据集成系统对比 虚拟视图集成方法用于数据仓库不实用或不能解决的情况,例如:用户只需i 方 问数据源中- - d , 部分数据、数据频繁更新、需要实时数据、提供数据方只能处理有 限的查询或全局模式本身经常改变的情况。在完全的虚拟数据集成中,全局模式是 一个逻辑的或虚拟的实体,系统根据数据源相关信息将针对该模式的查询在系统运 行时动态重写成针对每个实际数据源的查询,中介器通过包装器获得数据,然后整 合,返回给用户。 在实际的数据集成解决方案中多采用虚拟视图集成的方法,该方法定义了一 个或多个中介模式( m e d i a t e ds c h e m a ) ,通常指全局模式。这些模式是用来查询数 据,而不是存储数据,数据仍保存在局部数据源中。当用户向集成系统提交一个查 询,系统会将该查询翻译成针对各个数据源的查询集,然后将结果整合返回给用户。 针摸询 j 华北电力大学硕士学位论文 应用这种解决方案得到的查询结果是最新数据。而且x m l 的出现使得对各种数据信 息的标准化描述成为可能,使系统更易于适应数据源间的不同。 虚拟视图集成优于数据仓库之处是:1 ) 它能够集成那些只允许对数据进行有限 访问的数据源:支持数据的实时视图;能够同时描述中介模式的多个版本。2 ) 适合 集成系统中的数据源数量很大,而且或者数据源更新频繁,不可预知用户需要查 询什么信息的情况。虽然虚拟视图集成方法要以一定的性能作代价,因为每次查询 都要连接数据源,如果有些数据源实际位置距中介器很远,则可能出现响应延时, 但是创建数据集成系统很快,而且在中介器中增用缓存策略可解决这一问题,优化 系统性能。 比较基于虚拟视图方法的两种体系结构:联邦和m e d i a t i o i l 。实际应用中 m e d i a t e d 方法更常见。由于联邦系统中的所有数据源都要添加彼此访问的接口,所 以需要编写大量接口程序,为此该体系结构目前不常用。 本文考虑到电力领域的电力数据库,分布在各个变电站,而且数据更新频繁, 尤其在用电高峰期。并鉴于以上对数据集成各体系结构的分析比较,认为 m e d i a t o r w r a p p e r 体系结构是最适合电力数据集成平台的。在该结构中,中介器提 供给用户查询异构数据源全局视图的统一接口。包装器实现了统一查询到实际数据 源查询的转换,查询结果形式的统一。同时引入x m l 技术,可有效解决数据格式的 统一问题,方便包装器的设计与实现。 2 4 本章小结 本章主要分析了数据集成三种主要的体系结构:联邦数据库、m e d i a t i o n 和数据 仓库,并分析比较了它们相应的集成方法:虚拟视图法和数据仓库法。在此基础上 比较了三种体系结构的优缺点,选择m e d i a t o r w r a p p e r 体系结构作为电力数据集 成平台框架的结构。 华北电力大学硕士学位论文 第三章数据集成平台框架 目前,电力领域内各地区、各部门应用系统的开发和建设大多是各自完成,所 采用的计算环境有着不同的硬件平台、网络环境、后台数据源等,形成了复杂的异 构环境。每个部门或单位就是一个数据源,每个数据源都是异构的,每个部门都有 自己的数据库服务器或者数据库文件,存在着管理系统、数据结构、数据表示等的 差异。构建在其上的应用系统千差万别,缺乏信息的交流和知识的共享,重复开发 现象严重。但是同一领域内的各个系统之间虽然有很大差异,却存在很多共性,特 别是领域内的数据,虽然表现形式多种多样,但其内容是相同或相似的,利用传统 的软件开发方法会使领域数据越来越难以统一,并且无法进行信息交互,因此需要 采用新的技术来集成领域数据,以提高软件开发的效率和质量,实现系统的集成。 数据集成的目的是提供一个访问异构数据源的统一接口,使用户不必考虑数据模型 的异构性、数据抽取、数据合成等问题“1 。电力数据集成平台提供了用统一方法查 询领域内多个异构数据源的自动化方法。通过创建描述电力领域的全局模式,把领 域内的数据源映射成全局模式的视图。用户对全局模式提出查询请求,数据集成平 台把查询分解成针对数据源的查询,由数据源执行查询,然后系统智能的处理查询, 通过网络并根据相应的数据源信息、网络情况及其他因素读取数据,将结果整合后 返回给用户。 数据集成平台的使用方便了用户的丌发与应用,他们只需指定想要什么,而不 必考虑怎样得到答案。不必去找相关的数据源,不必用特别的接口去操作每个信息 孤岛,也不必合并多个数据源中的数据,这些都由数据集成平台来完成。 3 1 平台框架的设计 3 1 1 目标 电力数据集成平台框架的设计目标主要有以下几点: 1 ) 能解决数据的异构性问题,使不同格式、不同数据管理系统中的数据能 够相互交流和转换。 2 ) 使应用系统能够统一、透明、高效地访问和操纵网络环境中各种分布、 异构的数据资源,使电力系统领域内的各部门能够方便地管理和访问位于不同硬件 平台、操作系统、网络协议和数据管理系统中的数据,快速地将数据资源转化为信 息资源。 l n 华北电力大学硕士学位论文 3 ) 保持己有系统的自治性,在进行数据集成的同时不能影响已有系统的正 常运行。 4 ) 具有较好的可扩展性和适应性,能够适应应用需求的不断变化,可以实 现数据源的即插即用。 3 1 2 体系结构 通过前面第二章的分析比较,本文选择虚拟视图的方法集成电力数据,选择 m e d i a t o r w r a p p e r 体系结构作为电力数据集成平台框架的整体结构,在该结构中, 中介器提供给用户查询异构信息源集成视图的统一接口。包装器实现了统一查询到 实际数据源查询的转换,查询结果形式的统一。本文选择x m l 作为公共数据模型 的描述语言,x m l 的优势( 充足性、条理性、可扩展性及与平台无关等特性) 使其成 为支持集成数据模型的最佳选择,通过应用x m l 及其派生技术( x q u e r y ,x m ls c h e m a , d o m ,s a x ,s o a p ,x s l ) 可广泛集成不同数据格式的数据源,而且多个客户端工具能 通过统一接口通信。此外,局部数据源用x m l 作视图隐藏了每个系统的局部特性, 而且,x m ls c h e m a 模型的充足性简化了包装器的映射,同时,功能强大的x m l 统一 查询语言x q u e r y ”1 的出现使采用统一的方式查询x m l 全局和局部视图成为可能。所 以,鉴于上述优势,本文将x m l 技术引入到数据集成平台框架的研究,采用x m l s c h e m a 描述数据模型,以统一的方式查询异构数据源,提高了系统的可扩展性、复用性以 及与平台无关等特性。 平台框架的整体结构如图3 1 所示。 应用层 中介器 包装器 信息层 图3 1 集成平台框架整体结构 1 l 华北电力大学硕士学位论文 中介器( m e d i a t o r ) :主要由查询分解器、查询优化器和查询执行引擎组成。它 通过x d b c 统一接口接收用户应用提出的x q u e r y 请求,负责将全局查询分解成 针对每个数据源输出模式的子查询,并有效地将子查询传送到相应的数据源包 装器,通过统一接口得到x m l 形式的结果片断,处理合并这些结果片断后通过 x d b c 接口将结果返回给用户。 包装器( w r a p p e r ) :负责查询执行引擎与底层数据源间的通信,包括访问关系 d b m s 的s q i ,包装器,访问任意应用的自定义包装器和访问w w w 的特别设计的h t m l 包装器。包装器接收中介器发送来的子查询,将其转换为数据源能够处理的查 询,并将查询结果转换成x m l 形式返回给查询执行引擎。 x d b c ( x m ld a t a b a s ec o n n e c t i v i t y ) 统一接口:平台结构中处理查询的所有构件 都可通过x d b c 访问。x d b c 接口由支持x o u e r y 和x m l 的j d b c 风格客户端接口组 成,是j d b c 接口针对x m l 文档的改编。该接口是访问包装器、中介器的统一接 口。所以,x o u e r y 查询可通过统一接口提交到中介器或s q l 包装器。因此x d b c 既是输入接口也是中介器和包装器的接口。 x d b c 基本功能如下: x o u e r y 数据源的连接管理( 包括中介器和包装器) ; 支持x m l 查询和更新( 本文主要描述该接口的查询处理部分) ; 获取作为查询结果的x m l 片断; 返回描述数据源的x m ls c h e m a 。 3 1 2 1 中介器 这部分描述中介器,它提供了多异构数据源的一个统一视图和用x q u e r y 语言 的查询访问功能。为实现这一目标,中介器肩负着管理数据源和处理查询的任务。 子构件包括x q u e r y 解析器、查询分解器、查询优化器、查询执行器、x m l 缓存、元 数据管理器和结果重组器。 如图3 2 所示是中介器的体系结构。x d b ca p i 是外部构件的唯一接口。所以 中介器通过x d b c 传输请求到包装器并通过它得到结果。而且,结果由x d b c 提供, 通过s a x 阅读器读取。所以,在中介器和包装器间传输的是事件流,避免了分配中 间存储结构而产生高消耗。 华北电力火学硕士学位论文 c xdbcapi x q u e r y o 解析器 竺里垒垂兰查 查询分解器 子盘咆扣求 查询优化器 查询计划 结果重组器 x m l 缓存 查 饲 执 行 引 擎 图3 2 中介器体系结构 x d b ca p i :它是中介器和包装器接收外部查询、传输x m l 结果的公共a p i 。这个 接口提供管理构件( 启动和停止连接) 和返回数据或元数据的功能函数。 解析器:用于检查查询语句的语法,如果查询语法正确,那么解析器解析查询生 成查询结构。否则,返回错误提示。 查询分解器:根据数据源描述信息及映射规则将针对全局模式的查询分解成针 对每个数据源输出模式的查询,数据源描述信息来自元数据仓库。分解是对全 局查询的进一步操作。 查询优化器:查询优化器是根据元数据仓库中的数据源描述信息及统计信息将 分解后的查询转换成查询执行计划,然后发送给查询执行引擎。该计划指定不 同查询操作的顺序( 如连接、选择的顺序) 、指定每个操作所用代数的顺序( 如顺 序合并连接或哈希连接) 及不同操作符的调度顺序。查询优化是查询处理过程为 提高性能所必需的步骤,在本文不作重点讨论。 查询执行器:执行器负责接收查淘计划,通过x d b c 传输子查询到包装器并将收 集的结果存入x m l 缓冲内存中,结果形式是x q u e r y 中r e t u r n 子旬设定的形式。 有时,结果不完全存入缓存,而是将其生成s a x 事件交由重组器直接处理。 结果重组器:结果重组器将缓存中分散的查询结果整合成用户需要的形式,然后 发送给用户。结果是用x m l 描述的,它可以以文本的形式在不同网络及操作平 台间传输。 元数据管理:管理所有注册了的数据源的模式,维护每一个数据源相关的可查询 的路径集的集合名字。这个路径集是一种数据向导,给出数据源中所有路径的 概述,如果没有给定路径就不能进行查询。路径集是在注册数据源的时候由包 装器给出,用命令x d e s c r i b e 获得,存放在元数据仓库中。 华北电力火学硕士学位论文 元数据仓库:存储模式集成和查询处理过程中用到的一些基本信息,如数据源描 述信息、数据源路径集、输出模式和全局模式描述以及模式f 司的映射规则等。 数据源描述指出数据源的内容( 如包含电流表) 、属性( 站码、时间、电流等) 、 完整性和可靠性、查询处理能力( 能处理选择查询还是能处理任意s o l 查询) 及 数据源可能的输出结果等。 3 1 2 2 包装器 包装器主要的任务是包装数据源的模式与数据。所谓包装模式就是把异构的数 据源用统一的模式显示出来,这部分内容将在关键技术研究中详细描述。所谓包装 数据就是将从各个数据源获得的查询结果转换成相同的格式。在电力数据集成平台 框架中包装器实现把针对数据源输出模式的查询翻译成实际数据源能够处理的查 询,并将获得的结果转换成x m l 形式。站在中介器的角度看包装器,它能够执行中 介器传来的针对一个确定数据源的查询,返回给中介器x m l 形式的结果。站在数据 源的角度看包装器,它相当与数据源的外衣,不影响数据源的本身,所以保持了数 据源本身的自治性。中介器是通过s a x 阅读器读取这些结果。 纵观现行应用系统的数据存储平台,以关系数据库管理系统( r d b m s ) 为主流, 所以本文以r d b m s 为重点研究对象。 图3 3 所示是s o l 包装器的体系结构。 结 x m l 果 j 转 山 换 x d b 器 k u :元数据仓库卜 查 o 询 翻 , x q u e r y o 泽 器 图3 3s q l 包装器体系结构 图3 3 中所示的元数据仓库和中介器中用到的是同一个。这里的查询翻译器负 责将x d b c 接口接收的x q u e r y 查询翻译成数据源能够处理的s q l 查询,根据是x q u e r y 到s q l 的映射方法,这部分作为关键技术在后面部分详细描述。结果转换器获取数 据源返回的查询结果,将其转换成符合条件的x m l 文档,通过x d b c 接1 :3 传送给中 华北电力大学硕二 学位论文 介器。 3 2 平台框架的实现策略 从实现的角度看,电力数据集成平台框架的组件由一些包组成,这些包负责将 全局查询分解成单个数据源的子查询,将予查询翻译成局部数据源能够处理的查 询,并有效传输到相应的数据源,然后通过s a x 接口得到x m l 形式的结果片断,处 理合并后返回给用户。全局查询和子查询一样都表示成x q u e r y 形式。此外,性能 和包装器相关,所以,中介器只发送支持的查询到包装器。中介器与包装器通过x d b c 同一接口通信,所以,中介器和包装器可以不在同一个地方。 电力数据集成平台框架基于j 2 e e 标准,采用j a v a 编程语言实现,利用其与平 台无关、复用性强等特点。采用x m l 作为集成模型描述语言,隐藏了每个数据源的 局部特性,而且,x m ls c h e m a 模型的充足性简化了包装器的映射。同时,使用功能 强大的x m l 统一查询语言x q u e r y ,使基于标准接口用统一的方式查询x m l 全局和局 部视图成为可能,以此来增强平台的整体性能。 3 2 1x d b ca p i 描述 如上所述,x d b c 接口有四个基本功能:( i ) x q u e r y 数据源的连接管理:( i i ) 支 持x m l 查询和更新;( i i i ) 获取作为查询结果的x m l 片断;( i v ) 返回描述数据源的 x m ls c h e m a 。为满足这四个基本功能,x d b ca p i 提供了一些接口和类,下面是一些 主要的接口、类: 接口: c o n n e c t i o n :与中介器、包装器及支持x q u e r y 的数据源连接 s t a t e m e n t :执行x q u e r y 语句,返回x m l 结果 r e s u l t d o c :访问查询结果接口,结果是由结果重组器产生的x m l 文档 类: c o n n e c t i o n m a n a g e r :管理连接 x m l w a r n i n g :提供连接中介器、包装器时的意外信息 3 2 2 解析器 解析器用于核对x q u e r y 的语法,如果没有语法错误,则发送到查询分解器, 若有错误,提示错误信息。本框架实现是借助x q e n g i n e 来解析x q u e r y ,用 s e n d x q u e r y 将无误的全局查询发送到查询分解器。 l5 华北电力大学硕士学位论文 3 2 3 查询分解器 查询分解器要完成的任务是将解析无误的全局查询分解成针对每个数据源输 出模式的子查询集,然后发送到优化器。这里得到的子查询仍是x q u e r y 形式。为 减少冗余,避免重复查询同一个数据源,给每个子查询添加了头信息。完成的步骤 是: 1 接收全局查询。 2 读取数据源描述信息文档,获得头信息。 3 根据头信息读取相应的映射规则。 4 根据映射规则分解查询,同时添加头信息。 5 发送子查询到优化器。 这里数据源描述文档和映射规则都是x m l 描述的实例文档,所以采用相同的读 取方法,用d o m 实现。 3 2 4 查询执行引擎 查询执行引擎接收来自优化器的查询执行计划,然后与包装器通信,将子查询 发送到相应的包装器,获取查询结果片断,由s a x 阅读器读入缓存,由结果重组器 整理合并,然后返回给用户。 3 2 5 包装器 数据源是通过基于x m l 的配置文件来管理的,数据源由统一接口x d b c 包装。 数据源的元数据是在配时加载的。元数据的配置借助集成工具( 模式集成研究中设 计的集成控制台) 实现,不需要每次连接都动态配置。包装的数据源通过x d b c 接口 支持x q u e r y 查询,主要任务是将x q u e r y 转换成针对每个数据源的查询,并将得到 的查询结果转换成x m l 形式。而且可以加入特殊包装器,只要符x d b c 接口标准。 对于x o u e r y 转换成s o l 的实现策略在第五章中会有详细的描述。 结果转换:将数据库查询结果转换成x m l 形式输出,用s a x 实现。 整个查询处理过程的主要实现类之间的关系如图3 4 所示。 与包装器相比,在查询处理过程中,中介器有三个主要的作用。首先,确定中 介器可处理的每一个查询的相关数据源的位置,是利用每个数据源的元数据信息来 确定查询中出现数据的位置。其次,中介器确定在执行过程中数据源的处理方式, 独立的数据源并行处理,相互依赖的数据源通过流水线( p i p e l i n e ) 访问。第三,中 介器决定查询对应的包装器。 华北电力大学硕士学位论文 y n r r 、 a p i c o n n e c t _ o ns t4 t e i n e n t r e s u i l d 。c c o n n e c t i 。n m a n a g e r ( m l w a m _ n g i 中介器包装器 c a l sr i ri1 c ”sr e w 血e c l a s sp a r s e rc l a s sq u e r t y d e c o m p o s e rl h s e n d q u e d 0 h _r 1 。 dxqlj e r y t 1 l i c w 唧芦t c l a s se x e c u t i o n e n g l n e | l j d b c 3 3 平台框架的特征 图3 4 主要实现类关系 基于x b l 的电力数据集成平台框架支持x q u e r y 的大多数特征。由上述框架可 以看出,数据集成平台的主要构件( 查询分解器、查询优化器、查询执行引擎和包 装器) 是通过接口通信的,而且采用了与平台无关的x m l 作为传输数据的载体,所 以各构件可以运行在相同的机器、相同的平台,也可以运行在不同的机器,不同的 平台上。 目前,许多研究项目将重点放在用关系模型或对象模型作为集成模型的逻辑数 据集成。多数项目在集成很多包括文档在内的异构数据源时有困难。数据集成平台 的主要目标是通过用x m l 作为交换格式,与有效的x q u e r y 处理技术相结合来解决 上述差异性和可扩展性问题。 电力数据集成平台框架有如下特点: 基于各种标准:利用j 2 e e 和x m l 标准,包括x q u e r y ,提高平台的通用性、 可扩展性。 用x m l 描述集成模型:通过应用x m l 及其相关技术( x q u e r y ,x m ls c h e m a , d o m ,s a x ) 可广泛集成不同数据格式的数据源,而且各功能部件间通过接口 通信,在很大程度上提高了平台的灵活性、可扩展性及与平台无关等特性。 实时查询处理:查询尽可能的分布到局部数据源,依据当前数据处理查询, 这样才能传输最新信息。查询执行构件能将x m l 数据存于缓存,这一过程 包含在查询处理过程中,有效避免数据丢失,提高了查询数据的有效性。 华北电力大学硕士学位论文 统一接口:符合j 2 e e 标准的x d b c 接口,提高了系统的可扩展性,当有特殊 数据源加入时只要添加符合该接口标准的包装器即可,在一定程度上实现 了数据源的“即插即用”。 方便,用户易接受:用户只需通过x d b c 接e l 就可以像操作一个数据源一样 操作所有底层数据源。 美中不足是这样做会降低系统的查询速度,因为每次查询都要连接数据源,有 时还会出现网络延时,所以会影响到性能。但与之带来的好处相比,这点代价是值 得付出的,而且随着计算机硬件、网络环境的改善及d b m s 的不断升级,查询速度 也会随之提高。 3 4 平台框架中的关键技术 模式集成和查询处理是平台运行的关键技术支撑。模式集成是指把不同的数据 源模式统一到一个一致的全局模式的过程,目标是产生全局模式和数据源模式与全 局模式间的映射规则。用户根据全局模式提出查询请求,平台服务根据映射规则分 解、优化、执行查询以及整合查询结果,所以模式集成的结果关系到系统查询处理 的性能和用户查询结果的正确性。 查询处理是将针对全局模式的查询映射成针对数据源模式的查询,并将查询结 果以x m l 形式返回给用户。这一过程的关键是避免查询分解冗余,优化查询执行计 划,保

温馨提示

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

评论

0/150

提交评论