基于数据缺失标记的信息检索系统及方法

文档序号:6523531阅读:216来源:国知局
基于数据缺失标记的信息检索系统及方法
【专利摘要】本发明公开一种基于数据缺失标记的信息检索系统及方法。根据本发明一个实施例的信息检索系统,包括:数据库,包含数据被区分为多个数据块而存储的数据存储区域、以及存储各数据块所对应的关键词缺失信息的元数据区域;检索器,从用户处接收包含检索对象关键词以及检索对象区间的关键词检索请求,并利用所请求的关键词而检索存储于所述数据库中的数据;关键词管理器,从所述检索器接收基于关键词检索结果的关键词缺失信息,并在所述数据库中记录所述关键词缺失信息。
【专利说明】基于数据缺失标记的信息检索系统及方法

【技术领域】
[0001]本发明的实施例涉及一种大容量数据的高效的检索技术。

【背景技术】
[0002]随着电子商务、SNS(SocialNetworking Services,社会性网络服务)、VoIP(Voiceover Internet Protocol,互联网语音传输协议)服务等网络服务系统的普遍化,开发出了用于有效地运用这些服务系统的多种模块。对于服务系统而言,通常要对用户的接入记录、错误发生记录等日志数据或者记录有系统内发生的事件的事件数据等进行储存并管理。这种数据可被用来掌握服务系统或系统内服务组件等的状态并应对发生的问题,或者可以用来事先预测问题的发生。
[0003]随着服务系统趋于复杂化、大型化且使用该系统的用户的数量增加,服务系统中记录的数据的容量也将增加。因此为了有效地加以利用,需要从大容量数据中迅速而高效地搜索出所要的关键词。为此,现有技术中的数据管理系统利用了针对数据库中经常被检索的特定行(row)或经常被检索的数据块生成索引(index)的方式。然而事先预测用户会经常检索哪些数据是一件非常困难的事,而且为了索引需要另外消耗硬件资源,因此这种方法尤其在面对大容量数据时存在效率低下的问题。
[0004]而且,最近为了管理大容量数据,趋于利用非关系型数据库(NoSQL)等非结构化数据库的,然而对于这种非结构化数据库而言,由于不支持对特定数据的自动索引,因此为了索引,不得不直接运用索引算法。


【发明内容】

