(计算机应用技术专业论文)基于xml异构数据集成的研究.pdf_第1页
(计算机应用技术专业论文)基于xml异构数据集成的研究.pdf_第2页
(计算机应用技术专业论文)基于xml异构数据集成的研究.pdf_第3页
(计算机应用技术专业论文)基于xml异构数据集成的研究.pdf_第4页
(计算机应用技术专业论文)基于xml异构数据集成的研究.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

摘要 基于x m l 异构数据集成的研究 随着计算机技术舳发腥和刚络的普及,异构数据集成成为研究的热点之一。由于x m l 及其相关技术的发展和成熟,再加上x m l 自身所具有的独特优势,因此引入x m l 研究异 数据集成,具有重要的意义。 本文首先介绍了x m u ? j 结构化数据的背最知识以及目前异构数据集成的相关情况,在 此基础上设计开发了一个基丁x m l 异构数据集成的原型系统,并对原型系统的框架结构、 实现技术利特点分别给出了说明。接着,我们对研究工作做了具体介绍:引入x m l 加密技 术研究安全性,对x m l 加密利s s l 进行了分析比较,并给出了x m l 加密和解密的实现: 建立基t - x m l 的数据交换平台,用于结构化数据和j 卜结构数据之问的转换;基t - x m l 定 义馓据源视图的模型规则,对于结构化数据和半结构化数据能够进行很好的描述:基于x m i 。 定义全局视酗的模犁,我们所使用的全局视图为针对应用的全局视图,能够更,地满足实际 的需要:对查询重写、查询优化给出分析和实现的方法。最后,通过实例冶予说明验证。 莠键词:数据集成x m l ,x m l 加密,数据交换,查询重写 东南大学硕士学位论文基于x m l 异构数据集成的研究 a b s t r a c t w i t ht h e d e v e l o p m e n t o f c o m p u t e rt e c h n o l o g y a n dt h e p o p u l a r i z a t i o n o fn e t w o r k , h e t e r o g e n e o u sd a t ai n t e g r a t i o nh a sb e c o m eo n eo ft h eh o t s p o t sj nt h er e s e a r c h b e c a u s ex m la n d t h er e l a t e d t e c h n o l o g ya r ed e v e l o p i n ga n dm a t u r e ,a n dx m lh a ss p e c i a la d v a n t a g e s ,s oi ti s s i g n i f i c a n tt oi m p o r tx m l t or e s e a r c hh e t e r o g e n e o u sd a t ai n t e g r a t i o n t h i sp a p e rf i r s t l yi n t r o d u c e st h eb a c k g r o u n dk n o w l e d g eo fx m u s e m i - s t r u c t u r e dd a t a a s w e l la st h ek n o w l e d g e o f h e t e r o g e n e o u sd a t ai n t e g r a t i o na tp r e s e n t o nt h eb a s i so f t h ea b o v e ,w e d e v e l o pa nx m l _ b a s e dh e t e r o g e n e o u sd a t ai n t e g r a t i o np r o t o t y p es y s t e m ,a n dw ee x p l a i nt h e f r a m e w o r k ,i m p l e m e n t a lt e c h n o l o g ya n dt h es y s t e mf e a t u r o t h e nw ei n t r o d u c e o u rw o r ki nd e t a i l : w e i m p o r tx m le n c d , p t i o n t or e s e a r c hs e c u r i t y , c o m p a r ex m l e n c r y p t i o nw i t hs s l ,a n dg i v ea n i m p l e m e n t a t i o no fx m le n c r y p t i o na n dx m ld e c r y p t i o n ;b u i l dx m l b a s e dd a t ae x c h a n g ef i a t t ot r a n s f o r ms t r u c t u r e dd a t aw i t hs e m i s t r u c t u r e dd a t a ;d e f i n eas o u r c ev i e wm o d e lb a s e do nx m l w h i c hh a sag o o dd e s c r i p t i o nf o rs t r u c t u r e dd a t aa n ds e m i - s t r u c t u r e dd a t a ;d e f i n eag l o b a lv i e w ( a v i e w o r i e n t i n ga p p l i c a t i o n ) b a s e d o nx m l ;g i v ea n a n a l y s i s a n d i m p l e m e n t a t i o n f o r q u e r y r e f o r m u l a t i o na n dq u e r yo p t i m i z a t i o n f i n a l l y ,w ee x p l a i na n dp r o v et h e s er e s e a r c h e sb ye x a m p l e k e y w o r d s :d a t ai n t e g r a t i o n ,x m l ,x m l e n c r y p t i o n ,d a t ae x c h a n g e ,q u e r y r e f o r m u l a t i o n i i y 6 446 7 9 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导r 进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加咀标注和致谢的地方外,论文中不包含其他人已经发表或撰写 过的研究成果也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的i 司志x d 本研究所做的任何贡献均已在论文中作了明确的说明并表示了讶 意。 研究生签名: 甚d ! 煎f 期:垒盟! 东南大学学位论文使用授权声明 东南大学、中幽科学技术信息研声所、国家| 呈| 书馆有权保刚本人所送交学似论文的复印 件利电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内释和纸 质沦义的内容相一致。缘在保密期内的保密论文外,允许论文被查阅和借测,可以公布( 包 括刊登) 论文的仝部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 研究生签名:送d :氇 导师签名口期:洲 变亘查兰堡主兰堡垒墨 量王兰竺! 墨塑壑塑堡堕塑型鉴 1 1 引言 第一章引言 随着计算机技术的发展,许多企业、单位内部逐步实现了业务和信息的计算机管理,并 在发展过程中积累了大量数据,由于历史和现实的原因,不同企业、单位甚至在它们内部, 采用的数据管理系统也大不相同,从简单的文件数据库到复杂的网络数据库,这就构成了一 个巨大而复杂的异构数据环境,根据i d c 的报告,在全球摄大的1 0 0 0 家企业中,平均都有 1 4 个数据库和4 8 个应用系统,而且随着市场的变化、客户需求的变化企业还在不断地增 加它的数据库和应用系统。而且,目前许多企业和单位都在推行信息化建设,其中关键点就 在于异构数据的集成和共享,即实现将关键的准确的数据及时地传输到相应的决策人手中, 为企业和单位的运作决策提供数据。因此如何实现异构数据的集成,已成为目前迫切需要面 对和解决的闷题。 异构数据集成的首要任务是要为集成系统设计一个公共模型,过去的异构数据集成系 统,例如多数据库系统( 如c i m s 中的多数据库系统) 或联邦数据库系统通常采用关系或对 象的数据模式作为全局模式,然而,它们已不能满足网络时代系统庵用的标准。一般来说, 异构数据集成的全局模式必须满足:( 【) 能够描述各种数据格式,无论其是结构化的还是 p 结构化的,无论其是否支持所有的查询语言还是简单的文本查向。( 2 ) 易于发布和进行数 据交换,集成后的数据可以方便的以多种格式发布和便于应用交换数据。而这些必需条件正 是x m l 所具有的独特优势,随着x m l 及其相关技术和应用的发展,x m l 成为应用间交换 数据的一种标准,也是w w w 重要的信息交换标准和表示的技术之,引入x m l 技术研究 异构数据集成,成为目前研究的热点。 1 2 国内外相关研究 许多著名的异构数据集成研究都引入了x m l 相关技术,例如i b m 的t s i m m l s 项目, g a r l l c 项目以及s i m s 和m o m i s 项目等项目。 对于x m l 数据集成的研究目前有三种观点:x m l 出版,视图级的数据集成,基r 映 射的数据集成。 x m l 出版( x m l p u b l i s h i n g ) 2 , 3 1 主要针对各异构数据源为关系数据痒的睛况,将这些 数据发布成x m l 形式,x m l 出版的关键就是获得关系数据库上的x m l 视图。x m l 出版 在数据集成中( 特别是芙系数据库) 有良好的应用前景同时它也存在一些不足:山版过程 复杂出版需受到行业标准约束等代表系统有s i l k r o u t e ,x p e r a n t o 等。 在视图级的数据集成中,模式之间的映射由类似于s q l 的视图定义语言来描述,并且 引入了x m l 关系代数,基于关系代数建立操作模型,这类数据集成中。模式映射一般只能 由手工完成,工作量较大,再加上x m l 本身的嵌套非规范模型,因此它难以用于较大规模数 据集成应用的需要代表系统有m i x ,y a t , t u k w i i a 等, 基于映射的数据集成是指用简单对应关系来描述模式联系的数据集成,通常借助模式匹 配技术自动,半自动的完成集成任务,能够增强集成系统的灵活性和易用性,不足是模式映 射的能力有限,模式匹配的难点在于模式不能完全反映数据源的语义情况,凡是牵涉到语义 的情况报难完全自动化的,代表系统有x v l e m e c l i o 等。c l i o 与x y l e m e 方法都是以简单的 东南火学颂士学位论文 基于x m l 异构数姑集成的研究 映射来描述模式之间的联系,在重写全局奇i 旬时,解决了模式映射特有的二义性问题,各有 优缺点。 1 3 研究工作和目标 本文完成的研究工作有; ( 1 ) 建立一个基于x m l 韵数据交换平台。 ( 2 ) 基于x m l 提出并建立了数据源视图,全局视图的模型规则。 ( 3 ) 对查洵重写和查询优化进行分析和设计。 ( 4 )引入x m l 加密研究异构数据集成系统的安全性。 ( 5 )初步实现一个基于x m l 异构数据集成的原型系统。 研究目标:与国内外的相关研究相比,充分考虑资源管理的权限问题,并期望在安全性、 有效性、合理性方面的研究上有所突破。 1 4 本文内容和结构 第一章 第二章 篇三章 “引言”,介绍本文的研究背景、研究目标、研究内容以及本文的结构。 “背景知识”,对x m l 及其相关技术与半结构化数据的相关知识进行了简要概 述,并介绍了数据集成的一些基本内容。 “基于x m l 异构数据集成的分析”介绍了原型系统的基本框架和采用的主要 技术,并且设计了处理全局信息的知识库。 第四章“基丁x m l 异构数据集成的安全性研究”,对于t l s s s l 和x m l 加密进行了 讨论,并重点介纠x m l 加密的实现。 第五章“基丁 x m l 异构数据集成关键技术的研究”,研究了数据交换、数据源视幽、 全周视图、查询重写和查询优化等内容。 第六章“结束语”,对我们的研究工作进行总结和展望。 2 变亘查堂婴兰! 兰垡丝兰 茎主茎竺兰墨塑堑塑生堕塑望 塑 第二章背景知识 在本章中,我们首先介绍了x m l 和半结构化数据等基础知识,然后介绍了异构数据集 成的基本概念,面临的问题以及基本技术等内容。 2 1 x m l 简介 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 ) ”是万维网协会( w 3 c ) 创建的一组规范,它的 设计动机是要克服h t m l 的种种不足,将文档规范化,并赋予一定的语义,同时保留h t m l 所具有的简单、易于传输和浏览的优点。因此,x m l 最终以s g m l 子集的形式出现,集s g m l 和h t m l 的优势于一身。 2 1 1x m l 现状与特点 总体来说x m l 是一种元标记语言( m e t a - m a r k u pl a n g u a g e ) ,可提供描述结构化数据 的格式,具体来说,x m l 是一种类似于h t m l ,被设计用来描述数据的语言。 x m l 文档由成为实体的存储单元组成,实体可以包含解析数据或未解析数据。解析数 据由字符组成,其中一些字符组成字符数据,另一些字符组成标记,标记中包含对文档存储 格式和逻辑结构的描述。 目前,w 3 c 设定了几个工作组专门讨论与x m l 相关的技术,x m l 标准还在迸一步完 善和发展之中,与x m l 标准相关的工作包括: 1 ) x m l c o r e w o r k i n g g r o u p :关于x m l 自身的规范。 2 ) x m l l i n k i n gw o r k i n gg r o u p :包括x m ll i n k i n gl a n g u a g e 和x m l p o i n t e rl a n g u a g e 等。 3 ) x m l q u e r yw o r k i n gg r o u p :关于x m l 查询语言。 4 ) x m l s c h e m a w o r k i n g g r o u p :关于模式的需求规范。 5 ) x m l e n c r y p t i o nw o r k i n gg r o u p :关于x m l 安全。 这些研究1 2 1 ;都是对x m l 标准有益的补充和完善,也在本文的相关设计中加以应崩。 x m l 主要包含3 个元素:d t d ( d o c u m e n tt y p ed e f i n i t i o n ) s c h e m a ( 模式) 、x s l ( e x t e n s i b l es t y l e s h e e tl a n g u a g e 可扩展样式语言) 和x l i n k ( e x t e n s i b l el i n kl a n g u a g e 可扩 展链接语言) 。d t d 规定了x m l 文件的逻辑结构,定义了x m l 文件中的元素、元素的属 性以及元素和元素的属性之间的关系,x m l s c h e m a 给x m l 加入了描述数据类型的能力: x s l 定义了x m l 的表现方式,使得数据的内容与数据的表示方式相互独立:x l i n k 进一步 扩展了目前w e b 上已有的简单链接。 x m l 主要优点如下: ( 1 ) 良好的可扩展性 众所周知,各个不同的行业会有不同的特殊要求,要想定义套各行各业能够普遍应用 的标记非常困难。x m l 允许各个不同的行业根据自己的需要制定自己的一套标记,例如:化 学标记语言c m l ,数学标记语言m a t h m l 。这就使得该领域中的人们可以自由交换信息,而不 用担心接收端的人是否有特定的软件来查看信息。 ( 2 ) 内容和形式相分离 x m l 文档用于描述数据及其相互之间的关系,x s l 和c s s 用于表现其内容,这样,间 东南人学龋: 一学位论文 綦于x m l 异椅数据集成的例究 一内容可以根据实际要求呈现多种表现形式,用户可以自行定制数据显示方式。 ( 3 ) 遵循严格的语法要求 h t m l 的语法要求并不严格,浏览器可以显示有语法错误的h t m l 文件。x m l 有严格 的语法要求,制定了一整套基本要求,例如:x m l 文档必须有且只有一个根元素,标记要 配对出现,每个元素都必须有起始和结束标记等。x m l 非常注重准确性,如果语法有丝毫 错误,分析器都会停止对它的进一步处理。这样,保证x m l 文档具有较好的可读性和可维 护性。 ( 4 ) 便于不同系统之间信息的传输 当前的计算机世界,不同企业、不同部门中存在着许多不同的系统。操作系统有 w i n d o w s 、u n i x ,数据库系统有s q ls e r v e r 、d b 2 等,在这些异构的平台、数据库之间传 输信息,比较剀难。由丁x m l 是非专有的并易于阅读和编写就使得它成为在不同的鹰州问 交换数据的理想格式。 ( 5 ) 具有较好的保值性 x m l 的保值性来源白s g m l 语言s g n l 最初设计的一大目标就是要为文档提供5 0 年以上 的寿命。s g i l 和x m l 不但能够长期作为一种通用的标准,而且很容易和其它格式的文档转 换。 2 1 2x m l 相关技术 ( 1 ) d t d 和s c h e m a d t d ( d o c u m e n tt y p ed e f i n i t i o n ,文档类酗定义) 是一套关于标记符的语法规则,最 初是为s g m l 开发的,它可以是x m l 文档的一部分,但是它通常是一份单独的文档或者一系 列文档。x m l 本身并没有一个通用的d t d ,想使用x m l 进行数据交换的行业或组织可以自行 定义它们自己的d t d 。 d i 、d 规定了一个语法分析器用于解释一个“有效的”x m l 文档所需要知道的所有规则的 细廿。一个d t d 可以是内部的,包含在一个“格式良好的”x m l 文档中( s t a n d a l o n e = ”y e s ”) , 也可以是外部的,作为一个外部文档被引用( s t a n d a l o n e = ”n o ”) 。 d t d 标记声明可咀是元素类型声明,属性表声明,实体声明,或符号声明: 1 ) 元素类型声明e t d ( e l e m e n tt y p ed e c l a r a t i o n ) 不但说明了每个文档中可能存在 的元素,给出了元素的名字,而且给出了元素的具体类型,声明形式: 2 ) 属性表声明用于详细说明与给定元素类型相关联的每一个属性的名字、数据类型和l 缺省值,声明形式: 3 ) 实体声明定义了实体名和对应的实体值,从而提供通过应用包含x m l 文档信息的方 法,声明形式: 4 ) 符号声明赋予符号一个名字用_ 丁二实体中,给“= 一个符号的外部标志符使x m i 处理器 或它的客户应用可以定仿能以给定符号处理数据的助理应用,声明形式: 作为x m l l 0 规范的重要组成部分,d t d 对于x m l 文档的结构起到很好的描述作削是 近j l 年来x m i 技术领域所使用的最j 1 泛的一种模式。但是,它也有一些缺点,如:采用非 x m l 的语法规则、支持数据类型有限、扩展性较差等。因此w a c 丁2 0 0 1 年5 月止式推荐x m i 。 s c h e m a 为瑚l 的标准模式。显然,w 3 c 肴望以x m ls c h e m a 作为x m l 模式描述语言的主流, 4 东南火学硕士学位论文 基于x m i 。异构数据集成的研究 并逐渐代替d t d 。s c h e m a 的优点: 1 ) 一致性。s c h e m a 本身就是x m l 文档使得对x m l 的定义不必再利用一种特定的形式 化语言,而是直接借助x m l 自身的特性,是的x m l 达到从内到外的完美统一。 2 ) 扩展性。s c h e m a 对d t d 进行了扩充,从而使其具备较强的可扩展性,比如引入了数 据类型、命名空问等。 3 ) 互换性。用户可以根据需要设计适合自己应用的s c h e m a ,并且可以同其他人交换彼 此的s c h e m a 。通过映射机制,可以将不同的s c h e m a 进行转换,实现更高层次的数据交换。 4 ) 规范性。同d t d 一样,s c h e m a 也提供了一套完整的机制以约束x m l 文档中标记的使 用,相比之下,s c h e m a 更具规范性,它定义了x m l 文档的整体结构,元素间的关系等。 5 ) 易用性。处理x m l 时,我们经常使用d o m 和s a x ,它们只对x m l 文档有效而对d t d 无能为力。 从上我们可以看出,x m ls c h e m a 比d t d 具有更强的表现力,能够更好地满足不同领域 应用的需求。但是d t d 仍然有它的适用范围和优势,短期内不可能被x m ls c h e m a 完全替代: 厂- 泛的l 具支持所有的s g m l 和许多x m l l :具都支持d t d ;广泛的应用有很多文件形式 都支持:j 泛的经验- - d t d 应用多年,人们在实践中已积累了许多相芙经验。 在本文所研究的内容中,多数情况f 还楚使用d t d ,具体验证实现借助j :s h x p a r s e r 进 行解析。 ( 2 ) x s l 与x s l t x s l ( e x t e n s i b l es t y le s h e e tl a n g u a g e ) 是描述x m l 文档样式信息的一种语言,x s l 是通过x m l 进行定义的,遵循x m l 语法规范,是x m l 的一种具体应用。它由两部分组成:第 一部分描述如何将一个x m l 文档进行转换:第二部分定义了格式对象f o ( f o r m a t t i n g o b j e c t ) ,在输出时,首先根据x m l 文档构建源树,然后根据给定的x s l 将这棵源树转换为 可以显示的结点树,这个过程称为树转换。然后再按照f 0 分析结果树,产生一个可在屏幕 或其它媒体中输出的结果,这个过程称为格式化。 x s l 与c s s ( c a s c a d i n gs t y l es h e e t s ) 都属于祥式表的一种。其中c s s 是一种静态的 样式描述格式,本身不遵循x m l 的语法规范:x s l 本身就是一个x m l 文档,系统可以使用同 一个x m l 分析器对x m l 文档及其相关的x s l 文档进行分析处理。 x s l 这个样式语言自提出以后争议颇多,特别是f o 部分x m l 经过x s l 尤其是f o 的转 换,输出的内容中很可能语义尽失。因此,至今还没有一个多方认可的f o ,但是描述树转 换的这一部分协议却日趋成熟,已从x s l 中分离出来,并为它取了新名字x s l t ( x s l t r a n s t o r m a t i a d s ) 。 x s 。t 的转换流程为:先用x m l 分析器将x m l 文档分析成d o m 对象,相当于建立r 原文 档的一个节点树。然后用x m l 分析器分析x s l 文档,用模板匹配的方法遍历x m l 节点树,将 树中的节点按模板的设定转换为模板指示的显示语言。 ( 3 ) x m l 链接 x m l 链接扩展了h t 札链接的功能,可以支持更为复杂的链接,包括文件之间的链接和 文件内部的链接,x m l 链接规范分为三个部分:x l i n k 语言、x p o i n t e r 语言和x m lb a s e 。 x l i n k 是描述在资源间进行链接的语言,在x m li 0 标准中规定的i d 和 d r e f 类型属 性就是用于建立简单链接关系,x l i n k 对这种基本功能进行了不同方面的扩展,包括:x l i n k 可以声明多个资源之间的关系:x l i n k 可以明确地将元数据和链接相结合;x l i n k 提供附加 函数。x l i n k 的个重要应用是用于超文本链接,简单的类似于h t m l 中的a 元素,x l i n k 中定义的链接近远超出了目前使用的h t m l 链接,x 【,i n k 可以有多个链接终点,可以在多个 资源之间实现多向的链接。 x p o i n t c r 提供了种用r 指向x m l 文档的内部结构的语言,支持在x m l 文们:中定位元 东南大学硕二l 学位论文 基于x m l 异构数据集成的研究 索、属性、字符串等内部结构。x p o i n t e r 基于x s l 转换中的x p a t h 语言,并在其基础上进 行了扩展,可以使用在需要定位的任何地方。 x m lb a s e 类似于h t m l 链接中的b a s e 元素,用于指定相对路径的基础路径,而且x m lb a s e 不仅限于x m l 链接领域,还可以用于其它指定相对u r i 的其它应用。 ( 4 ) d o m 与s a x 在稗序开发设计中,如果需要对x m l 文档进行访问与操作,必须通过能够识别x m l 语法 的分析器来实现w 3 c 以及x m i ,d e v 邮件列表的成员分别提出了两个标准的应川稗序接u : d o m 与s a x 。 1 ) d o m ( d o c u m e n co b j e c tm o d e l ,文档对象模型) ,最先州= 二d h t m l ,实际上就是h t m l 文档和x m l 文档的应川程序接口,它提供r 一种分层对象模型米访问x m l 文档中信息的方式, 这些分层对象模型依据x m l 文档的结构形成了一棵节点树。 d o m 作为w 3 c 的标准接口规范,由三部分组成:核心( c o r e ) 、h t m l 和x m l 。核心部分 是结构化文档比较底层对象的集合,已经可以表达出任何h t m l 和x m l 文档中的数据了,d o m 组成中的h t m l 接口和x m l 接口专为操作具体的h t m l 文档和x m l 文档而提供的高级接口,使 操作这两类文件更加方便。 一个x m l 分析器,在对x m l 文档进行分析之后,文档中的信息都会被转化成一裸对象h 点树。在这棵节点树中,有一个根节点- - d o c u m e n t 节点,所有其它节点都是根节点的后代。 如下所示的x m l 文档: ( d a t a b a s e 0 1 0 1 0 7 0 0 0 1 张三 男 该x b l 文档的d o l t 模型如图2 1 所示: 图2 1d o m 模型 在d o m 接口规范中,有四个基本的接口:d o c u m e n t ,n o d e ,n o d e l i s t 以及n a m e d n o d e m a p 。 6 东南人学顺、卜学位睑文 摹干x m l 异构数掘集成的研究 其中,d o c u m e n t 接口是对文档进行操作的入口,是从n o d e 接口继承过来的。n o d e 接口是其 它大多数接口的父类,如d o c u m e n t 、e l e m e n t 、a t t r i b u t e 、t e x t 羽lc o 瑚m e n c 等接口都是从 n o d e 继承过来的。n o d e l i s t 接口是一个节点的集合,它包含了某个节点中的所有子节点。 n a m e d n o d e m a p 接k i 也是一个节点的集合包含节点名和节点之间的一一映射关系。 2 ) s a x ( s i m p l ea p if o rx m l ,x m l 简单应用程序接口) 是一组事件驱动的用于x m l 文 档的a p i ,这个接口规范是x m l 分析器提供的更底层的接口,能够给应用程序提供更大的灵 活性。 s a x 分析器中主要的a p i 接口有以下几种: s a x p a r s e r f a c t o r y :用来按照系统属性中的定义创建一个分析器 i 勺实例。 p m s e t :定义了类似s e t d o c u me c l t h a n d ie i 的方法来创建事件创建处理函数,也定义 rp a l l s e r ( u r l ) 方法米对x m l 文档进行实际的分析, 作。 d o c u m e n t h a n d l e r :当分析器遇到m l 文档中的标记时,就会激活该接口中的 s t a r t d o c u m e n t e n d d o c u m e n t ,s t a r t e l e m e n t 以及e n d e le m e n t 等方法,另外,c h a r a c t e r s 疗法以及p r o c e s s i n g is t r u c t i o n 方法也是在d o c u m e n t h a n d i e r 接口中实现。 e r r o r h a n d l e r :当分析器遇到不同的错误时e r r o r h a n d l e r 接口中的e r r o r , f a t a l e r r o r 或者w a r n i n g 方法就会被激活。 d t d h a n d l e r :处理d t d 中的定义。 e n t i t y r e s o l v e r :当分析器要识别由u r i 定义的数据时,就会调用该接口中的 r e s o l v e e n t i t y 方法。 d o m 和s a x 两个接口标准之所以是并存的,正因为两个接口所要实现魄目标不同,能分 别满足不同的应用需求,各有优缺点。 一般来说,处理较小且需要复杂操作的x m l 文档使用d o m ,对于大量的,操作简单的x m l 文档使用s a x 。 2 1 3x m l 相关工具介绍 伴随着x m l 技术本身的成熟和应_ | f = | 领域的不断扩大,相关的工具也不断铍开发出米,从 另一方面米说一l 具的实用性与易用性决定了技术本身的实用程度,f 面简单介绍一r 开发 过程中借助的一些工具。 ( 1 ) x m l 编辑工具- - x m ls p y x b ls p y 是i c o ni n f o r m a t i o n s y s t e m s 公司钓产品,提供集成开发环境i d e ,但不支持 所见即所得。它支持u n i c o d e 、多字符集,支持w e l l f o r m e d 和v a l i d a t e d 两种类型的x m l 文档,可编辑蕊l 文档、b t d 、s c h e m a 以及x s l t 。它的最大特点是提供了四种视窗:x m l 结 构视窗、增强表格视窗、源代码视窗和支持c s s 和x s l 的预览视窗。结构视窗以树型结构编 辑x m l 文档( 包括x m l 、x s l 、d t d 文档) :增强表格视窗以表格的方式显示山文档中的某一 项元素的数据库项;源代码视窗可以查看和修改文档源码,并且以不同的颜色标注不同的元 素:预览视窗采用内嵌i e 的方式在软件内对x 札文档进行浏览,支持c s s 和x s l 。 ( 2 ) x s l 编辑t 具一e x c e l o ns t y l u s e x c e i o ns t y l u s 是e x c e l o n 公司开发的第一个可视化x s l 编辑软件,集创建、管理平 保存于一体的集成环境。j = j 户可以快速、简便地创建xs l 样式单,并且可以稂方便地进行调 试,使用s l y l u e 可以进行x m l 商务开发。 ( 3 ) x m l 分析工具一i b mx m l 4 j x m l 4 3 完全用j a v a 开发的,是目前功能比较全面的支持有效性检查的x m l 分析器。它遵 循m u q 标准,遵循最新的d o m 、s a k 和命名空问的标准,提供多语言支持,提供源代码、 7 东南人学硕士学位论文 基于x m l 异构数据集成的刊究 示例利文档支持x m l 的有效性检查,可高效支持元素识别、d o m 创建和错误处理等。另外 t b m 还有使用c 十+ 编弱的x m l 分析器,称为x m l 4 c 。 2 1 4 x m l 和j a v a 的结合 j a v a 和i x m l 有不少相似之处i s :( 1 ) 都是用于分布式系统中x m l 设计州于w e b 中, j a v a 用网络来发布程序。( 2 ) 都是从复杂的语言中简化而来的,j a v a 从c 十+ 发展而来的, 完全实现了面向对象,x m l 从s g m l 发展而来的,是它的一个子集。( 3 ) 平台独立,操作 系统独立工作于h t t p 之上。 从技术上说,两种技术都很好,但都有各自的局限性。j a v a 要求开发者自行安排网络数 据格式及其表示格式,并要求使用类似j s p ( j a v a 服务器网页) 这样升不真正分离数据层与表 示层的技术。而x m l 只是元数据,如果脱离了类似解析器和x s l 处理器这样的程序,电 就起不到什么作j = j 了。 x m l 和j a v a 技术上有许多互补的特性,两者的结合将形成一个强大的数据共享和处理 的平台。一方砸,x m l 能以一种开放而中立的方式定义数据和文档,当然还需要开发能处 理这些数据或文档的应川:另一方面j a v a 平台提供了一个统一的计算环境,特别是司移植 的j a v a 代码能通过网络r 载到任伺一个j v m 上。而且x m l 与j a v a 技术的结合基丁它们刊 有的协作性,因此当j a v a 和x m l 结合使用时,完全可以弥补现在应剧程序发展中的不足。 j a v a 这个跨平台的开发环境,加上x m l 这个跨平台的数据格式,可以结合成一个最佳 的跨平台解决方案,正如j a v a 带来了一种完全可移植的编群语言一样,x m l 带来了一种完 全可移植的数据格式。实际上,正是因为有了x m l ,j a v a 的目标才得以实现,s u n 公司甚 至提出了“j a v a + x m l = 可移植代码+ 可移植数据”的口号。 一般米说x m l 适用于平台独立、易提取信息的文档和数据的处理,j a v a 适用于平台独 立、易于处理的面向对象的应用软件解决方案。我 f :l 系统设计中选崩的主要开发语言就是 j a v a 。 2 2 半结构化数据 随着信息技术的发展信息的种类和形式越来越丰富,大体可以分为三类:第一类信息 能够用数据或统一的结构加以表示,我们称为结构化数据,如传统数据库:第二类信息根本 无法用数据或者统一的结构表示,如图像、声音乃至网页等,我们称为非结构化数据:第一三 类是介于前两类之间的数据一部分是结构化的,一部分是非结构化的,我们称为二i l 结构化 数据,如e - m a i l 数据,收件人、主题、发件人等是结构化数据,而邮件的文本正文是非结 构化数据,x m l 文档也属于半结构化数据。 摄近几年,随着网络的广泛应用,半结构数据使用越来越广泛,在数据集成系统中必须 加以考虑。一般来说,半结构化数据具有以下特点【6 j : ( 1 ) 模式信息是隐含的。 尽管有一定的结构,但是结构和信息混在一起,没有显式的模式定义,例如比较典型的 h t m l 文件。 ( 2 ) 结构不规则。 同样的数据信息可以有若干种符台逻辑的描述层次和结构,并且对具体的某个信息也可 能会采用不同的类型米表示。 ( 3 ) 没有严格的类型约束。 童燮堂堡兰堂竺兰苎 苎士兰坚! 墨塑墼塑叁垡些型塞 半结构化数据没有一个预先定义的模式,数据在结构上的不规则,导致缺乏对数据的严 格定义。 半结构化数据的模式与传统的关系数据模式或面向对象数据模式区别在丁- : ( 1 ) 先有数据,后有模式。 ( 2 ) 不对数据结构进行强制性约束,只描述数据的结构信息。 ( 3 ) 半结构化数据的模式只能描述数据部分结构的非精确模式。 ( 4 ) 随着被描述对象数据的不断更新而动态变化。 目前,针对、p 结构数据的研究很多,提出了许多访问处理半结构化数据的数据模型和符 询语言,这些研究成果逐步支持x m l 数据访问,现有的查询语言主要有w e b s q l 、w e b o q l 、 w e b l o g 、s t u q l 、u i i x e s 、p e n e l o p e 和w 3 q l 等,它们各有优缺点。 对于半结构数据的处理t 我们没有创建一种新的半结构化数据模型和鸯询模型,相反地, 我们选用x m l 作为标准的数据模型和j 数据表示语言,对于其它半结构的数据,可蛆通过数 据转换来获取。 2 3 异构数据集成 异构数据集成是数据库领域的经典问题,广泛存在于目前应用系统中,随着x m l 技术 的兴起和成熟,它再次成为一个热点。 在研究异构数据集成前,先介绍几个基本概念。 2 3 1 基本概念的介绍 异构数据”是一个含义丰富的概念不仅指不同的数据库系统之间的数据是异构的,如 o r a c l e 平i is q ls e r v e r 数据库;而且还包括不同结构的数据之间的异构如结构化的s q l s e r v e r 数据库数据和半结构化的x m l 数据。 信息集成,模式集成,数据集成这三个概念相互联系,不同的概念所研究的侧重点不同。 信息集成是个广义的概念,它包含很多分支,例如信息抽取,数据清洗,模式集成和 数据集成等。 模式集成就是把两个或者多个模式集成为一个模式,主要用于( 数据) 模式设计。有待 集成的模式可能是由不同的数据模型表示的,集成过撑中,一般先把它们用公共模型表示, 然后识别它们之间存在的各种冲突并加以处理,最后台并成新的模式。这过程既可手动完 成,也可机器辅助完成。 数据集成;屏蔽各种异构数据间的差异,对各种异构数据提供统一的操作,使集成后的 异构数据对用户来说是统一的和无差异的。狭义上来说,在讨论数据集成中,并不考虑模式 集成等其它问题,并假设全局模式已经存在( 可能由模式集成而米,可能根据特定的应用需 求设计,可能根据数据视图定义推导) 。我们这里主要研究数据集成的相关问题对 二目前 的数据集成系统,绝大部分数据源的数耀属于异构数据,因此通常我们所说的数据集成就指 异构数据集成。 2 3 2 数据集成面临的问题 通常数据集成面临以下几个问题 ( 、) 异捣性 9 东南人学硕十学位论文 基于x m l 异构数据集成的 i j f = 究 系统异构:数据所依赖的应用系统、数据库管理系统乃至操作系统之间的不同。 模式异构:数据在存储模式上的不同一般的存储模式包括关系模式、对象模式、对豫 关系模式和文档嵌套模式等几种,其中关系模式为主流存储模式。需要注意的是,即便是同 类存储模式,它们的模式结构可能也存在着差异。例如o r a c l e 所采用的数据类型与s q l s e r v e r 所采用的数据类型并不是完全一致的。 ( 2 ) 完整性 异构数据集成的目的是为应用提供统一的访问支持,因此集成后的数据必须保证一定的 完整性,包括数据完整性和约束完整性两方面。 数据完整性是指数据的正确性,一致性和相容性。 约束完整性,约束是指数据与数据之间的关联关系,是唯一表征数据间逻辑的特征。保 证约束完整性是良好的数据发布和数据交换的前提,可以方便数据处理过程,提离效率。 ( 3 ) 集成内脊限定 多个数据源之间的数据集成,并不是要将所有的数据进行集成那么如何定义要集成的 范陶和权限,就构成了集成内容的限定问题。 ( 4 ) 语义冲突 信息资源之间存在着语义上的区别这些语义上的不同可能引起各种冲突,例如,从简 单的命名冲突( 如同名异义,同义异名) ,到复杂的结构语义冲突( 不同的模式表达同样的 信息) ,语义冲突将会使数据集成变得复杂化。所以如何尽量减少语义冲突也是数据集成的 一个研究热点和难点。 ( 5 ) 权限冲突 由于需集成的数据可能归属不同的单位或部门,因此如何在访问异构数据基础上保证原 有数据的权限不被侵犯就成为集成异构数据必须面对的现实问题。 以上这些问题是相互联系、相互制约的,不应该简单地孤立对待。 2 3 3 数据集成分析 ( 1 ) 数据集成系统的实现方法 目前,人们研究的关于数据集成方案的很多各不相同。但就其基本方法来说,大体上 可归为两类p ,- ”】:仓库法( t h e w a r e h o u s i n ga p p r o a c h ) 和虚拟法( t h e v i r t u a la p p r o a c h ) 。 仓库法:建立一个数据仓库,将参加集成的各数据源的数据副本,按照一个集中、统一 f 勺视图要求,转换成符合数据仓库的模式,并存入数据仓库,同时,系统将提供对该数据仓 库的查询机制。这种方式的优点是既可用于数据集成,又可用丁决策支持:缺点是数据更新 不及时、数据重复存储,比较适用于简单系统中。使用的技术主要涉及如何有效的加载数据, 增量维护数据等。结构如图2 2 所示: 0 查塑盔堂塑! :兰堡丝兰 苎! 兰塑! 量塑塑塑塞些盟堕塑 图2 2 仓库法集成系统结构 虚拟法:也称为中间件法( m e d i a t o r ) ,在这种方式下,数据存储位置保持不变,集成 系统仅提供一个虚拟的集成视幽以及对这个集成视图的查啕处理机制,用户针对集成视幽提 山商嘟集成系

温馨提示

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

评论

0/150

提交评论