(计算机应用技术专业论文)原生xml数据库动态结点编码方案分析与应用的研究.pdf_第1页
(计算机应用技术专业论文)原生xml数据库动态结点编码方案分析与应用的研究.pdf_第2页
(计算机应用技术专业论文)原生xml数据库动态结点编码方案分析与应用的研究.pdf_第3页
(计算机应用技术专业论文)原生xml数据库动态结点编码方案分析与应用的研究.pdf_第4页
(计算机应用技术专业论文)原生xml数据库动态结点编码方案分析与应用的研究.pdf_第5页
已阅读5页,还剩73页未读 继续免费阅读

(计算机应用技术专业论文)原生xml数据库动态结点编码方案分析与应用的研究.pdf.pdf 免费下载

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

文档简介

摘要 随着x m l 相关标准的制定,i n t e r n e t 上出现了大量的x m l 文档,如何有效 地管理和查询这些文档成为一个亟待解决的问题,这一问题的出现极大地促进了 x m l 数据库技术的研究。原生x m l 数据库( n x d ) 是专为存储和管理x m l 文档而提出的,在n x d 中的x m l 文档查询主要包括值查询和结构查询,其中 的结构查询是x m l 查询的一个重要内容。判断结点之间的结构关系的主要思想 是将一个复杂的查询模式分解成为若干个二元基本结构关系的集合,首先计算二 元基本结构关系,然后将基本的匹配结果组合起来。在这种处理策略下,基本结 构关系( 包括父子关系和祖先后代关系) 的计算成为查询处理的关键操作,这 种操作被称为结构连接( 或包含连接) 。各种索引的建立可以提高结构连接算法 的效率,而x m l 结点编码可以方便地建立各种索引,所以x m l 文档结点编码 方案的研究引人注目。 本文在对原生x m l 数据库中动态结点编码方案及其应用进行透彻剖析的基 础上,重点对三种动态结点编码方案,即0 r d p a t h 编码、d e w e y l d s 编码及d l n 编码进行了研究,并用c 撑开发了三种编码方案的软件。然后,用十个标准的x m l 文档测试集对三种编码方案进行测试,根据测试结果对三种动态编码的确定性、 动态性和压缩性进行了分析与比较:在此基础上,从理论上进一步对x m l 动态 编码的性能进行了分析比较,着重分析了动态编码的压缩性。对动态编码压缩性 理论分析所采用的标准是:编码k 个层标识占用的存储空间s ,分别对用固定长 度、长度域、前缀编码及控制标记等四种方式编码k 个层标识占用的存储空间s 进行统计,最终归纳出关于s 与k 的通式。通过一系列研究,进一步验证了动 态结点编码在编码时间和空间效率的高效性。最后,对动态编码方案在查询计划 和查询处理模型中的应用进行了探讨。 关键词:x m l ;结点编码;动态编码;查询计划;查询处理模型 a b s t r a c t w i t ht h ed e v e l o p m e n to fr e l a t e ds t a n d a r do nx r n l ,ag r e a t d e a lo fx m l d o c u m e n t sa p p e a r e do ni n t e r n e t ,h o wt oe f f e c t i v e l ym a n a g ea n dq u e r yt h e s ef i l e s b e c o m ea nu r g e n tp r o b l e m ,w h a tw i l lg r e a t l yp r o m o t er e s e a r c ho nx m l d a t a b a s e t e c h n o l o g y n a t i v ex m ld a t a b a s e ( n x d ) i sd e s i g n e dt os t o r ea n dm a n a g e t h ex m l f i l e sw h o s eq u e r i e si n c l u d ev a l u ei n q u i r i e sa n ds t r u c t u r ei n q u i r i e si nn x d t h em a i n i d e a st oi u d g es t r u c t u r er e l a t i o n s h i pb e t w e e nn o d e si s t od e c o m p o s eac o m p l e x i n q u i r ym o d ei n t os e v e r a ls e t so fd u a lb a s i cs t r u c t u r er e l a t i o n s f i r s tc a l c u l a t et h e b a s i cs t r u c t u r eo fb i n a r yr e l a t i o n s ,a n dt h e nm a t c ht h eb a s i cc o m b i n e d i ns u c h s t r a t e g y , t o c a c u l a t et h eb a s i cs t r u c t u r er e l a t i o n s ( i n c l u d i n gp a r e n t c h i l d a n d a n c e s t o r - d e s c e n d e n tr e l a t i o n s ) b e c o m et h ek e yo p e r a t i o n so fq u e r yp r o c e s s i n g ,a n d t h e o p e r a t i o n s i sd e f i e ds t r u c t u r ec o n n e c t i n g ( o rc o n t a i n sc o n n e c t i o n s ) t h e e s t a b l i s h m e n to fv a r i o u si n d e x i n gc a ni m p r o v es t r u c t u r el i n k i n ga l g o r i t h m se f f i c i e n c y , v a r i o u si n d e x e sc a nb ee a s i l ys e tu pb yx m l n o d e sc o d i n g t h e r e f o r e ,al a r g en u m b e r o fs c i e n t i f i cr e s e a r c hw o r k e r sc o n c e n t r a t eo nx m l d o c u m e n t n o d ec o d i n gs t u d i e s i nt h i sp a p e r , a n a l y z ed y n a m i cn o d e sc o d i n gs c h e m ei no r i g i n a lx m l d a t a b a s e a n di t sa p p l i c a t i o nf o rat h o r o u g h l y , o nt h eb a s i so ft h a te m p h a s i z eo nt h er e s e a r c ho f t h r e ed y n a m i cc o d i n gs c h e m e s ,t h a t i so r d p a t hc o d i n g ,c o d i n ga n dd l n d e w e y i d sc o d i n ga n dd e v e l o pas o f t w a r ea b o u tt h r e ec o d d i n gs h e m a w i t hcs h a r p u s et e ns t a n d a r dx m ld o c u m e n t st e s ts e t st oe x a mf u r t h e r , w h a tw i l lc o m e o u ts o m e t e s tr e s u l t sb yw h i c hia n a l y z ea n dc o m p a r eo f t h et h r e ec o d i n g s a c c u r a c y , d y n a m i c a n dc o m p r e s s i o n ;n e x t ,ia n a l y z et h ed y n a m i cc o d i n gs c h e m e sp e r f o r m a n c eo n t h e o r y i ni t sa l lp e r f o r m a n c e ,ie m p h a s i z e o nc o m p r e s s i o nw h o s es t a n d a r di sc o m p u t e t h es t o r a g es p a c et h a tc o d i n gkl a y e rt o t e m u s et h ef i x e dl e n g t h ,t h el e n g t hd o m a i n , p r e f i xc o d ea n dc o n t r o lt o k e nt oe n c o dkl a y e r sl o g oa n ds t a t i s t i ct h es t o r a g es p a c e o c c u p i e db ysr e s p e c t i v e l y , a n du l t i m a t e l ya c h i v ea b o u ts a n dk sg e n e r a lf o r m u l a a t l a s t ,d i s c u s st h ea p p l i c a t i o no fd y n a m i cn o d ec o d es c h e m ai nq u e r yp l a na n dq u e r y p r o c e s s i n gm o d e l k e y w o r d s :x m l ;n o d ec o d i n g ;d y n a m i cc o d i n g ;q u e r yp l a n ;q u e r yp r o c e s s i n gm o d u l e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研究成 果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研 究成果,也不包含为获得丞洼王些太堂或其他教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示 了谢意。 学位论文作者签名:昌向凡签字日期:姗彳年1 月了 学位论文版权使用授权书 本学位论文作者完全了解云洼王些太堂有关保留、使用学位论文的规定。 特授权云洼王些太堂可以将学位论文的全部或部分内容编入有关数据库进行检索,并 采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国家有关部 门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:吕向风导师签名: 签字日期:般年月知日签字日期:磁年7 月日 学位论文的主要创新点 一、对o r d p a t h 、d e w e y i d s 及d l n 三种编码方案的性能从理论 及实验上进行分析比较并编程实现了上述三种编码方案。 二、从理论上对动态编码的压缩性进行详尽分析,分析过程中采 用的标准是:需要编码k 个层标识占用存储空间s ,分别对用固定长 度、长度域、前缀编码、控制标记等四种方法编码k 个层标识占用 的空间s 进行统计,归纳出通用的公式s 。 三、动态编码方案在查询计划和查询处理模型中的应用 第一章引言 第一章引言 近年来,随着网络技术的飞速发展,i n t e r n e t 上出现了大量的半结构化的数 据。这些数据大多以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 m l 文档进行有效查询的基础是建立适当地索引结构,索引又是在编码的基础 上建立起来的,所以目前大量科研工作者致力于x m l 编码方案的研究。 1 1 研究背景与意义 在过去的十年里。数据库研究在查询优化、对象关系数据库、主动数据库 并行数据库和数据挖掘等领域取得了突破性的进展。许多研究成果己被成功地转 化到商业产品中。同时,在过去的十年中,i n t e m e t 技术和计算机硬件的发展使 得我们有必要进一步拓展数据库理论,研究新的问题,开发新的技术。 今天,任何人都可以在国际互联网上轻易地发布和获取信息。w e b 已经变 成了信息制作、发布、加工和处理的主要平台。网络技术的飞速发展改变了人们 的学习、生活和工作方式,拓宽了人们获得知识和信息的途径,并且改变了人们 的思维方式。i n t e r n e t 和w e b 的飞速发展使得网站和静态h t m l ( h y p e r - - t e x t m a r k u pl a n g u a g e ,超文本标记语言) 页面也急剧膨胀,到1 9 9 9 年底,i n t e r n e t 上的静态页面有3 5 0 百万,同时每天以1 百万的速度增加,信息的数量级从9 0 年代初的m b 过渡到g b 、现在已经上升到t b 。 尽管h t m l 从发明以来,已成为最成功的电子发布语言,但是它在非曲直 链路丢失后不能自动纠正、动态更新能力太差、搜索时间长、缺乏对双字节和多 国文字的支持和可扩展性差等方面的不足限制了h t m l 的应用能力,因此使得 使用传统的基于关键字的信息检索方法在w e b 这样一个无限的信息海洋中迷失 方向,用户得到的是无穷无尽的链接,且绝大多数链接所包含的文档并不包含用 户所需要的内容,而用户却为此耗费了大量的时间和金钱。h t m l 的局限性越来 越明显,已经不再适应下一代更复杂的w e b 应用。在未来的w e b 发展中,如 何提高信息检索的准确性和效率成为关键问题。可扩展标记语言【1 l ( e x t e n s i b l e m a r k u pl a n g u a g e 简称x m l ) 的出现改变了w e b 的基本面貌。1 9 9 8 年2 月, w 3 c ( 全球互联网联盟) 给出了其正式的x m l l 0 版本,并正式推荐x m l 成为 下一代互联网标准。在今天的w e b 环境中,大的w e b 站点和搜索引擎却主要 第一章引言 用文件系统来存储信息,利用信息检索( i n f o r m a t i o nr e t r i e v a l ,简称i r ) 技术( 如: 关键字搜索) 来检索静态的h t m l 页面,效率低下而且极不准确。随着w e b 页 面数量的快速增长,新的w e b 应用要求w e b 能够管理动态的内容,w e b 用户 需要在浩如烟海的w e b 信息海洋中快速、准确地发现所需的信息。x m l 由于 自身具有结构信息,可以很好的满足这种需求;使用类似于数据库的查询语言的 方式来检索x m l 文档,搜索引擎功能将变的更加强大而准确。为了更快的检索, 对x m l 文档进行有效存储、索引、查询的研究,逐渐成为学术界研究的热点。 1 2 国内外研究现状 目前国内外对于x m l 的研究都取得了不匪的成绩。诞生了诸如o r i e n x 、 t a m i n o 、t i m b e r 、n a t i x 、l o r e 等x m l 数据库产品,一些公司诸如微软、o r a c l e 、 d b 2 等也在其传统数据库产品中提供了对x m l 的支持,他们分别代表了x m l 数据库的两个不同的研究领域即原生x m l 数据库( n a t i v ex m l d b m s ,简称 n x d ) 和x m l 使能数据库【2 1 ( x m l - e n a b l e dd b m s ,简称x e d ) 。虽然关系数 据库产品依靠其产品的成熟性得到了大多数用户的青睐,但是在x e d 中对x m l 文档的支持技术仍然存在一些不足。在x e d 中,x m l 文档映射为关系模式存储, 研究者们已经提出了各种映射方法,包括边模型映射方法1 2 】、结点模型映射方法 【3 ,4 1 、结构映射方法1 5 6 l 等。在x e d 中查询x m l 数据,首先要将x m l 查询转化 为关系查询引擎下执行的一个s q l 查询,然后将关系查询的结果转换为x m l 文档返回给用户。但是使用x e d 有很多的缺点,x m l 文档存入到数据库时需要 将其“打碎”,取出时需要“组合 ,不仅耗时,而且文档的格式可能会不同。现 在x m l 存储应用中倾向于直接使用原生x m l 数据库。 在n x d 中的x m l 查询主要包括值查询和结构查询。其中的结构查询是 x m l 查询的一个重要内容。判断结点之间的结构关系的主要思想是将一个复杂 的查询模式分解成为若干个二元基本结构关系的集合,首先计算二元基本结构关 系,然后将基本的匹配结果组合起来。在这种处理策略下,基本结构关系( 包括 父子关系和祖先一后代关系) 的计算机成为查询处理的关键操作。这种操作被称 为结构连接( 或包含连接) 。 x m l 结构连接算法首先是在x m l 结点编码的基础上提出的。广大的研究 者已经提出了各种结点编码方式,如:位向量编码1 7 1 、前缀编码1 7 l 、区间编码 7 1 、 p b i t r e e 编码1 7 】。所谓x m l 结点编码方案,就是指为x m l 树中每个结点分配唯 一编号的一整套策略。 第一章引言 1 3 本文的主要工作及内容安排 在本次毕业设计中,笔者主要围绕原生x m l 数据库中动态结点编码方案的 分析与应用展开了相关的研究与实践工作,主要涉及x m l 、x m l 原生数据库、 结点编码方案和x p a t h s , 1 2 l 等技术的分析、对动态结点编码方案( o r d p a t h 9 1 、 d e w e y l d s l l o 】、d l n l l l 】) 不但从理论进行了深入剖析,而且通过编程实现了上述 三种结点编码方案及实现了对文档的动态更新操作。通过实验,得出实验数据并 对数据进行分析比较,归纳出三种动态结点编码方案的优缺点。最后阐述了动态 结点编码方案在x q u e r y1 1 3 1 p l a n 及查询处理模型中的应用。本文通过文献调查、 逻辑推理、归纳总结、实证等理论与实践相结合、定性与定量相结合的研究方法 对原生x m l 数据库中动态结点编码方案及其应用进行透彻剖析,以期对原生 x m l 数据库研究领域贡献自己一份微薄力量。 本文是在前缀编码基础上对动态结点编码方案进行研究,通过对x m l 相关 知识及静态编码方案进行分析,讨论了静态编码方案在执行x m l 文档更新、插 入、删除等操作中的不足,引出动态结点编码方案在对x m l 文档编码方面的重 要性。主要工作为: ( 1 ) 广泛阅读国内外关于x m l 文档结点编码方案的研究著作 ( 2 ) 着重研究了三种动态结点编码方案,即o r d p a t h 、d e w e y l d s 、d l n 。 并用洲1 2 】编程实现了这三种动态编码方案,进一步编程实现了对采用相应编码 方案编码后的文档的动态更新操作。 ( 3 ) 从理论上对动态结点编码方案进行分析比较,尤其对动态编码方案的压 缩性给出了深入的剖析。提出了四种衡量动态编码存储性能的方法,并归纳总结 出每种方法的通式,以期为后续研究者提供理论上依据。 ( 4 ) 通过试验得到的数据,对上述三种动态编码方案做进一步比较分析,总 结了三种动态编码方案的优缺点,提出今后该领域的研究方向。 ( 5 ) 对动态结点编码方案在查询计划及查询处理模型中的应用进行探讨。 第二章x m l 数据库基础 第二章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 y p e r t e x tm a r k u pl a n g u a g e ,它是所有网页的基础) 即超文本标记语言的局限。 x m l 同h t m l 一样,都来自s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ) 即标准通用标记语言的简称。早在w e b 未发明之前s g m l 就早已存在。正如它 的名称所言,s g m l 是一种用标记来描述文档资料的通用语言,它包含了一系 列的文档类型定义( d o c u m e n t t y p ed e f i n i t i o n ,d t d ) 。d t d 中定义了标记的含义, 因而s g m l 的语法是可以扩展的。s g m l 十分庞大,它既不容易学,又不容易 使用,在计算机上实现也十分困难。鉴于这些因素,w e b 的发明者们根据当时 ( 1 9 8 9 年) 计算机技术的能力,提出了h t m l 语言。 h t m l 只使用s g m l 中的很小一部分标记,为了便于在计算机上实现, h t m l 规定的标记是固定的,即h t m l 语法是不可扩展的,它不需包含d t d 。 这种固定的语法使它易学易用,在计算机上开发h t m l 的浏览器也十分容易。 正是由于h t m l 的简单性,使w e b 技术从计算机界走向全社会,走进千家万户, w e b 的发展如日中天。 近年来,随着的w e b 应用越来越广泛和深入,人们渐渐觉得h t m l 不够用 了,h t m l 过于简单的语法严重地阻碍了用它来表现复杂的形式。另一方面,这 几年来计算机技术的发展也十分迅速,已经可以使用比当初发明创造h t m l 时 复杂得多的浏览器,所以开发一种新的w e b 页面语言既是必要的,也是可能的。 有人建议直接使用s g m l 作为w e b 语言,这固然能解决h t m l 遇到的困难。 但是s g m l 太庞大了,用户学、用不方便尚且不说,要全面使用s g m l 的浏览 器就非常困难,于是自然会想到仅使用s g m l 的子集,使新的语言既方便使用 又容易实现。正是在这种形势下,w e b 标准化组织w 3 c 于1 9 9 8 年2 月批准了 精简的s g m l 版本- x m l 的1 0 版本,一个崭新而大有前途的语言诞生了。 2 1 关于x m l 2 1 1x m l 简介 1 9 9 6 年夏天,j o n b o s a k 说服w 3 c ( t h e w o r l d w i d ew e bc o n s o a i u m ) ,组织 第二章x m l 数据库基础 了一个在w e b 上使用s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ) 拘委员会, 在该年的1 1 月,他们完成了s g m l 简化版本的初始设计。这个简化版本保留了 s g m l 主要的实用功能,同时大大缩减了s g m l 的复杂性,这就是 x m l ( e x t e n s i b l e m a r kl a n g u a g e ) 。1 9 9 8 年2 月w 3 c 正式推出x m l1 0 版本,2 0 0 0 年1 0 月w 3 c 推出了x m l1 0 第二版,到了2 0 0 4 年2 月w 3 c 又推出了x m l1 o 第三版。 x m l1 0 第三版的整个说明分为6 个部分,即绪论、文档、逻辑结构、物 理结构、一致性和符号。下面是六个部分的简述。 ( 1 ) 绪论。x m l 描述了一类称为x m l 文档的数据对象,同时也部分地描述 了处理这些数据对象的计算机程序的行为。x m l 是s g m l 针对应用的一个子集, 或者说是s g m l 的一种受限形式。根据定义,x m l 文档是合乎规范的s g m l 文 档。x m l 文档由称为实体( e n t i t y ) 的存储单元组成,实体包含解析( p a r s e d ) 数据或 未解( f i :( u n p a r s e d ) 数据。解析数据由字符组成,其中一些字符组成字符数据,另 一些字符组成标记。标记中包含了对文档存储格式( s t o r a g el a y o u t ) 和逻辑结构 ( 1 0 9 i c a ls t r u c t u r e s ) l 拘描述。x m l 提供了一种用于约束存储格式和逻辑结构的机 制,称为x m l 处理器的软件模块,它主要用于读取x m l 文档,存取其中的内 容和结构。x m l 处理器被设想为对另一个称为应用的模块作处理。本规范从 x m l 处理器应如何读取x m l 数据以及应该向应用模块提供哪些信息两个方面, 描述了要求x m l 处理器作出的动作。x m l 的设计目标如下:能直接用于 i n t e r n e t ;与s g m l 兼容;编写处理x m l 文件的程序简单;x m l 的可选特 征项尽量少;x m l 文件清晰且易于阅读;设计尽量规范、简洁等。 ( 2 ) 文档。如果一个数据对象满足本规范中格式良好的要求时,它是一个 x m l 文档。一个规范的x m l 文档如果满足某些进一步的约束,它将更为有效。 每一个x m l 文档都有逻辑结构和物理结构。就物理结构而言,文档由称为实体 的单元组成。一个实体可以引用( r e f e r ) 其它实体,将它们包含在文档中。文档开 始于“根( r o o t ) 或文档实体中。就逻辑结构而言,文档由声明、元素、注释、 字符引用和处理指令组成,所有这些都在文档中用显式标记指明。x m l 对空白 域的处理原则是必须始终把不是标记的所有字符传递给应用。 ( 3 ) 逻辑结构。每个x m l 文档包含一个或多个元素,它们的边界用起始标 记和结束标记定界,或者对于空元素,用一个空元素标记分隔。每一个元素有一 个用名字标识的类型,有时称之为元素的“通用标识符g l ( g e n e r i ci d e n t i f i e r ) , 同时它可以有一个属性说b y j ( a t t r i b u t es p e c i f i c a t i o n ) 集。每个属性说明有一个名字 和一个值。 ( 4 ) 物理结构。个x m l 文档可能包含一个或多个存储单元。它们被称为 第二章x m l 数据库基础 实体;它们都具有内容并且都用名字( n a m e ) 进行标识。每一个x m l 文档有一个 称为文档实体的实体,它作为x m l 处理器处理的起点并可能包含了整个文档。 实体可以是己析的或未析的。已析实体( p a r s e de n t i t y ) 的内容被称为它的置换文 本;此文本被看成是文档整体的一部分。未析实体( u n p a r s e de n t i t y ) 是一种资源, 其内容可以是文本也可以不是,并且如果是文本的话,可以不是x m l 。每一个 未析实体有一个相关联的用名字标识的符号( n o t a t i o n ) 。 ( 5 ) 一致性。合乎规范的x m l 处理器可以分为两类,即进行验证的和不进 行验证的。这两类处理器都必须报告在文档实体的内容中和任何己析实体中对格 式约束的违反。进行验证的处理器必须报告违反d t d ( d o c u m e n tt y p ed e f i n i t i o n ) 声明中所述约束的情况以及不满足本规范中给出的有效性约束的情况。不进行验 证的处理器只被要求检查文档实体和整个内部d t d 子集的格式。 ( 6 ) 符号。本规范中x m l 的正式句法用一种简单的扩展巴科斯范式 ( e x t e n d e db a c k u s n a u rf o r m ,e b n f ) 给出。 2 1 2x m l 的特点 x m l 特点主要包含以下几方面的内容: ( 1 ) 简单性。x m l 为程序员和文档作者提供了一个友好的开发和应用环境。 x m l 的严格定义和规则集使人类和机器都能更容易地阅读文档。x m l 文档语法 包含一个非常小的规则集,使开发者能立刻开始工作。根据文档的结构,文档格 式定义d t d 既可以通过一个标准过程创建,也可以由专家创建。x m l 文档建立 在基本嵌套结构的一个核心集的基础之上。当一层又一层的细节被增加,使结构 变得越来越复杂时,作者或开发者只需要为内部结构的复杂化付出非常少的努 力。这些基本结构可以用来代表复杂的信息集合,而不需要改变结构自身。创建 x m l 的语法分析器也变得非常容易。 ( 2 ) 结构化。x m l 文档将内容与格式描述分开,并利用样式表中的规则集 对所描述的内容的格式进行了严格地说明。这样,x m l 的描述就像数据库一样 具有了结构性。 ( 3 ) 可扩展性。x m l 允许用户根据需要自我创建自定义标记,创建的标记 只需要在样式表中进行符合格式规则集的说明即可。很显然,这样的扩展性不会 像h t m l ( h y p e rt e x tm a r kl a n g i l a g e ) 那样受到扩展量的局限。x m l 提供了一个 表示结构化信息的架构,它允许定义任意一组标记来满足不同内容的需求。这就 使得它突破了h t m l 标记只能用来描述内容的显示格式的限制,可以通过网络 来传送数据、显示数据,还可以将数据转交给其它应用程序做进一步处理。 ( 4 ) 互操作性。x m l 可以在多种平台上使用,而且可以用多种工具进行解 第二章x m l 数据库基础 释。因为文档的结构是相容的,以较低的费用建立解释它们的语法分析器是可行 的。x m l 支持用于字符编码的许多主要标准,允许它在全世界许多不同的计算 环境中使用。x m l 对j a v a 进行了很好的补充,许多早期的x m l 开发是用j a v a 进行的。个用于语法分析器的普通的应用程序接口一x m l 简单编程接口 ( s i m p l ea p i f o rx m l ,s a x ) 可以免费获得,也可获得用c ,j a v a s c r i p t ,t c 和p y t h o n 等编写的语法分析器。目前,x m l 语法分析器的开发集中在免费的插件上,这 些插件为x m l 应用提供了语法分析能力,大大地降低了使用x m l 建立应用的 费用。 ( 5 ) 开放性。尽管还有一些关于x m l 的疑问,但这个标准自身在w e b 上却 是完全开放的,可以免费获得。w 3 c 组织的成员已经较早地得到了这些标准, 不过一旦此标准完成了,结果是大家都可获得的。x m l 文档自身也较为开放, 任何人都可以对一个结构良好的x m l 文档进行语法分析,如果提供了d t d ,还 可以校验这个文档。任何公司都可以用特定方式创建用于本公司应用的x m l , 而x m l 文档中的数据却是任何应用都可使用的。虽然开发者可以建立语意模糊 的d t d ,或以自己的方式加密数据,但他们将会失去使用x m l 的许多好处。 x m l 并不禁止创建私有格式,但它倡导的开放性正是它最大的优点之一。 ( 6 ) 通用性及灵活性。x m l 是专门为w e b 设计的通用标记语言,它比h t m l 更具有通用性。x m l 的灵活性表现在两个方面,一是x m l 文档也是纯文本文 件,同h t m l 一样,各种编辑工具创建的x m l 文档都能被w w w 浏览器所显 示;二是x m l 允许自定义标签,这种优势使得h t m l 应用无法与x m l 应用相 比拟。 2 1 3x m l 的应用 x m l 所具有的上述特点和优势,使得它得到了广泛的应用。 ( 1 ) 设计标记语言 作为元标记语言,x m l 为用户提供了针对自己的特定需求定义本行业、本 领域的标记语言的最好工具。目前这一应用的成功例子比比皆是,例如化学领域 的c m l ( c h e m i s t r ym a r k u pl a n g u a g e ) 、数学领域的m a t h m l ( m a t hm a r k u p l a n g u a g e ) 、移动通信领域的w m l ( w a pm a r k u pl a n g u a g e ) 等。 ( 2 ) 数据交换和数据整合 数据交换无疑是x m l 最重要的应用。数据交换的核心问题是信息描述的标 准化,主要解决信息的可理解性问题,包括人和机器对信息的理解。而且,更重 要的是机器对信息的识别,并能根据数据进行自动处理。由于x m l 描述数据的 非凡能力和对数据描述格式的一致性,使得它逐渐替代传统的e d i ( e l e t r o n i c 第二章x m l 数据库基础 d a t ai n t e r c h a n g e ) ,成为电子商务的核心基础技术。 在客户需要与不同的数据源进行交互时,数据可能来自不同的数据库,有各 自不同的复杂格式。但客户与这些数据库间只需通过一种标准语言就可进行交 互,那就是x m l 。由于x m l 的自定义性及可扩展性,它足以表达各种类型的 数据。客户收到数据后可以进行处理,也可以在不同数据库间进行传递。总之, 在这类应用中,x m l 解决了数据的统一接口问题。但是,与其它的数据传递标 准不同的是,x m l 并没有定义数据文件中数据出现的具体规范,而是在数据中 附加标记来表达数据的逻辑结构和含义,这使得x m l 成为一种程序能自动理解 的规范。 ( 3 ) 与媒体无关的数据发布 与媒体无关的发布实际上是一个比数据交换还要困难得多的问题。可以说, 一般意义上的发布需求是数据交换需求的超集。通过x m l 发布可以将同一数据 以不同的面貌展现给不同的用户。随着互联网的飞速发展,互联网己经成为继报 刊、广播、电视之后的“第四媒体。网络出版自出现以来,用于信息发布的主 要技术是h t m l ,但是这种方式在跨媒体出版时遇到了极大的困难,因为人们需 要为不同媒体制作不同版本。x m l 具有内容与显示分离的特点,人们可以一次 性制作内容而配以不同的样式单,由此实现“一次制作多次出版一。 h ) 智能代理和本地计算 如果数据是结构化的x m l 数据,基于x m l 文档的自描述特性,智能代理 就能够非常容易地利用已有的知识库理解数据,然后作出相应的反应。x m l 的 出现为智能代理的发展提供了新的推动力,智能代理能够对所取得的信息进行编 辑、增减以适应用户的各种特殊需要。 利用x m l 文档能够将大量运算负荷分稚到客户端,即客户可根据自己的需 求选择和制作不同的应用程序来处理数据,而服务器只须发出同一个x m l 文件, 从而能为不同用户提供个性化的服务。如果按传统的c s 1 1 5 l 或b s 1 1 5 i t _ 作方式, 用户向服务器发出不同的请求,服务器必须分别予以响应,这不仅加重服务器本 身的负荷,而且网络管理者还须事先调查各种不同的用户需求以做出相应的不同 程序。但用户的需求是繁杂而多变的,将所有业务逻辑集中在服务器端是不合适 的,因为服务器端的编程人员可能来不及满足众多的应用需求,也来不及跟上需 求的变化,这样的处理方式使双方都很被动。利用x m l 则将处理数据的主动权 交给了用户,服务器所做的只是尽可能完善、准确地将数据封装进x m l 文件中。 x m l 的自解释性使客户端在收到数据的同时也能理解数据的逻辑结构与含义, 从而使广泛、通用的分布式计算成为可能,也使真正的个性化服务变得可行。 ( 5 ) 精确搜索 第二章x m l 数据库基础 现在互联网上的信息浩如烟海,虽然有各种搜索引擎,但它们的搜索效果实 在难以令人满意,结果中包含大量与用户搜索目标无关的其它信息。比如我们想 搜索莎士比亚的作品,返回的结果几乎全是与莎士比亚有关的而与其作品无关的 信息。究其原因,不仅在于搜索引擎本身,也在于信息的描述方式。因为在搜索 过程中,搜索引擎要分辨网络信息里哪些字段对应的是莎士比亚的作品名,哪些 字段是关于莎士比亚的介绍、传记等。 如果信息是x m l 格式那么情况将大为改观。x m l 文档中的标记很好地说 明了各字段信息的意义,标记之间的层次关系很好地表达了信息的结构。利用 x m l 文档的这种自描述特性,能够有效提高信息检索的效率和准确度。 ( 6 ) 文件保值 x m l 良好的保值性和自描述性使它成为保存历史档案,例如政府文件、公 文、科学研究报告等的最佳选择。随着技术的发展和时间的流逝,x m l 在这方 面的意义将越来越大。如果没有x m l ,几十年以至几百年之后,几乎没有办法 来解读今天的各种电子资料。在新的计算机系统中,很多格式的文件早已不支持 了,就像今天我们要读取用w o r d s t a r 生成的文档所面临的问题那样。 2 1 4x m l 对整个i t 行业的影响 x m l 对整个i t 行业带来的影响将是革命性的,它将深刻改变人们描述、获 得和使用信息的全过程。概括来说,可以包括以下几个方面: ( 1 ) 使通用的信息描述成为可能 如果我们仔细地考察一下今天的互联网就不难发现有许许多多通用技术。比 如t c p i p 协议【1 6 j 就是通用的链接协议,任何支持t c p 口的设备之间均可以实 现互通。x m l 具有开放性和描述复杂数据的能力,使得各种信息能够通过x m l 这种格式来进行统一的描述,建立有任何复杂层次的数据模型。现有的信息也可 以转换成x m l ,这一切将促使x m l 成为一个通用的信息描述平台。 ( 2 ) 信息发布的真正独立 如同j a v a 的“一次编译到处运行 一样,x m l 的出现和广泛采用将实现信 息的“一次描述到处使用 。由于x m l 真正实现了信息描述和信息处理的分离, 在信息形成的过程中,无需考虑用户对数据可能进行的处理和数据的最终表现形 态,所以信息的发布者将获得完全意义上的独立,他们能更好地关注信息本身, 使信息的描述尽善尽美。 ( 3 ) 独立于供应商和平台的信息交换与整合 x m l 作为通用的信息描述手段,采用的文件格式是最简单的文本格式,使 用标准的商业软件甚至文本工具都能处理,因而x m l 将大大简化信息交换的过 第二章x m l 数据库基础 程。交换双方只要就使用什么标记来标注信息达成共识即遵循同一个d t d 、就 可以方便地进行彼此间的数据交换,无需考虑对方的后台系统是如何实现的,比 如我方运行的是o s 3 9 0 而对方是l i n u x ,我方采用的是关系数据库而对方采用 的是面向对象数据库,或者我方采用的是c + + 代码而对方采用的是j a v a 代码等 等,唯一需要双方做的就是使用同一个标记集合。 ( 4 ) 更符合用户意图的信息搜寻 以图书搜索为例,当图书信息用x m l 标注以后,用户在搜索时就能指定“作 者为莎士比亚的书籍 而非“有关莎士比亚的书籍 。相比较之下,使用目前的 方法搜寻,可能找出两类书籍,并且混在一起。没有x m l ,搜寻程序需要解读 每一个数据库的模式,这几乎是不可能的,因为每一个数据库表示资料的方式都 不相同。使用x m l 后,书籍信息可以轻松地依照作者、书名、i s b n 号码或其 它准则的标准方式归类。x m l 文档中的标记很好地说明了各字段信息的意义, 并表达了文档的结构。基于x m l 文档的这种自描述性,计算机能够理解x m l 文档本身,所以在信息检索过程中计算机能够更加贴切地理解用户的检索意图, 从而有效提高信息获取的效率。 ( 5 ) 信息的本地化处理 当x m l 格式的信息传递到客户端以后,客户端应用程序可以就地运算、编 辑和运作,可以使用各种方式利用资料,而非只是显示。由于用户能够理解数据 并且有数据处理的主动性,原先集中于服务器端的大量运算负荷可以分布到客户 端,从而大大减轻了服务器端的压力。 2 1 5x m l 获得广泛支持 x m l 工作小组创始会员s p e r b e r g m c o u e e n 认为:“x m l 最大的影响在于 x m l 软件大量兴起。比如x m l 解析器、x m l 程序语言库和x s l t ( e x t e n s i b l es t y l e l a n g u a g ef o rt r a n s f o r m a t i o n ) 1 1 7 l 处理器。数据库接受x m l ,而且网络浏览器也接 受x m l 。正因为如此,i b m 、微软、s u n 、惠普、o r a c l e 等大公司纷纷进入 这个市场。 一份最新的研究指出,以x m l 为基础的产品将会以1 0 倍的速度快速增长, 到2 0 0 8 年将达到1 6 亿美元的营业规模。以研究x m l 和w e bs e r v i c e s l l 8 j 为 主的z a pt h i n k 公司在研究报告中也指出,这些以x m l 为基础并包括w e b s e r v i c e s 的工具是将旧有系统再度激活的新希望,而在x m l 最大应用之一的数 据格式转换领域,a d o b e 、微软、c o r e 都在各自相关的软件产品中充分利用了 x m l 技术。 金融服务和保险行业作为应用x m l 技术潮流的领导者,带领着很多的公司 第二章x m l 数据库基础 把数据格式转换成了x m l 的形式。去年,银行、经纪人事务所和保险以及房地 产公司花费了5 亿美元在x m l 相关技术上面,2 0 0 8 年前它们将会每年投资近 1 0 亿美元。根据最近一家调查公司的调查报告,这样的投资远远大于其它行业 在此的投资。因为金融服务提供商非常渴望使用安全性好、性能稳定和性价比高 的产品。 在互联网领域主要厂商都在关注的新技术就是x m l 。以m i c r o s o f t , s u n ,o r a c l e 等为首的大公司都在以x m l 数据格式为标准

温馨提示

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

评论

0/150

提交评论