[0005]本发明实施例的目的在于提供一种用于有效地检索日志数据等大容量数据的方案。
[0006]根据本发明一个实施例的信息检索系统包括:数据库,包含数据被区分为多个数据块而存储的数据存储区域、以及存储各数据块所对应的关键词缺失信息的元数据区域;检索器,从用户处接收包含检索对象关键词以及检索对象区间的关键词检索请求,并利用所请求的关键词而检索存储于所述数据库中的数据;关键词管理器,从所述检索器接收基于关键词检索结果的关键词缺失信息,并在所述数据库中记录所述关键词缺失信息。
[0007]所述检索器可从记录于所述数据库中的所述关键词缺失信息中判断出接收的检索对象区间中是否存在关键词缺失区间,且如果存在关键词缺失区间,则可以在检索对象区间当中除了所述关键词缺失区间之外的其余区间内利用检索对象关键词而对所述数据库进行检索。
[0008]所述关键词管理器可接收从所述检索器检索到的关键词的检索区间、以及对应检索区间内的关键词缺失信息,并可以将检索到的所述关键词缺失信息标记在对应于多个数据块当中缺失关键词的块的元数据区域。
[0009]所述关键词管理器可用于分别管理:关键词历史表,存储在设定的期间内从所述检索器接收的关键词;主过滤器,将存储于所述关键词历史表中的关键词的哈希值进行存储;冲突关键词历史表,在从所述检索器接收的关键词中,将与已存储于所述主过滤器中的关键词发生冲突的关键词进行存储。
[0010]所述主过滤器可以是计数布隆过滤器(Counting Bloom Filter)。
[0011]所述关键词管理器可通过从所述检索器接收的关键词计算设定的个数的互不相同的哈希值,且在所述主过滤器的各单元(cell)中对应于计算出的哈希值的单元的值均大于O时,可将接收到的关键词存储于所述冲突关键词历史表。
[0012]所述关键词管理器在对应于计算出的哈希值的所述主过滤器的单元值中至少有一个为O时,可将对应于哈希值的所述主过滤器的单元值分别增加1,并将接收的关键词存储于所述关键词历史表。
[0013]所述关键词管理器可将存储于所述关键词历史表中的关键词缺失信息标记于所述元数据区域。
[0014]所述关键词管理器在存储于所述关键词历史表中的特定关键词在已设定的期间内未被使用的情况下,可将对应于所述特定关键词的哈希值的所述主过滤器的单元值减小1,并将所述特定关键词从所述关键词历史表中删除。
[0015]所述关键词管理器在存储于所述关键词历史表中的关键词被删除时,可将存储于所述冲突关键词历史表的关键词当中不会再与已存储于所述主过滤器的关键词发生冲突的关键词删除,并将从所述冲突关键词历史表中被删除的关键词登记于所述关键词历史表以及所述主过滤器。
[0016]所述检索器可利用所述主过滤器而判断是否标记检索对象关键词缺失信息,且在判断出检索对象关键词缺失信息已标记于所述数据库时,可通过检索所述数据库的元数据区域而获取检索对象关键词缺失区间的信息。
[0017]另外,根据本发明一个实施例的信息检索方法,包括如下步骤:在检索器中,从用户处接收包含检索对象关键词以及检索对象区间的关键词检索请求;在所述检索器中,利用所请求的关键词而检索存储于数据库中的数据;在关键词管理器中,将基于关键词检索结果的关键词缺失信息记录于所述数据库。
[0018]在所述信息检索方法中,在执行所述的检索数据的步骤之前,还可以包括如下步骤:在所述检索器中,从记录于所述数据库的关键词缺失信息中判断接收的检索对象区间中是否存在关键词缺失区间,而且,在所述的检索数据的步骤中,如果进行所述判断的结果为存在关键词缺失区间,则可以在所述检索对象区间当中除了关键词缺失区间之外的其余区间内利用所述检索对象关键词而对所述数据库进行检索。
[0019]在所述的记录关键词缺失信息的步骤中,还可以包括如下步骤:从所述检索器接收关键词检索区间以及检索结果;判断接收的关键词是否与已存储于主过滤器中的关键词发生冲突;根据所述判断的结果而将关键词存储于关键词历史表或冲突关键词历史表中。
[0020]所述主过滤器可以是计数布隆过滤器(Counting Bloom Filter)。
[0021]在所述的判断是否发生冲突的步骤中,可通过从所述检索器接收到的关键词计算设定个数的互不相同的哈希值,并可以根据所述主过滤器的各单元中对应于计算出的哈希值的单元的值是否均为大于O的值而判断所述关键词是否与存储于所述主过滤器中的关键词发生冲突。
[0022]在所述的存储关键词的步骤中,如果判断是否发生所述冲突的结果为对应于计算出的哈希值的所述主过滤器的单元值中至少有一个为0,则可以将对应于所述哈希值的所述主过滤器的单元值分别增加1,并将接收到的关键词存储于所述关键词历史表。
[0023]在所述的储存关键词的步骤中,如果判断是否发生所述冲突的结果为对应于计算出的哈希值的所述主过滤器的单元值均大于0,则可以将接收到的关键词存储于所述冲突关键词历史表。
[0024]所述信息检索方法在执行完所述的记录关键词缺失信息的步骤之后,还可以包括如下步骤:如果存储于所述关键词历史表中的特定关键词在已设定的期间内未被使用,便将对应于所述特定关键词的哈希值的所述主过滤器的单元值减小1,并将所述特定关键词从所述关键词历史表中删除。
[0025]在所述的将特定关键词从关键词历史表中删除的步骤中,可将存储于所述冲突关键词历史表的关键词中不再与已存储于所述主过滤器中的关键词发生冲突的关键词予以删除,并将从所述冲突关键词历史表中删除的关键词登记于所述关键词历史表以及主过滤器。
[0026]根据本发明的实施例,利用已执行的检索结果而对数据库内的特定关键词缺失区间进行标记,从而可以使检索关键词时的执行检索的区间最小化,由此具有可提闻检索效率的优点。
[0027]并且,在执行所述数据缺失区间标记时,对于与已经标记的关键词发生冲突的关键词进行单独的管理,从而可以在检索缺失区间时事先防止正误的发生。

