




已阅读5页,还剩49页未读, 继续免费阅读
(计算机应用技术专业论文)数字化校园数据集成的关键技术研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 近几年来,在“2 1 1 工程”及相关计划的推动下,数字化校园建设也有了重大进展。各 大高校在网络基础设施、信息系统建设方面日益完善。一方面,这些信息系统都是各个部门 根据自己的业务需要独立开发,采用的数据库系统不同,使用的开发技术也不同,因为在开 发的时候缺乏全局的考虑,既没有统一的数据标准,也没有统一的访问接口。使得这些系统 之间彼此分离,成为彼此独立的“信息孤岛”;另一方面,高校各部门之间对数据的共享和 交换需求却日益强烈为了解决这个问题,迫切需要对现有数据进行集成。 本文针对数字化校园的现状,在研究现有数据集成方案和关键技术的基础上,提出了数 字化校园数据集成支撑平台( d i g i t a lc a m p u sd a t ai n t e g r a t i o ns u p p o r tp l a t e f o r m ,简称 d c d i s p ) 的整体框架,设计并实现了部分核心功能。d c d i s p 向下为各异构数据源提供统 一的数据集成接口,向上为各个应用系统提供统一的共享数据使用接口。 本文利用j a v a 和j d o m 实现了b s 模式的异构数据源集成,突破了利用数据集成工具 进行数据集成的c s 模式的局限性,使得d c d i s p 具有跨平台,方便的特性;引入了t a m i n o 数据库系统,在t a m i n o 原有体系结构的基础上进行了相应的扩展,利用t a m i n o 提供的完 整的数据库功能实现了对元数据和基础数据的管理、利用t a m i n o 提供的x m l 接口方便地 实现了对异构数据源的访问和数据存取;d c d i s p 基于x m l 和t a m i n o ,具有良好的通用性 和可扩展性 关键词:数字化校园,数据集成,弛儿,j d o u ,t a m i n o a b s t r a c t r e c e n t l y , u n d e r t h e p r o m o t i o n o f 2 1 1 p r o j e c e a n d t h er e l a t e d p t o g r a t m ,s i g n i f i c a n t p r o g r e s s h a sb e e nm a d eo i lt h ed i g i t a lc a m p u sc o n s t r u c t i o na c r o c h i n a a sw e l l - e s t a b l i s h e dn e t w o r k i n f r a s t r u c t u r e sa n di n f o r m a t i o ns y s t e m sa r ed e v e l o p e di ne v e r yu n i v a - s r y , d a t ai n t e g r a t i o na p p e a r s ac r i t i c a l t e c h n o l o g ya t t h i s s t a g e f i r s t l y , t h o s ei n f o r m a t i o ns y s t e t mw e r ed e v e l o p e d i n 蛳d e n t l yb ye a c hi n d i v i d u a ld e p a r t m e n ta n di n s t i t u t ei nt h eu n i v e r s i t yu s i n gd i f f e r e n tk i n d s o fd a t a b a s es y s t e m s , d e v e l o p i n gt e c h n o l o g i e s w i t hn oc o n s i d e r a t i o no fi n t e g r a t i o nb e f o r e h a n d , t h ed e v e l o p e ds y s t e m sa r ei s o l a t e df r o me a c ho t h e rb e c a u s et h el a c ko fac o n 蚰d a t as t a n d a r d a n dp o r ts y s t e m s e c o n d l y , t h ee m e r g i n gn e e df o rd a t a s h a r i n ga n de x c h n n g i l l ga m o n gt h e d e p a r t m e n t sa n d i n s t i t u t e s c a l l s f o r t h e n w t e c h n o l o g y o f d a t a i n t e g r a t i o n i nt h i st h e s i s ,is t u d i e dt h ec u r n ts t a t u so ft h ed i g i t a lc a m p u sa n dt h ed a t ai n t e g r a t i o n t e c h n o l o g y b a s e do nt h ec u r r e n t l ya v a i l a b l ed a t ai n t e g r a t i o ns c h e m e sa n dt h ek e yt e c h n o l o g i e s ,i d e s i g n e dt h ef r a m e w o r ko f t h ed i 武a lc a m p u sd a t ai n t e g r a t i o ns u p p o r tp l a t f o r m ( d c d i s p ) a n d i m p l e m e n t e dp a r to ft h ec o l ef u n c t i o n d c d i s pp r o v i d e su n i f i e dd a t ai n t e g r a t i o np o r t sf o rt h e h e t e r o g e n e o u s d a t a s o u n m a n d u n i f i e d d a t as h a r i n g p o r t s f o r t h ea p p l i c a t i o ns y s t e m s t h e i n t e g r a t i o n o f t h e h e t e r o g e n e n m d a t a $ o t l r 0 8 i sr e a l i z e d i n b s m o d e b y j a v a a n d d o m w h i c hi sn m c hm o r ea d v a n c e dt h a nt h ec o n v e n t i o n a lc sm o d eu s i n gd a t ai n t e g r a t i o nt o o l s i i n t r o d u c e dt h et a m i n od a t a b a s es y s t e m t h em a n a g e m e n to f t h em e t a d a t aa n dt h ee s s e n t i a ld a t ai s p r o v i d e db yt h ed a t a b a f u n c t i o no f t a m i n o a n dt h eh e t e r o g e n e o u sd a t as o t l r c 2 sc 勰b e 觚蟹e s s c d t h r o u g h t h e x m l p o r t b y t a m i n o c o n v e n i e n t l y b a s e d o n x m l a n d t a m i n o d c d i s p i s e n d o w e d w i t hv e r s a t i l i t ya n de x t e n d a b l i w k e y w o r d s :d i 舀忸lc a m p u s , d a t ai n t e g r a t i o n , x m l , j i x ) m , t a m i n o 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果。也不包含为获得中国农业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 研究生躲愿岛帆 年月日 关于论文使用授权的说明 本人完全了解中国农业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件和磁盘,允许论文被查阅和借阅,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。同意中国农业大学可以用不同方式在不同 媒体上发表、传播学位论文的全部或部分内容。 ( 保密的学位论文在解密后应遵守此协议) 研究生签名 导师签名 闳雨 时间:年月日 时间:年月日 中国农业大学研究生毕业论文第一章绪论 1 1 研究背景和意义 1 1 1 研究背景 第一章绪论 所谓“数字化校园札”,是指以网络为基础,利用先进的信息化手段和工具,实现从环境 ( 包括设备、教室等) 、资源( 如图书,讲义、课件等) 到活动( 包括教、学、管理、服务, 办公等) 的全部数字化,在传统校园的基础上,构建一个数字空间,拓展实现校园的实践和 空间维度,提升传统校园的效率,扩展传统校园的功能,最终实现教育过程的全面信息化, 从而达到提高教学质量、科研和管理水平与效率的目的 数字化校园涵盖了校园生活的五大领域【2 1 ,即数字化的环境、数字化的教学、数字化的 管理、数字化的科研、数字化的生活。数字化环境就是网络的基础支撑平台,包括两络的硬 件设施设备、支持系统和安全保障;数字化的教学就是在网络环境下构建一个虚拟的教学空 间,完成从老师备课、课堂教学、作业批改、辅导答疑、考试成绩评定、学生评价等一系列 教学活动;数字化的管理就是通过网络来实现管理手段的创新,达到提高办事效率和质量, 降低管理成本的目的;数字化的科研就是依托校园网络建立一个可聚合和共享资源的科技创 新平台,实现计算资源、存储资源、数据资源、信息资源和专家资源的全面共享,提高科研 整体水平;数字化的生活包括数字化的商务、娱乐、阅读等网络生活。 数字化校园既是国家发展对学校教育的要求【3 】,也是学校教育自身发展的需要,一个高 校数字化建设、运行的好坏,直接关系到学校在师生中、在社会上、在政府部门中的形象, 也影响着教学、科研和管理的质量和水平。 1 1 2 研究的意义 近几年来,在“2 1 1 工程”及相关计划的推动下,数字化校园建设有了重大进展。各大 高校在网络基础设施、信息系统建设方面日益完善,初步实现了网上办公、网上管理、网上 教学和网上服务,网络用户涵盖了教师、学生、职员等校内各类人群和无法计数的校外访问 者。 但是,由于数字化是一项新鲜事物,国内外都没有成熟的理论和通用的模式,因此在数 字化校园建设过程中也存在不少问题【4 】,这些问题的存在严重阻碍了数字化校园的进一步发 展。 以中国农业大学为例,经过长时间的信息化建设,校内各个部门都建立了各自的业务系 统,例如教务处有教务管理系统、网上教学平台;学生处有学生管理系统;科研处有科研管 理系统;人事处有人事管理系统;财务处有财务管理系统;国资处有设备管理系统;校办有 办公自动化系统等等。这些业务系统都是各个部门根据自己的业务需要独立开发或者独立购 买的;这些系统采用的数据库系统不同、使用的开发技术也不同。由于这些系统在开发的时 中国农业大学研究生毕业论文第一章绪论 候仅考虑了部门内部的业务需求,并没有考虑部门与部门之间的数据交换和数据共享的学校 层面的需求,因此,这些系统既没有统一的数据标准,也没有统一的访问接口,系统之间彼 此分离,成为彼此独立的“信息孤岛”但是这些系统之间又存在数据共享和数据交换的强 烈需求,例如:财务管理系统需要从人事管理系统获取人事信息;人事系统需要从教务系统 获取教师授课信息,要从科研管理系统中获取教师的科研信息等等。这些不同的系统中不仅 存在着大量的重复信息,而且随着各个业务系统的更新换代,系统和系统之间数据不一致的 现象也越来越严重。 综上所述,数字化校园建设发展到今天,面临的一个重要问题就是要对各个业务系统中 的数据进行集成,实现各业务系统之问的数据共享和数据交换,为全校教工、学生提供全方 位信息服务,为学校的决策提供有效的数据。 1 2 数据集成的研究现状 1 2 1 数据集成面临的问题嘲 数据集成的目标是要在保证局部数据源自治性的前提下,在全局上屏蔽掉数据源的异构 性,为用户提供一个统一、透明的访问方式,从而实现数据的共享和互操作 数据集成需要考虑和解决的主要问题如下: 1 已存性,即需要集成的数据库系统是已经存在的。 2 分布性,即需要集成的数据库系统分布在不同的物理地点 3 自治性,需要集成的数据库系统可以自主地决定与其他成员数据库系统的共享和协 作程度。具体表现如下: 各成员数据库系统的局部操作不因其参与数据集成系统而受影响。 各成员数据库系统的处理查询及其优化不受全局查询执行的影响。 各成员数据库系统的加入或离开不影响数据集成系统的一致性。 4 异构性,异构性可以分为两个方面:环境的异构和数据的异构。环境的异构主要体 现在不同的数据源有各自独立的运行环境,包括: 不同的硬件平台:设备可以是嵌入式系统、p c 、工作站、大型机或机器人; 外存储设备可以是硬盘、磁盘阵列或光盘库。 不同的系统软件:操作系统可以是各种版本的u n i x ,m i r c r o s o f iw i n d o w s 、 d o s ,m mo s ,2 、m a c i n t o s h 等。 不同的网络平台:网络系统可以采用e t h e m e t 、f d d i 或a t m ,网络协议可以 是现有的t i :p ,m 、嗍p x 以及今后可能出现的新的协议;网络拓扑可以是 星型、网状、环状等 不同的d b m s :d b m s 可以是关系型数据库,如o r a l e b ,s y b a s e 、s q l s e r v e r ; 也可以是网状数据库,如u n i s y s 即使是同样的d b m s ,也可能以多种方式来 描述它们的数据。 数据的异构主要包括数据模式异构和数据语义异构。数据模式异构是指数据在结构和组 2 中国农业大学研究生毕业论文第一章绪论 织上的异构,主要体现在数据类型定义、数据的标识和聚合方式等方面。数据语义的异构主 要表现在对数据的命名、计量单位、精度的差别和具有不同的完整性、安全性要求 1 2 2 国内外研究现状p 1 嗍 关于异构数据库集成,早期的解决方案多采取传统的多数据库系统。传统的多数据系统 根据有无全局模式以及各成员系统耦合的紧密程度可以大致分为两类:多数据库系统 ( m d b s ,m u l t i d a t a b a s es y s t e m s ) 和联邦数据库系统( f d b s ,f e d e r a t e dd a t a b a s es y s t e m ) 多数据系统是一种耦合度较强的数据库的联合,它一般具有全局模式,多数据用户只能通过 全局模式访问多个数据库中的数据。联邦数据库系统没有全局模式,各成员系统松散地耦合 在一起,通过一种多数据语言来管理对共享数据的访问。从集成的角度而言,多数据库系统 优于联邦数据库系统。传统的多数库系统有惠普实验室数据技术部开发的p e g a s u s 、u n i s q l 公司开发的u n i s q l m 、国内有东北大学提出的s c o p e c i m s 等等。 传统的多数库系统是一种能较好解决多个分布异构数据库系统的集成技术,它集成的异 构系统主要是数据库系统但是随着计算机网络的普及和w w w 的出现,许多需要集成的 数据并不是源自数据库系统,而是来源于各种文件系统,如w e b 页面、图片,音频、视频 等等,这些数据通常被称为半结构化数据或者无结构化数据。这是传统的数据集成技术无法 胜任的。因此,出现了扩展的多数据库系统。如:美国通用电信公司g t e 实验室开发的 d o m s 、美国斯坦福大学数据库研究室研制开发的t s i m m i s l o r e ,i b m a l m a d e n 研究中心的 g a r l i c 、华中科技大学研制的p a n o r a m a 等等。 从9 0 年代起,国际上的异构数据库集成系统多采用三层软件结构,即“b 架构”,这 种框架的最上层是应用,中间层是”协调器”,用来冲突消解和执行查询,最下层是”包装器”, 用来封装和转化局部数据源。典型的有s t a n f o r d 大学的t s i m m i s ,i b m 公司的g a r l i c ,法 国i n r i a 研究所的d i s c o 等。 这些系统各具特色,实现也很不相同,但这些系统都带有很强的个案特点,缺乏普遍意 义,在集成文件系统方面缺乏可操作性强的指导方法,对于数据源的描述等问题也缺乏统一 的理解。因此,数据集成领域仍存在广阔的研究和发展空间。 1 3 论文的研究内容和结构 1 3 1 研究内容 本论文的主要研究内容如下: 1 研究和分析现有数据集成方案的体系结构及其优缺点: 2 研究数据集成核心技术,主要是x m l 及其相关技术。 3 针对数字化校园的现状,分析和设计数字化校园数据集成支撑平台c d _ i g i t a lc a m p u s d a t ai n t e g r a t i o ns u p p o r tp l a t e f o r m ,简称d c d i s p ) 的整体架构及各模块功能,为各异构数据 源提供统一的数据集成接口,为上层应用系统提供统一的共享数据使用接口。 4 实现基于t a m i n o 的d c d i s p 。 3 中国农业大学研究生毕业论文第一章绪论 1 3 2 论文结构 论文共分六章。 第一章:绪论。介绍论文的研究背景和意义、数据集成的国内外研究现状,确定了本论 文的主要研究目标和内容。 第二章:数据集成方案分析。研究现有数据集成的常用方案,分析和比较这几种方案的 优缺点。 第三章:数据集成关键技术。介绍了数据集成相关的各种关键技术。是本论文的理论基 础。 第四章:d c d i s p 的分析与设计。提出d c d i s p 的整体架构,对d c d i s p 的各功能模块 进行详细分析与设计 第五章:基于t a m i n o 的d c d i s p 的实现。以异构数据库注册功能为例,给出d c d i s p 的部分实现。同时以综合查询系统的实现。说明d c d i s p 的具体应用 第六章:总结和展望 4 中国农业大学研究生毕业论文第二章数据集成方案分析 第二章数据集成方案分析 数据集成是把不同来源、格式、特点、性质的数据在逻辑上或物理上有机地集中,从而为企 业提供全面的数据共享 7 1 它的核心任务是要将互相关联的分布式异构数据源集成到一起,使用 户能够以透明的方式访问这些数据源i s j 集成是指维护数据源整体上的数据一致性、提高信息共 享的利用效率;透明的方式是指用户无需关心如何实现对异构数据源数据的访问,只关心以何种 方式访问何种数据例。 数据集成的难点主要体现在以下几个方面【1 叩1 j : 1 异构性:被集成的数据源通常是独立开发的,数据模型异构给集成带来很大困难,这些 异构性主要表现在:数据语义、相同语义数据的表达形式、数据源的使用环境等。 2 分布性:数据源是异地分布的,依赖网络传输数据,这就存在网络传输的性能和安全性 等问题。 3 自治性:各个数据源有很强的自治性,它们可以在不通知集成系统的前提下改变自身的 结构和数据,给数据集成系统的鲁棒性提出挑战。 目前,数据集成常用的方案有虚拟视图法、物化视图法和在这两种方案之上的综合集成方法。 2 1 虚拟视图法 虚拟视图法也称“模式集成法”,它的基本思路是,在构建集成系统时将各数据源的数据视 图集成为全局模式,使用户能够按照全局模式透明地访问各数据源的数据“2 1 这里全局模式是 一个虚拟的集成的数据视图,真正的数据仍保存在各异构数据源上。联邦数据库系统和中间件系 统是两种典型的使用虚拟视图法进行数据集成的体系结构。 2 1 1 联邦数据库 联邦数据库系统是多个半自治的数据库系统的集合,同时实现它们之间的互操作,从而为用 户提供本质意义上的数据共享i l ”。联邦数据库系统中的各个参与共享的数据称为成员数据库系 统,它们管理自己的数据,通常有较高的自治性每个成员数据库系统可以是集中数据库系统, 分布式数据库系统或者其他联邦数据库系统 联邦数据库系统又分为紧耦合联邦数据库系统和松耦合联邦数据库系统【7 】。紧耦合联邦数据 库系统使用统一的全局模式,将各数据源的数据模式映射到全局数据模式上,解决了数据源问的 异构性。这种方法的优点是集成度高,用户参与少;缺点是构建一个全局数据模式的算法复杂, 扩展性差。松耦合联邦数据库系统没有全局模式,但是提供统一的查询语言,将很多异构性问题 交给用户自己去解决。这种方法的优点是数据源的自治性强、动态性能好,集成系统不需要维护 一个全局模式:缺点是对数据的集成度不高。 在联邦数据库系统中,实现成员数据库之间的互访最直接的方法就是两两之间实现模式映 射。这种联邦数据库系统的体系结构如图2 - 1 所示。这种方法需要进行n ( n - 1 ) 次模式转化,显然 5 中国农业大学研究生毕业论文第二章数据集成方案分析 联邦数据库中的成员数据库越多就越慢。 2 1 2 中间件系统 图2 - 1 联邦数据库系统体系结构 中间件系统通过提供所有数据的虚拟视图来整合异构数据源。这些异构数据源包括数据库、 遗留系统和w e b 资源等等【l ”。中间件系统向用户提供全局模式即中间模式,用户的查询是基于中 间模式的,不必知道数据源的位置、模式或者存取方式。 一个典型的中间件系统体系结构如图2 - 2 。中间件系统主要包括一个中间件和n 个包装器, 其中每个数据源对应一个包装器。中间件接受用户在中间模式上提出的查询请求,将查询请求分 解为基于各数据源的子查询请求,发送给对应的包装器,并对此过程进行优化;包装器与其包装 的数据源进行交互,执行子查询请求,并将结果返回给中间件,中间件将这些结果进行集成返回 给用户 圈2 2 中间件系统的体系结构 6 中国农业大学研究生毕业论文 第二章数据集成方案分析 2 2 物化视图法 物化视图法也叫数据仓库法,在物化视图法中,各个数据源中的数据被复制到同一个地方即 数据仓库中。 数据仓库是一个用以更好地支持企业或组织的决策分析处理的、面向主题的、集成的、不可 更新的、随时间不断变化的数据集合【1 w 。 数据仓库具有以下四个特点【1 4 1 : 1 数据仓库中的数据是面向主题进行组织的,它与传统数据库面向应用相对应。主题是一 个在较高层次上将企业信息系统中的数据综合、归类并进行分析利用的抽象,每一个主题对应一 个宏观的分析领域。 2 数据仓库的主题是集成的。它是从原有的分散的数据源中抽取来的,数据源中的数据进 入数据仓库之前,要经过加工与集成、统一与综合。 3 数据仓库的数据是相对稳定的它反映的是一段相当长的时间内历史数据的内容。而不 是联机处理的数据,因而数据经集成后少有修改 4 数据仓库的数据是随时间不断变化的它的稳定是相对的,并不意味着从数据集成输入 数据仓库开始到最终被删除的整个数据生成周期中所有的数据永远不变。数据仓库随时问的变化 要增加新的数据内容。 数据仓库的体系结构如图2 - 3 所示这里整合器负责从数据源中抽取出数据,进行整理、组 织、加工、装载到数据仓库的目标数据库中,并可周期性刷新数据仓库以反映数据源的变化。 图2 - 3 数据仓库体系结构 7 中国农业大学研究生毕业论文第二章数据集成方案分析 2 3 综合集成法 如表2 - 1 所示,虚拟视图法和物化视图法都有各自的局限性:虚拟视图法对用户的请求处理 效率低、对网络的依赖性强同时实现起来算法也很复杂;物化视图法数据的实时一致性差。因此, 人们常常讲这两种方法混合在一起,取长补短,即所谓的综合集成法。综合集成法通常是想办法 提高基于中间件系统的性斛“】。 表2 - 1 虚拟视图法和物化视图法的比较 数据集成方案优点缺点适用对象 虚拟视图法 数据的实时一致性好对用户的请求处理效率 集成规模大、数据更新频繁、数据实时一 低;对网络的依赖性强;致性要求高;用户查询需求难以预测 实现的算法复杂 物化视图法对用户请求的处理效数据的实时一致性差数据源相对稳定、用户查询模式已之或有 率高;对网络的依赖性限;数据分布性较广,网络延时较大但处 弱理时间要求短 8 中国农业大学研究生毕业论文 第三章数据集成关键技术 第三章数据集成关键技术 数据集成的首要问题就是要选择一个合适的公共数据模型 7 1 。模型是客观世界的形势化 表示和抽象,用于描述、简化和规范化客观实体。在信息系统中,模型分为两类:数据模型 和处理模型。数据模型包括三个部分组成:数据类型和关系、操作符以及完整性约束。典型 的数据模型有关系模型、实体联系模型和面向对象的模型公共数据模型是( c d m :c m d a t am o d e l ) 是用来实现各异构数据库系统模型与全局系统模型之间的映射的,它是解决数 据集成中模式异构性的基础常用的公共数据模型包括扩展的实体一联系模型、扩展关系模 型和面向对象模型。 随着计算机技术的发展,数据集成的对象不仅包括数据库系统的数据,还包括非数据系 统的数据即半结构化数据和非结构化数据,例如:h t m l 文件、电子邮件、电子表格等, 这些数据要么没有显示的模式、要么模式无法预知,要集成这些数据,常用的公共数据模型 都不能胜任。因为在常用的公共数据模型中,元数据和数据是分开存放的,这种模型适合于 具有一定模式结构的数据源,而非数据库系统管理的数据,数据模式隐含于数据类型说明中, 没有显示的数据模式。 在x m l 出现之前,通常解决异构应用系统中数据集成和数据交换的办法是自己定义一 套特定的数据接口,将源数据库中的数据先以接口的格式导出,然后再重新导入到目的数据 库中,这种方法没有统一的标准,而且数据格式也不规范,造成重用性差,可维护性差等缺 点 3 4 1 。x m l 具有良好的数据存储格式、可扩展性、高度结构化,便于网络传输等特性嘲, 这些特性使得基于x m l 的公共数据模型能够集成多种不同数据源的信息,包括结构化和半 结构化数据,成为目前异构数据集成的关键技术。 3 1x m l 概述 “x m l 是s g m l ( s t a n d a r dg e n e r a l i z e dl a n g u a g e ,标准通用标记语言) 的子集,其目标是允 许普通的s g m l 在w e b 上以目前h t m l ( h y p e r t e x tm a r k u pl a n g u a g e ) 的方式被服务、接受和 处理。x m l 被设计成易于实现,且可以在s g m l 和h t m l 之间互相操作。”【l 习 相对于h t m l ,x m l 具有以下优点【1 6 1 : 1 x m l 是自描述的。x m l 允许用户根据不同的规则制定自己的标记 2 x m l 支持对文档内容的验证。 3 x m l 允许开发各种不同专业( 如音乐、化学、数学等) 的特定领域的标记语言 4 x m l 是非专有并易于阅读和编写的。是不同应用间交换数据的理想格式。 5 x m l 是基于w 3 c 定制的开放标准。从而使得基于x m l 的应用具有广泛性。支持 高级搜索。 一个x m l 文档是由声明、元素及其属性、注释、字符引用和处理指令组成,所有这些 都在文档中用显示标记指明。下面是一个良构的x m l 文档s t u d e n t x m l 。它是一个反映学生 基本信息的x m l 文档,它有一个s t u d e n t i n f o 根元素,该元素包含多个s t u d e n t 子元素,每 9 中国农业大学研究生毕业论文第三章数据集成关键技术 个s t i l d e n t 元素中有个s h a m e 元素、一个i n s t i m t e 元素和一个s p e c i a l w 元素,以及一个i d 属性。 李丽刮s n a n 】e 信电学院 h l 算机应用可s p e c i a l t y 叫s t i l d a 形, 宋裥s n a m e 生物学院叫i n s f m t e 3 2d t d 与s c h e m a d t d 和s c h e m a 是两种用来描述x l v i l 文档中信息结构的数据模型。在这两种模型中不 仅建立了x m l 文档中可以使用的咀。词汇表,还定义了x m l 文档中元素的顺序和元素 的嵌套关系的内容模型,并建立了文档数据的数据类型 3 2 1d t d d t d ( d o c u m e n t t y p e & f i n i f i o n , 文档类型定义1 列出了可用在文档中的元素、属性、实体和 符号表示法,以及这些内容之间可能的相互关系。下面是用来定义s t u d e n t x m l 文档结构的 d t d 示例。 ! e l e m e n ts m d e n t ( s n a m e 。i n s f i m m ,s p e c i a i 咿 d t d 分为外部d t d 和内部d t d 两种,内部d t d 在x m l 文件的序言部分进行定义: 外部d t d 存储在d t d 的文件里,可以被多个x i v i l 文件共享。d t d 具有三个基本用途【】对 标记编制文档;加强标记参数内容的一致性:使x m l 语法分析器能够确认文档。 1 0 中国农业大学研究生毕业论文第三章数据集成关键技术 啪具有以下几点局限性: 1 d t d 几乎完全没有数据类型的定义,特别是对元素的内容而言。即在d t d 中,一 切都是基于字符串的,无法将y e a r 表示为一个四位数字,也不能将m o n t h 表示为一个l 1 2 之间的整数。 2 d t d 的定义不符合x m l 语法。 3 d t d 只能有限的进行扩展,并且扩展得不是很好 4 d t d 的约束定义能力不足,无法对x m l 实例文档做出更细致的语义限制。 5 d t d 不够结构化,重用的代价相对较高 3 2 2s c h 踟a x m ls c h e m a 的出现弥补了d t d 的不足,) 。咀。s c h e m a 具有的功能如下: 1 丰富、强大的数据类型; 2 基于名字空问的u m 的有效性验证; 3 可扩展性和可伸缩性; 4 可重用性 w 3 c 于1 9 9 8 年开始制定x m ls c h e m a 的第一个版本,在2 0 0 1 年5 月正式由官方推荐。 x m ls c h e m a 文件保存在一个后缀为x s d 的文件中。下面是用来定义s t u d e n l x m l 对应的 x m ls c h e m a 文件示例。 x s d :e l e m e n tn a m e = :”s p e c i a l w t y p e = x s d :s t r i n g ”, 中国农业大学研究生毕业论文第三章数据集成关键技术 3 3d o m 、s a x 与j d o m 3 3 1d o n d o m 和s a x 技术是基于x m l 文档编程的主要技术基础。应用程序对x m l 文档进行 操作过程如下: 1 x m l 解析器对x m l 文档进行解析; 2 应用程序通过x m l 解析器提供的d o m 接口或s a x 接口对解析析结果进行操作, 从而间接地实现对x m l 文档的访问。 文档对象模型( d o c u m e n to b j e c tm o d e l ,d o m ) 是由w 3 c 提出的标准化的编程接口。 d o m 的工作原理如图3 - 1 所示1 1 ”。 m s x m l 库 1 r 睁 程 i v c p s o n = 栏 1 眇k1 。:,r营 序 或 脚 本 田3 - 1 _ 的工作原理 d o m 对x m l 文档进行操作时,首先要解析文档,将文档分解为独立的元素、属性和 注释等然后,它以节点树的形式在内存中创建xml 文档的表示。用户通过访问节点树, 可以动态地创建文档,遍历文档结构,对x m l 文档中的数据进行修改、移动、删除和插入 等操作。图3 - 2 就是s t u d c n l x m l 被加载之后在内存中存储的d o m 树。 围3 - 2s t u d e n t x b i 对应的0 0 h 树 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 。在这 四个基本接口中,d o c u m e n t 接口是对文档进行操作的入口,它是从n o d e 接口继承过来的。 n o d e 接口是其他大多数接口的父类,象d o c u m e t ,e l e m e n t ,a t t r i b u t e ,t c 吼,c o m m e n t 等 接口都是从n o d e 接口继承过来的。n o d e l i s t 接口是一个节点的集合,它包含了某个节点中 中国农业大学研究生毕业论文第三章数据集成关键技术 的所有子节点。n a m e d n o d c m a p 接口也是一个节点的集合,通过该接口,可以建立节点名 和节点之间的一一映射关系,从而利用节点名可以直接访问特定的节点。 在j a v a 中,使用d o m 访问x m l 文档的步骤如下: 1 建立一个解析器工厂,利用这个工厂获得一个具体的解析器对象。 姗t b u i l d e r f a c t o r yf a c t o r y = d o c u m e n t b u i l d e r f a c t o r y n c w i n s t a n c e o ; 2 获得一个工厂对象后,使用它的静态方法n c w t b u i l d c r o 方法获得一个 d o c u m e n t b u f l & r 对象,这个对象代表了具体的d o m 解析器。 d o c u m e n t b u i l d e r b u i l d e r = 缸t 0 哆m w d c 哪i i l e n t b 词d e r 0 ; 3 利用这个解析器来对x m l 文档进行解析。 d o c m n e n td o c = b u i l d e r p a r s e c s t u d e n t n c m l ”) ; d o m 是基于模型驱动的,它的优点是灵活,适合于结构化编辑x m l 文档,如排序、 移动、删除等;它的缺点是由于d o m 分析器把整个x m l 文档转化成d o m 树放在了内存 中,对系统资源的占用大,效率低,尤其是在处理大文档和结构复杂的文档时候。 3 3 2s a x s a x ( s i m p l e a p i s f o r x m l ) r p ) m 几简单应用程序接口与d o m 不同,s a x 提供的访 问模式是一种顺序模式,这是一种快速读写x m l 数据的方式当使用s a x 分析器对x m l 文档进行分析时,会触发一系列事件,并激活相应的事件处理函数,应用程序通过这些事件 处理函数实现对x m l 文档的访问,因而s a x 接口也被称作事件驱动接i :i t s a x 之所以被叫做”简单”应用程序接口,是因为s a x 分析器只做了一些简单的工作, 大部分工作还要由应用程序自己去做。也就是说,s a x 分析器在实现时,它只是顺序地检 查x m l 文档中的字节流,判断当前字节是咀,语法中的哪一部分、是否符合咀。语法, 然后再触发相应的事件,而事件处理函数本身则要由应用程序自己来实现。s a x 的工作原 理如图3 3 所示【”】。 田3 - 3s 舣的工作方式 从本质上说,s a x 是一种j a v a 接口,它能给应用程序提供较大的灵活性。s a x 提供了 a t t r i b u t e l i s t ,d o c u m e n t h a n d l e r ,d t d h a n d l e r 。e n t i t y r e s o l v e r 。e r r o r h d l e r ,l d c a t o r ,p a r s e r 等7 个接口及h a n d l e r b a s e ,i n p u t s o u r c e ,s a x e x c e p t i o n 和s a x p a m e e x c e p f o n 等4 个类。 s a x 是基于事件驱动的,与d o m 相比,它的优点是实现简单、对内存要求低、执行 效率高;它的缺点是不能对文档进行随机存取,缺乏灵活性。 中国农业大学研究生毕业论文第三章数据集成关键技术 3 3 3j d o m 为了克服d 伽和s a x 的上述性能缺陷,2 0 0 0 年初,j d o m 作为开源项目开始被开发项目宗 旨是构建一个完整的、基于j a v a 的解决方案,以便从j a v a f t 码访问、操作和输出x 1 4 l 数据时 就像使用j a v a i 吾言本身一样简单j d o m 项目一直是由世界各地注册至 j h t t p :j d o m o r g 的邮 件列表的j a v a 专家维护和更新的,因此,设计目标已经达到。2 0 0 4 年9 月发布了1 0 版,并作 为j s r1 0 2 规范请求被开发和审定j a v a 技术规范的开放性国际组织j c p ( j a v ac o m m u n i t y p r o c e s s ) 接纳,成为j a v a 平台扩展部分最终将要包含的内容【1 w 。 j d o m 主要由以下七个类包组成刚: o r g j i x ) m 包,包含a t t r i b u t e 、c d a t a 、c o m m e n t 、d o c t y p e 、d o c u m e n t 、e l e m e n t 、e n t i t y r e f , n a m e s p a c e 、p r o c e s s i o n g l m t x u c t i o n 、t e x t 等解析x 】v i l 文档是所需的数据类型类。 o r g j d o m w a n s f o n n 包,包含j d o m s o u r c e ,j i x ) m r e s u l t x s t l t r a n s f o r r n 等设计x s t l 格式转换是需要用到的类。 o r g j i x ) m i n p u t 包,包含s a x b u i l d e r 、d o m b u i l d e r 、r e s u l t s e t b u i l d e r 等创建n j v i l 文 档时需要用到的类。 o r g j d o m o u t p u t 包,主要用于文档转换输出,其中包括x m l o u t p u t t e r 、s a x o u t p u t t e r 、 d o m o u t p u t t e r 、y r r e e o u t p u t t e r 等类。 o r g j d o m x p a t h 包,支持x s t l 转换和x p a t h 查找。 o r g j d o m a p a p t e r s 包,包含了与d o m 适配的j a v a 类。 o r g j i x ) m f i l t e r 包,包含了沮。文档的过滤器类。 创建x 】v i l 主要用到o r g j d o m 包中的类,j d o m 操作方法类似d o m ,不过比d o m 更 加筒便。d o c u m e n t 、e l e m e n t ,a t t r i b u t e ,c d a t a c m e n t 等类提供了简单的方法,便于 开发人员创建规范的x m l 文档。 3 4x s i _ t x s l 和x s l t 是用于x m l 文本的转换和格式化的标准语言使用x s l ,用一个样式 单文件x s l t ,x 3 4 l 文本的信息就可以被转换成多种格式的输出。 x s l t 的工作原理如下: 首先必须需要有一个x s l t 处理器x s l t 处理器扫描整个x v l l 文档,将其转化成一 个节点树。 在将x a v i l 文档映射到节点树之后。x s l t 处理器使用x s l t 样式表处理各个节点。在 x s l t 样式表中,t e m p l a t e s ( 模扳) 规定了如何转换x m l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国铁路上海局集团有限公司合肥电务段外包用工招聘38名考试模拟试题及答案解析
- 2025年安徽省港航集团有限公司所属企业校园公开招聘5人备考模拟试题及答案解析
- 2025辽宁大连长兴岛经济技术开发区招聘社区工作者16人备考练习试题及答案解析
- 2025乌鲁木齐市第十一中学教师招聘考试模拟试题及答案解析
- 2025浙江台州三门县档案馆招聘编制外劳动合同用工人员1人备考考试题库附答案解析
- 2025四川南充市南部县引进“带编入企”人才10人备考考试试题及答案解析
- 2025年合肥肥西县高店镇中心学校招聘代课教师招聘5名备考练习试题及答案解析
- 2025云南楚雄州牟定县城镇公益性岗位工作人员招聘2人备考考试题库附答案解析
- 2025河南工业大学招聘(博士研究生)150人考试模拟试题及答案解析
- 2025延安新东康复医院招聘(20人)备考考试试题及答案解析
- 小学科学大象版四年级上册全册教案(共27课)(2022秋季)
- 2024-2030年中国集成智能功率模块(IPM)行业深度调查与发展趋势研究研究报告
- 职业技术学校《药物分析检测技术》课程标准
- 苏教版(2024年新教材)七年级上册生物全册教案
- 自动售货机投放合作合同2024版
- 医院院感检查表格全套汇总
- 动漫手办制作课
- 《现代控制理论》(刘豹-唐万生)
- 食品包装用纸盒企业标准
- 12D10 防雷与接地工程
- 小学生作文方格纸A4纸直接打印版
评论
0/150
提交评论