论文摘要
传统文件系统的结构基础是建立在30年以前的应用背景之上,并且大都是基于目录和多级文件系统来管理文件和数据,人们已经习惯于这样的文件访问和存储工作。然而随着硬件性能和磁盘存储容量的不断提高,当前传统的基于目录和文件的文件系统面临着诸多挑战,比如桌面搜索的效率、元数据的信息量等。另外,传统文件系统的层次目录结构虽然提供了存放文件的方便性和易修改性,但却带来了访问文件时定位文件和目录的困难。数据库系统拥有比文件系统更好的数据管理特性,更提供了增加元数据的便捷方法,拥有更加丰富的元数据将大大提高文件系统对各种新应用的支持能力。桌面搜索能够帮助用户高效的查询个人计算机上的各种数据和文件。文件系统如果能够拥有像桌面搜索那样的高效查询能力,将大大提高文件查找效率。桌面搜索已经引起了包括Google、百度和Yahoo这样的搜索引擎巨头的重视,并已开始推出了桌面搜索工具和产品,一些主流操作系统也开始集成桌面搜索工具。可以看出,桌面搜索技术对于提高文件查找效率至关重要。然而,桌面搜索软件调用操作系统函数也会导致不小的效率损失。本论文正是将数据库技术与桌面搜索技术引入到文件系统当中,来解决传统文件系统遇到的上述问题。针对数据库技术和桌面搜索技术不断向文件系统渗透这一特点,本文在分析传统文件系统设计理论及桌面搜索理论的基础上,提出了一个集成桌面搜索的数据库文件系统(XFS)的设计框架及实现策略。XFS采用核心态的基于现有数据库系统的设计模式,通过比较各种成熟的数据库产品,选择Berkeley DB作为底层数据库,并根据其存储模式的特点,设计并实现了XFS文件系统的结构模式;在索引结构与搜索算法设计中,通过对倒排索引和布尔查询算法进行改进,重新设计了XFS的索引模式、索引存储方案及搜索算法,提高了文件查找的效率;并兼容VFS上原有的API接口。最后对XFS文件系统进行搜索功能及性能的测试,测试结果表明XFS文件系统设计合理,达到了预期的设计目标。
论文目录
摘要ABSTRACT第一章 绪论1.1 课题背景和目的1.2 研究现状1.3 本文工作主要工作和内容安排第二章 文件系统基础2.1 传统文件系统基础2.1.1 传统文件系统的功能和组织2.1.2 文件系统的核心要素2.2 LINUX 文件系统结构2.2.1 Linux 文件系统介绍2.2.2 Linux 虚拟文件系统2.3 索引技术2.3.1 倒排索引(Inverted Index)2.3.2 Suffix 数组索引2.3.3 签名文件(Signature Files)索引2.4 本章小结第三章 XFS 的设计模式及策略3.1 内核结构与XFS 的设计3.1.1 内核结构3.1.2 XFS 的设计3.2 XFS 底层数据库的选择3.3 嵌入式数据库BERKELEY DB 的原理与应用3.3.1 Berkeley DB 的技术特性3.3.2 Berkeley DB 的结构3.3.3 Berkeley DB 的编程方法3.3.4 Berkeley DB 的存储模式3.3.5 Berkeley DB 总结3.4 XFS 的系统结构3.4.1 XFS 的系统结构3.4.2 XFS 的底层数据库设计3.5 XFS 桌面搜索模块索引设计3.5.1 XFS 支持的索引类型3.5.2 索引模块设计3.5.3 索引的建立方法3.5.4 索引存储方案设计3.5.5 搜索算法设计方案3.6 本章小结第四章 XFS 的实现4.1 BERKELEY DB 到XFS 内核的移植4.1.1 移植前的工作4.1.2 移植后Berkeley DB 的数据结构4.1.3 XFS 的内存数据结构4.2 XFS 支持VFS 操作的实现4.2.1 系统注册与安装4.2.2 XFS 基本元素的实现4.2.3 基本操作的实现4.3 XFS 接口功能实现4.3.1 接口说明4.3.2 基于内容的访问接口4.4 XFS 桌面搜索模块的实现4.4.1 数据库文件扫描函数4.4.2 索引部分主要函数实现4.4.3 搜索部分主要函数实现4.5 本章小结第五章 XFS 文件系统测试5.1 XFS 的基本性能测试5.1.1 桌面搜索功能测试5.1.2 桌面搜索性能测试5.2 测试结果分析第六章 结束语6.1 工作总结6.2 工作展望致谢参考文献作者在学期间取得的学术成果
相关论文文献
标签:文件系统论文; 数据库技术论文; 桌面搜索技术论文;