当前位置: 首页 > 专利查询>复旦大学专利>正文

一种支持多数据源的索引维护方法技术

技术编号:5146213 阅读:198 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于搜索引擎技术领域,具体涉及一种支持多数据源的索引维护方法。本发明专利技术将整个索引库分为一系列子索引库,每个子索引库存储一定时间粒度内的索引,子索引库包含一个独立的目录及相关文件。操作步骤分为三个流程:子索引库的数据加载、子索引库的合并、用户检索请求的处理。本发明专利技术通过设置子索引库,便于实现索引的实时更新;通过设置合适的索引合并检测周期,实现具有不同时间粒度的子索引库互相共存;将用户限定时间范围的检索请求映射到子索引库上,索引的更新可以在独立的子索引库中进行而不影响用户的检索请求,从而保证响应时间满足用户要求。

【技术实现步骤摘要】

本专利技术属于搜索引擎
,具体涉及一种索引库更新维护方法。
技术介绍
企业信息化产生了大量的原始信息或加工信息,如各种文本信息、多媒体信息等。 这些信息中包含了用户感兴趣的各种内容,需要对这些信息进行有效存储与检索。这种信 息检索系统的主要特点一是,数据来源多,当原始信息产生之后,要求能够尽快地进入检 索系统,并能够被检索;二是,用户对信息检索的响应时间有更高的要求,特别地索引库的 更新过程不能对用户检索的响应时间产生影响。三是,不同类型企业用户在检索过程中,可 能对检索的时间范围有一定区别,有的要求对刚产生的数据能够进行即时查询,而有的要 求能够查询历史上某个时间段的数据。现有的搜索引擎研究在海量信息处理、体系结构等方面已经有了很大的进展,如 google公司专利技术的Bigtable等一系列技术[1],有效地解决了海量信息的分布式存储与索 引中的主要问题,为上层应用提供了统一的数据接口。在企业级的文本信息存储与检索技 术方面,为了适应企业用户对检索响应时间的要求,人们提出了多种匹配算法、索引库的组 织方法以及软件体系结构设计方法等。其中,索引库的组织及其维护方法由于对检索性能 有较大的影响,而成为搜索引擎设计的关键。归纳起来,主要有以下几类方法一是,针对集 中式环境下的索引结构,主要是基于倒排索引结构及其改进方法[2]。二是,针对分布式环 境下的索引结构,在倒排结构的基础上,对索引建立算法进行了分布式处理的增强[3,4]。这些方法在海量信息的存储、索引管理以及提高检索系统性能方面,起了关键作 用。随着用户对检索系统性能要求的不断提高,人们需要在索引库实时维护机制方面提出 新的方法,以便在大量的索引库中快速定位与选择某次检索所需要的索引库片断,避免在 大索引库中检索记录,同时避免索引库更新过程对用户检索所造成的影响,进一步缩短用 户检索的响应时间。而现有各种方法在解决这些需求时尚存在一定的不足,具体说明如 下1.对多个数据源上的数据同时建立索引时,现有方法由于需要进行索引库的不断更 新,而造成建立索引时产生延迟,从而影响用户即时检索的需要。2.由于索引的更新在一个大的索引库上进行,因此,在更新期间容易发生用户检 索无法进行的现象,或检索请求的处理过程变慢。3.面对用户在检索过程中对时间范围的限定,现有方法实际上还是在大的索引库 中进行,因此,检索效率的提升是很有限的。由此可见,为了实现对多数据源进行索引创建,同时保证用户检索的响应时间不 受影响,需要引入新的索引库并发实时更新维护机制,才能有效克服目前存在的问题并满 足企业用户需要。本专利技术的目的就是设计这样的索引库更新维护机制。
技术实现思路
本专利技术的目的主要是针对搜索引擎性能进一步改善的需要,提出一种新的索引库 维护方法。本专利技术基于对多个数据源同时建立索引的性能需求而提出一种索引库维护方法。 本专利技术针对索引服务器中索引库的组织方式、更新方法及检索过程,将整个索引库分为一 系列子索引库,每个子索引库存储一定时间粒度内的索引,子索引库包含一个独立的目录 及相关文件。本专利技术的总体流程如图1。操作步骤分为三个流程,具体如下一.子索引库的数据加载(1)生成新的子索引库,并按照一定的命名方式对该子索引库进行标识;(2)对该子索引库进行加锁;(3)按照建立索引结构的算法[5,6]创建数据对应的索引文件,实现数据加载;(4)子索引库解锁;(5)通知索引服务器上的检索请求处理进程,将该子索引库标识为可用库。二.子索引库的合并(1)按照一定的时间间隔选择需要合并的子索引库;(2)生成新的子索引库,并按照一定命名方式对该子索引库进行标识;(3)对该子索引库进行加锁;(4)按照与索引结构相对应的索引合并算法[5,6]将所选择的子索引库合并,写入到 新的子索引库;(5)子索引库解锁;(6)通知索引服务器上的检索请求处理进程,将所选择的子索引库标识为不可用,而将 新的子索引库标识为可用。三.用户检索请求的处理(1)从接收到的用户检索请求命令中,提取指定的时间范围;(2)根据该时间范围,选择符合时间条件的子索引库,作为处理当前检索命令的索引库;(3)执行检索过程,并返回结果。支持多数据源的索引维护方法,其特征在于对子索引库具有如下的标识 DATE1-DATE2,其中DATEl与DATE2分别表示索引库中所包含的数据文件的最早与最迟的生 成时间,格式均为yyyyYYDDHHMMSS,yyyy表示年份,YY表示月份,DD表示日,ⅠⅡⅠ表示小时 数,ⅥM表示分钟,SS表示秒数。本专利技术的支持多数据源的索引维护方法,索引合并具有灵活的时间粒度,即由G1、 G2和G3表示不同时间粒度,对应的子索引库具有如下特点SUB_SET1= {siDATE2-DATE1>G1}SUB_SET2= {siDATE2-DATE1>G2}SUB_SET3= {siDATE2-DATE1>G3}其中,G1>G2>G3。 本专利技术的支持多数据源的索引维护方法,用户的检索请求在合适的时间范围子索 引库中进行;针对检索请求所限定的查询时间范围[tl,t2],根据以下选择方法选择用于 本次查询的可用子索引列表tl<=DATEl<=t2或tl<=DATE2<=t2,其中DATEl和DATE2为各个子索引库的标识。本专利技术的支持多数据源的索引维护方法,子索引库的数据加载过程中,通过产生加锁文件的方式来避免合并进程对正在加载的子索引库进行合并,也避免正在加载的子索 引库被用户检索处理进程选择为检索范围。本专利技术的支持多数据源的索引维护方法,子索引库合并过程中,通过产生加锁文件的方式来避免正在生成的新子索引库被用户检索请求处理进程选择为检索范围。本专利技术具有实质性特点和显著进步(1)通过设置子索引库,需要为不同数据源 建立索引时,只需要在各自的子索引库中进行,而不互相影响,因此能够实现索引的实时更 新。(2)通过设置合适的索引合并检测周期,可以实现具有不同时间粒度的子索引库互相共 存,为索引库的组织提供了一种新的思路。(3)用户限定时间范围的检索请求可以方便地映 射到子索引库上,索引的更新在独立的子索引库中进行而不影响用户的检索请求,从而保 证响应时间满足用户要求,提高检索效率。附图说明图1为本专利技术总体流程图。图2为数据加载处理流程图。图3为子索引库合并处理流程图。图4为用户检索请求处理流程图。具体实施例方式在索引服务器上维护三个进程,分别是子索引库的数据加载、子索引库的合并、用户检索请求的处理。图2、图3、图4为本专利技术流程图示。索引库是一个独立目录,其中所包含的子目录为子索引库,每个子索引库中的具体文件根据不同的索引组织形式而有所不同。1、子索引库的数据加载进程索引服务器设定一个目录用于接收新数据文件,按照以下处理流程执行 (1)检查该目录是否有新的数据文件达到。(2)如果没有新的数据文件,则转(1 )。(3)如果有新的数据文件,则执行以下处理流程(a)在索引库中建立相应的子目录,将目录名称命名为DATE1-DATE2,其中DATEl与 DATE2分别表示数据文件集中文件最早与最迟的生成时间,格式均为yyyyYYDDHHMMSS, yyyy表示年份,YY表示月份,D本文档来自技高网
...