【专利附图】

【附图说明】
[0028]图1为用于说明根据本发明一个实施例的信息检索系统100的模块图。
[0029]图2为表示根据本发明一个实施例的数据库102的详细构成的模块图。
[0030]图3为表示根据本发明一个实施例的检索器104的详细构成的模块图。
[0031]图4为表示根据本发明一个实施例的关键词管理器106的详细构成的模块图。
[0032]图5为用于说明在根据本发明一个实施例的关键词管理器106中添加新的关键词的过程500的顺序图。
[0033]图6为举例表示根据本发明一个实施例的主过滤器的图。
[0034]图7为举例表示在图6所示主过滤器中添加了新的关键词的状态的图。
[0035]图8为用于说明在根据本发明一个实施例的关键词管理器106中删除关键词的过程800的顺序图。
[0036]图9为举例表示从图7所示主过滤器中删除了特定关键词的状态的图。
[0037]图10为用于说明根据本发明一个实施例的关键词检索及元数据更新过程1000的顺序图。
[0038]图11为用于说明根据本发明一个实施例的利用了关键词缺失信息的关键词检索过程1100的顺序图。
[0039]符号说明:
[0040]100:信息检索系统102:数据库
[0041]104:检索器106:关键词管理器
[0042]200:数据存储区域202:元数据区域
[0043]300:关键词检索单元302:元数据检索单元
[0044]304:关键词信息登记及查询单元400:关键词信息管理单元
[0045]402:元数据管理单元

