CN104182435A - 基于数据缺失标记的信息检索系统及方法 - Google Patents
基于数据缺失标记的信息检索系统及方法 Download PDFInfo
- Publication number
- CN104182435A CN104182435A CN201310681804.8A CN201310681804A CN104182435A CN 104182435 A CN104182435 A CN 104182435A CN 201310681804 A CN201310681804 A CN 201310681804A CN 104182435 A CN104182435 A CN 104182435A
- Authority
- CN
- China
- Prior art keywords
- keyword
- stored
- information
- disappearance
- interval
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/328—Management therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于数据缺失标记的信息检索系统及方法。根据本发明一个实施例的信息检索系统,包括:数据库,包含数据被区分为多个数据块而存储的数据存储区域、以及存储各数据块所对应的关键词缺失信息的元数据区域;检索器,从用户处接收包含检索对象关键词以及检索对象区间的关键词检索请求,并利用所请求的关键词而检索存储于所述数据库中的数据;关键词管理器,从所述检索器接收基于关键词检索结果的关键词缺失信息,并在所述数据库中记录所述关键词缺失信息。
Description
技术领域
本发明的实施例涉及一种大容量数据的高效的检索技术。
背景技术
随着电子商务、SNS(Social Networking Services,社会性网络服务)、VoIP(Voice over Internet Protocol,互联网语音传输协议)服务等网络服务系统的普遍化,开发出了用于有效地运用这些服务系统的多种模块。对于服务系统而言,通常要对用户的接入记录、错误发生记录等日志数据或者记录有系统内发生的事件的事件数据等进行储存并管理。这种数据可被用来掌握服务系统或系统内服务组件等的状态并应对发生的问题,或者可以用来事先预测问题的发生。
随着服务系统趋于复杂化、大型化且使用该系统的用户的数量增加,服务系统中记录的数据的容量也将增加。因此为了有效地加以利用,需要从大容量数据中迅速而高效地搜索出所要的关键词。为此,现有技术中的数据管理系统利用了针对数据库中经常被检索的特定行(row)或经常被检索的数据块生成索引(index)的方式。然而事先预测用户会经常检索哪些数据是一件非常困难的事,而且为了索引需要另外消耗硬件资源,因此这种方法尤其在面对大容量数据时存在效率低下的问题。
而且,最近为了管理大容量数据,趋于利用非关系型数据库(NoSQL)等非结构化数据库的,然而对于这种非结构化数据库而言,由于不支持对特定数据的自动索引,因此为了索引,不得不直接运用索引算法。
发明内容
本发明实施例的目的在于提供一种用于有效地检索日志数据等大容量数据的方案。
根据本发明一个实施例的信息检索系统包括:数据库,包含数据被区分为多个数据块而存储的数据存储区域、以及存储各数据块所对应的关键词缺失信息的元数据区域;检索器,从用户处接收包含检索对象关键词以及检索对象区间的关键词检索请求,并利用所请求的关键词而检索存储于所述数据库中的数据;关键词管理器,从所述检索器接收基于关键词检索结果的关键词缺失信息,并在所述数据库中记录所述关键词缺失信息。
所述检索器可从记录于所述数据库中的所述关键词缺失信息中判断出接收的检索对象区间中是否存在关键词缺失区间,且如果存在关键词缺失区间,则可以在检索对象区间当中除了所述关键词缺失区间之外的其余区间内利用检索对象关键词而对所述数据库进行检索。
所述关键词管理器可接收从所述检索器检索到的关键词的检索区间、以及对应检索区间内的关键词缺失信息,并可以将检索到的所述关键词缺失信息标记在对应于多个数据块当中缺失关键词的块的元数据区域。
所述关键词管理器可用于分别管理:关键词历史表,存储在设定的期间内从所述检索器接收的关键词;主过滤器,将存储于所述关键词历史表中的关键词的哈希值进行存储;冲突关键词历史表,在从所述检索器接收的关键词中,将与已存储于所述主过滤器中的关键词发生冲突的关键词进行存储。
所述主过滤器可以是计数布隆过滤器(Counting Bloom Filter)。
所述关键词管理器可通过从所述检索器接收的关键词计算设定的个数的互不相同的哈希值,且在所述主过滤器的各单元(cell)中对应于计算出的哈希值的单元的值均大于0时,可将接收到的关键词存储于所述冲突关键词历史表。
所述关键词管理器在对应于计算出的哈希值的所述主过滤器的单元值中至少有一个为0时,可将对应于哈希值的所述主过滤器的单元值分别增加1,并将接收的关键词存储于所述关键词历史表。
所述关键词管理器可将存储于所述关键词历史表中的关键词缺失信息标记于所述元数据区域。
所述关键词管理器在存储于所述关键词历史表中的特定关键词在已设定的期间内未被使用的情况下,可将对应于所述特定关键词的哈希值的所述主过滤器的单元值减小1,并将所述特定关键词从所述关键词历史表中删除。
所述关键词管理器在存储于所述关键词历史表中的关键词被删除时,可将存储于所述冲突关键词历史表的关键词当中不会再与已存储于所述主过滤器的关键词发生冲突的关键词删除,并将从所述冲突关键词历史表中被删除的关键词登记于所述关键词历史表以及所述主过滤器。
所述检索器可利用所述主过滤器而判断是否标记检索对象关键词缺失信息,且在判断出检索对象关键词缺失信息已标记于所述数据库时,可通过检索所述数据库的元数据区域而获取检索对象关键词缺失区间的信息。
另外,根据本发明一个实施例的信息检索方法,包括如下步骤:在检索器中,从用户处接收包含检索对象关键词以及检索对象区间的关键词检索请求;在所述检索器中,利用所请求的关键词而检索存储于数据库中的数据;在关键词管理器中,将基于关键词检索结果的关键词缺失信息记录于所述数据库。
在所述信息检索方法中,在执行所述的检索数据的步骤之前,还可以包括如下步骤:在所述检索器中,从记录于所述数据库的关键词缺失信息中判断接收的检索对象区间中是否存在关键词缺失区间,而且,在所述的检索数据的步骤中,如果进行所述判断的结果为存在关键词缺失区间,则可以在所述检索对象区间当中除了关键词缺失区间之外的其余区间内利用所述检索对象关键词而对所述数据库进行检索。
在所述的记录关键词缺失信息的步骤中,还可以包括如下步骤:从所述检索器接收关键词检索区间以及检索结果;判断接收的关键词是否与已存储于主过滤器中的关键词发生冲突;根据所述判断的结果而将关键词存储于关键词历史表或冲突关键词历史表中。
所述主过滤器可以是计数布隆过滤器(Counting Bloom Filter)。
在所述的判断是否发生冲突的步骤中,可通过从所述检索器接收到的关键词计算设定个数的互不相同的哈希值,并可以根据所述主过滤器的各单元中对应于计算出的哈希值的单元的值是否均为大于0的值而判断所述关键词是否与存储于所述主过滤器中的关键词发生冲突。
在所述的存储关键词的步骤中,如果判断是否发生所述冲突的结果为对应于计算出的哈希值的所述主过滤器的单元值中至少有一个为0,则可以将对应于所述哈希值的所述主过滤器的单元值分别增加1,并将接收到的关键词存储于所述关键词历史表。
在所述的储存关键词的步骤中,如果判断是否发生所述冲突的结果为对应于计算出的哈希值的所述主过滤器的单元值均大于0,则可以将接收到的关键词存储于所述冲突关键词历史表。
所述信息检索方法在执行完所述的记录关键词缺失信息的步骤之后,还可以包括如下步骤:如果存储于所述关键词历史表中的特定关键词在已设定的期间内未被使用,便将对应于所述特定关键词的哈希值的所述主过滤器的单元值减小1,并将所述特定关键词从所述关键词历史表中删除。
在所述的将特定关键词从关键词历史表中删除的步骤中,可将存储于所述冲突关键词历史表的关键词中不再与已存储于所述主过滤器中的关键词发生冲突的关键词予以删除,并将从所述冲突关键词历史表中删除的关键词登记于所述关键词历史表以及主过滤器。
根据本发明的实施例,利用已执行的检索结果而对数据库内的特定关键词缺失区间进行标记,从而可以使检索关键词时的执行检索的区间最小化,由此具有可提高检索效率的优点。
并且,在执行所述数据缺失区间标记时,对于与已经标记的关键词发生冲突的关键词进行单独的管理,从而可以在检索缺失区间时事先防止正误的发生。
附图说明
图1为用于说明根据本发明一个实施例的信息检索系统100的模块图。
图2为表示根据本发明一个实施例的数据库102的详细构成的模块图。
图3为表示根据本发明一个实施例的检索器104的详细构成的模块图。
图4为表示根据本发明一个实施例的关键词管理器106的详细构成的模块图。
图5为用于说明在根据本发明一个实施例的关键词管理器106中添加新的关键词的过程500的顺序图。
图6为举例表示根据本发明一个实施例的主过滤器的图。
图7为举例表示在图6所示主过滤器中添加了新的关键词的状态的图。
图8为用于说明在根据本发明一个实施例的关键词管理器106中删除关键词的过程800的顺序图。
图9为举例表示从图7所示主过滤器中删除了特定关键词的状态的图。
图10为用于说明根据本发明一个实施例的关键词检索及元数据更新过程1000的顺序图。
图11为用于说明根据本发明一个实施例的利用了关键词缺失信息的关键词检索过程1100的顺序图。
符号说明:
100:信息检索系统 102:数据库
104:检索器 106:关键词管理器
200:数据存储区域 202:元数据区域
300:关键词检索单元 302:元数据检索单元
304:关键词信息登记及查询单元 400:关键词信息管理单元
402:元数据管理单元
具体实施方式
以下,参照附图对本发明的具体实施形态进行说明。然而这仅仅是示例,本发明并不局限于此。
在对本发明进行说明时,如果认为对有关本发明的公知技术的具体说明有可能对本发明的主旨造成不必要的混乱,则省略其详细说明。而且,后述的术语均为考虑本发明中的功能而定义的,可能因使用者、运用者的意图或习惯等而不同。因此要以整个说明书的内容为基础对其进行定义。
本发明的技术思想由权利要求书确定,以下的实施例只是用于将本发明的技术思想有效地说明给本发明所属技术领域中具有普通知识的人员的一种方式。
图1为用于说明根据本发明一个实施例的信息检索系统100的模块图。如图所示,根据本发明一个实施例的信息检索系统100包括数据库102、检索器104、以及关键词管理器106。
数据库102存储作为检索对象的数据。在本发明的实施例中,存储于数据库102中的所述数据例如可以是在互联网上提供VoIP(Voice over InternetProtocol,互联网语音传输协议)等服务的服务系统运行时产生的接入记录、出错详情等日志(log)信息或事件信息。然而,本发明的实施例并不局限于特定类型的数据,须知本发明适用于任何类型的数据。数据库102可以由非关系型数据库(NoSQL)等非结构化数据库构成,然而也可以与之不同而由关系型数据库(RDBMS)等构成。
检索器104从用户处接收关键词检索请求,并利用包含于所述关键词检索请求中的检索对象关键词而检索存储于数据库102中的数据。所述关键词例如可以是包含于存储在数据库102的日志消息或事件消息中的重要的消息文本、作为主要监控对象事先登记的用户账户(ID)等。
并且,所述关键词检索请求在所述检索对象关键词之外还可以一并包括用于检索出检索对象关键词的检索对象区间。例如,所述用户可以对最近七天之内存储到数据库102的数据中是否包含特定出错消息(例如“DBError”等消息)、或是否有特定人的接入记录(例如ID为“ABC”的用户的连接登录)的情况提出检索请求。
关键词管理器106根据检索器104中执行的关键词检索结果而从检索器104接收关键词缺失信息,并在数据库102中记录所述关键词缺失信息。例如,根据用户的检索请求进行检索的结果,如果“DBError”消息只在作为检索期间的最近七天中的第一天出现,则检索器104便将告知其余六天内没有出现“DBError”消息的消息(关键词缺失信息)传送给关键词管理器106,而关键词管理器106可将接收的关键词缺失信息记录于数据库102中。
在本发明的实施例中,与所述关键词缺失信息相关的消息可以构成为多种形态。例如,检索器104既可以将基于关键词检索结果的检索结果以及检索区间原样地传送给关键词管理器106,也可以从所述检索结果以及检索区间计算出关键词缺失区间并传送给关键词管理器106。
如果基于检索的关键词的检索结果的缺失信息被记录于数据库102中,则检索器104在之后遇到对同一关键词的检索请求时,可参照记录于数据库102中的关键词缺失信息而将记录有数据缺失信息的区间除外之后执行对请求的关键词的检索。例如,当从用户处再次接收到针对“DBError”关键词的检索请求时,检索器104利用记录于数据库102中的关键词缺失信息而判断接收的检索对象区间内是否存在关键词缺失区间,且如果存在关键词缺失区间,便在除了该区间之外的其余区间内进行对检索对象关键词的检索。由此,根据本发明的实施例,尤其对于经常检索的关键词而言,检索重复得越多,越能提高数据检索的速度。
图2为表示根据本发明一个实施例的数据库102的详细构成的模块图。如图所示,根据本发明一个实施例的数据库102构成为包括数据存储区域200以及元数据区域202。
数据存储区域200为用于存储作为检索对象的数据的区域。数据存储区域200可被构成为将所述数据划分为多个数据块而存储。例如,可将数据存储区域200构成为根据数据的产生时间点而按照日或周等时间单位将其划分,并将划分的数据分别存储于不同的数据块。
元数据区域202为用于将存储于数据存储区域200中的数据的关键词所对应的缺失信息进行存储的区域。如前所述,数据存储区域200可将数据划分为多个块而存储,且在此情况下,元数据区域202可按照划分的各数据块分别存储关键词缺失信息。即,如果参照元数据区域202,则可以轻易地识别出没有存储待检索的数据的数据块。在一个实施例中,元数据区域202可对各数据块分别应用布隆过滤器(Bloom Filter)而存储各数据块所对应的关键词缺失信息,然而本发明并不局限于用于存储关键词缺失信息的特定数据结构。
图3为表示根据本发明一个实施例的检索器104的详细构成的模块图。如图所示,根据本发明一个实施例的检索器104包括关键词检索单元300、元数据检索单元302、关键词信息登记及查询单元304。
关键词检索单元300从用户处接收关键词检索请求,并根据所述关键词检索请求而利用一个以上的关键词来执行针对数据库102的数据存储区域200的检索,并将检索结果返回给所述用户。
元数据检索单元302对数据库102的元数据区域202进行检索而判断所请求的关键词的检索对象区间内是否有缺失对应关键词的区间(关键词缺失区间)存在。如果对元数据区域202进行检索的结果发现检索对象区间当中存在对应的关键词缺失区间,则关键词检索单元300只对除了所述缺失区间之外的其余区间执行针对于对应关键词的检索。
关键词信息登记及查询单元304将包含关键词检索单元300中执行的检索结果的关键词信息登记于后述的关键词管理器106中。并且,关键词信息登记及查询单元304在接收到关键词检索请求时,向关键词管理器106询问所接收的检索对象关键词的信息,并接收相应的结果。与关键词信息的登记及询问(查询)相关的详细构成将在后面叙述。
图4为表示根据本发明一个实施例的关键词管理器104的详细构成的模块图。如图所示,根据本发明一个实施例的关键词管理器106包括关键词信息管理单元400以及元数据管理单元402。
关键词信息管理单元400存储从关键词信息登记及查询单元304接收的关键词信息。而且,关键词信息管理单元400在从关键词信息登记及查询单元304接收到对关键词信息的请求时,提供对应于有关请求的关键词信息。并且,元数据管理单元402将从关键词信息管理单元400接收的各关键词的缺失信息标记(Marking)于数据库102的元数据区域202。
在本发明的实施例中,关键词信息是指对于当前正在用于数据库102的关键词的一种历史信息。即,对于日志数据等而言,由于具有最新数据比以前的数据查询得更多、更频繁的特点,因此通过存储当前时间点经常被检索的关键词的信息而可以实现更为高效的检索。
在一个实施例中,关键词信息管理单元400为了管理关键词信息而可以利用包括关键词历史表、主过滤器、以及冲突关键词历史表的三个数据结构。
首先,关键词历史表为用于存储在预定期间内通过检索器104接收的关键词的数据结构。例如,可以将关键词历史表构成为存储最近七天内通过检索器104接收的关键词。在不同的实施例中,所述关键词历史表不仅可以包括最近检索的关键词,还可以一并包括过去的检索关键词。例如,关键词历史表可包括多个块,其中可以在第一个块中存储最近期间(例如最近七天)的检索关键词,在第二个块中存储其之前期间(8~14日)的检索关键词,而在第三个块中存储其之前期间(15~21日)的检索关键词。在此情况下,存储于第一个块中的关键词可以认为是当前频繁地被检索出的关键词。
主过滤器为用于将存储于所述关键词历史表中的关键词的哈希值进行存储的过滤器。所述主过滤器例如可以利用计数布隆过滤器(Counting BloomFilter)实现。如前所述,如果关键词历史表连过去检索过的关键词也一并包括,则主过滤器可以只存储其中的在最近期间内检索到的关键词。如果存储于所述主过滤器中的关键词在预定期间内未被使用,则可以将对应关键词从所述主过滤器删除。
冲突关键词历史表为用于存储从检索器104接收到的关键词当中与已存储于主过滤器的关键词发生冲突的关键词的数据结构。具体而言,关键词信息管理单元400在从检索器104接收到关键词时,首先判断是否可以将对应关键词存储于主过滤器,且在可以存储于主过滤器时将对应关键词存储于关键词历史表,而在不能存储时存储于冲突关键词历史表。
以下参照图5~图9而对利用所述关键词历史表、主过滤器、以及冲突关键词历史表的关键词的添加以及删除过程进行说明。
图5为用于说明在根据本发明一个实施例的关键词管理器106中添加新的关键词的过程500的顺序图。首先,如果从检索器104新收到之前没有使用的关键词(502),则关键词管理器106的关键词信息管理单元400将预先设定的个数的互不相同的哈希函数应用于所接收的关键词而计算出多个哈希值(504),并根据对应于计算出的各哈希值的主过滤器的各单元值而确定是否可以将接收的所述关键词添加到主过滤器(508)。
例如,假定通过检索器104新收到之前未曾存储于关键词信息管理单元400的新的关键词“abc”。关键词信息管理单元400对接收到的关键词“abc”应用多个互不相同的哈希函数而计算出多个哈希值。例如,假设对所述关键词应用互不相同的三个哈希函数而得的结果分别为3、6、100。则关键词信息管理单元400在分别读取已存储于主过滤器的第三个、第六个、第一百个单元(cell)中的值之后,根据各单元的值是否分别大于0而确定是否可以将接收的所述关键词添加到主过滤器。
具体而言,关键词信息管理单元400在对应于计算出的哈希值的主过滤器的单元值中至少有一个为0时,将对应于哈希值的主过滤器的单元值分别增加1而将对应关键词存储于主过滤器(510)。
图6和图7举例表示关键词信息管理单元400中的主过滤器更新过程。在图中,各四边形表示主过滤器的各单元,四边形内部的数字表示各单元的值,而下方的数字表示各单元的序列号。例如,如图6所示,如果主过滤器的第三个、第六个、第一百个单元的值分别为1、0、2,则关键词信息管理单元400将如图7所示地将对应于哈希值的各单元的值分别增加1。即,在此情况下,主过滤器的第三个、第六个、第一百个单元的值分别成为2、1、3。
而且,在如上所述地将新的关键词添加到主过滤器的情况下,关键词信息管理单元400将新添加的关键词储存于关键词历史表(512)。
与此相反,如果主过滤器的各单元(cell)当中对应于计算出的哈希值的单元的值均大于0,则关键词信息管理单元400将无法在主过滤器中添加对应关键词。之所以出现这种情况是因为这是一种即使在布隆过滤器或计数布隆过滤器中不添加对应关键词也会在询问对应关键词时返回得到肯定(True)的情形(即,对于对应关键词出现了正误(positive false))。因此在这种情况下,关键词信息管理单元400将对应关键词存储于冲突关键词历史表中(514)。
如果通过这种过程而将新的关键词存储于关键词历史表或冲突关键词历史表中的某一个中,则元数据管理单元402最终地将新储存的关键词的缺失信息标记于数据库102的元数据区域202中,从而更新元数据区域202(516)。
在本发明的实施例中之所以在主过滤器以外对专门的冲突关键词历史表进行管理有如下原因。如前所述,对于主过滤器而言,将计数布隆过滤器利用为数据结构,其存在即使实际上没有存储关键词也返回得到对于关键词询问的肯定(True)(即出现正误)的可能性。然而在本发明中计数布隆过滤器并非用于表示特定关键词的存在而是用于表示“缺失”,问题可能出现于此。即,由于作为计数布隆过滤器的特性的正误,实际上存在关键词的区间可能被误判为关键词缺失区间,而在此情况下,由于对被误判为缺失区间的区间根本不去执行关键词的检索,因此存在检索结果歪曲事实的可能性。因此在本发明中将与已存储的关键词发生冲突而不能添加的关键词另行储存于冲突关键词历史表,从而预先防止了正误的发生。
图8为用于说明根据本发明一个实施例的在关键词管理器106中删除关键词的过程800的顺序图。
关键词管理器106的关键词信息管理单元400将存储于关键词历史表的特定关键词中的、在已设定的期间内未被使用的关键词指定为删除对象关键词,并由所述删除对象关键词计算多个哈希值(802)。然后,关键词管理器106提取对应于计算出的哈希值的主过滤器的各单元值(804),并根据各单元值的大小判断是否可以删除对应关键词(806)。
只要提取的主过滤器的单元值当中有任何一个取值为0的单元,则是不能将对应关键词从主过滤器中删除的情形,因此关键词信息管理单元400将输出告知不能删除对应关键词的报错消息(808)。但如果与此相反而提取的主过滤器的单元值均大于0,则关键词信息管理单元400将对应于计算出的哈希值的主过滤器的单元值减少1,从而将所述删除对象关键词从关键词历史表中删除(810)。图9举例表示了通过这种过程而从如图7所示的主过滤器中删除关键词“abc”的状态。即,关键词信息管理单元400将对应于关键词“abc”的主过滤器的第三个、第六个、第一百个单元值从2、1、3减小为1、0、2。
另外,在此情况下,关键词信息管理单元400在从主过滤器中删除关键词时,将存储于冲突关键词历史表的关键词当中将由于删除所述关键词而不会再发生冲突的关键词从冲突关键词历史表中删除,并可以重新添加到主过滤器(812)。
图10为用于说明根据本发明一个实施例的关键词检索及元数据更新过程1000的顺序图。
首先,检索器104利用从用户处接收的检索对象关键词以及检索对象区间信息而向数据库102传送关键词检索询问(1002),而数据库102根据接收的关键词检索询问执行检索之后反馈检索结果(1004)。
然后,检索器104将基于接收的所述检索结果的关键词缺失信息传送给关键词管理器106(1006),而关键词管理器106根据接收的所述关键词缺失信息而将关键词缺失信息标记于数据库102的元数据区域202(1008)。
图11为用于说明利用根据本发明一个实施例的关键词缺失信息的关键词检索过程1100的顺序图。
首先,检索器104从用户处接收包含检索对象关键词以及检索对象区间的关键词检索请求,并向关键词管理器106询问包含于接收的所述检索请求中的检索对象关键词的信息(1102)。
接收到所述询问的关键词管理器106通过搜索判断接收的检索对象关键词是否储存于主过滤器与冲突关键词历史表中的某一个当中,并将所述搜索的结果传送给检索器104(1104)。
如果所述询问的结果得知对应检索对象关键词存储于主过滤器中,则检索器104便通过搜索数据库102的元数据区域202而检索出对应的关键词缺失区间,从而获取检索对象关键词缺失区间的信息(1106,1108),并在除了获取的缺失区间之外的其余区间执行对检索对象关键词的检索(1110,1112)。即,由于这一情形为对应关键词缺失的信息标记于数据库102的情形,因此利用元数据而只在除了缺失区间之外的其余区间执行检索。
然而,对于对应检索关键词没有存储于冲突关键词历史表中或者关键词管理器106中的情况而言,由于其属于因冲突而无法标记对应关键词或者之前没有检索历史的情形,因此检索器104将在整个检索对象区间执行针对检索对象关键词的检索。
另外,本发明的实施例中可以包括记录有用于在计算机上执行本说明书中记载的方法的程序的计算机可读记录介质。计算机可读记录介质既可以单独包括程序命令、本地数据文件、本地数据结构等,也可以包括它们的组合。介质可以是为了本发明而特别设计并构成的,也可以是计算机软件领域中具有普通知识的人员所公知而可以使用的。计算机可读记录介质之例中包括硬盘、软盘以及磁带之类的磁介质;CD-ROM(只读光盘)、DVD之类的光记录介质;软盘之类的磁光介质;以及ROM(只读存储器)、RAM(随机存储器)、闪存等为了存储并执行程序命令而特别构成的硬件装置。程序命令之例中不仅可以包括通过编译器制作的机器语言代码,而且还可以包括使用解释器等而通过计算机执行的高级语言代码。
以上通过代表性实施例对本发明进行了详细说明,然而不难理解只要是本发明所属技术领域中具有普通知识的人员即可在不脱离本发明范围的限度内对所述的实施例进行多种变形。
因此本发明的权利范围不能局限于所述的实施例而进行确定,而是要根据权利要求书及其等价内容来确定。
Claims (20)
1.一种信息检索系统,包括:
数据库,包含数据被区分为多个数据块而存储的数据存储区域、以及存储各数据块所对应的关键词缺失信息的元数据区域;
检索器,从用户处接收包含检索对象关键词以及检索对象区间的关键词检索请求,并利用所请求的关键词而检索存储于所述数据库中的数据;
关键词管理器,从所述检索器接收基于关键词检索结果的关键词缺失信息,并在所述数据库中记录所述关键词缺失信息。
2.如权利要求1所述的信息检索系统,其中,所述检索器从记录于所述数据库中的所述关键词缺失信息中判断出接收的检索对象区间中是否存在关键词缺失区间,且如果存在关键词缺失区间,则在检索对象区间当中除了所述关键词缺失区间之外的其余区间内利用检索对象关键词而对所述数据库进行检索。
3.如权利要求1所述的信息检索系统,其中,所述关键词管理器接收从所述检索器检索到的关键词的检索区间、以及对应检索区间内的关键词缺失信息,并将检索到的所述关键词缺失信息标记在对应于多个数据块当中缺失关键词的块的元数据区域。
4.如权利要求3所述的信息检索系统,其中,所述关键词管理器用于分别管理:
关键词历史表,存储在设定的期间内从所述检索器接收的关键词;
主过滤器,将存储于所述关键词历史表中的关键词的哈希值进行存储;
冲突关键词历史表,在从所述检索器接收的关键词中,将与已存储于所述主过滤器中的关键词发生冲突的关键词进行存储。
5.如权利要求4所述的信息检索系统,其中,所述主过滤器为计数布隆过滤器。
6.如权利要求5所述的信息检索系统,其中,所述关键词管理器通过从所述检索器接收的关键词计算设定的个数的互不相同的哈希值,且在所述主过滤器的各单元中对应于计算出的哈希值的单元的值均大于0时,将接收到的关键词存储于所述冲突关键词历史表。
7.如权利要求6所述的信息检索系统,其中,所述关键词管理器在对应于计算出的哈希值的所述主过滤器的单元值中至少有一个为0时,将对应于哈希值的所述主过滤器的单元值分别增加1,并将接收的关键词存储于所述关键词历史表。
8.如权利要求7所述的信息检索系统,其中,所述关键词管理器将存储于所述关键词历史表中的关键词缺失信息标记于所述元数据区域。
9.如权利要求5所述的信息检索系统,其中,所述关键词管理器在存储于所述关键词历史表中的特定关键词在已设定的期间内未被使用的情况下,将对应于所述特定关键词的哈希值的所述主过滤器的单元值减小1,并将所述特定关键词从所述关键词历史表中删除。
10.如权利要求9所述的信息检索系统,其中,所述关键词管理器在存储于所述关键词历史表中的关键词被删除时,将存储于所述冲突关键词历史表的关键词当中不会再与已存储于所述主过滤器的关键词发生冲突的关键词删除,并将从所述冲突关键词历史表中被删除的关键词登记于所述关键词历史表以及所述主过滤器。
11.如权利要求4所述的信息检索系统,其中,所述检索器利用所述主过滤器而判断是否标记检索对象关键词缺失信息,且在判断出检索对象关键词缺失信息已标记于所述数据库时,通过检索所述数据库的元数据区域而获取检索对象关键词缺失区间的信息。
12.一种信息检索方法,包括如下步骤:
在检索器中,从用户处接收包含检索对象关键词以及检索对象区间的关键词检索请求;
在所述检索器中,利用所请求的关键词而检索存储于数据库中的数据;
在关键词管理器中,将基于关键词检索结果的关键词缺失信息记录于所述数据库。
13.如权利要求12所述的信息检索方法,其中,在执行所述的检索数据的步骤之前,还包括如下步骤:
在所述检索器中,从记录于所述数据库的关键词缺失信息中判断接收的检索对象区间中是否存在关键词缺失区间,
而且,在所述的检索数据的步骤中,如果进行所述判断的结果为存在关键词缺失区间,则在所述检索对象区间当中除了关键词缺失区间之外的其余区间内利用所述检索对象关键词而对所述数据库进行检索。
14.如权利要求12所述的信息检索方法,其中,在所述的记录关键词缺失信息的步骤中,还包括如下步骤:
从所述检索器接收关键词检索区间以及检索结果;
判断接收的关键词是否与已存储于主过滤器中的关键词发生冲突;
根据所述判断的结果而将关键词存储于关键词历史表或冲突关键词历史表中。
15.如权利要求14所述的信息检索方法,其中,所述主过滤器为计数布隆过滤器。
16.如权利要求15所述的信息检索方法,其中,在所述的判断是否发生冲突的步骤中,通过从所述检索器接收到的关键词计算设定个数的互不相同的哈希值,并根据所述主过滤器的各单元中对应于计算出的哈希值的单元的值是否均为大于0的值而判断所述关键词是否与存储于所述主过滤器中的关键词发生冲突。
17.如权利要求16所述的信息检索方法,其中,在所述的存储关键词的步骤中,如果判断是否发生所述冲突的结果为对应于计算出的哈希值的所述主过滤器的单元值中至少有一个为0,便将对应于所述哈希值的所述主过滤器的单元值分别增加1,并将接收到的关键词存储于所述关键词历史表。
18.如权利要求16所述的信息检索方法,其中,在所述的储存关键词的步骤中,如果判断是否发生所述冲突的结果为对应于计算出的哈希值的所述主过滤器的单元值均大于0,便将接收到的关键词存储于所述冲突关键词历史表。
19.如权利要求17所述的信息检索方法,其中,在执行所述的记录关键词缺失信息的步骤之后,还包括如下步骤:
如果存储于所述关键词历史表中的特定关键词在已设定的期间内未被使用,便将对应于所述特定关键词的哈希值的所述主过滤器的单元值减小1,并将所述特定关键词从所述关键词历史表中删除。
20.如权利要求19所述的信息检索方法,其中,在将所述特定关键词从关键词历史表中删除的步骤中,将存储于所述冲突关键词历史表的关键词中不再与已存储于所述主过滤器中的关键词发生冲突的关键词予以删除,并将从所述冲突关键词历史表中删除的关键词登记于所述关键词历史表以及主过滤器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2013-0058950 | 2013-05-24 | ||
KR20130058950A KR101496179B1 (ko) | 2013-05-24 | 2013-05-24 | 데이터 부재 태깅 기반의 정보 검색 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104182435A true CN104182435A (zh) | 2014-12-03 |
CN104182435B CN104182435B (zh) | 2017-09-22 |
Family
ID=51933723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310681804.8A Expired - Fee Related CN104182435B (zh) | 2013-05-24 | 2013-12-12 | 基于数据缺失标记的信息检索系统及方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20140351273A1 (zh) |
KR (1) | KR101496179B1 (zh) |
CN (1) | CN104182435B (zh) |
WO (1) | WO2014189190A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108334520A (zh) * | 2017-01-19 | 2018-07-27 | 北京京东尚科信息技术有限公司 | 社交网络数据处理方法、装置、存储介质及电子设备 |
CN113608955A (zh) * | 2021-06-30 | 2021-11-05 | 北京新氧科技有限公司 | 一种日志记录方法、装置、设备及存储介质 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866502B (zh) * | 2014-02-25 | 2020-10-13 | 深圳市中兴微电子技术有限公司 | 数据匹配的方法及装置 |
US10693786B2 (en) * | 2015-11-26 | 2020-06-23 | International Business Machines Corporation | Efficient size reduction of a bloom filter |
US10235431B2 (en) * | 2016-01-29 | 2019-03-19 | Splunk Inc. | Optimizing index file sizes based on indexed data storage conditions |
US11113732B2 (en) * | 2016-09-26 | 2021-09-07 | Microsoft Technology Licensing, Llc | Controlling use of negative features in a matching operation |
KR102594022B1 (ko) * | 2016-11-24 | 2023-10-26 | 삼성전자주식회사 | 전자 장치 및 그의 채널맵 업데이트 방법 |
US10698898B2 (en) | 2017-01-24 | 2020-06-30 | Microsoft Technology Licensing, Llc | Front end bloom filters in distributed databases |
CN107273481A (zh) * | 2017-06-10 | 2017-10-20 | 苏州唯亚信息科技股份有限公司 | 适用于企业用户研发数据库的维护方法 |
CN110751565A (zh) * | 2019-09-18 | 2020-02-04 | 深圳市融壹买信息科技有限公司 | 数据计算方法及装置 |
KR20220164986A (ko) * | 2021-06-07 | 2022-12-14 | 주식회사 라인웍스 | 코호트 추출 방법, 이를 구현한 코호트 추출 장치 및 코호트 추출 프로그램 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1379350A (zh) * | 2001-04-05 | 2002-11-13 | 松下电器产业株式会社 | 分布式文件检索方法、装置、程序及记录该程序的记录介质 |
US20030088715A1 (en) * | 2001-10-19 | 2003-05-08 | Microsoft Corporation | System for keyword based searching over relational databases |
CN101826107A (zh) * | 2010-04-02 | 2010-09-08 | 华为技术有限公司 | 哈希数据处理方法和装置 |
CN103020300A (zh) * | 2012-12-28 | 2013-04-03 | 杭州华三通信技术有限公司 | 一种信息检索方法和设备 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1205383B (it) * | 1983-04-11 | 1989-03-15 | Rosso Ind Spa | Dispositivo rivoltacalze |
CA2326513C (en) * | 1998-03-27 | 2009-06-16 | Informix Software, Inc. | Processing precomputed views |
US7548908B2 (en) * | 2005-06-24 | 2009-06-16 | Yahoo! Inc. | Dynamic bloom filter for caching query results |
FR2895110B1 (fr) * | 2005-12-16 | 2017-12-29 | Thales Sa | Procede de classification non supervisee lineaire et stable sur l'ordre des objets |
KR20080062989A (ko) * | 2006-12-28 | 2008-07-03 | 신용호 | 웹사이트검색기를 이용한 실시간 웹사이트 검색 시스템 및그 방법 |
KR100972455B1 (ko) * | 2008-04-24 | 2010-07-26 | 주식회사 다음커뮤니케이션 | 검색 히스토리 서비스 방법 및 시스템 |
US9256686B2 (en) * | 2008-09-15 | 2016-02-09 | International Business Machines Corporation | Using a bloom filter in a web analytics application |
KR101042901B1 (ko) * | 2008-10-09 | 2011-06-21 | 엔에이치엔비즈니스플랫폼 주식회사 | 광고 구매 히스토리에 기초하여 검색 광고용 키워드 페어를생성하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 |
US20130297581A1 (en) * | 2009-12-01 | 2013-11-07 | Topsy Labs, Inc. | Systems and methods for customized filtering and analysis of social media content collected over social networks |
US8612423B2 (en) * | 2010-10-29 | 2013-12-17 | Microsoft Corporation | Search cache for document search |
KR101242323B1 (ko) * | 2010-11-17 | 2013-03-11 | 송유창 | 검색 히스토리 서버 및 이를 이용한 정보 제공 방법 |
US20130173853A1 (en) * | 2011-09-26 | 2013-07-04 | Nec Laboratories America, Inc. | Memory-efficient caching methods and systems |
KR20130050705A (ko) * | 2011-11-08 | 2013-05-16 | 삼성전자주식회사 | 키워드 검색 방법 및 장치 |
CN103793439B (zh) * | 2012-11-05 | 2019-01-15 | 腾讯科技(深圳)有限公司 | 一种实时检索信息获取方法、装置及服务器 |
-
2013
- 2013-05-24 KR KR20130058950A patent/KR101496179B1/ko not_active IP Right Cessation
- 2013-12-12 CN CN201310681804.8A patent/CN104182435B/zh not_active Expired - Fee Related
- 2013-12-12 WO PCT/KR2013/011541 patent/WO2014189190A1/ko active Application Filing
- 2013-12-27 US US14/141,788 patent/US20140351273A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1379350A (zh) * | 2001-04-05 | 2002-11-13 | 松下电器产业株式会社 | 分布式文件检索方法、装置、程序及记录该程序的记录介质 |
US20030088715A1 (en) * | 2001-10-19 | 2003-05-08 | Microsoft Corporation | System for keyword based searching over relational databases |
CN101826107A (zh) * | 2010-04-02 | 2010-09-08 | 华为技术有限公司 | 哈希数据处理方法和装置 |
CN103020300A (zh) * | 2012-12-28 | 2013-04-03 | 杭州华三通信技术有限公司 | 一种信息检索方法和设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108334520A (zh) * | 2017-01-19 | 2018-07-27 | 北京京东尚科信息技术有限公司 | 社交网络数据处理方法、装置、存储介质及电子设备 |
CN113608955A (zh) * | 2021-06-30 | 2021-11-05 | 北京新氧科技有限公司 | 一种日志记录方法、装置、设备及存储介质 |
CN113608955B (zh) * | 2021-06-30 | 2024-01-26 | 北京新氧科技有限公司 | 一种日志记录方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104182435B (zh) | 2017-09-22 |
KR20140137842A (ko) | 2014-12-03 |
WO2014189190A1 (ko) | 2014-11-27 |
US20140351273A1 (en) | 2014-11-27 |
KR101496179B1 (ko) | 2015-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104182435A (zh) | 基于数据缺失标记的信息检索系统及方法 | |
CN104794123B (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
CN107025243B (zh) | 一种资源数据的查询方法、查询客户端和查询系统 | |
CN111459985B (zh) | 标识信息处理方法及装置 | |
CN111460023A (zh) | 基于Elasticsearch的业务数据处理方法、装置、设备及存储介质 | |
CN105608188A (zh) | 数据处理方法和数据处理装置 | |
US11449509B2 (en) | Workflow driven database partitioning | |
CN101236569B (zh) | 一种基于ContextFS上下文文件系统的高效动态路径解析方法 | |
WO2018095299A1 (zh) | 一种时序数据管理方法、设备和装置 | |
WO2016066109A1 (zh) | 数据存储方法和存储设备 | |
CN103782295A (zh) | 分布式数据管理系统中的查询说明计划 | |
CN105630934A (zh) | 一种数据统计方法及系统 | |
CN107577787A (zh) | 关联数据信息入库的方法及系统 | |
CN112947860A (zh) | 一种分布式数据副本的分级存储与调度方法 | |
CN104598652B (zh) | 一种数据库查询方法及装置 | |
CN101963993B (zh) | 一种数据库单表记录快速查找的方法 | |
CN102724301B (zh) | 云数据库系统以及云数据读写处理方法、设备 | |
CN107515807A (zh) | 一种存储监控数据的方法及装置 | |
US20110093688A1 (en) | Configuration management apparatus, configuration management program, and configuration management method | |
CN106549983B (zh) | 一种数据库的访问方法及终端、服务器 | |
WO2023083237A1 (zh) | 图数据的管理 | |
US8255474B2 (en) | Pruning method | |
CN116010359A (zh) | 一种基于日志进行数据存储和查询的方法及系统 | |
CN116049306A (zh) | 数据同步方法、装置、电子设备以及可读存储介质 | |
CN104933066A (zh) | 一种数据处理的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170922 Termination date: 20191212 |