应用于搜索引擎的海量文件异步索引及读写方法

文档序号:6380288阅读:398来源:国知局
专利名称:应用于搜索引擎的海量文件异步索引及读写方法
技术领域
本发明涉及应用于搜索引擎的海量文件异步索引及读写方法,以索引和读写分布式文件系统中的文件,属于信息技术领域。
背景技术
互联网数据正在爆炸性增长,产生了海量数据。海量数据按属性可以分类成结构化数据、非结构化数据、半结构化数据等。非结构化数据包括图片、网页、文本等文件,这里海量文件是海量非结构化数据。海量文件常存储于分布式文件系统中,分布式文件系统是采用集群的方式或者网络的方式存储、存取的方式形成的文件系统。流行的分布式文件系统有HDFS (HadoopDistributed File System)、MogileFS (Mogile File System) > NAS (Network AttachedStorage)、NFS (Network File System) > AFS (Andrew Distributed File)、MooseFS (MooseFile System)> pNFS (Parallel NFS)、GoogleFS(Google File System)等。在分布式文件系统中,为了加快文件读写速度,尤其是读的速度,在海量文件中要建立“索引”,建立索引的算法本质上是一种排序算法,目前主要的算法有二叉树(B-树、B+树)、哈希排序等。在一个分布式文件系统中,采用索引的方法可以提高文件读的速度,但会降低写的速度,因为为了实现索引的动态更新,写入或更新文件时需要同时更新索引,这必然加重了文件写的负担。在搜索引擎系统 中,很难实现实时搜索的原因是无法使获取的信息(文件)实时进入能够被检索的文件系统索引中,或不能为这些新获得的文件建立动态索引。为了平衡海量数据读写性能,以提高应用软件的总体性能,本发明涉及应用于搜索引擎的海量文件异步索引及读写方法,该方法使文件读写和索引分离,实现快速写和周全读,可应用于搜索引擎等系统,以提高搜索引擎的时效性。

发明内容
本发明“应用于搜索引擎的海量文件异步索引及读写方法”分别为基于文件缓冲池的写方法、文件异步索引方法、周全读方法。下面详细介绍应用于搜索引擎的海量文件异步索引及读写结构和各个组成部分的内容。(I)本发明形成的文件系统结构为了实现本发明“应用于搜索引擎的海量文件异步索引及读写方法”,要求对现有的分布式文件系统进行修改,本发明形成的文件系统结构如

图1所示。具体修改内容包括如下: 把本发明形成的文件系统中的文件分成“有索引区”和“无索引区”,相对应,两部分的文件称为“有索引区文件”和“无索引区文件”。 本发明形成的文件系统中,建索引部分只对无索引区文件建索引,建索引过程和读写操作没有直接的相关联关系,可并行执行,被建完的索引中不一定包括了所有的文件信息,所以建索引的过程称为“异步索引计算”。 本发明形成的文件系统适合搜索引擎应用,因为在文件系统中没有文件更新操作,只有文件增加和删除操作。文件更新操作可采用采用删除旧文件,增加新文件来代替,在整个文件更新、删除操作过程中,不会询问用户,和普通的更新、删除操作有很大的区别,所以本发明只适用于搜索弓I擎应用。 本发明形成的文件系统的写操作只能把文件写入无索引区(也称为文件缓冲池),不能直接写入有索引区。写操作不含建文件索引过程。(2)本发明的三个组成部分本发明“应用于搜索引擎的海量文件异步索引及读写方法”三个组成部分如图2所示,它由建索引模块、读模块、写模块三部分组成。三个组成部分分别由基于文件缓冲池的写方法、文件异步索引方法、周全读方法形成。以下就各模块及其方法作详细说明。 写模块:该模块由基于文件缓冲池的写方法形成。该写方法把应用程序需要写入的文件写到无索引区(从写操作的角度看,无索引区就是一个文件缓冲池)。 建索引模块:该模块由文件异步索引方法形成,该模块对无索引区的文件建立分文件索引并把分文件索引信息插入主文件索引中。同时把已建立索引的无索引区文件更新或加入到有索引区(在逻辑上标识链接,不需要物理拷贝)。 读模块:该模块由周全读方法形成,该模块首先读文件缓冲池中的文件,在未找到文件的前提下,读主文件索引收录的文件。(3)本发明的三个主要方法及其特点本发明涉及三 个方法:基于文件缓冲池的写方法、文件异步索引方法、周全读方法;下面详细说明三种方法及其特点: 基于文件缓冲池的写方法:该方法把应用程序需要写入的文件写到文件缓冲池,不直接写入主文件索引收录的文件中。该方法的特点是写入特别快,有随机写的特点。 文件异步索引方法:本发明形成的文件系统包含主文件索引和分文件索引两部分,主文件索引必须通过分文件索引的插入形成。和文件同步索引方法比较,文件异步索引方法的特点是:不影响读写操作,可以和读写操作同时进行(可以并行操作),有边读写边建索引的特点,但由于是异步进行,索引中可能不包含文件系统中的全部文件。 周全读方法:本发明形成的文件系统的文件分成两部分:无索引区文件和有索引区文件,读写文件首先在无索引区文件中进行,因为无索引区文件是最新的文件,在无索引区中未找到文件的前提下,读有索引区文件,由于读的时候考虑需要周全,所以称为周全读。周全读方法的特点是,考虑多个区域的读:无索引区文件读和有索引区文件读;和全索弓I文件读比,性能会降低,但和随机读比较,性能会好很多。为了更加明确本发明涉及三种方法的特点,表I采用比较的方法,给出了本发明涉及的三种方法的特点。表I本发明涉及三种方法的特点
权利要求
1.本发明涉及应用于搜索引擎的海量文件异步索引及读写方法,该发明应用于搜索引擎的海量文件系统中,涉及三个方法:基于文件缓冲池的写方法、文件异步索引方法、周全读方法。
本发明的主要特点有: (1)随机写特点:文件的写操作是把文件写入文件缓冲池,而不是写入最终目的位置,能实现随机写的能力。
(2)边读写边建索引特点:建文件索引方法分成两部分:分文件索引和主文件索引;建文件索引和文件系统的读写操作过程不相关,可以边读写边建索引。
(3)全部文件可读特点:文件系统的读操作分成两部分:文件缓冲区读和主文件索引区文件读,可以实现全部文件可读。
全文摘要
本发明涉及应用于搜索引擎的海量文件异步索引及读写方法,该发明应用于搜索引擎的海量文件系统,涉及基于文件缓冲池的写方法、文件异步索引方法、周全读方法。具有文件随机写、边读写边建索引、全部文件可读三个特点,同时能实现适当的读写性能,对解决搜索引擎的实时性起到重要的作用。
文档编号G06F12/08GK103106233SQ20121043140
公开日2013年5月15日 申请日期2012年11月2日 优先权日2012年11月2日
发明者陆月明, 孙松林, 刘浩 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1