【具体实施方式】
[0046]以下,参照附图对本发明的具体实施形态进行说明。然而这仅仅是示例,本发明并不局限于此。
[0047]在对本发明进行说明时,如果认为对有关本发明的公知技术的具体说明有可能对本发明的主旨造成不必要的混乱,则省略其详细说明。而且,后述的术语均为考虑本发明中的功能而定义的,可能因使用者、运用者的意图或习惯等而不同。因此要以整个说明书的内容为基础对其进行定义。
[0048]本发明的技术思想由权利要求书确定,以下的实施例只是用于将本发明的技术思想有效地说明给本发明所属【技术领域】中具有普通知识的人员的一种方式。
[0049]图1为用于说明根据本发明一个实施例的信息检索系统100的模块图。如图所示,根据本发明一个实施例的信息检索系统100包括数据库102、检索器104、以及关键词管理器 106。
[0050]数据库102存储作为检索对象的数据。在本发明的实施例中,存储于数据库102中的所述数据例如可以是在互联网上提供VoIP (Voice over Internet Protocol,互联网语音传输协议)等服务的服务系统运行时产生的接入记录、出错详情等日志(log)信息或事件信息。然而,本发明的实施例并不局限于特定类型的数据,须知本发明适用于任何类型的数据。数据库102可以由非关系型数据库(NoSQL)等非结构化数据库构成,然而也可以与之不同而由关系型数据库(RDBMS)等构成。
[0051]检索器104从用户处接收关键词检索请求,并利用包含于所述关键词检索请求中的检索对象关键词而检索存储于数据库102中的数据。所述关键词例如可以是包含于存储在数据库102的日志消息或事件消息中的重要的消息文本、作为主要监控对象事先登记的用户账户(ID)等。
[0052]并且,所述关键词检索请求在所述检索对象关键词之外还可以一并包括用于检索出检索对象关键词的检索对象区间。例如,所述用户可以对最近七天之内存储到数据库102的数据中是否包含特定出错消息(例如“DBError”等消息)、或是否有特定人的接入记录(例如ID为“ABC”的用户的连接登录)的情况提出检索请求。
[0053]关键词管理器106根据检索器104中执行的关键词检索结果而从检索器104接收关键词缺失信息,并在数据库102中记录所述关键词缺失信息。例如,根据用户的检索请求进行检索的结果,如果“DBError”消息只在作为检索期间的最近七天中的第一天出现,则检索器104便将告知其余六天内没有出现“DBError”消息的消息(关键词缺失信息)传送给关键词管理器106,而关键词管理器106可将接收的关键词缺失信息记录于数据库102中。
[0054]在本发明的实施例中,与所述关键词缺失信息相关的消息可以构成为多种形态。例如,检索器104既可以将基于关键词检索结果的检索结果以及检索区间原样地传送给关键词管理器106,也可以从所述检索结果以及检索区间计算出关键词缺失区间并传送给关键词管理器106。
[0055]如果基于检索的关键词的检索结果的缺失信息被记录于数据库102中,则检索器104在之后遇到对同一关键词的检索请求时,可参照记录于数据库102中的关键词缺失信息而将记录有数据缺失信息的区间除外之后执行对请求的关键词的检索。例如,当从用户处再次接收到针对“DBError”关键词的检索请求时,检索器104利用记录于数据库102中的关键词缺失信息而判断接收的检索对象区间内是否存在关键词缺失区间,且如果存在关键词缺失区间,便在除了该区间之外的其余区间内进行对检索对象关键词的检索。由此,根据本发明的实施例,尤其对于经常检索的关键词而言,检索重复得越多,越能提高数据检索的速度。
[0056]图2为表示根据本发明一个实施例的数据库102的详细构成的模块图。如图所示,根据本发明一个实施例的数据库102构成为包括数据存储区域200以及元数据区域202。
[0057]数据存储区域200为用于存储作为检索对象的数据的区域。数据存储区域200可被构成为将所述数据划分为多个数据块而存储。例如,可将数据存储区域200构成为根据数据的产生时间点而按照日或周等时间单位将其划分,并将划分的数据分别存储于不同的数据块。
[0058]元数据区域202为用于将存储于数据存储区域200中的数据的关键词所对应的缺失信息进行存储的区域。如前所述,数据存储区域200可将数据划分为多个块而存储,且在此情况下,元数据区域202可按照划分的各数据块分别存储关键词缺失信息。即,如果参照元数据区域202,则可以轻易地识别出没有存储待检索的数据的数据块。在一个实施例中,元数据区域202可对各数据块分别应用布隆过滤器(Bloom Filter)而存储各数据块所对应的关键词缺失信息,然而本发明并不局限于用于存储关键词缺失信息的特定数据结构。
[0059]图3为表示根据本发明一个实施例的检索器104的详细构成的模块图。如图所示,根据本发明一个实施例的检索器104包括关键词检索单元300、元数据检索单元302、关键词信息登记及查询单元304。
[0060]关键词检索单元300从用户处接收关键词检索请求,并根据所述关键词检索请求而利用一个以上的关键词来执行针对数据库102的数据存储区域200的检索,并将检索结果返回给所述用户。
[0061]元数据检索单元302对数据库102的元数据区域202进行检索而判断所请求的关键词的检索对象区间内是否有缺失对应关键词的区间(关键词缺失区间)存在。如果对元数据区域202进行检索的结果发现检索对象区间当中存在对应的关键词缺失区间,则关键词检索单元300只对除了所述缺失区间之外的其余区间执行针对于对应关键词的检索。
[0062]关键词信息登记及查询单元304将包含关键词检索单元300中执行的检索结果的关键词信息登记于后述的关键词管理器106中。并且,关键词信息登记及查询单元304在接收到关键词检索请求时,向关键词管理器106询问所接收的检索对象关键词的信息,并接收相应的结果。与关键词信息的登记及询问(查询)相关的详细构成将在后面叙述。
[0063]图4为表示根据本发明一个实施例的关键词管理器104的详细构成的模块图。如图所示,根据本发明一个实施例的关键词管理器106包括关键词信息管理单元400以及元数据管理单元402。
[0064]关键词信息管理单元400存储从关键词信息登记及查询单元304接收的关键词信息。而且,关键词信息管理单元400在从关键词信息登记及查询单元304接收到对关键词信息的请求时,提供对应于有关请求的关键词信息。并且,元数据管理单元402将从关键词信息管理单元400接收的各关键词的缺失信息标记(Marking)于数据库102的元数据区域202。
[0065]在本发明的实施例中,关键词信息是指对于当前正在用于数据库102的关键词的一种历史信息。即,对于日志数据等而言,由于具有最新数据比以前的数据查询得更多、更频繁的特点,因此通过存储当前时间点经常被检索的关键词的信息而可以实现更为高效的检索。
[0066]在一个实施例中,关键词信息管理单元400为了管理关键词信息而可以利用包括关键词历史表、主过滤器、以及冲突关键词历史表的三个数据结构。
[0067]首先,关键词历史表为用于存储在预定期间内通过检索器104接收的关键词的数据结构。例如,可以将关键词历史表构成为存储最近七天内通过检索器104接收的关键词。在不同的实施例中,所述关键词历史表不仅可以包括最近检索的关键词,还可以一并包括过去的检索关键词。例如,关键词历史表可包括多个块,其中可以在第一个块中存储最近期间(例如最近七天)的检索关键词,在第二个块中存储其之前期间(8?14日)的检索关键词,而在第三个块中存储其之前期间(15?21日)的检索关键词。在此情况下,存储于第一个块中的关键词可以认为是当前频繁地被检索出的关键词。
[0068]主过滤器为用于将存储于所述关键词历史表中的关键词的哈希值进行存储的过滤器。所述主过滤器例如可以利用计数布隆过滤器(Counting Bloom Filter)实现。如前所述,如果关键词历史表连过去检索过的关键词也一并包括,则主过滤器可以只存储其中的在最近期间内检索到的关键词。如果存储于所述主过滤器中的关键词在预定期间内未被使用,则可以将对应关键词从所述主过滤器删除。
[0069]冲突关键词历史表为用于存储从检索器104接收到的关键词当中与已存储于主过滤器的关键词发生冲突的关键词的数据结构。具体而言,关键词信息管理单元400在从检索器104接收到关键词时,首先判断是否可以将对应关键词存储于主过滤器,且在可以存储于主过滤器时将对应关键词存储于关键词历史表,而在不能存储时存储于冲突关键词历史表。
[0070]以下参照图5?图9而对利用所述关键词历史表、主过滤器、以及冲突关键词历史表的关键词的添加以及删除过程进行说明。
[0071]图5为用于说明在根据本发明一个实施例的关键词管理器106中添加新的关键词的过程500的顺序图。首先,如果从检索器104新收到之前没有使用的关键词(502),则关键词管理器106的关键词信息管理单元400将预先设定的个数的互不相同的哈希函数应用于所接收的关键词而计算出多个哈希值(504),并根据对应于计算出的各哈希值的主过滤器的各单元值而确定是否可以将接收的所述关键词添加到主过滤器(508)。
[0072]例如,假定通过检索器104新收到之前未曾存储于关键词信息管理单元400的新的关键词“abc”。关键词信息管理单元400对接收到的关键词“abc”应用多个互不相同的哈希函数而计算出多个哈希值。例如,假设对所述关键词应用互不相同的三个哈希函数而得的结果分别为3、6、100。则关键词信息管理单元400在分别读取已存储于主过滤器的第三个、第六个、第一百个单元(cell)中的值之后,根据各单元的值是否分别大于O而确定是否可以将接收的所述关键词添加到主过滤器。
[0073]具体而言,关键词信息管理单元400在对应于计算出的哈希值的主过滤器的单元值中至少有一个为O时,将对应于哈希值的主过滤器的单元值分别增加I而将对应关键词存储于主过滤器(510)。
[0074]图6和图7举例表示关键词信息管理单元400中的主过滤器更新过程。在图中,各四边形表示主过滤器的各单元,四边形内部的数字表示各单元的值,而下方的数字表示各单元的序列号。例如,如图6所示,如果主过滤器的第三个、第六个、第一百个单元的值分别为1、0、2,则关键词信息管理单元400将如图7所示地将对应于哈希值的各单元的值分别增加I。即,在此情况下,主过滤器的第三个、第六个、第一百个单元的值分别成为2、1、3。
[0075]而且,在如上所述地将新的关键词添加到主过滤器的情况下,关键词信息管理单元400将新添加的关键词储存于关键词历史表(512)。
[0076]与此相反,如果主过滤器的各单元(cell)当中对应于计算出的哈希值的单元的值均大于0,则关键词信息管理单元400将无法在主过滤器中添加对应关键词。之所以出现这种情况是因为这是一种即使在布隆过滤器或计数布隆过滤器中不添加对应关键词也会在询问对应关键词时返回得到肯定(True)的情形(即,对于对应关键词出现了正误(positivefalse))。因此在这种情况下,关键词信息管理单元400将对应关键词存储于冲突关键词历史表中(514)。
[0077]如果通过这种过程而将新的关键词存储于关键词历史表或冲突关键词历史表中的某一个中,则元数据管理单元402最终地将新储存的关键词的缺失信息标记于数据库102的元数据区域202中,从而更新元数据区域202 (516)。
[0078]在本发明的实施例中之所以在主过滤器以外对专门的冲突关键词历史表进行管理有如下原因。如前所述,对于主过滤器而言,将计数布隆过滤器利用为数据结构,其存在即使实际上没有存储关键词也返回得到对于关键词询问的肯定(True)(即出现正误)的可能性。然而在本发明中计数布隆过滤器并非用于表示特定关键词的存在而是用于表示“缺失”,问题可能出现于此。即,由于作为计数布隆过滤器的特性的正误,实际上存在关键词的区间可能被误判为关键词缺失区间,而在此情况下,由于对被误判为缺失区间的区间根本不去执行关键词的检索,因此存在检索结果歪曲事实的可能性。因此在本发明中将与已存储的关键词发生冲突而不能添加的关键词另行储存于冲突关键词历史表,从而预先防止了正误的发生。
[0079]图8为用于说明根据本发明一个实施例的在关键词管理器106中删除关键词的过程800的顺序图。
[0080]关键词管理器106的关键词信息管理单元400将存储于关键词历史表的特定关键词中的、在已设定的期间内未被使用的关键词指定为删除对象关键词,并由所述删除对象关键词计算多个哈希值(802)。然后,关键词管理器106提取对应于计算出的哈希值的主过滤器的各单元值(804),并根据各单元值的大小判断是否可以删除对应关键词(806)。
[0081]只要提取的主过滤器的单元值当中有任何一个取值为O的单元,则是不能将对应关键词从主过滤器中删除的情形,因此关键词信息管理单元400将输出告知不能删除对应关键词的报错消息(808)。但如果与此相反而提取的主过滤器的单元值均大于0,则关键词信息管理单元400将对应于计算出的哈希值的主过滤器的单元值减少1,从而将所述删除对象关键词从关键词历史表中删除(810)。图9举例表示了通过这种过程而从如图7所示的主过滤器中删除关键词“abc”的状态。即,关键词信息管理单元400将对应于关键词“abc”的主过滤器的第三个、第六个、第一百个单元值从2、1、3减小为1、0、2。
[0082]另外,在此情况下,关键词信息管理单元400在从主过滤器中删除关键词时,将存储于冲突关键词历史表的关键词当中将由于删除所述关键词而不会再发生冲突的关键词从冲突关键词历史表中删除,并可以重新添加到主过滤器(812)。
[0083]图10为用于说明根据本发明一个实施例的关键词检索及元数据更新过程1000的顺序图。
[0084]首先,检索器104利用从用户处接收的检索对象关键词以及检索对象区间信息而向数据库102传送关键词检索询问(1002),而数据库102根据接收的关键词检索询问执行检索之后反馈检索结果(1004)。
[0085]然后,检索器104将基于接收的所述检索结果的关键词缺失信息传送给关键词管理器106 (1006),而关键词管理器106根据接收的所述关键词缺失信息而将关键词缺失信息标记于数据库102的元数据区域202 (1008)。
[0086]图11为用于说明利用根据本发明一个实施例的关键词缺失信息的关键词检索过程1100的顺序图。
[0087]首先,检索器104从用户处接收包含检索对象关键词以及检索对象区间的关键词检索请求,并向关键词管理器106询问包含于接收的所述检索请求中的检索对象关键词的信息(I 102)。
[0088]接收到所述询问的关键词管理器106通过搜索判断接收的检索对象关键词是否储存于主过滤器与冲突关键词历史表中的某一个当中,并将所述搜索的结果传送给检索器104 (1104)。
[0089]如果所述询问的结果得知对应检索对象关键词存储于主过滤器中,则检索器104便通过搜索数据库102的元数据区域202而检索出对应的关键词缺失区间,从而获取检索对象关键词缺失区间的信息(1106,1108),并在除了获取的缺失区间之外的其余区间执行对检索对象关键词的检索(1110,1112)。S卩,由于这一情形为对应关键词缺失的信息标记于数据库102的情形,因此利用元数据而只在除了缺失区间之外的其余区间执行检索。
[0090]然而,对于对应检索关键词没有存储于冲突关键词历史表中或者关键词管理器106中的情况而言,由于其属于因冲突而无法标记对应关键词或者之前没有检索历史的情形,因此检索器104将在整个检索对象区间执行针对检索对象关键词的检索。
[0091]另外,本发明的实施例中可以包括记录有用于在计算机上执行本说明书中记载的方法的程序的计算机可读记录介质。计算机可读记录介质既可以单独包括程序命令、本地数据文件、本地数据结构等,也可以包括它们的组合。介质可以是为了本发明而特别设计并构成的,也可以是计算机软件领域中具有普通知识的人员所公知而可以使用的。计算机可读记录介质之例中包括硬盘、软盘以及磁带之类的磁介质;CD-R0M (只读光盘)、DVD之类的光记录介质;软盘之类的磁光介质;以及ROM (只读存储器)、RAM (随机存储器)、闪存等为了存储并执行程序命令而特别构成的硬件装置。程序命令之例中不仅可以包括通过编译器制作的机器语言代码,而且还可以包括使用解释器等而通过计算机执行的高级语言代码。
[0092]以上通过代表性实施例对本发明进行了详细说明,然而不难理解只要是本发明所属【技术领域】中具有普通知识的人员即可在不脱离本发明范围的限度内对所述的实施例进行多种变形。
[0093]因此本发明的权利范围不能局限于所述的实施例而进行确定,而是要根据权利要求书及其等价内容来确定。
【权利要求】
1.一种信息检索系统,包括: 数据库,包含数据被区分为多个数据块而存储的数据存储区域、以及存储各数据块所对应的关键词缺失信息的元数据区域; 检索器,从用户处接收包含检索对象关键词以及检索对象区间的关键词检索请求,并利用所请求的关键词而检索存储于所述数据库中的数据; 关键词管理器,从所述检索器接收基于关键词检索结果的关键词缺失信息,并在所述数据库中记录所述关键词缺失信息。
2.如权利要求1所述的信息检索系统,其中,所述检索器从记录于所述数据库中的所述关键词缺失信息中判断出接收的检索对象区间中是否存在关键词缺失区间,且如果存在关键词缺失区间,则在检索对象区间当中除了所述关键词缺失区间之外的其余区间内利用检索对象关键词而对所述数据库进行检索。
3.如权利要求1所述的信息检索系统,其中,所述关键词管理器接收从所述检索器检索到的关键词的检索区间、以及对应检索区间内的关键词缺失信息,并将检索到的所述关键词缺失信息标记在对应于多个数据块当中缺失关键词的块的元数据区域。
4.如权利要求3所述的信息检索系统,其中,所述关键词管理器用于分别管理: 关键词历史表,存储在设定的期间内从所述检索器接收的关键词; 主过滤器,将存储于所述关键词历史表中的关键词的哈希值进行存储; 冲突关键词历史表,在从所述检索器接收的关键词中,将与已存储于所述主过滤器中的关键词发生冲突的关键词进行存储。
5.如权利要求4所述的信息检索系统,其中,所述主过滤器为计数布隆过滤器。
6.如权利要求5所述的信息检索系统,其中,所述关键词管理器通过从所述检索器接收的关键词计算设定的个数的互不相同的哈希值,且在所述主过滤器的各单元中对应于计算出的哈希值的单元的值均大于O时,将接收到的关键词存储于所述冲突关键词历史表。
7.如权利要求6所述的信息检索系统,其中,所述关键词管理器在对应于计算出的哈希值的所述主过滤器的单元值中至少有一个为O时,将对应于哈希值的所述主过滤器的单元值分别增加1,并将接收的关键词存储于所述关键词历史表。
8.如权利要求7所述的信息检索系统,其中,所述关键词管理器将存储于所述关键词历史表中的关键词缺失信息标记于所述元数据区域。
9.如权利要求5所述的信息检索系统,其中,所述关键词管理器在存储于所述关键词历史表中的特定关键词在已设定的期间内未被使用的情况下,将对应于所述特定关键词的哈希值的所述主过滤器的单元值减小1,并将所述特定关键词从所述关键词历史表中删除。
10.如权利要求9所述的信息检索系统,其中,所述关键词管理器在存储于所述关键词历史表中的关键词被删除时,将存储于所述冲突关键词历史表的关键词当中不会再与已存储于所述主过滤器的关键词发生冲突的关键词删除,并将从所述冲突关键词历史表中被删除的关键词登记于所述关键词历史表以及所述主过滤器。
11.如权利要求4所述的信息检索系统,其中,所述检索器利用所述主过滤器而判断是否标记检索对象关键词缺失信息,且在判断出检索对象关键词缺失信息已标记于所述数据库时,通过检索所述数据库的元数据区域而获取检索对象关键词缺失区间的信息。
12.一种信息检索方法,包括如下步骤: 在检索器中,从用户处接收包含检索对象关键词以及检索对象区间的关键词检索请求; 在所述检索器中,利用所请求的关键词而检索存储于数据库中的数据; 在关键词管理器中,将基于关键词检索结果的关键词缺失信息记录于所述数据库。
13.如权利要求12所述的信息检索方法,其中,在执行所述的检索数据的步骤之前,还包括如下步骤: 在所述检索器中,从记录于所述数据库的关键词缺失信息中判断接收的检索对象区间中是否存在关键词缺失区间, 而且,在所述的检索数据的步骤中,如果进行所述判断的结果为存在关键词缺失区间,则在所述检索对象区间当中除了关键词缺失区间之外的其余区间内利用所述检索对象关键词而对所述数据库进行检索。
14.如权利要求12所述的信息检索方法,其中,在所述的记录关键词缺失信息的步骤中,还包括如下步骤: 从所述检索器接收关键词检索区间以及检索结果; 判断接收的关键词是否与已存储于主过滤器中的关键词发生冲突; 根据所述判断的结果而将关键词存储于关键词历史表或冲突关键词历史表中。
15.如权利要求14所述的信息检索方法,其中,所述主过滤器为计数布隆过滤器。
16.如权利要求15所述的信息检索方法,其中,在所述的判断是否发生冲突的步骤中,通过从所述检索器接收到的关键词计算设定个数的互不相同的哈希值,并根据所述主过滤器的各单元中对应于计算出的哈希值的单元的值是否均为大于O的值而判断所述关键词是否与存储于所述主过滤器中的关键词发生冲突。
17.如权利要求16所述的信息检索方法,其中,在所述的存储关键词的步骤中,如果判断是否发生所述冲突的结果为对应于计算出的哈希值的所述主过滤器的单元值中至少有一个为O,便将对应于所述哈希值的所述主过滤器的单元值分别增加1,并将接收到的关键词存储于所述关键词历史表。
18.如权利要求16所述的信息检索方法,其中,在所述的储存关键词的步骤中,如果判断是否发生所述冲突的结果为对应于计算出的哈希值的所述主过滤器的单元值均大于O,便将接收到的关键词存储于所述冲突关键词历史表。
19.如权利要求17所述的信息检索方法,其中,在执行所述的记录关键词缺失信息的步骤之后,还包括如下步骤: 如果存储于所述关键词历史表中的特定关键词在已设定的期间内未被使用,便将对应于所述特定关键词的哈希值的所述主过滤器的单元值减小1,并将所述特定关键词从所述关键词历史表中删除。
20.如权利要求19所述的信息检索方法,其中,在将所述特定关键词从关键词历史表中删除的步骤中,将存储于所述冲突关键词历史表的关键词中不再与已存储于所述主过滤器中的关键词发生冲突的关键词予以删除,并将从所述冲突关键词历史表中删除的关键词登记于所述关键词历史表以及主过滤器。
【文档编号】G06F17/30GK104182435SQ201310681804
【公开日】2014年12月3日 申请日期:2013年12月12日 优先权日:2013年5月24日
【发明者】尹一智, 吴宝利, 崔载硕 申请人:三星Sds株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1