




已阅读5页,还剩64页未读, 继续免费阅读
(计算机科学与技术专业论文)基于数据库技术的文件系统xdbfs的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院工学硕士学位论文 摘要 文件系统是现代操作系统的重要组成部分。对于一个文件系统来说,最为关 键的是它的可靠性和高效性。传统文件系统正面临着如何提高异常恢复速度和桌 面搜索效率,元数据信息匮乏且不易扩充而难以支持愈加丰富的新应用等难题。 另一方面,数据库系统与文件系统有类似的任务,但是却拥有更好的数据管理特 性,如高效的数据查询故障修复,丰富且易于扩充的元数据信息等。基于数据库 技术的文件系统正是试图将数据库技术引入文件系统,来解决传统文件系统的相 关问题,并成为当前的一个研究热点。 本文对基于数据库技术的文件系统设计框架进行了初步探索。目的,基于数 据库技术的文件系统并没有一个系统的设计框架,其具体的实现开发往往局限于 专门的应用领域。本文在分析传统文件系统设计理论的基础上,提出了基于数据 库技术文件系统的通用设计模式与实现策略:核心态设计模式与用户态设计模式: d a t a b a s e b a s e d 与d a t a b a s e c e n t r i e 实现策略。基于宏内核与微内核不同设计思想, 核心念模式的文件系统实现在内核,而用户态模式则在内核之外加以实现;按照 数据库技术的引入策略,d a t a b a s e b a s e d 实现策略将文件系统实现在已有的数据库 之上,d a t a b a s e c e n t r i c 文件系统则实现了文件系统与数据库的深度融合。通过上 述设计模式与实现策略的有机组合,并结合数据库相关技术( 裁减技术) 的应用, 建立了基于数掘库技术的文件系统的设计框架。 设计实现了l i n u x 环境下基于数据库技术的原型文件系统x d b f s ( xd a t a b a s e f i l es y s t e m ) 。应用数据库裁减技术,x d b f s 实现了嵌入式数据库b e r k e l e yd b 到 l i n u x 内核的移植,以此作为底层数据存储的基础;x d b f s 构建了查找数据库、 元数据数据库、块数据库、链接数据库、符号链接数据库以及扩充属性数据库来 描述文件系统的各项要素,实现了元数据信息的数据库存储和扩充;x d b f s 通过 x d b f s 设计并实现了支持l i n u x 虚拟文件系统v f s 的各项操作,并借助底层数据 库的事务机制,扩展了这些文件操作的a c i d 特性。x d b f s 的数据库特性,为解 决传统文件系统的各项难题提供了可能。x d b f s 充分体现了数据库技术与文件系 统的有机融合,是基于数据库技术的文件系统的有效探索,其实现证明了本文基 于数据库技术文件系统设计框架的可行性,并且它也是从传统文件系统向基于数 据库技术的新型文件系统的一个良好过渡。 关键词:文件系统,数据库技术,核心态设计模式,用户态设计模式, d a t a b a s e b a s e d 实现策略,d a t a b a s e c e n t r i c 实现策略,x d b f s 第i 页 国防科学技术大学研究生院一e 学硕士学位论文 a b s t r a c t f i l es y s t e mi sa ni m p o r t a n tp a r to fam o d e mo p e r a t i n gs y s t e m i ti se s s e n t i a lf o rt h e f i l es y s t e mt ob er e l i a b l ea n df a s t h o w e v e r ,a tp r e s e n t ,t r a d i t i o n a lf i l es y s t e mi sf a c i n g m a n yp r o b l e m s ,s u c ha se x c e p t i o nr e c o v e r y ,l o wp e r f o r m a n c ei nd e s k t o ps e a r c ha n ds o o n o nt h eo t h e rh a n d ,d a t a b a s e sa l s oh a v es i m i l a rt a s k s b u th a v eb e t t e rc h a r a c t e r i s t i c s i nd a t am a n a g e m e n t n e wf i l es y s t e mb a s e do nd a t a b a s et e c h n i q u e st r i e st ob r i n g d a t a b a s et e c h n i q u e st ot h ed e s i g no f f i l es y s t e m a n di th a sb e e nar e s e a r c hf o c u s i nt h i s p a p e rw em a k et h ee f f o r tt oe x p l o r et h ep h i l o s o p h yo fd e s i g n i n gaf i l e s y r s t e mb a s e do nd a t a b a s et e c h n i q u e s a tp r e s e n t ,t h e r ei sn om a t u r et h e o r yi nt h i sa r e a s om a n yi m p l e m e n t a t i o n sa r eo f t e nl i m i t e dt ot h es p e c i f i c s p e c i a l i z e da p p l i c a t i o n s a f t e ra n a l y z i n gt h ed e s i g np h i l o s o p h yo f t r a d i t i o n a lf i l es y s t e m ,w ep r o p o u n dt h ed e s i g n p a t t e ma n di m p l e m e n t a t i o ns t r a t e g i e so ft h ef i l es 3 7 s t e mb a s e do nd a t a b a s et e c i m i q u e s : k e m e lm o d ed e s i g np a 牡e ma n du s e rm o d ed e s i g np a r e m ;d a t a b a s e b a s e da n d d a t a b a s e c e n t r i ei m p l e m e n t a t i o ns t r a t e g i e s b a s e do nt h ei d e ao fm a c r o k e m e la n d m i c r o k e r n e l t h ek e m e lm o d ei m p l e m e n t st h ef i l es y s t e mi nt h ek e r n e l w h i l et h eu s e r r o o di m p l e m e n t si to u t s i d eo ft h ek e r n e l t h ed a t a b a s e b a s e ds t r a t e g yb u i l d saf i l e s y s t e mo nt o po fad a t a b a s e ,b u tt h ed a t a b a s e c e n t r i cs t r a t e g yi n t r o j e c t st h eb o t he n t i r e l y t o g e t h e rw i t h t h ed a t a b a s et a i l o r a b l et e c h n i q u e s ,w eb u i l dp r e l i m i n a r yt h e o r y a r c h i t e c t u r eo f t h ef i l es y s t e mb a s e dd a t a b a s et e c h n i q u e s w ed e s i g na n di m p l e m e n tap r o t o t y p ef i l es y s t e mn a m e dx d b f s f o rd a t as t o r a g e x d b f sh a sp o r t e dt h eb e r k e l e yd bi n t ol i n u xk e r n e l f o rm e t a d a t as t o r a g ea n d e x t e n s i b i l i t y ,x d b f s b u i l d ss i x b e r k e l e y d b d a t a b a s e s ,i n c l u d i n gl o o k u p d b , m e t a d a t a d b b l o c k d b ,l i n k ,d b ,s y n l i n k d ba n dx a t t r d b x d b f ss u p p o r t ss t a n d a r df i l e s y s t e mo p e r a t i o n s ,b yt h ei m p l e m e n t a t i o no f l i n u xv f sm e t h o d s u s i n gt h eb e r k e l e y d bt r a n s a c t i o n sa r o u n di t sf i l eo p e r a t i o n s ,) 【d b f sh a ss o m ea c i dp r o p e r t i e s w h i c h m a k et h es o l u t i o no ft r a d i t i o n a lf i l e s y s t e mp r o b l e m s t ob e p o s s i b l e t h e i m p l e m e n t a t i o no fx d b f sp r o v e st h ef e a s i b i l i t yo fo u rd e s i g np h i l o s o p h y ,s oi t i sa r e s u l t f u lt r yo fd a t a b a s et e c h n i q u e sb a s e df i l es y s t e m x d b f si sas u i t a b l ei n t e g r a t i o n o fd a t a b a s ea n df i l es y s t e m a n da l s oi ti sag o o dt r a n s i t i o nf r o m 仃a d i t i o n a lf i l es y s t e m t ot h en e wd a t a b a s et e c h n i q u e sb a s e df i l es y s t e m k e y w o r d s :f i l es y s t e m ,d a t a b a s et e c h n i q u e s ,k e r n e lm o d e ,u s e rm o d e d a t a b a s e b a s e d d a t a b a s e c e n t r i c 。x d b f s 第i i 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意 学位论文题目:基士熬量庄技盔敛塞佳丕丝! ! ! 鲍遮j 土星塞丑 学位论文作者签名:l 舡 日期:劣“年,f 月箩甘 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留,使用学位论文的规定本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在廨密后适用本授权书) 学位论文题目:垄王熬量压挂盎盟塞佳丕缝! ! ! 竖鲤遮进曼塞塑 学位论文作者签名: 蕉舀日期:历衫年 j 月g 一日 作者指导教师签名: p 球 一 日期:一占年,月d 国防科学技术大学研究生院t :学硕十学位论文 第一章绪论 操作系统是极其复杂的软件,它需要应对大量的数据处理。文件系统是操作 系统完成这一任务的基础。传统的文件系统大都是基于目录和文件的多级文件系 统,以此来管理和组织保存在磁盘驱动器上的数据,人们也已经习惯于每天在自 己的计算机上进行这样的文件访问和存储工作。但是这样的系统结构基础是建立 在3 0 年以前的应用背景之上的。在设计层次型文件系统的年代,需要管理和将要 管理的是m b ,1 0 2 m b 的数据,这种策略是很有效的。随着硬件性能不断提高, 存储容量也越来越大,人们存储的信息也更多,今天,即使一个普通用户。其存 储的数据都是以1 0 2 g b 计,基于目录和文件的多级文件系统已经不能很好的满足 当前的应用需求,即便是图形化用户接口的出现也没有根本的改变。 另一方面,操作系统和数据库运行在相同的机器上,通常文件系统是数据库 的基础,数据库系统的数据最终表现为文件系统的文件。然而,数据库系统希望 不受到操作系统缓存的干扰,而直接进行数据访问,以提供高性能和健壮的可靠 性保证。因此,数据库有它自己的交换机制,并且通常分配大块固定内存。不同 于操作系统缓存,数据库缓存并不随着可分配到的资源增加和减少。同样,操作 系统丌发者也无视数据库的存在:当需要存储数据时,即操作文件系统的数掘时, 他们执行自己的解决方法。这样就与理想状况相差很远,因为操作系统所存储的 状念信息是用柬辅助其功能的,然而操作系统丌发者却花费时间为文件系统进行 数据库功能的复制,例如为了文件系统数据的快速恢复而;l 入的r 志技术等( 而 且常常失去了数据库的可靠性和有效性) ,而不是将时间用在操作系统功能的丌 发上。 课题j 下是抓住数据库技术在不断向文件系统渗透这一热点,试图通过数据库 技术来解决文件系统所面临的诸多问题,探索基于数据库技术的文件系统的设计 理论,从而实现从传统文件系统向新型文件系统的转变。 1 1 课题背景和目的 从传统意义上来说,文件系统和数据库系统是数据管理发展的两个阶段,数 据库系统是在操作系统的文件系统上发展起束的。数据库系统将一个单位或一个 部门所需的数据综合组织在一起,由数掘库管理系统软件实现对数掘库的定义、 操作和管理。它以面向系统的观点组织数据,以多级模式反映数据库数据结构, 由管理系统实现转换或映射,使得数据具有最小冗余度及较高的数据物理独立性 和逻辑独立性。对于数据管理来说,数据库系统具有天然的优势。 第1 页 国防科学技术入学研究生院i :学硕+ 学位论文 操作系统是需要管理大量数据的由很多复杂部分所组成的软件。文件系统是 其管理数据的基础。传统上文件系统使用类似于链表和哈希表的简单数据结构, 近来,类似于二叉树的更为高级的数据结构才更为普遍的出现在商业操作系统中, 而在开发内核数据结构则更为困难。标准的输入输出机制一直难以得到,因此在 文件的多个区域上执行输入输出操作通常需要严格的执行顺序以避免死锁。更严 重的是,内核代码通常简单地忽略一致性,而依靠用户空间存储和恢复内核参数。 一种理想的情况是;内核能够访问一组提供一致性的高级数据结构,而不会改变 内核本身。 数据库系统使用快速、有效和一致的高级数据结构。另外,数据库关注的不 仅仅是存储数据,而是可靠地存储。数据库系统中提供可靠性的最重要的原语是 事务( t r a n s a c t i o n ) 。事务系统有四个有用的性质:原子性、一致性、独立性同) 以及持久性。这些性质合在一起,被称为a c i d t i 】性质。 数据库系统所拥有的数据管理优势是文件系统所无法比拟的,而这些优势从 理论角度来说,j 下是解决传统文件系统各种难题的有效方案。当前传统的基于目 录和文件的文件系统面临着诸多挑战: 桌面搜索【2 1 的效率。 随着硬盘空间和数据量的同步增长使得用户在本地文件系统上完成一个特定 的搜索变得耗时且复杂,桌面搜索已经成为操作系统的一个应用瓶颈。当前,许 多研究人员致力于桌面搜索软件3 】【4 】【5 的开发,但这只是一种权宜之技,桌面搜索 软件不能从根本上解决文件系统的这一弊端。 元数据的信息量。 随着新应用的不断涌现,文件系统管理的数掘种类越东越丰富、结构越来越 复杂,而传统文件系统的元数掘能提供的信息量并不丰富,因此更有效的管理多 种多样的数据格式甚至理解数据的内部语义,成为一个迫切的应用需求,传统文 件系统却难以满足这样的功能需求。 文件系统的异常恢复。 由于断电或者其他原因带来的系统崩溃使得操作系统在重启时,要通过文件 系统扫描工具f s c k l 6 1 ( f i l es y s t e mc h e c k ) 对文件系统进行修复,以保证文件系统的 逻辑一致性。f s c k 会扫描整个文件系统,保证所有的数据块都被j 下确地分配或使用。 它将找到在崩溃前正在修改的文件和目录并试图修复它们,但是f s c k 不能够保证 一定能够修复损坏的数据,只能保证元数据的一致性。并且,硬盘空间越来越大, 文件系统管理的文件数和目录数急剧增长,这使得修复时间过长,往往令人难以 接受。 为了解决这些问题,研究人员把目光投向了数据库技术【”。数据管理是文件系 第2 页 国防科学技术大学研究生院【:学硕十学位论文 统和数据库系统【8 1 的共同任务,数据库技术在数据管理上的高效性和安全性,使得 数据库系统能很轻松地解决文件系统上述问题: 。 数据库高效的查询能力是传统文件系统所无法比拟的。文件系统如果能够 拥有像数据库系统那样的高效查询能力,将大大提高操作系统的桌面搜索效率。 拥有高效的桌面搜索,将使得用户特剐是桌面用户对自己的数据进行更为快捷、 方便的管理,假如能有一种新型文件系统具有等同数据库的查询能力,操作系统 的桌面搜索瓶颈将可能得到缓解。 传统文件系统的元数据不容易得到扩展,但是如果将元数据存储在数掘库 中,它的扩展性将更容易得到增强。传统的文件系统元数据大都比较单一,这虽 然给文件系统本身的管理带来了很多方便之处,但不利于应用的进一步扩展,数 据库技术为文件系统提供了增加元数据的便捷方法,拥有更加丰富的元数据将大 大提高文件系统对各种新应用的支持能力。 数据库事务a c i d 性质以及f 志功能可保证数掘库的快速的异常恢复。这 为文件系统快速恢复提供了很好的借鉴。闩志文件系统就是引入了数据库技术中 的r 志思想,使得这一问题得到了一定程度的解决,但是它的实现又脱离了数据 库本身,相当于在操作系统中又重新开发了类似的功能,同志文件系统仍然不能 解决传统文件系统所面临的其他问题。 因此,实现基于数据库技术的文件系统,有很强的现实意义,也是课题的目 的所在。解决这一问题的关键是如何将数据库技术糅合到文件系统的设计当中去。 当前,国外很多研究机构已经展开了基于数据库技术的文件系统的研究工作并取 得了一定的进展,而国内尚未见到这方面的研究,在下一节中将介绍国际上相关 的研究工作。 1 2 相关工作 本节主要介绍当前基于数据库技术文件系统的相关研究工作。文件系统和数 据库系统之阊有着天然的联系。早期,数据库系统的基础是底层的文件系统,而 近年来,文件系统的设计开发中越束越借鉴了数据库相关技术的思想,二者不断 融合发展。在此本文按照数据库系统与文件系统融合的程度,将基于数掘库技术 的文件系统相关研究工作,划分为:日志文件系统t g 研究,数据库封装的文件系统 研究,基于数据库系统的文件系统研究,数据库系统融合的文件系统研究。 1 2 1 日志文件系统研究 所谓日志文件系统就是在传统文件系统的基础上,加入文件系统更改的同志 望茎! 室盟丝生星望墨! 堡堕里墨塞堡丕丝墼銮丝:堑鳖奎些堕查里墨旦查! 第3 页 国防科学技术大学研究生院工学硕士学位论文 日志文件系统在磁盘分区中保存有日志记录,写操作首先是对记录文件进行操作, 若整个写操作由于某种原因( 如系统掉电) 而中断,系统重启时,会根据日志记 录来恢复中断前的写操作。在日志文件系统中,所有的文件系统的变化都被记录 到日志,每隔一定时间,文件系统会将更新后的元数据及文件内容写入磁盘。在 对元数据做任何改变以前,文件系统驱动程序会向同志中写入一个条目,这个条 目描述了它将要做些什么,然后再修改元数据。 日志文件系统的创新就是在文件系统中引入了数据库技术的同志思想。目前, 主流的开源同志文件系统有:e x t 3 i i l 】、r e i s e f s i 。2 1 、x f s 1 3 和j f s i 4 1 ,此外,微 软的n t f s 副也具有同志的功能。几乎所有的r 志文件系统都丌发了专门的模块来 实现同志功能,像e x t 3 的日志块设备( j b d ) ,n t f s 也拥有专门的日志文件服 务组件。从根本上来说,这是数据库功能在文件系统中的重新开发,而且开发的 代价很高。l i n u x 的e x t 3 文件系统有2 1 ,6 2 9 行代码,而仅仅实现了传统文件系 统功能之外的日志。因此,对文件系统进数据库功能的重新丌发固然可行,但是 却不是一个可以轻松完成的方案。 1 2 2 数据库封装的文件系统研究 另外一种方案就是利用现有的数掘库系统。一种简单的想法就是,通过给数 据库系统封装文件系统接口,使得数据库系统拥有类似传统文件系统的访问方法。 这些系统,虽然本质上仍然是一个数据库系统,当从用户的角度来看更像一个文 件系统,这是将数据库系统与文件系统相结合的一个有效尝试。 i f s ( i n v e r s i o nf i l es y s t e m ) 1 9 9 3 年,m i c h a e la o l s o 就通过这种策略实现了基于关系数据库p o s t g r e s 的倒置文件系统i f s t l 6 j ( i n v e r s i o nf i l es y s t e m ) 。i f s 将文件分解为关系数据库 p o s t g r e s 【1 7 1 的表,利用n a m i n g 、f i l e a t t 两张表来管理命名空间和元数据,采用 p o s t g r e s 的缓存策略,实现了在当时传统文件系统很难实现的同志、快速恢复 以及高效查询,即便在今天来看,都是十分有意义的工作。 o d e f s 1 9 9 4 年,g e h a n i 等在面向对象数据库o d e 上实现了标准的u n i x 文件系统接 口,称之为o d e f s 噶j 。o d e f s 能够通过传统文件系统的操作命令来对数掘库对象 进行存取,摆脱了复杂的面向对象程序设计。o d e f s 的工作与i f s 类似,但是它 封装的是一个面向对象数据库。o d e f s 与i f s 更多的是想对数据库系统进行的功 能扩充,但却是文件系统与数据库系统融合的有效尝试。 1 2 3 基于数据库系统的文件系统研究 第4 页 国防科学技术大学研究生院,i :学硕七学位论文 基于数据库系统的文件系统的研究工作,其思路就是采用一个已有成熟的数 据库系统作为基础,以此来开发新的文件系统。利用现有的数据库系统柬为待开 发的文件系统提供数据库特性,在底层设计必要的数据库模式来模拟传统文件系 统的相关数据结构特别是元数据信息,完成数据的存储;在上层设计实现基于数 据库系统的u n i x 标准文件系统操作,完成文件系统的控制管理。具体说来,包 括基于数据库系统的网络文件系统与基于数据库系统的本地文件系统。 当前,随着网络技术的飞速发展和广泛应用,文件的网络共享要求越来越高, 传统的n f s 、s a m b a 等网络文件系统的运用已经不能很好的满足愈加丰富的网络 共享应用。基于数掘库系统的网络文件系统提供了比传统的网络文件系统更便捷 高效的功能。基于数据库系统的网络文件系统是的具有更优良共享功能的文件服 务器,它与各种网络协议相结合,给客户端的共享访问带来了更大的便利。然而, 尽管这些网络文件系统支持类似于传统文件系统的操作,它需要相关网络协议的 支持。从本质上来说,它是数据库系统传统的客户机n 务器机制在文件系统上的 延伸。比较典型的有哈佛大学研究人员实现的d b f s 1 9 1 ( 1 ) ( d a t a b a s ef i l es y s t e m ) 与o r a c l e 公司的i f s t ”j 【2 j ( i n t e m e tf i l es y s t e m ) 。 基于数掘库的本地文件系统,更多的是为了解决本地的应用需求。传统文件 系统面i 陆的一个难题就是桌面搜索。桌面搜索软件一定程度上缓解了这种应用需 求,但是不能从根本上解决问题。改变文件系统本身是根本的选择。基于数据库 的本地文件系统可以利用底层数据库的高效查询特性来解决这个问题。比较典型 的一个文件系统是d b f s 2 2 1 2 3 】( 2 ) ( d a t a b a s ef i l es y s t e m ) d b f s ( 1 ) d b f s ( 1 ) 实现了一个可通过n f s 访问的基于嵌入式数据库b e r k e l e yd b t “】 的文件系统。d b f s 主要通过块表、元数据表以及目录树表三张表来存储文件系统 的相关元数据信息,并以此实现了一个基于固定块大小的文件系统。d b f s 支持适 用于类f r e e b s d 内核的标准v f s 接口,并且丌发了v f s 之上的用户级函数库来支 持标准的p o s i x 文件系统调用:r e a d 、w r i t e 等。图1 1 中仅给出来了d b f s 支持 n f s 接口访问的结构图:n f s 位于v f s 之上,它包含了专门支持d b f s 的n f s 接 口实现。 第5 页 国防科学技术大学研究生院1 :学硕士学位论文 图1 1d b f s ( 1 ) 体系结构 与d b f s ( 1 ) 类似的是b d b f s 【2 5 1 ( b e r k e l e yd a t a b a s ef i l es y s t e m ) 。b d b f s 同 样基于b e r k e l e yd b ,它实现了n f s 3 协议,是一个轻便的用户级n f s 网络文件系 统,当前版本为b d b f s o 3 。 o r a c l ei f s ( i n t e r n e tf i l es y s t e m ) i f s 是o r a c l e 公司于2 0 0 0 年推出的集简单性和完整性于一身的强大的网络文 件系统。i f s 利用o r a c l e 作为后台的数据存储。从图1 2 中可以看出,它将文件通 过p a r s e r 解析为o r a c l e 数据库中的表,文件系统的元数据和具体内容通过表中的 不同列得以体现;r e n d e r e r 在用户提交查看请求时,将解析过的与未解析过的文件 以不同的方式展现给用户。从用户的角度看,i f s 提供了类似一个传统的基于目录 和文件的文件系统,它使得用户在访问共享文件时更加方便和灵活。i f s 支持多种 网络协议,包括s a m b a ,h r r p ,f t p 以及s m t p 。 r e p o s i t o r y锢 一 一f 卜车 睡 = 二巴 一l 。潞。峰量;l m l j l - - 一 f i i s m 泖 图1 2i f s 体系结构 国内苏州大学有研究人员围绕i f s 进行了一些初步的研究探索。 d b f s ( 2 ) d b f s ( 2 ) ( d a t a b a s ef i l es y s t e m ) 是基于数据库技术的本地文件系统r 图1 3 描述了d b f s ( 2 ) i j 勺体系结构。d b f s 是更为典型的客户机朋艮务器模型设计。基于 第6 页 国防科学技术大学研究生院下学硕士学位论文 嵌入式数据库s q l i t e l 2 ”,d b f s 的服务端实现了根据元数据( 文件名、文件类型、 文件大小等) 对底层文件系统的分类映象。d b f s 最大的亮点在于它能够增加元数 据的信息量,用户自定义的关键字( k e y w o r d ) 在d b f s 中可作为元数据来对底层 的文件进行分类映象。服务端利用各种相关元数据区分的f i l t e r 找到所需的文件并 在客户端以v i e w 的形式展现给用户,用户可以通过客户端对来文件进行基本的操 作。特别的,d b f s 通过专门的部件c r a w l e r 保持与底层文件系统的同步,以此来 防止由于客户端对文件的操作带来的d b f s 与底层文件系统的不一致性。d b f s 避 免了纷繁复杂的基于目录和文件的访问查询方式,可根据用户的操作实时的更新 用户所需要的v i e w ,提供了丰富而高效的桌面搜索方式,这是传统文件系统所无 法比拟的。但是d b f s 并不是一个真j 下意义上的文件系统,它只是跟对底层文件 系统进行了基于数据库技术的封装。 s e r v e rc i l e n t 罡目 图i 3d b f s ( 2 ) 体系结构 1 2 3 数据库系统融合的文件系统研究 数据库系统融合的文件系统,可以说是对传统文件系统的革命性改造。它已 经不是简单的文件系统基于数据库的丌发,也不是对数据库系统的封装,而是文 件系统与数据库完全的融合,既有数据库系统的良好特性,又能支持传统文件系 统所实现的功能。 w i n f s ( w i n d o w sf u t u r es t o r a g e ) 图1 4 描述了w i n f s l 2 7 】【2 8 1 1 2 9 l 的体系结构。w i n f s 是微软原计划在w i n d o w s 新 第7 页 国防科学技术大学研究生院工学硕士学位论文 版本w i n d o w sv i s t a 中推出的全新的数据存储策略。w i n f s 是数据库与文件系统的 完全融合,它不但统一存取数据,并且能理解数据之间的内在联系,甚至是数据 的语义,一旦完成,必将带来操作系统数据存储的一场革命。统一的数据存储访 问机制( u n i f y ) ,崭新的数据组织形式( o r g a n i z e ) ,高效灵活的查询支持( e x p l o r e ) , 这些新特性是通过w i n f s 的全新设计实现的。图l 展现了w i n f s 当前的设计结构, 可以看出,w i n f s 用项取代了传统文件系统文件的概念,提供了类似数据库的相 关功能。当然,w i n f s 的实现难度非常大,即便是微软也又一次的推迟了w i n f s 的面世时间。目前,w i r t f s 已经从w i n d o w sv i s t a 的计划中移除,但是它代表了未 来文件系统的_ 个重要的发展方向。 a o o n e t f 昌嘲昌 一 i 手i 露磊 一 w i n f s s e r v i c es e h e m a s ( s y r r , e m a p t ( m )p 肇一一a 咖“ 。r v i c ,m 一) 刁 i t e md a t am o d e l 6 蕊刁 旧回回 图1 4w i n f s 体系结构 1 3 本文的主要工作 基于数掘库技术的文件系统已经成为当前的研究热点,但是尚未形成完善的 理论,并无成熟的商业产品出现。关注国际上最新的研究动态,丌展基础软件研 究,是面向未来发展的现实要求。本文详细剖析了当前基于数据库技术的文件系 统这一研究热点,探索了可能的发展方向,密切关注操作系统与数据库技术相互 融合的趋势。结合当前我所桌面操作系统研究的需求,课题主要进行了以下工作: 1 文件系统理论研究:分析了文件系统的功能和设计,总结了文件系统的 第8 页 国防科学技术大学研究生院l j 学硕+ 学位论文 核心要素。 2 基于数据库技术的文件系统设计理论研究:提出了基于数据库技术文件系 统的通用设计模式与实现策略:核心态设计模式与用户态设计模式;d a t a b a s e - b a s e d 与d a m b a s e c e n t r i c 实现策略,从而初步建立了基于数据库技术的文件系统的设计 框架。 , 3 数据库裁减技术研究:分析了在基于数据库技术的文件系统中数据库裁减 技术的应用。 4 l i n u x 文件系统与嵌入式数据库b e r k e l e yd b 研究:对本文所实现的基于数 据库技术的原型文件系统x d b f s 的设计环境进行了深入研究,主要包括l i n u x 虚 拟文件系统的设计、结构及其实现的研究,b e r k e l e yd b 的技术特性、体系结构以 及b + 树索引机制研究。 5 基于数据库技术的文件系统的设计与实现:采用核心态设计模式 d a t a b a s e - b a s e d 实现策略,设计实现了l i n u x 环境下基于嵌入式数据库b e r k e l e yd b 的原型文件系统) b f s 。 1 4 论文结构 本文是课题研究工作的总结。分为以下七章: 第一章为绪论,介绍了基于数据库技术的文件系统相关研究工作,阐述了课 题的背景和目的。 第二章围绕x d f s b 设计的理论基础,讨论了基于数据库技术的文件系统的关 键技术。首先,文件系统设计理论是x d b f s 的设计基础;其次,本文提出了基于 数据库技术的文件系统设计的初步理论框架,系统的阐述了其具体的设计模式与 实现策略:核心态设计模式与用户念设计模式、d a t a b a s e b a s e d 与d a t a b a s e 。c e n t r i c 实现策略;接下来讨论了数据库裁减技术在基于数据库技术的文件系统设计中的 应用。 第三章针对x d b f s 的实现环境,深入剖析了l i n u x 文件系统结构与嵌入式式 数据库b e r k e l e yd b ,并从理论上分析了x d b f s 底层数据存取机制的原理。 第四章介绍x d b f s 的设计方案。根据第二章的理论研究,围绕课题选定的设 计策略,介绍了x d b f s 的体系结构,并着重讨论了x d b f s 底层数据库模式的设 计以及x d b f s 文件操作的a c i d 性质实现。 第五章讨论x d b f s 实现的技术细节。首先介绍了x d b f s 底层数据库b e r k e l e y d b 的移植工作,以及x d b f s 的关键数据结构:其次给出了x d b f s 支持l i n u x 虚拟文件系统v f s 的操作实现;最后讨论了x d b f s 的用户级管理程序实现。 第六章对x d b f s 的性能进行了初步测试,并给出了测试结果分析。 第9 页 国防科学技术大学研究生院1 :学硕十学位论文 第七章总结课题已有的工作,展望今后的研究方向。 第1 0 页 国防科学技术大学研究生院工学硕十学位论文 第二章基于数据库技术的文件系统理论基础 本章介绍了基于数据库技术的文件系统的理论基础,并对其中的关键技术进 行了深入研究,提出了基于数据库技术的文件系统设计的初步理论框架。2 ,l 节主 要介绍文件系统设计基础理论:2 2 节提出了基于数据库技术的文件系统设计模式 与实现策略:核心态设计模式与用户态设计模式、d a t a b a s e - b a s e d 与d a m b a s e c e n t r i e 实现策略;2 3 节讨论了数据库裁减技术在基于数据库技术的文件系统设计中的应 用。2 4 节对相关的关键技术进行总结,并阐述本文实现的基于数据库技术的原型 文件系统x d b f s 的设计与实现策略。 2 1 1 宏内核与微内核 2 1 文件系统设计理论 操作系统发展到今天,它的结构设计越来越得到关注。早期操作系统很少考 虑结构闯题,在单片机操作系统当中,任何过程实际上都可以调用任何别的过程。 当操作系统开始大量生产时,这种缺乏结构的方法就无法支撑了。随着模块化程 序设计技术的发展,人们丌发了层次式的操作系统,所有功能按层次组织,只有 相邻层之间发生交互。在分层方法中,大多数层或者所有层都在内核模式下执行, 这种结构称之为宏内核。 具体来说,宏内核操作系统划分为不同的模块,模块之问的通信方法是直接 的函数调用,优点是效率较高,但是也存在着很多问题。每层模块都处理相当多 的功能,一层中的主要变化可能会产生巨大的影响,跟踪相邻层中的代码有很多 困难。其结果是,通过增加或减少一些功能,在基本的操作系统上很难实现一个 专业版本,并且由于在相邻层的各部分之自j 有很多交互,是紧耦合的,可扩展性 与可维护性很差,很难保证安全性。 微内核c 3 0 l i j 勺基本原理是,只有最基本的操作系统功能彳能放在内核中。不是 最基本的服务和应用程序在微内核之上构造,并且在用户模式下执行。尽管什么 应该在微内核中、什么应该在微内核外,不同的设计有着不同的分界线,但是共 同的特点是许多传统上属于操作系统一部分的功能现在都是外部子系统,包括设 备驱动程序、文件系统、虚存管理程序、窗口系统和安全服务,它们都可以与内 核交互? 也可以互相交互。一种宏内核与微内核的设计的对比见图2 1 。 第1 i 页 国防科学技术大学研究生院i :学硕十学位论文 圈2 i 内核体系结构 微内核结构用一个水平分层的结构代替了传统的纵向分层的结构。在微内核 外部的操作系统部件被当作服务器进程实现,它们可以借助于通过微内核传递消 息束实现相互之问的交互。因此微内核起着信息交换的作用:验证信息、在部件 闻传递信息并授权访问硬件。微内核还有保护功能,除非允许交换,否则它阻止 信息传递。 微内核的一个潜在缺点是性能问题。通过微内核构造和发送信息、接受应答 并解码所花费的时间比进行一次系统调用的时蒯要多。但是出于别的因素的作用, 很难概括出是否有性能损失以及损失了多少。这在很大程度上取决于微内核的大 小和功能。但是无论是微内梭如何优化,这些损失总是存在的。解决这个问题的 一种方法是把一些关键的服务程序的驱动程序重新放回操作系统以增大微内核。 有选择地增加微内核的功能可以减少用户模式与内核模式切换的次数以及地址空 自j 进程切换的次数。它是以微内核的设计强度( 最小的接口,灵活性) 为代价减 少性能损失的。 微内核必须包括直接依赖硬件的功能,以及那些支持服务程序和应用程序在用 户模式下运行的功能。微内核功能和服务的最小集合包括;低级存储器管理、进 程问通信( i p c ) 以及i o 和中断管理。 综上,微内核只将最基本的操作系统功能放在内核中,而宏内核则集成了比微 内核更多的系统功能h ”。微内核给内核设计带来了更大的灵活性和可扩展性,但 是它的消息传递机制引起了比宏内核更大的效率损失,二者有着不同的设计侧重 点。文件系统是操作系统的重要组成部分。可以看到,文件系统并不在微内核的 最小集合之内,因此在丌发一个新型的文件系统时候,首要要考虑的就是将文件 系统放在操作系统的内核之内或者之外。开发一个内核级的文件系统与内核外的 文件服务器,其开发代价与得到的效果都有着很大的不同。 国防科学技术人学研究生院l :学硕七学位论文 2 1 2 文件系统功能和设计 文件系统是一组系统软件,为使用文件的用户和应用程序提供服务。典型的, 文件系统应该是用户或应用程序访问文件的唯一方式,它使得用户或程序员不需 要为每个应用程序开发专门软件,并且给系统提供控制最重要资源的方法。文件 系统有如下目标: 满足数据管理的要求和用户的要求,包括存储数据和执行上述操作的能 力。 最大限度的保证文件系统中文件的数据有效。 从系统的角度根据总体吞吐量,从用户的角度根据响应时问,优化性能。 为各种类型的存储设备提供i o 支持。 减少或者消除丢失与破坏数据的可能性。 提供标准i o 接口例程集 在多用户系统中为多个用户提供i 0 支持。 图2 2 描述了文件系统的功能概况。用户和应用程序通过使用创建文件、删除 文件以及执行文件操作的相关命令,来与文件系统进行交互。在执行任何操作之 前,文件系统必须确认和定位所选择的文件。这要求使用某种机制来描述所有文 件的位置以及它们相关的属性。传统文件系统使用的基于文件和目录的层次式结 构,本文尚未跳出这一概念。事实上,在新型文件系统的设计中,完全可以突破 目录和文件的传统意义。像w i n f s 提出的项的概念,就丰富了文件系统的组织概 念。 燃 堂摹 国防科学技术大学研究生院工学硕士学位论文 的基本操作是在记录级上执行的。用户和应用程序把文件看作是具有组织记录的 某种结构,如顺序结构,因此,为了把用户命令转换为特定的文件操作命令,必 须采用适合该文件结构的访问方法。文件的组织结构是文件系统的设计基础。 鉴于用户和应用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业员工的薪酬福利和刘体
- 化学工业安全防护方案
- 农村社会保障体系的建设与完善
- 航海船舶安全检查报告
- 种植绿植使家庭环境更美丽
- 医保财务工作总结及思路
- 医院科室年终总结范文3篇
- 矿山开采劳务承包及安全管理合同协议书
- 国际童装品牌中国区域代理权及店铺转让合同
- 离婚后共同财产分割及子女教育费用补充协议
- 监理工程师题库检测试题打印含答案详解【完整版】
- 2025年江西省高考生物试卷真题(含标准答案及解析)
- 2025年辅警笔试题库行测及答案指导
- 运维7×24小时服务保障方案
- 单招临床医学试题及答案2025年版
- 2025年辽宁省中考语文真题卷含答案解析
- 2《归园田居》任务式公开课一等奖创新教案(表格式)统编版高中语文必修上册
- 银行文明礼仪课件
- 儿童抽动障碍的诊断与评估(2025年)解读课件
- 甘露醇治疗颅内压增高中国专家共识解读 4
- 美容院设备维护管理规章
评论
0/150
提交评论