




已阅读5页,还剩137页未读, 继续免费阅读
(计算机软件与理论专业论文)支持xml数据管理的文件系统研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着计算机系统性能不断提高、存储数据量急剧增加以及信息越来越复杂,用户 如何高效组织和管理信息成为信息技术的重要课题。文件系统作为操作系统中存储和 管理信息的主要构件,在面对海量的复杂的结构化与半结构化信息时暴露出了缺陷。 另一方面,随着计算机网络和硬件的发展,计算机之间的数据交换越发频繁,需 要统一的标准来规范数据的传输和交换。在这种背景下出现了可扩展标志性语言 ( m ,) ,x m l 具有良好的自描述和跨平台性,因此大量的信息以x m l 的形式出现。 如何高效的存储和管理x m l 数据成为迫切需要解决的重要课题。 本论文首先对典型文件系统,包括f a t 、e x t 2 等开源文件系统,也包括研究性 质的s e m a n t i e f s ,还包括微软公司的n t f s 、w m f s 等商业文件系统进行了深入的分 析,总结了它们的主要设计思想和逻辑结构,发现传统文件系统在存储和管理较复杂 的带有语义的结构化和半结构化数据时,将用户数据当作无意义的比特流,通过特定 的应用程序来对文件内容进行语义相关操作,这就使得操作系统对信息控制的粒度是 文件级的,这表现在传输、修改、压缩、加密、锁定等操作都是以整个文件为单位的。 然而,随着信息处理要求的不断提高,操作系统不仅需要更加强大的信息检索和查询 能力,而且需要对信息结构进行细粒度的控制。这种要求一方面是出于对信息安全的 考虑,另一方面也是为信息内部数据的检索提供支持。显然,传统文件系统急需在信 息描述、检索和语义结构方面加强。 接着,本论文对x m l 进行了较为深入的剖析,抽象和总结了它的各种特性。在 此基础上,本论文详细分析了存储x m l 数据的几种方案,包括基于文件系统,支持 x m l 的数据库,纯x m l 数据库和基于对象管理器,总结了它们的优缺点。从数据库 技术的角度阐述了现代文件系统设计中涉及到的几个重要问题及其可行的解决方案, 并重点分析了支持x m l 的数据库和原生数据库的研究内容和技术要点,以及基于文 件系统的) 。l 数据存储方式。在基于文件系统的x m l 数据存储方法中,系统将讧l 数据视为普通的文本文件来处理,在存储和管理x m l 数据时有以下缺点:( 1 ) 每次访 问x m l 文档时都需要解析它:( 2 ) 在查询处理期间,整个被解析的文件都必须驻留在 内存里;( 3 ) 为了部分解决上述两个问题,可以在x m l 文档上建立外部索引。但当x m l 文档被更新时,索引是难以维护的。 本论文正是在以上分析的基础上,针对已有x m l 存储方法( 数据库和对象管理 器等) 的不足,交融数据库技术,语义文件系统和x m l 特性,对传统文件系统逻辑 摘要i i 层的目录文件模型、存储方法、结构的存储模型以及基于元素和属性的访问接口等 问题进行了研究与分析,通过改迸文件系统逻辑布局、存储文件语义结构以及提供信 息检索与查询功能,给出一种支持x m l 数据管理的文件系统存储方法,并利用现有 文件系统的文件,目录层次模型与x m l 树状层次模型的相同之处,将他们进行无缝的 连接,在现有的e x t 2 的文件目录结构中,将元素节点视为目录的索引节点,将属性 节点视为文件的索引节点,以达到一种高效的实现方案。在以上工作的基础上,通过 分析存储和管理x m l 数据的关键问题,提出一种支持x m l 数据管理的文件系统构 建模型,给出系统的体系结构以及组成模块,并详细描述了各个模块的交互关系,针 对每个模块设计了具体的实现方案。 本论文工作的新贡献体现在以下4 个方面: 1 提出了一种在文件系统上基于语义结构的x m l 数据存储方法。该方法在 有效存储x m l 数据和结构信息的同时,能够深入到x m l 数据内部进行管理 和控制,并使得文件系统具备查询和更新等新的功能。 2 提出了一种新的支持x 虬数据管理的文件系统构建模型。该模型通过在 操作系统内核中增加x m l 解析器、索引器、对象管理器、以及查询分析器等 组件,给出各个模块的具体设计技术和实现方案,包括数据结构描述、算法 实现以及各个模块的交互关系。该方法使得操作系统能够更好的支持x m l 数据的直接存储、查询、以及检索等功能。 3 实现一种e x 2 上基于目录文件索引节点的x m l 结构存储方法。该方法 无需改进传统文件系统的逻辑结构,对x m l 的结构信息进行有效的存储和管 理。 4 将本论文的研究应用在一种基于服务体,执行流模型的操作系统m i n i c o r e 上。给出了在m i n i c o r e 操作系统上的支持x m l 数据管理的文件系统的设计 与实现方案,验证了论文研究内容的有效性。 关键字:文件系统,x m l ,支持x m l 数据管理的数据库,语义文件系统,基于结构 的x m l 存储,服务体执行流模型,m i n i c o r e 操作系统 a b s t r a c tl i l a b s t r a c t w i t i l r a p i dd e v e l o p m e n to fi n f o r m a t i o nt e c h n i q u e s ,p e r f o r m a n c eo fc o m p u t i n g , v o l u m eo fd i g i t a ld a t at ob es t o r e da n dc o m p l e x i t yo fi n f o r m a t i o ns t r u c t i i r e sa l li n c r e a s e u n d e rt h ec i r c u m s t a n c e ,m o r ec a p a b i l i t i e so fi n f o r m a t i o no r g a n i z a t i o na n d m a n a g e m e n ta l e n e e d e d f i l es y s t e m s ,a so n ei m p o r t a n tc o m p o n e n ti no p e r a t i n gs y s t e m s ,o f f e rd a t as t o r a g e a n dm a n a g e m e n t b u tt h e r ea t et w oi n s u 币c i e n c i e si nc u r r e n tf i l es y s t e m s ,t h a ti s ,( 1 ) l e s s c a p a b i l i t yo fm a n a g i n gh u g ev o l u m eo fd a t a , ( 2 ) n os u p p o r to nf i l es e m a n t i cs t n i c t u r e , w h i c hl e a d so p e r a t i n gs y s t e m st ol a c kf i n e g r a i n e di n f o r m a t i o nc o n t r 0 1 o na n o t h e rh a n d ,x m le m e r g e su n d e rt h ei n f o r m a t i o n e x p l o s i o n i t sg o o ds e l f d e s c r i p t i v ea n dc r o s sp l a t f o r mc h a r a c t e r i s t i c sm a k ei t as t a n d a r df o ri n f o r m a t i o ns t o r a g e a n de x c h a n g eo ni n t e r a c t h o wt os t o r ex m ld a t ae f f i c i e n t l yh a sb e e nar e s e a r c hf o c u s f i r s t l y , t h i st h e s i sa n a l y z e s s e v e r a lt y p i c a lf i l e s y s t e m si n c l u d i n gf a t , e x t 2 , s e r n a n t i c f s ,n i t s ,w i n f sa n ds oo n , s u m m a r i z e st h e i rm a i nd e s i g ni d e a sa n dl o g i c a l a r c h i t e c t u r e f u r t h e rr e s e a r c hs h o w st h a tt r a d i t i o n a lf i l es y s t e m sc a l ln o tm a n a g et h eg r e a t a m o u n to fc o m p l e x s t r u e m _ , ma n ds e m i s t r u c t i i r a ld a t a t h ek e yr e a s o nf o ra b o v ee x i s t si n t h ef a c tt h a t 仃a d i t i o n a lf i l es y s t e m sr e g a r dd a t aa sb i ts t r e a mw i t h o u ts e m a n t i c s b u t1 1 s e s p e c i a la p p l i c a t i o n st oo p e r a t et h ei n n e rs t r u c t u r e sa n dc o n t e n t so ff i l e sw h i c hm a k e st h e c o n t r o lo ff i l eo nab a d 舳l e v e l h o w e v e r , w i t l lt h eh i g hr e q u e s to fi n f o r m a t i o np r o c e s s , o sn e e d sn o to n l ys t r o n gq u e r ya n ds e a r c ha b i l i t yb u ta l s oc o n t r o li n f o r m a t i o no naf i n e 咖l e v e l ,t h u si tb r i n g si nap r o b l e mf o ro st os t r e n g t h e nt h ea b i l i t yo fs t r u c t u r a la n d s e m a n t i cm a n i p u l a t i o n a f t e rt h a t ,t h i st h e s i sa n a l y z e sx m la n di t sr e l a t e dt e c h n i q u e s ,g i v e ss o m ea b s t r a c t i o n s a n ds u m m a r i e so fx m lc h a r a c t e r i s t i c s ,b a s e do nw h i c hs e v e r a lx m l s t o r a g em e t h o d ss u c h 鹤f i l es y s t e mb a s e d , x m l e n a b l e dd a t a b a s e ,n a t i v ex m ld a t a b a s ea n d o b j e e tm a n a g e r b a s e dm e t h o d sa r ea n a l y z e di nd e t a i l t h i st h e s i sf o c u s e so nt h ef i l es y s t e mm e t h o d t r a d i t i o n a lm e t h o do nf i l es y s t e mt os t o r ex v l lr e g a r d sx m ld a t aa sf i a td o c u m e n tf i l e i n f a c t , x m ld o c u m e n ti ss e r i a l i z e dd a t as t r e a m ,w h i c hi so f t e ni nt h ef o r mo ff l a tf i l e i t m e a l l st h a ts t o r i n ge a c hx m ld o c u m e n ti nad o c u m e n tf i l e ,o nh i 曲l e v e l ,i m p l e m e n t sa q u e r ye n g i n e w h e nt h eq u e r yi se x c u f i n g ,x m lf i l e i sp a r s e di n t oat r e ei nm e m o r y t h e a d v a n t a g eo ff i l es y s t e mb a s e dx m ls t o r a g em e t h o di si ti sq u i t ee a s yt ob ei m p l e m e n t e d a n dn e e d sn oe x t r ad a t a b a s eo ro t h e rm a n a g e rf o rh e l p h o w e v e r , i t sd i s a d v a n t a g ei sa l s o o b v i o u s :1 ) b e f o r ea c c e s s x m ld o c u m e n th a st o b ep a r s e da g a i n ;2 ) d u r i n gt h ew h o l e p r o c e s so fq u e r y , t h ef i l et h a ti su n d e rp a r s i n gh a st os t a yi nm e m o r y ;3 ) i no r d e rt os o l v e a b s t r a c ti v s o m eo ft h ep r o b l e m sa b o v e ,e x t r ai n d e xc a l lb eu s e d ,b u tw h e nx m ld o c u m e n ti su p d a t e d , i n d e xi sh a r db em a i n t a i n e d b a s e do nt h er e s e a r c ha b o v e ,t h i st h e s i sc o m b i n e st h ei d e a sa n dt e c h n i q u e so fd a t a b a s e , s e m a n t i c f sa n dx m lc h a r a c t e r i s t i c s , t l l f o u g hm o d i l y i n gt r a d i t i o n a ll o g i c a ll a y o u to f t r a d i t i o n a lf i l es y s t e m s ,s t o r i n gs e m a n t i cs t r u c t u r e so fx m l f i l e ,p r o p o s e san e wx m l e n a b l e ds t o r a g em e t h o do nf i l es y s t e m n l i sm e t h o dt a k e sa d v a n t a g eo ft h es i m i l a r i t yo f d i r e c t o r y f i l eh i b e r a c h ym o d e la n dx m ld a t am o d e l ,c o n n e c tt h e ms e a m l e s s l y , r e g a r d s x m le l e m e n tn o d ea sd i r e c t o r yi _ n o d ea n dr e g a r dx m la t t r i b u t en o d ea sf i l ei n o d ew h i c hi s i m p l e m e n t e de f f i c i e n t l yo nl i n u xe x t 2f i l es y s t e m u n d e rt h es t o r a g em e t h o d , s o m ef b r t h e r p r o b l e m sa r es t a t e da n dan e wx m l e n a b l e df i l es y s t e mi s p r o p o s e db ys o l v i n gt h e p r o b l e m s 1 1 1 es y s t e m a r c h i t e c t u r ei sd e s c r i b e d t h e o r g a ( f i z a t i o na n dr e l a t i o n s h i p so f d i f f e r e n tm o d u l e sa r ea l s o 百v e n , a n da tl a s tc o n c r e t ei m p l e m e n t a t i o n sf o re a c hp a r ta r e l i s t e d t h er e s e a r c hh a sb e e na p p l i e do nam i n i c o r eo sb a s e do ns e r v a n t e x e c u t i o nf l o wo s m o d e l t h i st h e s i sp r o p o s e st h ed e s i g na n di m p l e m e n t a t i o nf o rt h ex m le n b a b l e df i l e s y s t e mo nm i n i c o r ew h i c hp r o v e st h ev a l i d i t y , g o o dp e r f o r m a n c ea n de x t r af u n c t i o n so f t h e r e s e a r c h i ns u m m a r y , t h en e wc o n t r i b u t i o n so f t h i st h e s i si n c l u d e : 1 an e ws e m a n t i c sb a s e dx m ld a t as t o r a g em e t h o do nf i l es y s t e mi sp r o p o s e d , w h i c hc a nm a k ef i l es y s t e mm a n i p u l a t ef i l ei nd e p t ha n dp r o v i d ed i r e c tx m l s t o r a g e ,e x t r aq u e r yf u n c t i o n 2 an e wx m le n a b l e df i l es y s t e mc o n s t r u c t i o nm o d e li sp r e s e n t e db ya d d i n gx m l a n a l y z e r , i n d e xe n g i n e ,q u e r ye n g i n ea n do b j e c tm a n a g e r a sf o re a c hp a r to fx m l e n a b l e df i l es y s t e ma r c h i t e c t u r e ,d i f f e r e n ti m p l e m e n t a t i o nt e c h n i q u e sa r eg i v e n w h i c hi n c l u d e sd a t as t r u c t u r e s ,a l g o r i t h m sa n di n t e r f a c e s0 nl i n u x t h i sm e t h o d m a k e so sp r o v i d eg o o dx m ld a t am a n a g e m e n ta n dn e wf u n c t i o n s 3 an e wi m p l e m e n t a t i o nm e t h o df o rx m ld a t ab a s e do nd i r e c t o r y f i l ei n d e xn o d e s o nt r a d i t i o n a lf i l es y s t e mi sd e s i g n e d ,w h i c ht a k e sa d v a n t a g eo fs i m i l a r i t yo ff i l e s y s t e m sd i r f i l es t r u c t u r ea n dx m l d a t as t r u c t u r e s ,c o n n e c tx m lt ot r a d i t i o n a lf i l e s y s t e m r e g a r de l e m e n tn o d ea sd i r e c t o r yi n d e xn o d ew h i l ea t t r i b u t en o d e 如f i l e i n d e xn o d e t h u sf i l es y s t e mn e e d sn og r e a tc h a n g e sb u tc a nm a n i p u l a t e 舳d a t a i nf i n eg r a m 4 t h er e s e a r c hi sa p p l i e dt om i n i c o r eo sw h i c hi sb a s e do ns e r v a n t e x e c u t i o n - f l o w m o d e l ,t h ed e s i g na n di m p l e m e n t a t i o na r eg i v e nf o rt h ex m l e n a b l e df i l es y s t e m 垒! ! ! ! 型 ! o nm i n i c o ma n dv a l i d i t ya n dp e r f o r m a n c ea r et e s t e da n dp r o v e d k e y w o r d s :f i l es y s t e m ,x m l ,x m l - e n a b l e dd a t a b a s e ,s e m a n t i c f i l e s y s t e m , s t r u c t u r e - b a s e dx m l s t o r a g e ,s e r v a n t e x e - f l o wm o d e l ,m i n i c o r eo s 图目录 x 图目录 图1 - l 文件系统的目录文件模型4 图1 2 操作系统信息处理层次图6 图2 le x t 2 分区和e x t 2 块组的分布图1 4 图2 - 2f a t 磁盘组织结构,1 5 图2 - 3 目录项和文件分配表1 5 图2 4n t f s 的e - r 模型图1 8 图2 5n t f s 的关系模型及目录索引2 0 图2 - 6n t f s 磁盘布局图2 1 图2 - 7m f t 记录结构2 3 图2 8 带有属性列表的文件记录结构2 3 图2 - 9 目录索引结构图2 4 图2 一l o 语义文件系统结构图2 5 图2 - 1 lw i n f s 结构示意图2 7 图3 - 1 典型x m l 文档及其结构描述。3 1 图3 - 2 x m l 文档的数据模型3 2 图3 - 3 支持x m l 的关系数据库系统结构。3 5 图3 4 t a m i n o x m l 数据库系统结构图二4 5 图3 - 5t i m b e r 系统体系结构4 7 图4 1 典型x m l 文档及其结构描述。5 2 图4 2x m l 数据的语义结构模型5 2 图4 - 3x m l 文档三种存储方式5 4 图4 4x m l 数据模型与文档结构5 5 图4 - 5e x t 2 的主体逻辑布局5 5 图4 - 6 引入元素属性节点表域的逻辑布局5 6 图4 7x m l 语义结构模型的存储结构5 7 图4 - 8f a m o u s x m l 文档的结构图5 9 图5 - 1 传统文件系统和x m l 文件系统的应用情景模式7 0 图5 2 支持x m l 数据管理的文件系统框架7 l 图5 3 支持x m l 数据管理的文件系统各模块交互图7 2 图5 4e x t 2 的主体逻辑布局7 6 图5 - 5x m l 语义结构索引表7 7 图5 - 6 索引节点表和x m l 元素属性节点表的合并7 8 图5 - 7 一个x m l 文档的例子8 0 图5 - 8 上述例子的结构索引。8 1 图5 - 9 上述例子的词索引一8 l 图5 - 1 0 查询流程 图5 1 1 实验用例的d t d 和文档描述 8 3 8 6 图5 - 1 2 实验文档的树形结构8 6 图6 _ 1 基于s e f m 的操作系统的基本结构一9 0 图6 - 2 局部名表项9 1 图6 - 3 服务体、端口和小端口。9 2 图目录 x i 图6 - 4 服务体地址空间示意图9 2 图6 5 服务体、端口、小端口关系示意图9 4 图6 - 6 同步连续方式9 6 图6 7 同步分离方式( a ) 带应答端口;( b ) 不带应答端口。9 7 图6 8 异步方式( a ) 异步消息;( b ) 目标服务被调度执行;( c ) 带应答端口9 7 图6 - 9m i n i c o r e 体系结构9 8 图6 - 1 0m i n i c o r e 上x e f s 文件系统框架。1 0 0 图6 - 1 l 中断处理模型1 0 1 图6 1 2 同步连续方式通信的实现1 0 2 图6 1 3 同步分离方式通信的实现。1 0 2 图6 - 1 4 异步方式通信的实现1 0 3 图6 - 1 5 异步消息传递对传统同步通信方式的模拟一1 0 4 图6 1 6 对象管理树1 0 5 图6 1 7 对象管理器工作原理1 0 5 图6 1 8 对象查询1 0 7 图6 1 9 支持x m l 数据管理的文件系统相关的服务体。1 0 8 图6 2 0 文件内容查询访问过程。1 1 0 图6 - 2 1x m l 文件系统服务体和其它服务体的消息通讯过程一1 1 2 图6 - 2 2 实验用例的文档描述一1 2 0 表目录 表目录 表2 1n t f s 的主要元文件及其作用一2 1 表2 - 2n t f s 的主要属性2 2 表3 一l 各种x m l 存储方法的比较4 9 表4 1 实验环境6 2 表4 - 2 基于结构的存储方法的磁盘空间开销一6 3 表4 - 3 初次存储x m l 数据的时间( 单位:微秒) 6 3 表4 - 4 读取x m l 文档的测试结果( 单位:微秒) 。6 4 表4 5 查询x m l 文档的时间( 单位:微秒) 6 4 表4 6 更新x m l 文档的时间( 单位:微秒) 6 5 表5 1 实验环境说明表8 6 表5 2 存储x m l 文档的测试结果( 单位:微秒) 8 7 表5 - 3 重建完整x m l 文档的测试结果( 单位:微秒) 8 7 表5 - 4 查询x m l 文档的测试结果( 单位:微秒) 8 7 表5 - 5 磁盘空间占用( 单位:千字节) 8 8 表6 1 标准目录1 0 6 表6 2 服务体数据结构11 2 表6 3 端口数据结构1 1 3 表6 4 小端口数据结构1 1 3 表6 - 5 小端口文件控制信息相关数据结构11 4 表6 - 6 被m o u n t 的x m l 文件1 1 4 表6 7 元素节点数据结构1 1 4 表6 8 属性节点数据结构1 1 5 表6 - 9 文件系统服务体的接口1 1 6 表6 - 1 0x m l p a r s e r 服务体提供的接口j 1 7 表6 - 1 】索引服务体提供的接口1 1 8 表6 1 2 实验环境说明表1 1 9 表6 1 3 存储x m l 文档的测试结果( 单位:微秒) 一1 2 0 表6 1 4 查询x m l 文档的测试结果( 单位:微秒) 1 2 0 中国科学技术大学学位论文相关声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究 工作所取得的成果。除己特别加以标注和致谢的地方外,论文中 不包含任何他人已经发表或撰写过的研究成果。与我一同工作的 同志对本研究所做的贡献均己在论文中作了明确的说明。 本人授权中国科学技术大学拥有学位论文的部分使用权, 即:学校有权按有关规定向国家有关部门或机构送交论文的复印 件和电子版,允许论文被查阅和借阅,可以将学位论文编入有关 数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、 汇编学位论文。 保密的学位论文在解密后也遵守此规定。 丑盹 -每 ) 、“与”符号( & ) 、 右尖括号( ) 、双引号( ”) 和单引号( ) 。 注释( c o m m e n t ) 对于x m l 的注释是非常有必要的,以便编写人员对特定部分进行说明。 x m l 的注意以“ ”结构( 不包括双引号) 。 处理指令( p r o c e s s i n gi n s t r u c t i o n ) 处理指令是x m l 给要读取该文档的应用程序传递信息的一种方法。处理 指令以“ ”结束( 不包括双引号) 。 字符数据段( c d a t as e c t i o n ) 普通的字符串数据要使用实体引用来表示混淆字符。如果有大量这样的 字符,可以使用字符数据段来表明该段内的字符不需要解析,而是直接使用。 它以“ ”结束( 不包括双引号) 。 开始 标签 一 兀 素 字符数 据段 结束 标签 m a t h c r n a i t c i m l c r y l r l o g r d p h e r h e 0 1 1 eo f t h e f i r s tp e o p l e t o 岫d = c r v o 曲r - i i t & i t c o m p u l c r - ! c d a t a 【 i r b o u g hh i sc o n t r i b u t i o n s t o t h e f i e l d w 眦t o o n u m b r e o u s t o l i s t h 日b * h w na r e t h e q ) o n y m o u s a n d l 处理 指令 注释 属性 引用 实体 图3 - 1 典型x 札文档及其结构描述 图3 1 给出一个x m l 文档例子并指明其各种标记。在接下来的讨论中,我们主 第3 章x m l 存储方法及相关技术 3 2 。_ _ _ _ 。_ _ - _ - 。_ _ _ _ _ _ _ 。_ 。_ 。- 。- 。1 要考虑的是元素、属性和p c d a t a 这三种信息,因为它们存储了x m l 文档的几乎全 部的信息,对于字符数据段,我们不去考虑实体引用的问题,将其当作普通的字符串 数据。 - 3 1 3x m l 的数据模型 2 2 1 将- x m l 文档抽象成使用7 种不同类型节点构建的有序树。这7 种节点分别为 根节点、元素节点、属性节点、名字空间节点、处理指令节点和注释节点。根据我们 对x m l 文档结构的简化,即只考虑元素、属性以及p c d a t a ,在这里,我们只使用 四种节点:根节点、元素节点、文本节点和属性节点。 根节点 元素节点 属性节点 文本节点 图3 2x m l 文档的数据模型 图3 2 给出图5 1 所示x m l 文档的数据模型。x m l 数据模型是树型结构,x m l 的元素、属性、p c d a t a 分别在该数据模型中被表示成元素节点、属性节点和文本节 点。根节点表示整个x m l 文档,每个元素节点有三类子节点,即元素、属性、文本 子节点。属性节点和文本节点都是叶子节点。元素和属性节点在入边上标记了各自的 名称。根节点没有入边。在模型中,元素节点、属性节点和文本节点的序号是由它们 在文档中所处的位置决定的。 显而易见,格式良好的x m l 文档可以使用树型结构来描述,。对于x m l 文档中的 元素、属性和文本可以根据该数据模型来操纵,这也是两种解析x m l 文档方法d o m 和s a x 的基础。 第3 章x m l 存储方法及相关技术 3 1 4d o m 和s a x 文档对象模型d o m ( d o c u m e n to b j e c tm o d e l ) 2 3 1 是万维网联盟( w 3 c ) 推荐的 标准,它描述了用于在内存中存储文档的对象模型,该模型与编程语言无关。d o m 提供了文档的结构化视图,以及一个标准的用于操纵文档的类和方法的集合,可以用 于x m l 标记和p c d a t a 的添加、修改、删除和检索等。 采用d o m 对象模型的解析器被称为d o m 解析器,它读取整个文档,并通过在 内存中构造对象树,提供文档的树状视图。文档的主要结构是通过对象树的节点来表 达的,并使用d o m 接口来访问和处理对象树。 d o m 以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的, 因此可以修改它以便应用程序能对数据和结构进行更改。其次,可以在任何时候在树 中上下移动,遍历树中节点。最后,d o m 使用起来比较简单。但是,在内存中构造 这样的树的开销是很大的,大型文件完全占用系统内存容量的情况并不鲜见。此外, 创建一棵d o m 树可能是一个缓慢的过程。 另一种x m l 编程模型s a x ( s i m p l e a p lf o rx m l ) 2 4 提供了解析x m l 文档的 基于事件的a p i 。s a x 解析器读取x m l 文档时,它会实时向定义好的事件处理程序 发送事件,这样的事件有读到开始标签、结束标签、p c d a t a 或处理指令等等。解析 器会顺序遍历文档一遍,数据一部分一部分地提供给程序,程序可以将感兴趣的部分 存储,也可以在接收到信息后立即进行处理。 基于事件的s a x 的优点非常类似于流媒体的优点。分析能够立即开始,而不是等 待所有的数据被读取并处理后才开始:而且,由于应用程序只是在读取数据时检查数 据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上, 应用程序甚至不必解析整个文档,它可以在某个条件得到满足时停止解析。一般来说, s a x 比d o m 快许多。但是,由于应用程序没有以任何方式存储数据,使用s a x 来 更改数据或在数据流中移动是不可能的。 3 1 5x m l 文档类型 根据x m l 文档的内容、结构和用途的不同,可以将其分为两种类型 2 5 】: 以数据为中心的文档( d a t a - c e n t r i ed o c u m e n t s ) 以数据为中心的文档是将x m l 当作数据的传输载体,典型的例子是销售 第3 章x m l 存储方法及相关技术 订单、科学计算结果等。这种文档在结构上是规则的,在内容上是同构的, 数据粒度小,具有较少的混合内容和嵌套层次。人们只关心文档中的数据而 并不关心数据元素的存放顺序。以数据为中心的文档数据可以来自数据库或 在数据库之外。 以文档为中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 亭湖中考模拟考试题目及答案
- 田径2期末考试题及答案
- 数字化渲染与建筑设计表达-洞察及研究
- 2025年公职人员考试时事政治考试题库(附答案)
- 高中学校巡课工作方案
- 虚拟模块仓库管理办法
- qc质量改善管理办法
- 中国铁塔工程管理办法
- 上海工程招标管理办法
- 人身险代理人管理办法
- 电力调度程控交换机安装施工方案
- 2025年广东省中考历史试题卷(含答案详解)
- 2025思政开学第一课观后感范文13篇
- 施工项目会议管理制度
- 声音的特性讲课件
- 教学勇气课件
- 2025福建省特安安全技术服务中心有限公司招聘9人笔试参考题库附带答案详解析集合
- 电气装置安装工程66kV及以下架空电力线路施工及验收规范
- T/CCS 075-2023煤矿柔性薄喷材料喷涂施工技术要求
- 医院感染诊断标准课件
- 2025城镇公寓买卖合同范本
评论
0/150
提交评论