文件存储与搜索技术浅析(2008-06-11 21:04:41

来源:百度文库 编辑:神马文学网 时间:2024/04/27 09:44:29

中国传媒大学 朱立谷

 

随着信息技术的不断发展,文本文件、页面、电子邮件、音乐、电影等众多不同类型信息的存储需求呈现出爆炸性增长。存储系统在数据存储的可靠性和性能方面是比较有效的,但是随着存储系统的容量不断增大,存储信息的数量和类型的不断增加,这些信息的检索和管理会变得越来越困难,这与互联网环境形成了鲜明的对比:随着搜索引擎发展,在互联网的环境下寻找信息很方便,用户如何在存储系统中找到想要的信息比在互联网上查找信息更加困难。

几乎所有的文件存储系统是基于文件系统的,文件系统与操作系统是密不可分的整体。文件系统由文件和目录组成的:数据按其内容、结构和用途组成若干命名的文件;目录构建了文件系统的层次化化结构,用户创建子层次以便对文件进行分类。文件系统可以有效地组织文件,一个目录下的子目录或者文件的名字是唯一的,这就保证了文件的全路径名称不会同时指向两个或者更多的子目录或者文件。

根据什么来建立层次结构并没有一个很有效的方法,在考虑文件安全和文件共享时,层次结构的缺陷更加明显:一个文件在网络上进行共享时,会把这个文件复制到一个公共目录下面,同时设定好公共目录的访问权限,这样一个文件就会在两个不同的层次结构中有着两份拷贝,这会给文件的管理带来很大的不方便,特别是在文件的数量都不断增加的时候。

另外,层次化化结构使得文件访问效率不高:目录隐藏了它包含的内容,并且目录下可能还有一层又一层的子目录,用户很难知道一个目录下面到底有什么东西,用户访问某个文件必须通过层次型的目录树结构到达其保存位置,如果不知道文件保存位置,必须遍历整个目录或使用操作系统的搜索功能,操作系统仅能依靠文件名来检索和查找数据。

在过去十几年之内,文件系统技术并未进行大的变革,而新数据类型(如多媒体、e-mail)不断出现,它们包括了丰富的元数据。没有给予元数据信息足够重要的位置,对于存储在文件系统中的数据都缺乏语义支持,因此,不能提供高层的、基于语义的关联式数据存取。认识到现有的文件系统的不足,学术界和工业界做了大量工作,研究如何提高文件的管理和搜索效率,最重要的研究成果是语义文件系统,它可充分利用文件的元数据信息进行文件浏览与搜索。

语义文件系统利用元数据抽取工具获取更多的元数据,记录用户活动,并采用手工或其它方法对文件进行标注,最后将这些信息结合起来实现统一元数据,通过元数据信息在非结构文件和数据库数据之间建立起链接,实现了快速的基于文件属性的文件系统访问。

语义文件系统提供新的规则——相关性的访问方法,相关性访问是基于内容访问的特性供一种灵活的关联方式来存取文件。文件属性由转换器从特定类型文件中自动地抽取被,表达为 hkey 和valuei 对。

同时,引入了虚拟文件夹的概念, 在虚拟文件夹中一个使用者可以进行基于属性的搜索,而且系统在结果集中创建一组文件的符号连接,提供跨越目录层次的文件存取通路。如WinFS和Spotlight的虚拟文件夹,虚拟文件夹可采用XML格式的文本文件表示,内容是对数据库进行查询后返回的结果组成的列表,包含了指向符合某种规则的文件或文件夹的链接。在占用更多的存储空间的情况下,可轻易实现一个文件同时放在几个不同的目录层次下面。

语义文件系统可实现对文件进行高效地分类。如,基于 FUSE(Filesystem in Userspace,用户空间文件系统)的TagFS采用智能标签(smart tagging)机制,动态让数据文件具备特定的标签,加了标签的数据文件的呈现能依据用户的偏好与意图分类,并依据权重排序后呈现。

语义文件系统便于用户对数据文件进行高效地搜索。逻辑文件系统 (LISFS) 使用一个数据库为系统的文件提供搜索功能,数据库表由从关键词到对象的映射组成,目录的内容是一个符合查询条件的对象集。苹果计算机的聚光灯(Spotlight)是一个元数据和内容索引系统,并集成在 HFS 文件系统中。WinFS 的元数据被储存在一个数据库中;聚光灯的索引内容和搜索结果也保存在数据库中。Linux也有一个与聚光灯类似的系统,叫小猎犬 (Beagle)。Beagle利用一个内核中的文件系统事件服务Inotify为新文件类型提供一个即插即用的基础架构。

尽管语义文件系统在文件的存储和检索方面做了很多优化的工作,相关方法的意义获得了广泛的肯定,但是层次化的本质并没有改变:语义文件系统只是层次化文件系统的重要补充技术。

一种新思想是把文件存储与Web结合起来:Web通过加入链接来传达知识扩展了传统文档的能力。一般而言,在Web和超文本文件中,链接是该文件指以其他文件,让读者可以从一个文件自动跳转到另一个文件。链接被语义web进行扩展,允许链接自己载明从一个文件到另一个地方具有的特定关系。最重要的是:语义Web基本架构中可以制定本体,通过以往不可能的方式进一步表达知识。

为了使语义Web成为可能,W3C已经制订各项标准,为HTML和HTTP在某种程度上的标准化提供一个可行的途径。该语义Web标准组分成不同层次,URI和Unicode在底部, XML,名字空间和样式作为自描述文件层在中间,RDF在顶部,它为各种应用提供了一个通用的元数据框架。三个层上有一个为本体词汇提供的附加层,本体层为各种不同的设计本体描述语言的想法提供一个空间,如OIL。

此外,语义Web增加了对内容进行机器处理的潜力,并引入了另外两个观点:知识导航员和联邦知识或数据库。因此,语义Web可能成为一个容易获得的万能图书馆。

如果使文件存储变成了Web的一部分,它可能带来一次变革,基于这个思想,我们正在开发语义网络存储(Semantic Network Storage,SNStor)系统,研究方法来如何提供丰富的元数据结构和实施一个在线文件系统。基于Web文件存储一种非常重要的是性能问题,我们准备用更快的数据结构-平衡树来取代多种链接列表;而且,还要研究如何压缩文件,才能实现高效存储;研究如何用容错数据结构以增加存储的可靠性和可用性,如开发一致性检查程序以提高可用性。

文件数量的高速增长预示出市场对高效率的文件存储系统需求的急剧增长,我们相信,那些可以将数据管理和搜索以及提高存储效率而减少的存储成本等功能集中在一起的文件存储系统一定会受到用户的热烈欢迎。

 

此文发表于中计在线