




已阅读5页,还剩58页未读, 继续免费阅读
(计算机软件与理论专业论文)xml面向对象数据模型研究及应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 w 3 c 于1 9 9 8 年2 月制定出x m l 规范以来,x m l 已逐渐成为科 学与技术应用中数据表示以及数据交换的标准格式,尤其是在w e b 数据集成方面得到越来越广泛的应用。本文基于这一背景,对x m l 面向对象数据模型及其在信息安全领域,尤其是在信息访问控制方面 的理论和应用进行探讨。具体是: 首先,为了在应用领域内充分发挥x m l 的潜能,x m l 的数据 模型是一个必须首先要解决的技术环节,面向对象技术经过几十年的 发展已经非常成熟,实践证明基于面向对象技术的x m l 数据模型才 可以充分满足各个应用领域的需要。论文首先对o e m 模型中半结构 化数据的定义及表示方法进行了改造,定义了x m l 面向对象数据模 型,然后通过简化o d m g 的对象模型映射规则,使用通用面向对象 开发工具所提供的功能,制定了x o o m 模型的表示方法、数据建模 算法和转换规则,完成了x m l 面向对象数据模型的建立。通过这种 方法所建立的数据模型既保证了模型的数据表达能力,又保证了转换 的有效性。 其次,x m l 的主要应用领域是w e b 数据表示、传输和存储,在 此应用背景下信息安全应首先得到解决,论文基于此对x m l 信息访 问控制的语义进行了研究,提出了基于部分加密x m l 文档的访问控 制方案,并且在n x d 系统的访问控制模块中予以实现。 在最后论文对全文所开展的研究工作进行了总结,并指明了未来 , 的研究方向。 关键词x m l ,面向对象数据模型,访问控制,角色 硕七学位论文 摘磋 a b s t r a c t s i n c ee x t e n s i b l em a r k u pl a n g u a g e ( x m l ) w a sr e l e a s e db y 、r l d w 试ew 如c o n s o r t i u m ( w 3 c 3i nf e b r u a r y1 9 9 8 i th a sg r a d u a l l yb e c o m e t h es t a n d a r do fd a t ae x c h a n g ea n dr e p r e s e n t a t i o no ni n t e r n e t e s p e c i a l l y , i th a sb e e ne m p l o y e di nt h ew r e bd a t ai n t e g r a t i o nf i e l d sm o r ea n dm o r e b r o a d l y i nt h i sp a p e r , w eh a v ea n a l y z e dt h ex m l 0 b j e c to r i e n t e d ( o o ) d a t a m o d e la n di t s a p p l i c a t i o n si ni n f o r m a t i o ns e c u r i t y , e s p e c i a l l yi nd a t a a c c e s sc o n t r 0 1 t h ew o r ki sl i s t e da sf o l l o w s : f i r s t l y , w es e l e c t e daf i t f u ld a t am o d e lf o rx m l o n l yw i t hp e r f e c t d a t as t r u c t u r ec a nt h ef u up o t e n t i a lo fx m lb ee x c e e d a sw ec a ns e e 。 0 0t e c h n o l o g yh a sb e c o m em a t u r ea f t e rd e c a d e s d e v e l o p m e n t i n p r a c t i c e x m lw i t ho o d a t am o d e lc a nm e e tt h ed e m a n d sf r o mv a r i o u s a p p l i c a t i o n s i n t h i s p a p e r w e m o d i f i e dt h es e m i s t r u c t u r e dd a t a r e p r e s e n t a t i o ni no e m a n dd e f i n e dt h ed a t ar e p r e s e n t a t i o nb a s e do nt h e o ot e c h n i q u e s a n dt h e nw es i m p l i f i e dt h eo b j e c t m a p p i n gr u l e si n o d m gw i t hh e l po ft h ef u n c t i o n sp r o v i d e db yo o d e v e l o p m e n t t 0 0 1 w e s e td o w n r e p r e s e n t a t i o nm e t h o d s ,d a t am o d e l i n ga l g o r i t h m s a n d e x c h a n g i n gr u l e so fx o o m m o d e la n de s t a b l i s h e dt h en o v e lo om o d e l o fx m l t h ed a t as t r u c t u r ed e f i n e di nt h i s w a yc a ng u a r a n t e et h e c a p a c i t i e so fd a t ar e p r e s e n t a t i o na n de f f i c i e n c yo fd a t ae x c h a n g e s e c o n d l y , w ed u gi n t ot h es e m a n t i cd e f i n i t i o n so fx m l d a t aa c c e s s s c h e m a ,a n dp r o p o s e dt h ed a t a a c c e s sc o n t r o ls c h e m eo fp a r t i a l l y e n c r y p t e dd o c u m e n t s a sw ek n o wt h em a i na p p l i c a t i o n so fx m l a r ei n d o m a i no fr e p r e s e n t a t i o n ,t r a n s f e ra n ds t o r a g eo fw e bd a t a t h e r e f o r e ,t h e i n f o r m a t i o ns e c u r i t ys h o u l db ee m p h a s i z e d w 色i m p l e m e n t e dt h es e c u r e a c c e s sc o n t r o ls c h e m ei nt h ea c c e s sc o n t r o lm o d u l eo fn x d s y s t e m f i n a l l y , w ec o n c l u d e dt h ep a p e rw i t h d i s c u s s i o n so fa l lt h e a c h i e v e m e n t sa n dp u tf o r w a r ds o m ei d e a sf o rf u t u r ew o r k k e yw o r d sx m l , o b j e c to r i e n t e dd a t am o d e l ,a c c e s sc o n t r o l ,r o l e j f 原创性声明 本人声明,所呈交的学位论文足本人在导师指导下进行的研究工 作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得中南大学或其他单位的学位或证书而使用过的材料。与我共 同工作的同志对本研究所作的贡献均已在在论文中作了明确的说明。 作者签名:匙堑:日期:立二皇年垒月翌- 日 关于学位论文使用授权说明 本人了解中南大学有关保留、使用学位论文的规定,即:学校 有权保留学位论文,允许学位论文被查阅和借阅;学校可以公布学位 论文的全部或部分内容,可以采用复印、缩印或其它手段保存学位论 文;学校可根据国家或湖南省有关部门规定送交学位论文。 作者签名:盘是垄殂导师签名:z 盘查三日期:幽展韭日 硕 学位论文绪论 第一章绪论 x m l ( e x t e n s i b l e m a r k e t l a n g u a g e ) 是w 3 c ( w o r l d w i d e w e b c o n s o r t i u m ) 作为在i n t e r n e t 上表示数据和进行数据交换的标记语苦而推出的【1 1 ,是在i n t e r n e t 上进行数据交互和数据表示的统一标准。x m l 允许用户使用自定义的带有语义 的标签,这使得w e b 应用程序或者是数据库管理系统在i n t e r n e t 上操纵、管理和 提取数据成为可能,此外x m l 还可以用来定义数据的传输格式、数据操作的算 法和表示半结构化的数据。正是由丁:x m l 具有这种“天生”的灵活性,在研究 领域和应用领域内x m l 都得到了普遍地关注。 1 1 前言 普遍地认为x m l 是一种并不必须带有模式( s c h e m a ) 的半结构化数据实 例。但是,x m l 数据的结构和内容随着应用时间地增长可能发生频繁地变化, 因此采用合适的x m l 数据模型才是处理x m l 数据的基础。如何对x m l 数据 进行建模以使其适用于w e b 应用开发和数据管理是当前在x m l 研究领域内的 一个热点【那,“。其中,对于建立在模式( s c h e m a d t d ) 之上的x m l 文档或者 足直接对于模式文件本身已经存在了一系列的转换规则和转换步骤。许多因素 决定了建立在纯面向对象技术基础之上的x m l 数据模型是适合于w e b 应用开 发和x m l 数据管理的【5 j 。 1 2 研究内容和研究意义 在信息管理系统的研究领域内已经存在了许多种的x m l 数据模型,这些数 据模型用于将x m l 数据转换为关系模型或者是对象关系模型。同时,在w e b 应用开发领域内,由于采用可复用( r e u s a b l e ) 构件进行软件体系结构架构的具 体应用需求,以及在企业级应用中要和已有的信息管理系统兼容的需要,只有 构建基于面向对象技术的文m l 数据模型才可以更好地满足这些要求。此外,通 用的半结构化数据表示模型o e m ( o b j e c te x c h a n g em o d e l ) 并未完全支持面向 对象数据模型的一些重要特性,这样在对已有的系统进行改造或者是采用成熟 的面向对象技术进行开发时采用o e m 来对x m l 数据建模是不现实的。在具体 的应用领域内,本文所关注的是信息安全领域的访问控制方面,如果采用一些 硕十学位论文 绪论 通用的x m l 数据模型,比如w 3 c 的d o m 模犁样有一些不便之处,比如d o m 所定义的a p i 是通用对象层次上的,而不是针对f 应用的对象层次上,这些都 使得建立一个在具体应用领域基于面向对象理论的x m l 数掘模型足有着现实意 义,同时这也是本文关于x m l 数据模型方面研究的课题背景。 此外,随着计算机技术的发展和i n t e r n e t 的日益普及,以计算机和i n t e r n e t 为基础的各种信息管理系统已成为当今社会各种事务运作的基础,随之而来的 网络安全问题也更加突出。访问控t l t n 务在整个网络安全体系中具育其他安全 服务所不可替代的作用,也一直是信息安全的重要保证之一。x m l 作为w e b 数 据表示和数据交换的统一标准,如何对x m l 数据提供有效的访问控制足几乎是 所有w e b 应用所共同面临的课题。并且,网络带宽的增长速度远远比不上由于 用户增长而带来的需求,所以现在e 流的基于可信服务器的信息访问控制都存 在或必将面临这样的带宽矛盾,应用提出了研究的需求,本文就此问题提出利 用部分加密x m l 数据文档的x m l 信息访问控制解决方案和应用框架,这种方 案在做访问控制规则描述和框架各功能子模块之间的信息交互方面采用x m l 面 向对象数据模型为工具,通过分析该方案可以缓解带宽矛盾,具有一定现实应 用价值。 1 3 研究背景及现状 1 3 1x m l 和半结构化数据 现实世界中,一些数据是完全没有结构的,如v i d e o 、a u d i o 和i m a g e 数据流。 许多数据既不是完全没有结构,也不足完全有结构的,如h t m l 构成的w e b 页、 电子邮件、l a t e x 文档和生物数据库( 如a c e d b ) 等等,我们把它们称为半结构 化数据( s e m i s t r u c t u r e dd a t a ) 。与传统的结构化数据( 如关系数据库或者对象 数据库中的数据) 相比它主要的特征足自描述的( 即内容与结构都包含在数据 中) ,它的结构是不固定、不规则和隐含的,并且足易变化的。半结构化数据主 要应用在w e b 数据表示、数据集成和数掘交换等场合。 x m l 文档代表了一个重要的并且不断增长的半结构化数据源,它同半结构 化数据具有许多相同的性质,如自描述性,结构是不固定的和易变的。半结构 化数据中的标定( 或称为属性) 、对象和原子类型( s t r i n g ,i n t e g e r , f l o a t 等) 分 别对应于x m l 中的标记、元素和p c d a t a 。x m l 的元素可以含有属性,x m l 文档的数据元素( e l e m e n t ) 可以具有顺序,元素之间通过i d 和i d r e f 属性进行 2 硕学位论文 绪论 引用,文档具有可选的模式( s c h e m a d t d ) 约束,以上这些又是x m l 文档区 别于其它半结构化数据的地方,因此可以认为x m l 数据是一种独特的半结构化 数据。 由fx m l 具有可扩展性和更强的链接等优良特性,使它可以作为一种半结 构化数据的通用逻辑表示,程序可以很容易地把任何数据源的数据转换成为 x m l 格式的数据。因此,x m l 作为半结构化数据家族中的代表,对于它的研究 具有极其重要的价值。 对于、# 结构化数据的模式,目前已经提出了多种描述形式,比较有代表性 的有基于逻辑的形式和基于图的形式。无论是哪种描述形式,其讨论的基础都 是采用带标记的有向图作为半结构化数据模型,最典型的就是o e m 模型【6 l o 1 基于逻辑的描述形式 在已经提出的半结构化数据模式的描述形式中,基于逻辑的描述形式是重 要的一类,如一阶逻辑、描述逻辑以及d a t a l o g t 增。它们非常类似,但在表达 能力等方面有所差别,这方面比较典型的是基于d a t a l o g 的描述形式。 2 基于图的描述形式 半结构化数据模式的另一种重要描述形式是基于图的形式,这种描述形式 的显著特点是模式和数据采用同一种数据模型,即图模型,这给处理带来了很 大的方便,模式图通常是边上带标记的有向图,其边上的标记可以与数据图相 同,也可以加以扩充。 1 3 2x m l 安全相关标准和应用 由于x m l 的优秀特点和良好性能,在w e bs e r v i c e 等方面得到了广泛的应 用,对其安全方面的要求也日益得到关注,标准化组织也已经制定了一些基于 x m l 的安全相关标准,主要包括如下: 1 s a m l s a m l ( s e c u r i t ya s s e r t i o nm a r k u pl a n g u a g e ) 【8 1 提供了标准的方法在x m l 文档中来定义用户的认证信息、授权信息、e n t h l e m e n t s 和p r o f i l e 信息。s a m l 是一种在可信域之间交互认证和授权信息的标准。 2 x a c m l x a c m l ( e x t e n s i b l ea c c e s sc o n t r o lm a r k u pl a n g u a g e ) 【9 】的作用是为x m l 文档提供访问控制模式和访问控制语言的,是一种基于三元组 的语言,对于对象的引用粒度可以细到x m l 文档中的一个元素,a c t i o n 3 硕士学位论文 绪论 行为由四个原始行为( 读,写,创建,删除) 组成【1 0 1 。x a c m l 足肇f x m l 的 规范来表达网络上进行信息访问的策略。 3 x k m s x k m s ( x m l k e ym a n a g e m e n ts p e c i f i c a t i o n ) 足x m l 的用于公钥分发和注 册的协议【1 1 1 ,包括两部分:x m l 密钥信息服务规范( x k i s s ) 和x m l 密钥注 册服务规范( x k p s s ) 。x k m s 允许开发人员将认证、数字签名和加密服务集 成到基丁二w e b 的应用程序中,这将使得程序设计人员能够避免使用来自p k i 软 件商的软件开发工具而造成的不兼容,w 3 c 已经认可了x k m s 提案。 4 x m l 签名标准与x m l 加密标准 现有的二进制语法不适合于x m l 应用中的认证问题,对于基于x m l 的结 构化数据的安全性要求,比如数据来源的认证、数据的机密性和完整性,需要 通过x m l 加密标准( x m l - e n c r y ) 【1 2 l 和签名标准( x m ld i 酉t a ts i g n a t u r e , x m l d s i g ) 1 1 3 1 4 1 来提供。其中x m l 数字加密标准的流程为: 1 1 密钥是否已知,若未知,则转2 ) ,否则转3 ) ; 2 1 若未知,则生成共享密钥,对密钥加密或进行交换: 3 1 加密数据,内部的x m l 元素或内容,采用u t f 一8 编码; 4 ) 计算明文的h a s h 值,即摘要值; 5 ) 创建 包括或引用已加密的序列,用 来代 替明文或建立一个新的文档, 的格式如下: d s :r e t r i e v a l m e t h o d 4 硕士学位论文 绪论 其中 元素的子元素 用丁二存储经加密处理后的保 密数据, 元素用于存储密钥的相关信息或者密钥本身。 5 扩展权利标记语占 数字版权管理中的一个重要方面就是由数字内容的权利拥有人描述和规定 所允许的使用方式和使用条件。权利需要利用一致的语言进行描述,目前用束 进行销售和合同内容统一描述的语占有一种是c o n t e n t g u a r d 公司的扩展权利标 记语言( e x t e n s i b l er i g h t sm a r k u pl a n g u a g e ,x r m l ) 【1 5 】。x r m l 是一种用x m l 束描述使用数字内容的权利、费用和条件的规范,在规范中还包括内容的完整 性、机密性和实体认证等安全要求。 1 3 3 访问控制 访问控制的主要目标足阻止非授权用户对敏感信息的访问。最初的访问控 制被分为两类:自主访问控制( d a c ) 和强制访问控制( m a c ) 。自主访问控制 是基于对主体的识别柬限制对客体的访问,而且是自主的。所谓自主的是指具 有授予某种访问权限的主体能够自主地将访问权限或其子集授予其它主体,这 种访问控制资源比较分散,用户关系不易管理,信息容易泄漏。强制访问控制 是通过比较主体和客体的安全属性来决定足否允许主体访问客体。安全属性足 由系统自动或由安全管理员分配给每个实体,它不能被任意更改。这种访问控 制的应用领域比较窄,对于完整性方面控制不够。 在实际应用中,很多安全需求是无法预知的,每个企业都有其独特的安全 需求,而这些安全需求足很难用d a c 和m a c 来描述和控制。于是美国国家标 准化和技术委员会( n i s t ) 的f e r r a i o l o 等人在9 0 年代提出了基于角色的访问 控制( r o l e b a s e d a c c e s sc o n t r o l ,r b a c ) 1 1 6 ,它是一种中性策略,也是一种通 用模型,并被认为是取代传统访问控制的有效模式。普遍认为,r b a c 会在将来 应用于数据库系统、工作流系统以及异构环境的分布式系统。目前对于r b a c 授权管理模型的研究仍不完善,其中较为深入的是美国g o r g em a s o n 大学的 r b a c 9 6 和r b a c 9 7 模型和美国国家标准和技术局( n i s t ) 研究小组的r b a c 模型等。国内南京大学和华中理工大学都对r b a c 授权管理模型及在m i s 中的 应用有了一些研究在整个研究过程中,模型的建立及其实现是基于角色访问 控制研究中r b a c 的两大热点。在模型的建立方面,美国g o r g em a s o n 大学 s a n d h u 提出的模型由于系统和全面地描述了r b a c 多层次而得到了广泛的认 可。 5 硕士学位论文 在基于角色的访问控制中,用户与特定的一个或多个角色相联系,角色与 一个或多个访问许可权相联系。在图1 1 1 17 】展示了r b a c 模型中用户和角色以及 角色和权限之问的多对多的关系,从图中可以看出角色足一种间接授权和访问 控制的方法:资源的访问权限被赋予一定的角色,个体被赋予角色。 图1 - 1 r b a c 模型 与自主访问控制和强制访问控制相比基于角色的访问控制有如下优点1 1 8 l : 1 它是一种与策略无关的访问控制技术; 2 具有自管理能力; 3 便于实施整个网络信息系统的安全策略。 1 4 基本研究方法和思路 抽象、理论和设计足计算机科学与技术的文化方式,它概括了计算机学科中 的科学思维方法。抽象源于现实世界。是对现实原型本质的理想化。尽管理想 化后的现实原型与现实事物有了区别,但它们总是现实事物的概念化,是以现 实为背景的。进一步地,要实现对事物本质的认识,还必须从抽象到理论的升 华,最后再将这种认识回到现实中进行检验。现实设计阶段的许多问题和困难 表面上足技术问题,实质上是抽象的认识不足和理论阶段的逻辑发展出了问题, 因此,要真正从根源卜解决学科的某些课题,首先,必须对研究对象进行符合 实际的抽象,而后进行严密的逻辑发展,最后形成相容和完备的科学体系才能 保证技术是奠定在牢固的基础之上的。 基于这个思路,本文首先建立一个基于面向对象技术的x m l 数据模型,并 据此提出由数据模型到具体数据结构的转换中相关的算法及转换规则。然后, 针对相关的课题,即信息安全中访j 控制的问题在后续章节中依据抽象的多层 次递进给出了理论和实验解决方法,在这个层次上首先就x m l 数据的特点提出 x m l 安全防护树模型,此后就此演绎出x m l 数据访问控制的语义,并以此为 基础扩展w 3 c 关于x m l 加密和查询的标准提出课题的解决方案。 6 硕+ 学位论文绪论 1 5 论文结构 本文的后继章节安排如下: 第二章介绍x m l 的对象交换( 0 e m ) 数据模型和d o m 数据模型,以及 o d m g 对象模型,引出了半结构化数据的通用对象映射规则: 第三章根据o e m 数据模型定义了x m l 面向对象数据模型( x o o m ) ,并且 依照半结构化数据的通用对象映射规则,利用面向对象开发t 具定义了x 0 0 m 的数据结构、转换算法和转换规则; 第四章通过对x m l 信息访问控制语义的分析,利用传统加密算法和关系表 访问方法提出了一种基于部分加密x m l 文档的访问控制方案,以及实现该方案 的步骤和优化方法,最后通过实验对该方案的效率进行验证; 第五章以元生x m l 数据库( n x d ) 的访问控制模块为背景,使用x 0 0 m 作为系统应用的描述以及模块问交互的工具,通过x m l 配置文件进行访问控制 策略的设置,对x m l 访问控制系统进行了集成,以及对在系统设计中遇到的主 要技术问题提出了解决方案; 第六章对本文所开展的工作进行了总结以及对下一步工作进行了规划和展 望。 7 硕十学位论文 数据模犁 第二章数据模型 二十世纪九十年代以来,随着i n t e m e t 和w e b 的蓬勃发展,在w e b 上出现 了大量的不规则、不完整和易变的数据,采用传统数据模型来存储和处理这些 数据变得非常困难和不可能,半结构化数据模型应运而生。w 3 c 于1 9 9 8 年提出 了x m l ,并且得到了广泛地接受,成为在w e b 上表示和交换数据的标准,这使 得半结构化数据的研究有了更明确的方向,即对大量x m l 数掘的高效管理和访 问技术的研究。 2 1 前言 目前,在x m l 数据访问方面的数据模型主要包括三类【1 9 】:第一类是面向对 象的半结构化模型,如l o r e 和x m i , - q l 等,这些模型的共同点是x m l 数掘被 表示为有向图。第二类是采用r d b 的数据模型,在这种数据模型中首先将x m l 数据保存在r d b 中,然后利用关系数据库管理系统的现有机制对x m l 数据进 行操控。第三类是采用o o d b 的对象模型,一般是将x m l 数据存储在o o d b 中,然后对其进行操控。在本文中我们采用面向对象的数据模型,这主要基于 以下的考虑: 1 无论采用以上哪种数据模型,最终对x m l 数据的表示和操作都使用到 了对象; 2 面向对象数据模型支持复杂数据类型,因此可以方便、直观地建立x m l 数据的对象模式: 3 面向对象的方法已经普遍地应用于软件开发的各个阶段; 4 这也是建立各种具体系统应用的需要: 1 ) 方便新开发系统与已有系统的无缝连接; 方便开发中使用成熟的面向对象技术与工具。 在结构上x m l 数据与对象模型数据之间存在很大的差异,一方面以正则表 达式定义的内容模型【2 0 2 1 1 使得元素之间存在非常复杂的组合与次序关系,另一 方面x m l 数据可能没有明确的数据类型定义。本文通过对半结构化数据的通用 模型o e m 的扩展,简化o d m g 对象模型的一些制约( 如兄弟元素之间复杂的 组合关系等) ,来建立x m l 纯面向对象的数据模型x o o m 。本章后继部分是这 样安排的:第二节介绍x m l 数据及其模式的语义;第三节介绍本文数据模型研 硕七学位论文数据模型 究所依赖的几种主流对象数据模型和半结构化数据模型;第四节提出了x m l 数 据到对象模型映射的通用规则。 2 2 x m l 数据 在形式上x m l 数据可以被映射为树或者是图。文档元素对应于树的根节点, 文档元素的子元素对应于树中根节点的子节点,以此类推。叶节点没有子节点, 与字符数据对应。 2 2 1 x m l 图 当一个x m l 文档可以映射为图时,该图中每一个顶点对应于x m l 文档中 的一个元索或属性,对于一个完整的x m l 文档,该图具有如下特征: 1 具有唯一的根节点: 2 边上的标注描述了顶点之日】的关系; 3 节点之间可以存在回路; 4 兄弟节点之间是有序的。 定义2 1x m l 图是一个4 元组 。其中,v 表示有限顶点的集 合;e 表示顶点问有向边的集合,并且e = ( v 1 ,v 2 ) l v l ,v 2 e v ;r 表示根顶点 的集合,并且r = v i v v 且v 的入度为o bl 表示为边上标注的集合。 由于x m l 图具有以上的特征,通过一些转换方法,比如引入冗余数据、实 体展歼和忽略掉某些次要信息等,可以将x m l 图在空阅上简化为埘的形式。 2 - 2 2 x m l 约束和d t d 树 对于x m l 文档有两种类犁的约束条件:规范性约束( w e l l f o r m e dc o n s t r a i n t ) 和有效性约束( v a l i d i t yc o n s t r a i n t ) 。规范性约束是所有x m l 文档都必须满足的 约束条件,当一个x 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 中定义了x m l 文档的数掘结构以及相关约束,并且d t d 对于x m l 而言不是必须的。同x m l 数据相似,d t d 也可以使用树来表示d t d 树描述 了在d t d 中元素逻辑的和结构的联系,具体应用通过解析d t d 文档可以生成 d t d 树,从这个角度来看d t d 树是处理d t d 的应用开发接口( a p i ) 。 d t d 树是一个有向的和带有边标记的树,图2 - i 展示了一个d 1 巾树,其中 节点表示d 7 i i ) 中的元素,元素名可以直接标注在节点之上,叶节点表示数据类 9 硕十学位论文 数据模型 型( 比如# p c d a t a ) ,有向边表示d t d 中元素和其于元素的包含关系,在边上 的标签暗示了选择关系( + ,+ ,? ,i ) ,没有标签的有向边暗示子节点只出现一 次,元素的属性定义在节点旁,那些没有命名的节点暗示了其父节点拥有一系 列的子节点。 2 3 数据模型 图2 - 1d t d 树 数据模型是随着应用的需求和人类对于信息管理认识的不断深入而逐渐发 展的。x m l 是一种独特的半结构化数据类型,因此半结构化数据和x m l 之间 具有显著的相似性,半结构化数据已有的理论和原型系统可以作为x m l 研究的 基础。 2 3 1 对象模型 o d m g ( o b j e c td a t a b a s em a n a g e m e n tg r o u p ) 的对象模型是一个基于类型的 系统【捌,所有的对象都是某种类型的实例,其中具有对象标示符( o i d ) 的对象 是抽象类型o b j e c t 的子类型的实例,无o i d 的对象是直接量类型l i t e r a l 的子类 型的实例。类型分为原子类型和构造类型,原子类型中包括i n t e g e r 、f l o a t 、b o o l e a n 、 c h a r a c t e r 和t y p e 等;构造类型包括集合、包( b a g ) 、列表( l i s t ) 、数组等聚合 类型( c o l l e c t i o n ) 和结构。对象类型的实例具有特性( p r o p e r t y ) 和操作。特性 l o 硕十学位论文数据模型 又分为属性( a t t r i b u t e ) 和联系( r e l a t i o n s h i p ) 。属性值的类型为直接量,联系 用于描述两个对象类型的实例之间的关系。联系用命名的遍历路径( t r a v e r s a l p a t h ) 来定义。下面各处了使用o d m g 对象定义语言o d l ( o b j e c td e f i n i t i o n l a n g u a g e ) 描述模式的一个简单例子,其中p r o v i n c e 和c i t y 含有对象的集合, 它们分别构成了两个类p r o v i n c e 和c i t y 的外延( e x t e n d s ) 。在o d m g 中,构造 符是在o d m g ,语言( 例如,o d m g c + + 或o d m g j a v a ) 绑定中定义的,而不 是在o d l 句法中定义的。 c l a s sp r o v i n c e ( e x t e n tp r o v i n c e ) a t t r i b u t es t r i n gp c o d e ; a t t r i b u t es t r i n gp n a m e ; a t t r i b u t ec i t yc a p i t a l ; r e l a t i o n s h i ps e t c i t i e s i n i n v e r s ec i t y :p r o v i n c e - o f ; c l a s sc i t y ( e x t e n tc i t i e s ) a t t r i b u t es t r i n gc c o d e ; a t t r i b u t es t r i n gc a n m e ; r e l a t i o n s h i pp r o v i n c ep r o v i n c e o f i n v e r s ep r o v i n c e :c i t i e s i n ; 将o d m g 数据描述成半结构数据的方法是十分直接的,下面给出将o d m g 模型转化为由x d u c e 【2 3 1 表示的半结构化数据模型的示例: p r o v i n c e :( p r o v i n c e :& p l ( p c o d e :”s d ”, p n a m e :”s h a n d o n g ”, e a p i t a l :& c l , c i t i e s i n : c i t y :& e l ,c i t y :& c 3 , , p r o v i n c e :& p 2 ( p c o d e :”s x ”, p n a m e :”s h a n x i ”, c a p i t a l :& c 2 , c i t i e s i n : c i t y :& c 2 ) , 1 1 硕十学位论文数据模型 c i t i e s : c i t y :& c l ( c c o d e :”j n ”,c u a m e :”j i n a n ”,p r o v i n c e - o f :& p 1 ) , c i t y :& c 2 ( c c o d e :”x a ”,c n a m e :”c h a n g ”,p r o v i n c e o f :& p 2 ) , c i t y :& c 3 ( c c o d e :”q d ”,c u a m e :”q i n g d ”,p r o v i n c e - o f :& p 3 ) , 2 3 2 0 e m 模型 o e m ( 0 b i e c te x c h a n g em o d e l ) 1 6 j 是简单的,自描述的和嵌套的对象模型, 定义于斯坦福大学的t s i m m i s 系统中,该系统主要用于异构数据源的集成。很多 类似的系统也使用该模型或该模型的变体,实际上o e m 已经成为通用的半结构 化数据的模型。 定义2 2 一个o e m 对象是一个四元组 。其中, l a b e l 是一个变长字符串,用以描述对象的意义;r y p e 表示对象值的类型,包括 原子类型和复杂类型;v a l u e 表示对象的值:o l d 用以表示o e m 对象的唯一标 识( “a ”表示空) 。 x m l 数据在o e m 模型中被表示为带标签的有向图。其中,图中的节点用 以表示x m l 的数据元素,边表示为元素一子元素关系。因为在o e m 模型中并 不要求定义类型( c l a s s t y p e ) ,所以被称为轻量级的对象模型,此外,o e m 模 型不支持封装和对象属性。o e m 模型仅仅支持对象嵌套( o b j e c tn e s t i n g ) 和对 象标识( o b j e c ti d e n t i f y ) ,面向对象数据模型的其他特性诸如类、方法以及继承 等均被o e m 模型省略了,同时o e m 模型不要求对象必须符合类的规则。 2 3 3 d o m 模型 w 3 c 的d o m ( d o c u m e n t o b j e c t m o d e l ) 1 2 4 懈x m l 文档的内容视为对象的 集合,从而向诸如脚本语言( s c r i p tl a n g u a g e ) 的程序开发语言提供访问和操纵 x m l 数据的一套机制。d o m 将x m l 文档表示为对象的层次体系,基于这些对 象,d o m 定义了一套面向对象的a p i 提供给开发者进行x m l 的数据处理。 d o m 模型规定每一个元素只能有一个标记,标记放在节点中,同时元素的 属性没有标记,只有属性名。支持d o m 的x m l 解析器按照d o m 规范,把x m l 文档分解为一棵包含文档中所有元素的树结构,程序就可以通过d o m 定义的接 1 2 硕七学位论文数据模型 口访问和更新x m l 文档的样式,结构和内容。 但是,在实际应用中我们仍然发现d o m 存在着诸多的不足,比如d o m 所 定义的a p i 是通用对象层次上的,而不是针对f 具体应用的对象层次上的,在 d o m 中没有针对于开发而设置的对象属性,并且使用d o m 只能将整个x m l 文档作为一个整体装入内存中才能进行后继的操作。 2 4 模型映射规则 x m l 数据和对象模型中的对象是相似的,例如元素的i d 属性用于唯一标 识一个元素,元素可以具有一个或多个属性,元素问具有组成关系等。根据这 些相似性可以很自然地得出一些将x m l 数掘映射到对象模型的方法,不过由于 x m l 的一些特点使得这种映射变得困难,主要问题如下: 1 x m l 数据是有次序地,而在对象类型的定义中没有描述属性或联系问次 序的机制; 2 对于由递归构造形成的复杂内容模型简单的映射不能描述数据的全部 特性; 3 如果x m l 文档没有声明d t d ,则要正确描述内容模型非常困难; 4 元素的属性具有不同的缺省类型,在o d m g 中没有定义有关此方面的 方法。 显然,简单的处理方法会造成信息的损失,所以保证信息无损是x m l 面向 对象数据模型定义和进行转换映射要解决的一个关键问题。对于这个问题的解 决本文采取的方法是改造通用半结构化数据模型o e m ,主要工作足将边标定的 信息改由节点标定来表示以适应对象模型的要求,这样就保证了模型对x m l 数 据的表示能力;其次,简化o d m g 中对于x m l 数据并非重要的特性,比如兄 弟元素之问复杂的组合关系等,来制定通用的模型映射规则( 具体的转换步骤 在下一章中详述) ,这样就保证了数据模型转化的有效性。综上,本文提出从x m l 数据向对象模型映射的规则如下: 1 一个元素被映射为一个对象,对于同一类型的元素,相应的对象属于相 同的对象类型; 2 元素与其子对象的嵌套关系被映射为相应对象的从属关系; 3 未解析实体被映射为一个对象,具有相同符号声明的实体被映射为同一 对象类型的实例: 4 内部己解析普通实体和参数实体作为替换文本被复制到每一个引用它 硕t 学付论文 数据模型 的位置: 5 处理指令和注释予以忽略; 6 属性和元素的数据内容( p c d a t a ) 被映射为同一类对象,作为元素对 象的成员属性存在。 2 5 小结 在本章中,通过分析对于x m l 数据访问的几种类型的数据模型,得出结论 对象模型是最适合于应用研究的数据模型。在数据模型介绍中以0 d m g 对象模 型作为建模目标,以o e m 模型作为建模基础,以d o m 模型作为解析手段,这 样既保障了操作的可行性和x m l 数据模型的数据表达能力,又保障了对象数据 模型转化的有效性。同时,作为本章的结束,在最后给出了x m l 数据模型的映 射规则,作为下一章x m l 面向对象数据模型的研究基础,以及数据模型建立步 骤和算法的设计约束。 1 4 硕士学位论文 x m l 面向对象数据模型 第三章x m l 面向对象数据模型 为了最大限度在具体应用中发挥x m l 的潜力,x m l 数掘模型的确立足一 个首先必须解决的核心技术环节,本章提出了x m l 面向对象数据模型的概念, 以及模型的建立算法和步骤。 3 1 前言 当前对于x m l 数据模型的研究主要围绕以下三类展开:关系模型,图模型 和f - l o g i c 。我们发现那三种方案在进行模式描述的时候无论采取的是基于逻辑 的描述形式,还是采取基于图的描述形式,或者是采取模式定义语言,最终所 进行的模式定义以及在该模式下所定义的操作和运算都可以方便的转换为面向 对象下的类型和类型的继承体系,从而由模式转换为具体实现。所以,可以看 出面向对象技术在x m l 数据模型定义中居于核心地位,本章第二节以面向对象 技术为出发点给出x m l 面向对象数据模型的定义。在第三节中给出了x m l 面 向对象数据模型的建立过程和算法。 3 2x m l 面向对象数据模型的定义 x m l 足一种特殊的半结构化数据,而同时o e m 是半结构化数据的通用模 型,但是在对象模型中很难表述o e m 模型中有向边上所标定的信息,因此通过 对o e m 模型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖南株洲市行政审批服务局招聘中级雇员2考前自测高频考点模拟试题及参考答案详解一套
- 安全培训效果评估和改进课件
- 安全培训效果考评方案课件
- 乘风破浪初高中毕业季毕业典礼电子相册模板
- 2025春季新疆石河子大学第一附属医院、石河子大学附属中医医院(兵团中医医院)校园招聘10人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025年高性能钼片项目合作计划书
- 2025广西百色市田阳区消防救援大队政府招聘专职消防员9人模拟试卷附答案详解(突破训练)
- 2025杭州淳安县公开招聘中小学教师12人模拟试卷参考答案详解
- 2025广东深圳市宝安区陶园中英文实验学校招聘精英教师16人考前自测高频考点模拟试题附答案详解(完整版)
- 2025年河北秦皇岛工业职业技术学院招聘专任教师3人模拟试卷及答案详解(典优)
- 2025外贸采购合同模板
- 体操保护与帮助课件
- 危重病人抢救制度课件
- “互联网+”大学生创新创业大赛计划书一等奖
- 山东省济南市2025届中考数学真题(含答案)
- GB/T 21063.1-2007政务信息资源目录体系第1部分:总体框架
- 第三讲:新闻真实性分析课件
- 《婚姻家庭法 (第三版)》第四章夫妻关系
- 急危重症患者的抢救应急处理预案及流程
- 电梯井道圈梁加固工程施工方案
- 流感疫苗项目市场营销策略方案
评论
0/150
提交评论