【技术保护点】
一种支持多数据源的索引维护方法,其特征在于整个索引库分为一系列子索引库,每个子索引库存储一定时间粒度内的索引,子索引库包含一个独立的目录及相关文件;具体步骤包括以下3个处理流程:一.子索引库的数据加载(1)生成新的子索引库,并按照一定的命名方式对该子索引库进行标识;(2)对该子索引库进行加锁;(3)按照建立索引结构的算法创建数据对应的索引文件,实现数据加载;(4)子索引库解锁;(5)通知索引服务器上的检索请求处理进程,将该子索引库标识为可用库;二.子索引库的合并(1)按照一定的时间间隔选择需要合并的子索引库;(2)生成新的子索引库,并按照一定命名方式对该子索引库进行标识;(3)对该子索引库进行加锁;(4)按照与索引结构相对应的索引合并算法将所选择的子索引库合并,写入到新的子索引库;(5)子索引库解锁;(6)通知索引服务器上的检索请求处理进程,将所选择的子索引库标识为不可用,而将新的子索引库标识为可用;三.用户检索请求的处理(1)从接收到的用户检索请求命令中,提取指定的时间范围;(2)根据该时间范围,选择符合时间条件的子索引库,作为处理当前检索命令的索引;(3)执行检索过程,并返回结果。

【技术特征摘要】
一种支持多数据源的索引维护方法,其特征在于整个索引库分为一系列子索引库,每个子索引库存储一定时间粒度内的索引,子索引库包含一个独立的目录及相关文件;具体步骤包括以下3个处理流程 一.子索引库的数据加载(1)生成新的子索引库,并按照一定的命名方式对该子索引库进行标识;(2)对该子索引库进行加锁;(3)按照建立索引结构的算法创建数据对应的索引文件,实现数据加载;(4)子索引库解锁;(5)通知索引服务器上的检索请求处理进程,将该子索引库标识为可用库;二.子索引库的合并(1)按照一定的时间间隔选择需要合并的子索引库;(2)生成新的子索引库,并按照一定命名方式对该子索引库进行标识;(3)对该子索引库进行加锁;(4)按照与索引结构相对应的索引合并算法将所选择的子索引库合并,写入到新的子索引库;(5)子索引库解锁;(6)通知索引服务器上的检索请求处理进程,将所选择的子索引库标识为不可用,而将新的子索引库标识为可用;三.用户检索请求的处理(1)从接收到的用户检索请求命令中,提取指定的时间范围;(2)根据该时间范围,选择符合时间条件的子索引库,作为处理当前检索命令的索引;(3)执行检索过程,并返回结果。2.如权利要求1所述的支持多数据源的索引维护方法,其特征在于对子索引库具有如下的标识DATE1-DATE2,其中DATEl与DATE2分别表示索引库中所包含的数据文件的最 早与最迟的生成时间,格式均为yyy...

【专利技术属性】
技术研发人员:曾剑平吴承荣
申请(专利权)人:复旦大学
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1