




已阅读5页,还剩76页未读, 继续免费阅读
(计算机软件与理论专业论文)基于microsoft+windows的oodb存储结构研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基十m i c r o s o f t w i n d o w s 的o o d b 存储结构研究 摘要 面向对象技术与数据库技术相结合有多种方法,但从现有的研究 情况看,面向对象数据库技术是最革命、最具前景的- - i 技术,尽管面 向对象数据库系统做为数据库家族中的一个新兴的研究和开发领域, 尚缺乏完善的理论支持,但其在数据库领域中已得到日益广泛的应用 并已取得多项有实际意义成果,也必将成为面向对象技术和数据库技 术相结合的主流技术。 本文在介绍了有关o o d b 的基本概念后,首先分析研究了m i c r o s o f t w i n d o w s 操作系统存储管理和文件管理的原理,论证了基于m i c r o s o f t w i n d o w s 开发o o d b 的可行性和方便性:由于m i c r o s o f tw i n d o w s 采用 虚拟内存方式,所以它能够以内存的管理方式来管理文件,而且虚拟 内存的管理方式对用户是透明的,这使得基于m i c r o s o f tw i n d o w s 的 o o d b 的开发省去了许多底层复杂数据存储工作,能够有效降低开发难 度;n t f s 的文件管理机制保证了基于m i c r o s o f tw i n d o w s 开的o o d b 的 稳定性、安全性。之后提出了基于m i c r o s o f tw i n d o w $ 的面向对象数据 库( o o d b ) 数据存储结构设计思想:数据存储依托m i c r o s o f tw i n d o w s 的存储管理、文件管理功能,一个数据库与一个系统路径相对应,一 个对象与一个文件相对应,一个实例与一个文件记录相对应。最后, 采用面向对象的方法对系统进行了分析、设计,实现后通过一个具体 的应用实例验证了基于m i c r o s o f tw i n d o w s的o o d b 所具有的先进性: 与操作系统无关,具有较强的移植性;对系统稀缺资源的消耗低;突 破数据库在存储空间的限制;依托微软的安全机制,具有相对较高的 安全性;达到了库中有库,对象中有对象的效果,直接实现了对非线 性结构数据的存储。 关键词:面向对象数据库;存储管理;文件管理;操作系统 a b s t r a c t t h e r ea r em a n ym e a n sf o rc o m b i n i n go b j e c t - o r i e n t e d t e c h n o l o g ya n dd a t a b a s e t e c h n o l o g y , b u to b j e c t - o r i e n t e dd a t a b a s e ( o o d b ) i so n eo ft h em o s tr e v o l u t i o n a r y a n dp r o m i s i n gt e c h n o l o g yi nc u r r e n tr e s e a r c h o o d bi san e wr e s e a r c hf i e l do f d a t a b a s es y s t e ma n dt h e o r i e sr e l a t e dw i t hi ta r en o ti m e g r a t e d h o w e v e l so o d b h a s b e e na p p l i e di n t os o m ef i e l d sa n do b m i n e dg o o dr e s u l t s t h e r e f o r e ,o o d bw i l l b e c o m e m a j o r t e c h n o l o g yo f d a t a b a s es y s t e m f i r s t l y ,t h i sp a p e ri n t r o d u c e sm e m o r ym a n a g e m e n ta n df i l em a n a g e m e n to f m i c r o s o f f 渤d o w sa n d 西ad e m o n s t r a t e st h e f e a s i b i l i t y a n d c o n v e n i e n c y o f d e v e l o p i n g o o d bb a s e do nm i c r o s o f t w i n d o w s o w i n g t ov i r t u a l m e m o r y m a n a g e m e n to f w i n d o w s a l o to fl o wl e v e lw o r kc a l lb eo m i t t e dg o 船t or e d u e et h e d i f f i c u l t yo fd e v e l o p i n go o d b o n t h eo t h e rh a n d f i l em a n a g e m e n tb a s e do nn t f s e n s u r e dt h er e l i a b i l i t ya n ds e c u r i t yo f d e v e l o p i n go o d b , s e c o n d l y a l li d e ao fs a v i n gd a t ai sp r o p o s e d f o l l o w s :s a v i n gd a t ar e l i e so n m e m o r ym a n a g e m e n t a n df i l em a n a g e m e n t o f w i n d o w s ,ad a t a b a s ec o r r e s p o n d st oa s y s t e mp a t h ;a l l0 b j e c tc o r r e s p o n d st oaf i l e ;a l li n s t a n c ec o r r e s p o n d st oar e c o r do f f i l e f i n a l l y ,ao o d bs y s t e mi si m p l e m e n t e d a n dt e s t e db yas p e c i a le x a m p l e r e s u l t s h o w st h ea d v a n t a g e so f o o d bb a s e do l lw i n d o w s f o re x a m p l e ,i ti si n d e p e n d e n to f o s ;i td e m a n d sl i t t l es y s t e mr e s o u r c e ;i ti sn o tr e s t r i c t e db ym e m o r ye a p a e i t y ;i th a s h i g hs e c u r i t y :i tp e r m i t s ad a t a b a s ec o n t a i n i n go t h e rd a t a b a s e sa n dao b j e c t c o n t a i n i n go t h e ro b j e c t s s oa st os a v en o n 1 i n e a rd a t as t r u c t u r e k e y w o r d s :o o d b ,m e m o r ym a n a g e m e n t ,f i l em a n a g e m e n t ,o p e r a t i n gs y s t e m ( o s ) 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得东北师范大学或其他教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 学位论文作者签名:辑日 学位论文版权使用授权书 期 本学位论文作者完全了解东北师范大学有关保留、使用学位论文 的规定,即:东北师范大学有权保留并向国家有关部门或机构送交学 位论文的复印件和磁盘,允许论文被查阅和借阅。本人授权东北师范 大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可 以采用影印、缩印或其它复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:孝垂l 叠勇指导教师签名:9 8 避季 日 期:瘤专呼日期:丝笔盟;口日 学位论文 工作单位 通讯地址 电话:丛理! 步 邮编:书艘_ 黟 基于m i c r o s o f tw i n d o w s 的o o d b 存储结构研究 1 1 引言 第一章绪论 在计算机辅助设计( c a d ) 、计算机辅助制造( c a m ) 、计算机辅 助软件工程( e a s e ) 、图像处理、地理信息系统( g i s ) 等新的应用领 域,以及管理信息系统( m i s ) 、办公自动化( o a ) 等应用领域对大型 工程复杂数据的处理问题提出了新的要求:支持复杂的数据类型,支 持复杂的数据结构,支持工程事务管理,支持版本和配置管理,支持 导航式查询和关联访问,支持分布式系统中独立于平台的大型对象的 存储。这些耨的要求不仅使面向对象的分析设计方法成为目前系统开 发的主流,而且也加速了面向对象技术与数据库技术相结合的进程。 目前面向对象技术与数据库技术相结合有多种方法,主要为:扩 充关系数据库系统,建立对象关系数据库;支持持久对象的程序设计 语言;面向对象的数据库系统;数据库系统工具包部件;用面向对象 的方法学定义关系数据库模式,即面向对象的关系数据库。从现在看, 这五个方面研究和发展是很不平衡的,在有的方向上已取得了重大成 果,事实上成为现在的主导方向;而在有的方向上取行的成果甚少, 似乎已经没有再继续进行下去的必要性。 面向对象的数据库系统方向上的研究非常活跃。许多方面的研究 都取得了有意义的成果,包括基本对象模型,复杂对象的支持,模式 演化,面向对象的查询语言及其查询处理机制,面向对象数据库的索 引机制,基于指针的连接方法,客户机服务器体系结构,以及性能测 试基准等。然而,o o d b 的商品化现状显然比以前预期的要差得多,其 原因是多方面的。首先,o o d b 缺乏标准,尽管己提出一个标准草案 o d m g 一9 3 ,但许多厂商都只是部分的遵守它。其次,o o d b 产品在安全性、 完整性、坚固性、可伸缩性、视图机制、模式演化等许多方面都不如 r d b 产品。另外,o o d b 系统的应用开发工具很少,对客户机n 务器计 第一革绪论 算环境的支持也不够。以上多种原因使许多预期的用户,例如c a d 厂 商并没有很快的转向0 0 d b 系统。 在目前的数据库技术发展过程中,数据库追求的性能指标始终是 数据类型的多样化和查询功能的灵活性、智能化。从目前的情况看, 无论是市场的需求,还是技术条件的成熟,基于w e b 的对非传统的复杂 数据类型的存储、处理和查询技术将成为2 l 世纪数据库应用的主流技 术。这必然使数据数据库技术与面向对象技术结合形成的新一代数据 库系统面向对象数据库成为发展的必然趋势,并具有广阔的研究 前景。 1 2 国内外面向对象技术与数据库技术相结合的方 法 1 2 1 扩充关系数据库系统,建立对象关系数据 库 关系数据库管理系统作为较成熟的数据库系统具有许多突出优 点,但是,缺乏对大型数据类型应用程序的支持。面向对象的数据库 系统在描述这些复杂数据类型方面得心应手,却不能利用关系数据库 系统的成功之处。目前还有许多应用是关系数据库管理系统和面向对 象数据库管理系统各自能力无法满足的。为迎合这种需要,对传统的 关系数据库加以扩展,增加面向对象的特性,产生了对象关系型 数据库管理系统。 对象关系型数据库管理系统是一种以传统的关系数据库系统 为基础,进行演化的方法,该方法主要是将关系数库系统的类型系统 开放,允许将新的、用户定义的抽象数据类型( a d t ) 加进来。用户定 义新的a d t 时需要实现这个类型,即定义它的表示方法和书写它的函 数。然后这个新的类型就登记到数据库中,就可以像内部构造的类型 基于m i c r o s o f tw i n d o w s 的o o d b 存储结构研究 一样被使用了。它的目标是既支持复杂对象和复杂对象的复杂行为, 使关系型数据库管理程序能够处理新的数据类型;同时又不会破坏关 系数据库管理系统的优势。 对象关系型数据库管理系统的特点:可扩充的数据类型和函数; 扩充的数据访问方法;对数据的查找和s q l 访问;按内容查询;健全 的数据库管理功能。 典型的对象关系型数据库管理系统产品有:i n f o u m i x 公司的 i n f o r m i xu n i v e r s a ls e r v e r 、o r a c l e 的o r a c l e 8 、i b m 公司的d b 2 等。 1 2 2 支持持久对象的程序设计语言 这是一种以面向对象程序设计语言为基础,增加数据库功能的方 法。该方法采用种面向对象的程序设计语言的类型系统和编程模式, 增加新功能,使它的数据成为持久的、可共享的。这种方法所涉及的 问题包括:是否所有的类型都能成为持久的;如何实现数据的持久性, 类型系统和类型安全性;支持透明的导航和持久数据结构的垃圾收集 技术等。 支持持久对象的程序设计语言方向上的研究取得了若干有意义的 成果,而且现在还有项目在继续进行中,但从商业实践的意义上看它 并不成功,没有一个商品化的实现可以归类为纯粹是持久的程序设计 语言。然而,这个方向上的研究成果对于面向对象数据库系统产生了 积极的影响。当今,许面向对象数据库产品的导航式程序设计界面得 益于持久的程序设计语言的研究。此外,关于持久模型、持久数据的 垃圾收集模式等方面的研究成果都可以直接应用到面向对象的数据库 系统中去。 1 2 3 面向对象的数据库系统 1 面向对象的数据库系统概述 面向对象的数据库系统是一种更加革命的方法,将数据库系统特 第一章绪论 性与面向对象程序设计语言的特性结合起来,产生面向对象的数据库 系统( o o d b ) 。一个面向对象的数据库系统应该满足两个准则:首先它 是一个数据库系统,具备数据库系统的基本功能,例如查询语言、散 列或成组存取方法、事务管理、一致性控制及恢复等;其次是一个面 向对象系统,是针对面向对象的程序设计语言的永久性对象存储管理 而设计的,充分支持完整的面向对象概念和机制,例如用户自定义数 据类型、自定义函数、对象封装等都是必不可少的。所以,可以将一 个面向对象的数据库系统表达为:面向对象系统+ 数据库能力。实际上, 它是一个将面向对象的程序设计语言中所建立的对象自动保存在磁盘 上的文件系统。一旦程序中止后,它可以自动按另程序的要求取出 已存入的对象。所以,面向对象数据库是一种系统数据库,它的用户 主要是应用软件和系统软件的开发人员,即专业程序员,而不是最终 用户。这类系统的好处是可与面向对象程序设计语言一体化,使用者 不需要学习新的数据库语言。 2 面向对象数据库的主要优点 ( 1 ) 消除了数据库与程序设计语言之间的语义断层:传统数据库 ( 特别是关系型数据) 的数据模型与程序设计语言的类型系统之间存 在着不匹配。传统关系型数据库无法直接存储在当前主流程序设计语 言中十分常见的复杂数据结构( 链表,字典,矢量) 等。程序开发人 员要为数据库与程序设计语言数据之间的转换工作编写大量的代码, 且此类代码的维护和移植相当困难。而面向对象数据库提供了与面向 对象语言相同的功能,它允许定义任意复杂的数据类型和提供与数据 相关联的行为。面向对象数据库本身含有对象,这些对象在运行时不 需要导出。 ( 2 ) 更为自然的对象级别数据共享:面向对象数据库向应用程序提 供了永久的信息集成,而同时又使共享和遍历这些应用软件间的数据 变得容易。 ( 3 ) 可扩充性和可维护性:基于面向对象思想构建的面向对象数据 库继承了其对软件封装的概念,一个良好的基于面向对象数据库设计 的模块,就好像“软件集成电路块”一样。因此,当系统进行扩充和 基于m i c r o s o f tw i n d o w s 的o o d b 存储结构研究 维护时,新扩充的部分和要维护的部分不会影响到其他的部分。这才 是真正体现了模块化的思想。扩充和维护程序很方便,并且增加了可 靠性。 ( 4 ) 有效的数据聚集提高了系统性能:由于面向对象数据库对复杂 对象的支持,对象内部和各个对象间的关系从逻辑上表达了数据的相 关性,因而面向对象数据库系统更容易获取数据聚簇的信息。 3 面向对象数据库的不足 首先,没有统一可行标准。目前,面向对象数据库还缺乏坚实的 形式化理论的支持,没有一个切实的标准,许多面向对象数据库产品 在程序设计接口、实现方法,对查询的支持等方面都存在许多差异。 尽管o d m g 一9 3 的颁布很长时间了,但许多厂家并未把它作为一个完整 的标准来真心支持它,它被厂家的意愿随意支解,一些厂家支持这一 部分,而另外的厂家支持那一部分,以致产品之间的兼容性和可移植 性比较差,这己成为它广泛应用的主要障碍。 其次,面向对象的数据库产品在一些方面仍然落后于关系数据库 产品,例如,还没有o o d b 支持视图机制,并且在这方面的先前研究也 未真正展开;模式演化在o o d b 中更为落后;o o d b 与它们的应用程序语 言紧密集成,许多系统仅提供一种语言;除此之外,o o d b 的鲁棒性、 可伸缩性都难以赶上关系数据库系统。在应用开发工具、c s 计算环境 相关的一些方面也存在不少问题。例如在工具方面,o o d b 明显缺乏最 终用户工具及应用开发工具,而这方面的工具在关系数据库中却得到 了广泛的应用。 第三,0 0 i ) 1 3 的商业市场的增长速度比预想的要慢得多,一些应用 领域,如c a d ,原指望很快就会从文件系统转移到o o d b 上来,可事实 并非如此;另外值得指出的是,一些大型数据库厂商并未转移到o o d b 上来,它们仍然热衷于关系数据库技术。 第四,与关系数据库系统不兼容。面向对象数据库不能与关系数 据库系统兼容,没有提供使关系数据库和面向对象数据库相互转换的 通道和桥梁,以便用户可以根据需求,发挥这两种数据库各自的优势。 面向对象的数据库理论需进一步研究的问题。与当年e f c o d d 单 第一章绪论 枪匹马定义关系数据模型的情况不同,关于o o d b 的数据模型、查询方 式、查询语言等都没有统的定义。因而,o o d b 研究的问题包括许多 方面,如:数据模型、查询语言、索引技术、查询优化处理技术、系 统结构、版本管理、用户界面,等等。 1 2 4 数据库系统工具包部件 开发这种方法是基于这样的也发点:任何一种d b m s 在功能和性能 上都不能满足范围广泛的下一代应用的所有需求,因此,可只提供一 种d b m s 核心和工具包,以便让高级用户在各个层次上对数据库系统进 行扩充,以满足不同应用领域的需求。这些需求可能包括;不同的查 询语言、不同的存取方法、不同的存储组织,甚至不同的事务机制。基 于这种方法的有代表性的项目之一是e x o d u s 。它提供一个对象存储管 理器;提供一个持久的程序设计语言e ,用来书写新的存取方法和查询 操作等:还提供一个查询优化生成器,它可以从基于该规则的语言说 明出发,为一个适合于特定领域的查询语言生成查询优化器。 数据库系统工具包部件这种方法的现状也比原先的希望相差甚 远,e x 0 d u s ,g e n e s i s ,d a s d b s 等工具包已经很少有人再用了。原因之 一是这些工具包不够灵活,太繁琐,在数据库系统设计的某些方面不 够灵活。 1 2 5 用面向对象的方法学定义关系数据库模式 自8 0 年代开始,关系型数据库( r d b ) 一直主导着数据库市场, 至今世界上绝大多数数据库应用都是关系型数据库产品。9 0 年代,随 着i n t e r n e t 的发展,计算机应用开始步入以广域网为中心的阶段, 数据库面临着信息爆炸的挑战,同期面向对象的程序设计语言( o o p l ) 推进了软件的发展,也给数据库应用增加了活力。众所周知,使用 r d b m s 可以方便地管理大量的数据,o o p l 易于表达对象的复杂关系, 具有很强的数据处理能力。许多人试图将两者的优点结合在一起,利 基于m i c r o s o f t w i n d o w s 的o o d b 存储结构研究 用现在成熟的关系数据库仓d 造既能管理大量数据又能处理复杂关系的 系统,因此用面向对象的方法学定义关系数据库模式成为现在应用项 目中数据库设计的一种方法。 面向对象设计基于如耦合、聚合、封装等理论,而关系模型基于数 学原理。不同的理论基础导致了不同的优缺点。对象模型侧重于使用 包含数据和行为的对象来构建应用程序;关系模型则主要针对于数据 的存储。当为访问数据寻找一种合适的方法时,这种不匹配就成为了 主要矛盾:使用对象模型,常常通过对象之间的关系来进行访问;而 根据关系理论,则通过表的连接、行列的复制来实施数据的存取。这 种基本的不同使两种机制的结合并不理想。换言之,需要一种映射方 法来解决该矛盾,从而获得成功的数据库的设计。从目前看,国内外 还没有关于对象模型向关系模型映射的成熟理论规范,并不能完全发 挥面向对象技术在数据库领域的作用。 小结 数据库技术与面向对象技术相结合己成为当前数据库技术研究、 应用和发展的一个重要方向。将面向对象技术应用到数据库系统中, 使数据库管理系统能够支持面向对象数据模型和数据库模式,这对于 提高数据库系统模拟和操纵客观世界的能力,扩大数据库应用领域具 有重要的意义。将面向对象技术应用到数据库的集成开发环境中,使 数据库应用开发工具能够支持面向对象的开发方法并提供相应的开发 手段,这对于提高应用软件的开发质量和扩大软件的应用推广是十分 重要的。从现有的研究情况看,面向对象数据库技术是最革命、最具前 景的一门技术,尽管面向对象数据库系统做为数据库家族中的一个新 兴的研究和开发领域,尚缺乏完整的理论支持,但其在数据库领域中 得到日益广泛应用,并己取得许多有实际意义成果,也必将成为面向 对象技术和数据库技术相结合的主流技术。 第二章o o d b 的基本概念 第二章o o d b 的基本概念 2 1 面向对象数据库概述 2 1 1 面向对象数据库设计思想 面向对象数据库的基本设计思想是一方面把面向对象语言向数据 库方向扩展,使应用程序能存取并处理对象,如同这些对象在一个无 限的虚拟内存中;另一方面扩展数据库系统,使其具有面向对象的特 征,提供一种综合的语义数据建模概念集,以便对现实世界中复杂应 用的实体和联系建模。 2 1 2 面向对象数据库特征 面向对象数据库系统必须满足两个条件,首先,它是一个数据库 管理系统;其次,它是一个面向对象系统。 1 数据库管理系统的特征 ( 1 ) 持久性( p e r s i s t e n c e ) :持久性是指一个对象在超过其生存周 期后的保存。一个对象在程序执行过程中可能是一个临时对象 ( t r a n s i e n to b j e c t ) ,程序执行完消失即为解决对象的重复使用,将 其存储在磁盘上,使对象的存活期与创建它的进程无关。 ( 2 ) 二级存储:为了使对象的物理存储形式对用户透明而采取的存 储方法,包括索引管理、聚簇数据管理、对象缓冲区、存取路径选择 和查询优化。 ( 3 ) 并发控制( c o n c u r r e n c yc o n t r 0 1 ) :支持多用户同时访问同一 数据库的能力,即数据库中的对象可被多个用户共享,而不影响其一 致性和完整性。 ( 4 ) 事务管理和恢复( t r a n s a c t i o n sa n dr e c o v e r y ) :支持数据库 基于m i c r o s o f tw i n d o w s 的o o d b 存储结构研究 从硬件和软件故障中恢复的机制。 ( 5 ) 查询( q u e r y ) :一种高层次的、有效的、独立于应用的查询功 能,既可以是陈述式( d e c l a r a t i v e ) 又可以是导航式( n a v i g a t e ) 的。 ( 6 ) 模式修改:支持数据库模式的适度演变。 ( 7 ) 版本管理( v e r s i o n i n g ) :用于创建和访问多重版本对象的能 力;这是计算机辅助设计的数据库所需要的。 ( 8 ) 完整性( i n t e g r a t y ) :保护数据不被违反规则的操作破坏的能 力,主要通过约束和触发器来实现。 2 面向对象系统的特征 ( 1 ) 类或类型:这是指对象实例的集合,所以是产生新对象的模式。 ( 2 ) 封装和数据抽象:将对象的数据和操作封装在对象的类型中, 通过定义在对象类型上的操作访问的对象,使对象的不同实现不影响 对象的使用。 ( 3 ) 继承:允许类从另一类获取数据和方法,是面向对象的建模手 段和软件应用的重要途径。 ( 4 ) 多态重载或延迟束定:多态是指同一操作可用于多种数据类 型。重载是指同一操作名可以用于不同的操作。延迟束定是指在系统 运行时,而不是在编译时把操作的名字转换成函数地址。这些机制可 以增加系统的灵活性,提供更高层的抽象。 ( 5 ) 计算完整性:面向对象数据库通过在持久性存储和易失性存储 之间提供统一的类型系统,以保证计算完整性。 ( 6 ) 对象标识:系统为每个对象生成内部唯一的标识符,使对象的 存在不依赖于其值,只依赖于它的标识,所以用户不必为每一个对象 提供唯一的关键字。 ( 7 ) 复杂对象:对象不仅与其他对象发生关系,而且存在由子对象 组成的内部结构。 ( 8 ) 可扩展性:系统可提供定义新类型的机制,使用户定义的新类 型应与系统预定义的类型具有完全相同的操纵方式。 面向对象数据库提供了一种直接存储对象的方法,即勿须对对象 进行拆卸和装配,而是以对象整体进行存取的方法。以汽车对象存取 第= 章o o d b 的基本概念 比较文件系统、关系数据库与面向对象数据库,如图2 1 所示。 壹厶 查厶 堕当 墼当 图2 1 面向对象数据库与文件系统、关系数据库的比较 1 1 3 面向对象数据库的应用功能 面向对象数据库的应用外语领域主要有:计算机辅助设计( c a d ) ; 计算机集成制造系统( c i m s ) ;计算机辅助制造( c a m ) ;超大规模集成 电路设计( v l s id e s i n g ) ;计算机辅助软件工程( c a s e ) ;办公自动化 ( o a ) ;地理信息系统( g i s ) 。 与传统的数据库比较,面向对象数据库除了一般数据库功能外,还 应提供以下功能:复杂的信息建模能力;语义模式的设计;丰富的约 束管理:动态模式演进:大规模数据管理;对象的版本管理;可伸缩 性事务管理:计算完整的数据库编程语言。 露面需一 一 一一 一卸配问一 一卸配问一 医一旧鬯 一一 一一 岛色岛 基于m i c r o s o f cw i n d o w s 的o o d b 存储结构研究 2 1 4 面向对象数据库管理系统构成 面向对象数据库管理系统由对象子系统和存储子系统两大部分组 成( 见图2 2 ) 。对象子系统由模式管理、事务管理、查询处理、版本 管理、长数据管理及外围工具等模块组成,如图2 2 所示;而存储子 系统由缓冲区管理和存储管理模块组成,如图2 2 所示。 图2 2 面向对象数据库管理系统构成 1 对象子系统 模式管理:读模式源文件生成数据字典,对数据库进行初始化,建 立数据库框架。 事务管理:处理并行事务,实现锁和恢复的管理机制。 查询处理:负责对象的创建、查询等请求,并处理由执行程序发送 的消息。 版本管理:对对象的版本进控制。 长数据管理:工程中的对象( 如图形。图像) 一般都较大,可达数 千字节甚至数兆字节。这些长数据需要进行特殊的管理。 外围工具:面向对象数据模型语义丰富,使对象数据库的设计复杂 化,这给用户的应用开发带来难度。要使o o d b s 实用化,需要在数据 库核心层外开发一些工具,帮助用户进行数据库的应用。主要的工具 有:模式设计工具、类图浏览工具、类图检查工具、可视化程序设计 工具、系统调试工具等。 2 存储子系统 第二章o o d b 的基本概念 缓冲区管理:管理对象内外存交换的缓冲区,同时处理对象标识符 与存储地址的转换。 存储管理:对物理存储( 磁盘) 空间进行管理。为了改进系统的性 能,将可能在一起使用的对象组合,一般是将某一用户指定的类等级 ( 包括继承等级和聚合等级) 的所有对象聚集成簇( c l u s t e r ) 。面向 对象的应用基本上是通过对象标识符来存取对象。如果对象正好在内 存,应用系统能够直接存取它们;如果对象不驻留在内存,必须从外 存( 磁盘) 检索。随着应用的深人,数据库会变得愈来愈大。为了提 高数据库的检索效率,可以采用杂凑( h a s h i n g ) 算法或采用b 树( 或 b 十树) 索引的方法,将对象的标识符快速地映射到它们的物理地址上。 2 1 5 面向对象数据库的数据管理方法 从数据管理方法的角度比较面向对象数据库与关系数据库如下。 1 数据模型 关系范例是以元组( t u p l e ) 或记录为基础的,即数据库的数据结 构是由记录唯一定义的。一组元组被称之为一个关系( r e l a t i o n ) 或 一个表( t a b l e ) 。在关系型数据结构中只有简单的数据类型( 整数、 实数、字符串、日期等) ,关系上的操作仅限于检索和修改由属性值标 识的元组。尽管在关系模型上进行了扩展,但为了保持其简单性,只 拓宽了关系模式的语义能力。 面向对象的范例是以分类为基础的,通过类定义存储在数据库内对 象的结构和行为。面向对象数据库存储的是类及其实例。类是近似于 模式的东西,但是有重要的附加特性。这是指类使用操作来封装对象 的行为,为对象定做能应用在类实例上的操作。一个类可以引用其他 任意复杂的类,根据用户的需要产生其他数据类型。 2 数据完整性 在关系模型中,有关完整性的语义内容( 完整约束) 必须包含在处 理关系数据库的应用代码中。因为这种代码一般不被所有的应用共享, 所以很难保证任何时候数据修改都能一致。在面向对象模型中,用类 基于m i c r o s o f tw i n d o w s 的o o d b 存储结构研究 来定义一个数据抽象,并且这个数据抽象包括用于该类实例的操作的 详细说明。用这种抽象方法定义的数据库,可以获得高度的数据独立 性。也就是说,可能改变类的实现方法而不影响利用这个抽象的其他 类或事务。 3 模式的发展 关系数据库管理系统提供很有限的扩展或修改现存数据结构的手 段。例如,典型的商用关系数据库只允许动态地建立和删除关系,以 及为一个关系添加新的列,而改变域的类型通常造成相关关系的重写, 而且使用这些关系的应用程序也要修改。造成这一现象的原因是数据 结构包含着数据库模式,而且应用程序与数据的联系是非常松散的。 在面向对象数据模型中,数据与应用程序之间紧密的联系,通过现存 数据结构的扩展和改进为模式的发展提供了充足的机会,促进了应用 代码的高效重用。模型丰富的能力允许模型语义上的改进可以被严格 定义并且合法化。 2 2 面向对象系统中数据库基础的实现 数据库所处理的数据有三个主要特征,即数据量大,通常要有外存 支持,同时还必须组织成能被高效检索和修改的独立的数据对象;数 据对象间有复杂的相互联系;数据必须能被许多不同的用户共享,而 又不致于影响其完整性。所以,永久性和一致性模型是数据库的基础。 作为一个面向对象数据库,是在数据库基础上向面向对象编程语言和 带有增强语义数据建模方向上发展,这就引起永久性和并发控制在实 现上的新问题。 2 2 1 完整性控制 在面向对象数据库中,完整性控制是从数据建模方面考虑的,具体 地说,就是类型分类机制。但许多情况下完整性控制要求很复杂,仅 靠类型分类机制难以达到要求,因而许多面向对象语言和系统都在类 翌三童2 2 2 1 塑苎查堡垒 定义中增加约束条件和触发器机制。 2 2 2 一致性控制 一致性控制指的是在多用户数据库系统中,对事务处理的并发控 制。数据库的一个工作可以分解成一个个的执行单元,一个单元即一 个事务,与数据库定义的模型的一个独立活动相对应,并发控制是指 对一个以上的事务同时访问数据库同一部分而进行的自动控制。 为了实现一致性控制,事务的操作应当保证数据库从一种一致性状 态到达另一种一致性状态。事务执行过程的中间状态可能是不致的, 因此保证数据的一致性,就必须使事务要么全部完成,要么不做任何 操作。一个事务因为程序或系统的失败而没有完成,则必须取消已进 行的操作,退回到初始状态。这就是事务的原子性( a t o m i c i t y ) 。 当一些事务对共享数据库并发执行时,它们必须密切配合,使多个 事务执行效果与一个事务执行效果一样。为了做到这点,要使一队列 并发执行的事务按其顺序执行,互不相扰。这就是事务的可串行性 ( s e r i a l i z a b i l i t y ) ;这样的队列叫可串行化的队列。 串行性是数据库环境中并发控制算法的正确性指标。因此,在面向 对象数据库中,如果对数据库对象进行操作的并发事务与事务某串行 执行是等价的,则该并发执行是正确的。这样,事务可以看作一种时 间模式;一个事务代表一个不可分割的时间单元,因此,并发的面向 对象数据库系统必须不仅能处理空间模式( 原子对象) ,而且能够处理 时间模式( 原子行为) 。 基于对象的并发控制与传统数据库管理系统中的并发控制的主要 不同是控制单位,即对象实例可以非常大。针对这点,可采取的策略 如下。 事务的预申请。事务必须先获得所有需要的对象,然后才能在数 据库上运行。对象可以以共享或独占方式获得,并且只有在事务结束 时才能释放。如果一个事务所需的对象被其他事务锁定,那么取消该 事务( 或将其放在等待队列上) 。当事务只需访问很少的大对象,并且 基于m i c r o s o f tw i n d o w s 的o o d b 存储结构研究 在事务开始执行前就知道这些对象的特性时,这个方案才是可行的。 因此,在c a d c a m 数据库系统中有时采用这一方案。典型的c a d c a m 数据库执行情况是事务直接从数据库中检验共享的或独占的对象,然 后从本地工作站操作对象,当所有修改执行完时,通过事务检送回数 据库。为了保护事务的原予性和串行性,所有被修改的对象必须在它 们被释放了任意独占锁定之前,检送回去。 事务请求。按照优化并发控制的方法,每个事务都在其自己的工 作空间操作一个数据库的屏蔽拷贝,然后提交一个请求。系统可能因 为它与其他事务冲突而拒绝该请求,也可能接受请求。接受请求后, 事务被提交。面向对象数据库g e ms t o n e 采用的就是这个方案。 2 2 3 永久性 在传统编程语言的应用程序内部,数据分为易失数据和永久数据。 易失数据由编程语言创建和控制,存放在非永久性的存储器中,当程 序运行结束时,这些数据就不存在了;永久数据存放在永久性存储器 中,当程序要访问和操作它们时,被传输到程序的非永久性存储空间。 两类数据并存的弊病首先是需要相当数量的代码用于易失数据和永久 数据之问的转换;其次是编程语言定义的数据类型和文件系统与d b m s 定义的数据类型往往不匹配。此外,许多应用程序需要把对象映射到 持久的存储空间中,这是因为内存空间无法容纳大规模的数据对象, 并且有许多的复杂对象需要持久化。 面向对象数据库应该是永久模型对象的集合。永久模型对象的一 个重要特性是对象标识,即一个对象用标识区别于其他对象,所以编 程对象语言和数据库系统采取一致的对象标识是关键。 2 3 面向对象数据库发展前景 面向对象的数据库领域在过去几年中得到了长足的发展,已有许多 实用的面向对象的数据库系统面世。尤其引人注目的是面向对象的方 第二章o o d b 的基本概念 法对知识表示有一定优势。它预示着面向对象数据库向“智能型”数 据库知识库的发展趋势。智能型数据库以一种自然的、用户友好 的方式来管理信息,使之易于存储、访问和使用,其应用不仅包括传 统的商业化的数据库应用,而且还有基于知识系统的应用、c a d c a m 和 图像处理应用。智能型数据库的许多领域已开始使用面向对象数据模 型技术,并产生了巨大的效果;其中最重要的是知识表示和知识操作 领域,这也是人工智能研究的典型问题。为了解决这些问题,必须提 供高级抽象层的知识表示和推理机制,对o o 模型的作用还须进行更深 一步的研究。概括面向对象数据库的研究方向,有如下几个方面。 1 标准化和形式化 对面向对象的数据模型和相应的程序接口语言进行标准化是必要 的。在面向对象的数据库建立之前,强调对面向对象核心概念的某些 方面进行形式化也是必要的。其中之一是继承和重用的概念。鉴于面 向对象的方法是建立在重用和可扩展基础上,需要找到一种途径来加 强可重用性和可扩展性。查询模型在解决类等级和类嵌套复合以及支 持同关系连接和集合运算等价的操作问题上,反映出面向对象数据库 在理论基础上的欠缺。 2 性能改进 从一代数据库技术向另代转变,使得程序员的工作变得相对容 易,但却使数据库系统的性能成为要考虑的主要问题。因此需要投入 相当多的研究和开发力量,改善新一代数据库的性能,使其达到一种 可接受的水平。除了要进一步研究面向对象数据库系统结构之外,还 应在工程研究方面有所考虑。使面向对象数据库系统真正成为c a d c a e c a s e c a m 应用环境的完整集成平台。另外,还须解决高性能开销太 大和在面向对象数据库系统中频繁进行的运算引起的问题。 3 数据库的异质混合 管理异质数据库混合是面向对象数据库系统付诸实现的过程。与分 布式对象管理有关的研究路线是用面向对象的方法来管理数据库的异 质混合问题,特别是面向对象数据库同传统数据库混合的问题。 4 数据库工具 基于m i c r o s o f tw i n d o w s 的o o d b 存储结构研究 面向对象数据模型的丰富语义得到了各方面的赞许。一方面,它使 用户很容易建立他们的应用系统,但另一方面,具有类等级和类复合 等级的面向对象数据库模式的复杂性使数据库的逻辑设计和物理设计 问题变得相当复杂。所以,对面向对象数据库的逻辑设计和物理设计 提供友好有效的辅助设计显得比关系数据库更加迫切。对应用开发来 说,数据库系统的编程接口是一个非常低级的工具,但是无论对面向 对象数据库还是传统的数据库而言,高级的用户接口始终是需要继续 研究的领域。 5 可扩充的结构 ( 1 ) 支持不同的数据模型 关于面向对象数据库的一个有意义的发现是对面向对象数据模型 所作的相当小的改变都可能会要求数据系统结构产生重大的变化。这 与支持面向对象核心数据模型的数据库系统结构将发生冲突。一种值 得研究的方法是定义一个存储级的子系统,作为支持大量不同面向对 象数据模型的核心。可以在通用核心之上建立不同的高级层,直接支 持特定的面向对象数据模型,即对许多不同的面向对象语言的前端提 供一个公共的存储系统。 ( 2 ) 支持语义扩充 由于版本的语义在设备之间存在着不同程度的差异,所以一种比较 有价值的方法是对版本提供了一个分层结构。在低层支持一个通用的 低级版本语义的基本机制,将高层作成可扩充的适合各种特定设备的 版本语义。该方法不仅应对版本且也应对其他语义模型概念进行探索。 第三章m i c r o s o f tw i n d o w s 操作系统的存储管理 第三章m i c r o s o f tw i n d o w s 操作系统的存储管理 3 1w i n d o w s2 0 0 0 ,x p 内存管理 内存管理器是w i n d o w s2 0 0 0 x p 执行体一部分,位于n t o s k r n l e x e 文件中。在硬件抽象层( l a l ) 中没有内存管理器的任何部分。 3 1 1 地址转换机制 用户应用程序以3 2 位虚拟地址方式编址。c p u 利用内存管理器创 建和维护的数据结构将虚拟地址变换为物理地址。图3 1 是三个连续 的虚拟页面映射到三个不连续的物理页面的示意图。 图3 1 虚拟地址映射到物理内存 图3 - 1 中,连接虚拟页面和页表项的虚线表明虚拟页面和物理内 存之间的间接关系。虚拟地址不直接映射到物理地址,而是每个虚拟 地址都与一个称作“页表项”( p t e ) 的结构有关,而虚拟地址映射的物 理地址就包含在这个结构中。 1 。虚拟地址变换 基于m i c r o s o f tw i n d o w s 的o o d b 存储结构研究 w i n d o w s 2 0 0 0 x p 在x 8 6 体系结构上利用二级页表结构来实现虚拟 地址向物理地址的变换。一个3 2 位虚拟地址被解释为三个独立的分量 一页目录索引、页表索引和字节索引一它们用于找出描述页面映射结 构的索引。如图3 2 所示 囡0 江8 8 1 2 比特 图3 2x 8 6 系统中一个3 2 位虚拟地址的构成 “页目录索引”用于指出虚拟地址的页目录在页表中的位置。 “页表索引”则用来确定页表项在页表中的具体位置。如前所述,页 表项包含了虚拟地址被映射到的物理地址。“字节索引”使我们能在 物理页中寻找某个具体的地址。图3 3 表示了这三个值之间的联系和 它们在虚拟地址到物理地址的映射过程中所起的作用。 页目录页表物理地址空间 ( 每个进程建立一张,有1 0 2 4 项) ( 每个进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 活动舞蹈老师合同范本
- 住建部 房屋合同范本
- 酿酒作坊出售合同范本
- 运送车辆服务合同范本
- 家庭教育心得体会怎么写10篇
- 植物综合题目大全及答案
- 直面困境申论题目及答案
- 零售策略市场分析研究
- 婚庆活动方案
- 环境监测行业智能化转型路径与2025年数据质量控制要点报告
- 华晨宝马大东厂区天然气分布式能源站项目环评报告
- 青海2023届高校毕业生就业报告出炉:医学和法学就业率最高
- 汽车电控发动机构造与维修(第三版)
- GB/T 328.13-2007建筑防水卷材试验方法第13部分:高分子防水卷材尺寸稳定性
- 茶叶实践报告3篇
- 西门子低压电器快速选型手册
- 养羊与羊病防治技术课件
- 最新教科版五年级科学上册《第2课时 地球的结构》教学课件
- Q∕SY 05129-2017 输油气站消防设施及灭火器材配置管理规范
- 企业微信私域流量运营方案
- 中职学校《机械基础》第二学期全套电子教案(含教学进度计划)(配套教材:高教版中职统编)云天课件
评论
0/150
提交评论