CN105279213A - 一种日志数据库检索装置及检索方法 - Google Patents

一种日志数据库检索装置及检索方法 Download PDF

Info

Publication number
CN105279213A
CN105279213A CN201510113006.4A CN201510113006A CN105279213A CN 105279213 A CN105279213 A CN 105279213A CN 201510113006 A CN201510113006 A CN 201510113006A CN 105279213 A CN105279213 A CN 105279213A
Authority
CN
China
Prior art keywords
index
internal memory
daily record
text
record data
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.)
Pending
Application number
CN201510113006.4A
Other languages
English (en)
Inventor
孙宝寅
张磊
高金明
唐楚荣
高峰
张建军
苏砫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Ultrapower Information Safety Technology Co Ltd
China Mobile Group Guangdong Co Ltd
Original Assignee
Beijing Ultrapower Information Safety Technology Co Ltd
China Mobile Group Guangdong Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Ultrapower Information Safety Technology Co Ltd, China Mobile Group Guangdong Co Ltd filed Critical Beijing Ultrapower Information Safety Technology Co Ltd
Priority to CN201510113006.4A priority Critical patent/CN105279213A/zh
Publication of CN105279213A publication Critical patent/CN105279213A/zh
Pending legal-status Critical Current

Links

Abstract

本发明实施例提供了一种日志数据库检索装置及检索方法,其中装置包括:索引创建模块,用于获取新的日志数据,将新的日志数据进行格式转化后建立全文索引,将全文索引以文件形式存储在磁盘中;检索模块,用于接收查询请求,根据查询请求及内存中的索引进行查询,并返回查询结果;索引管理模块,用于判断检索模块接收到的查询请求所涉及的索引是否已在内存中,如果不在内存中,则从磁盘加载查询请求所涉及的索引到内存。本发明将索引以文件的形式保存在磁盘中,需要时再加载到内存,可提高检索效率。同时不是维护一个索引文件,而是使索引分块化,实现索引递增式的扩展,避免因索引更新而导致的大量IO操作,提高了查询效率。

Description

一种日志数据库检索装置及检索方法
技术领域
本发明涉及数据库技术领域,尤其涉及一种日志数据库检索装置及检索方法。
背景技术
企业级的数据库中通常都存储有成千上万的数据。以审计系统为例,其数据库中存储上亿条甚至几十亿条供审计用的日志是非常普遍的情况。当这类日志数据库存储了海量数据时,在海量数据中能否实现方便快捷的检索对于审计等工作至关重要。
现有技术中,为日志数据库建立的索引保存在系统的内存中,当用户调用索引时,会从内存找到该日志在数据库中的唯一标识,然后到数据库中进行检索,这种方式会大大增加数据库的运算负荷,降低检索的效率;而且当索引更新时,会对内存中的索引进行大量的IO操作以更新建立在内存中的索引,这也会使得检索效率降低。
发明内容
本发明提供一种日志数据库检索装置及检索方法,以提高日志数据库的检索效率。
根据本发明实施例的第一方面,提供一种日志数据库检索装置,所述装置包括:
索引创建模块,包括:
数据采集组件,用于获取新的日志数据;
数据格式转化组件,用于将所述新的日志数据进行格式转化后建立全文索引;
索引文件写入组件,用于将所述全文索引以文件形式存储在磁盘中;
检索模块,包括:
查询请求收集组件,用于接收查询请求;
查询组件,用于根据所述查询请求及内存中的索引进行查询,并返回查询结果;
索引管理模块,包括:
索引判断组件,用于判断检索模块接收到的查询请求所涉及的索引是否已在内存中,如果不在内存中,则触发索引加载组件;
索引加载组件,用于从磁盘加载查询请求所涉及的索引到内存。
可选的,所述数据格式转化组件包括:
文本转换子组件,用于将所述新的日志数据转换为文本;
分词及映射子组件,用于对所述文本进行全文分词,在分词后得到的关键词与所属日志数据之间建立映射关系;
索引生成子组件,用于对关键词进行排序,形成由关键词指向日志数据的全文索引。
可选的,所述映射关系包括:
关键词、出现该关键词的日志数据编号;或者,
关键词、出现该关键词的日志数据编号,以及该关键词的出现次数、出现频率、出现位置中的一种或多种。
可选的,所述索引加载组件包括:
内存判断子组件,用于判断内存中的索引数量是否超出配置的最大值;
索引切换子组件,用于当所述内存判断子组件判断出内存中的索引数量超出配置的最大值时,将最近最少使用的索引移出内存,并将查询请求所涉及的索引加载到内存中;当所述内存判断子组件判断出内存中的索引数量未超出配置的最大值时,则直接将查询请求所涉及的索引加载到内存中。
可选的,所述装置还包括:
日志采集模块,用于从数据源实时接收新的日志数据,并将所述新的日志数据发送给所述索引创建模块中的数据采集组件。
可选的,所述索引文件写入组件,具体用于:
按照自然日对索引进行划分,将每个自然日得到的索引以一个或多个文件的形式存储在磁盘中。
根据本发明实施例的第二方面,提供一种日志数据库检索方法,磁盘中存储有日志数据的全文索引,所述全文索引是根据获取的新的日志数据,将所述新的日志数据进行格式转化后建立的,并以文件形式存储;所述方法包括:
接收查询请求;
判断所述查询请求所涉及的索引是否已在内存中,如果不在内存中,则从所述磁盘加载所述查询请求所涉及的索引到内存;
根据所述查询请求及内存中的索引进行查询,并返回查询结果。
可选的,所述索引通过如下步骤建立后存储到所述磁盘中:
将所述日志数据转换为文本;
对所述文本进行全文分词,在分词后得到的关键词与所属日志数据之间建立映射关系;
对关键词进行排序,形成由关键词指向日志数据的全文索引。
可选的,从所述磁盘加载所述查询请求所涉及的索引到内存,包括:
判断内存中的索引数量是否超出配置的最大值;
当内存中的索引数量超出配置的最大值时,将最近最少使用的索引移出内存,并将查询请求所涉及的索引加载到内存中;当内存中的索引数量未超出配置的最大值时,则直接将查询请求所涉及的索引加载到内存中。
可选的,所述全文索引按照自然日进行划分,每个自然日得到的全文索引以一个或多个文件的形式存储在所述磁盘中。
本发明的实施例提供的技术方案可以包括以下有益效果:
在现有技术中,为日志数据库建立的索引保存在系统的内存,并未进行文件化存储,当用户调用索引时,会从内存找到该日志在数据库中的唯一标识,然后到数据库中进行检索,这种方式减少了对磁盘空间的消耗,但是会大大增加了数据库的负荷,检索效率也较低。而本发明则反其道行之,将索引以文件的形式保存在磁盘中,当查询用到时再加载到内存,从而可以提高检索效率。而且,本发明也不是维护一个索引文件,不会因为数据源有一点变动就重建索引,而是针对旧日志数据通常不会被修改的特点采取增量的索引方式,即为新的日志数据不断创建新的索引文件,使索引分块化,实现索引递增式的扩展,这就可以避免因索引更新而导致的大量IO操作,提高了索引的效率,进而也提高了日志数据的检索效率。
此外,针对现有技术中使用模糊查询语句(如like"%keyword%")进行查询时,数据库索引通常不起作用,导致查询过程非常缓慢的问题,本发明采用了全文索引的方式,将日志数据转换为文本,对文本进行全文分词,形成由关键词指向日志数据的反向索引表,实现全文的倒排索引,这样就可以把模糊查询变成多个可以利用索引的精确查询的逻辑组合,克服了现有技术中模糊查询时效率非常低的问题,大大提高了查询效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的检索系统示意图;
图2是根据一示例性实施例示出的一种日志数据库检索装置的结构示意图;
图3是根据一示例性实施例示出的一种日志数据库检索方法的流程图;
图4是根据一示例性实施例示出的另一种日志数据库检索方法的流程图;
图5是根据一示例性实施例示出的索引的构成示意图;
图6是根据一示例性实施例示出的又一种日志数据库检索方法的流程图;
图7是根据一示例性实施例示出的实时(即被动)创建索引的序列图;
图8是根据一示例性实施例示出的主动创建索引的序列图;
图9是根据一示例性实施例示出的索引查询处理的序列图;
图10是根据一示例性实施例示出的索引管理服务的功能示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
索引可以视作检索技术的核心之一,围绕索引,本发明提供的全文索引(以下简称索引)服务可以划分为索引创建、索引管理、索引检索三个模块,其系统示意图可参见图1所示。在图1中,网页服务器WebServer是索引查询请求的提交方,WebServer根据用户提交的查询请求,组合查询条件,发送给索引服务所在的服务器;索引服务所在的服务器从日志数据源获取日志,生成为索引文件并存储起来,当收到查询请求后,利用索引查询出数据,然后返回给WebServer。
图2是根据一示例性实施例示出的一种日志数据库检索装置的结构示意图,本发明实施例提供的装置提供索引文件的创建与管理,并提供查询索引数据的查询服务。具体地,所述装置包括:
索引创建模块201,包括:
数据采集组件2011,用于获取新的日志数据;
数据格式转化组件2012,用于将所述新的日志数据进行格式转化后建立全文索引;
索引文件写入组件2013,用于将所述全文索引以文件形式存储在磁盘中;
检索模块202,包括:
查询请求收集组件2021,用于接收查询请求;
查询组件2022,用于根据所述查询请求及内存中的索引进行查询,并返回查询结果;
索引管理模块203,包括:
索引判断组件2031,用于判断检索模块接收到的查询请求所涉及的索引是否已在内存中,如果不在内存中,则触发索引加载组件;
索引加载组件2032,用于从磁盘加载查询请求所涉及的索引到内存。
在本实施例或本发明其他某些实施例中,所述数据格式转化组件可以包括:
文本转换子组件,用于将所述新的日志数据转换为文本;
分词及映射子组件,用于对所述文本进行全文分词,在分词后得到的关键词与所属日志数据之间建立映射关系;
索引生成子组件,用于对关键词进行排序,形成由关键词指向日志数据的全文索引。
在本实施例或本发明其他某些实施例中,所述映射关系包括:
关键词、出现该关键词的日志数据编号;或者,
关键词、出现该关键词的日志数据编号,以及该关键词的出现次数、出现频率、出现位置中的一种或多种。
在本实施例或本发明其他某些实施例中,所述索引加载组件包括:
内存判断子组件,用于判断内存中的索引数量是否超出配置的最大值;
索引切换子组件,用于当所述内存判断子组件判断出内存中的索引数量超出配置的最大值时,将最近最少使用的索引移出内存,并将查询请求所涉及的索引加载到内存中;当所述内存判断子组件判断出内存中的索引数量未超出配置的最大值时,则直接将查询请求所涉及的索引加载到内存中。
在本实施例或本发明其他某些实施例中,所述装置还可以包括:
日志采集模块,用于从数据源实时接收新的日志数据,并将所述新的日志数据发送给所述索引创建模块中的数据采集组件。
在本实施例或本发明其他某些实施例中,所述索引文件写入组件,具体用于:
按照自然日对索引进行划分,将每个自然日得到的索引以一个或多个文件的形式存储在磁盘中。
关于上述实施例中的装置,其中各个模块执行操作的具体方式可参见下面方法实施例中的详细描述,此处将不做详细阐述说明。
图3是根据一示例性实施例示出的一种日志数据库检索方法的流程图。所述方法的执行主体为上述日志数据库检索装置。其中,磁盘中存储有日志数据的全文索引,所述全文索引是根据获取的新的日志数据,将所述新的日志数据进行格式转化后建立的,并以文件形式存储。
所述方法包括:
S301,接收查询请求;
S302,判断所述查询请求所涉及的索引是否已在内存中,如果不在内存中,则从所述磁盘加载所述查询请求所涉及的索引到内存;
S303,根据所述查询请求及内存中的索引进行查询,并返回查询结果。
在本实施例中,新的日志数据的索引被创建后都将会以文件形式存储在设备的磁盘中。在现有技术中,为日志数据库建立的索引通常保存在系统的内存,并未进行文件化存储,当用户调用索引时,会从内存找到该日志在数据库中的唯一标识,然后到数据库中进行检索,这种关系型数据的检索方式大大增加了数据库的负荷,检索效率也相对较低。
而本发明则反其道行之,将索引以文件的形式保存在磁盘中形成文件数据库,当查询用到时再加载到内存,检索日志时,便可从磁盘中的文件数据库中直接读取出完整的日志,不再进行关系型数据的检索,从而可以提高检索效率。而且,本发明也不是维护一个索引文件,不会因为数据源有一点变动就重建索引,而是针对旧日志数据通常不会被修改的特点采取增量的索引(Append)方式,即为新的日志数据不断创建新的索引文件,使索引分块化,实现索引递增式的扩展,这就可以避免因索引更新而导致的大量IO操作,提高了索引的效率,进而提高了日志数据的检索效率。
在本实施例或本发明其他某些实施例中,参见图4所示,所述索引通过如下步骤建立后存储到所述磁盘中:
S401,将所述日志数据转换为文本。当然如果日志本身就已经是文本则不需转换,而pdf、xml、html等格式的数据需要进行转换。
S402,对所述文本进行全文分词,在分词后得到的关键词与所属日志数据之间建立映射关系。
S403,对关键词进行排序,形成由关键词指向日志数据的全文索引。
建立一个高效检索系统的关键是建立一个类似于科技索引一样的反向索引机制。具体实施时,可以将输入的数据转换为文本格式的文档。然后将文档分词,可以采用分词器将输入的文档分隔成一个一个的单词,将英文按照空格和标点符号进行分割,将中文按照单个字进行分词,去掉标点符号,去掉停词(停词是在语言环境中经常出现但对索引无意义的一些词汇,例如英文中的:this、the、a、an等,中文中的一个、这个等)。经过分词后的词成为词元(即关键词),为了索引不区分大小写,将词元全部转换为小写。将词元与词元所属的文档建立关联关系,或者说是映射关系,然后将词元排序,合并相同的词元,并且修正与文档关联链表,形成反向索引表,该反向索引表即由关键词指向日志数据的全文索引。
其中,所述映射关系可以包括:
关键词、出现该关键词的日志数据编号;或者,
关键词、出现该关键词的日志数据编号,以及该关键词的出现次数、出现频率、出现位置中的一种或多种。
换句话说,映射关系中至少要包括关键词和出现该关键词的日志数据编号,此外还可以包括出现次数,甚至可以包括出现位置(起始偏移量,结束偏移量)、出现频率等。
在现有技术中,使用模糊查询语句(如like"%keyword%")进行查询时,数据库索引通常不起作用,导致查询过程非常缓慢的问题。而本发明采用了全文索引的方式,将日志数据转换为文本,对文本进行全文分词,形成由关键词指向日志数据的反向索引表,实现全文的倒排索引,这样就可以把模糊查询变成多个可以利用索引的精确查询的逻辑组合,克服了现有技术中模糊查询时效率非常低的问题,大大提高了查询效率。并且由于在创建全文索引时,在索引中加入了完整的日志数据信息,以文件形式存储在磁盘中,从而实现用户在调用全文检索功能,检索日志时,便可直接从磁盘中的文件数据库中直接读取出包含完整日志数据的索引加载到内存中,并从内存中进行查询,不再进行关系型数据的检索。
在本实施例或本发明其他某些实施例中,所述索引按照自然日进行划分,每个自然日得到的索引以一个或多个文件的形式存储在所述磁盘中。
举例来讲,按照自然日划分索引文件,一个自然日一个索引,一个索引由多个文件组成,一个自然日内的日志数据存放在当日的索引文件中,索引名称可以按照日期来定义,索引的名称为“index”字符串和自然日的日期缩写构成,格式如“index2013010100”,表示是2013年1月1日0点的索引。每个索引在物理存储上是文件系统的一个文件夹,在索引文件夹内存放索引数据的文件。
索引是文档的集合,文档类似于关系数据库表中的一条记录,文档中分为若干域,域类似于关系数据库表的一个字段,索引的每个域包含该域的数据,也有该域的数据索引,作为示例可参见图5所示,图5中Document为文档,Field为域,Index为域的索引,Data为域的数据。域的索引是为索引的检索使用的,索引检索服务根据域的索引搜索到域,然后读取出该域的数据和该域所在文档的中的其他域的数据。
在本实施例或本发明其他某些实施例中,参见图6所示,从所述磁盘加载所述查询请求所涉及的索引到内存,包括:
S601,判断内存中的索引数量是否超出配置的最大值;
S602,当内存中的索引数量超出配置的最大值时,将最近最少使用的索引移出内存,并将查询请求所涉及的索引加载到内存中;当内存中的索引数量未超出配置的最大值时,则直接将查询请求所涉及的索引加载到内存中。
下面结合具体序列图对以上索引创建、索引管理、索引检索三个模块作进一步说明。
i)索引创建模块
索引创建模块负责将日志数据转化为索引数据的格式,按照索引要求的文件格式存储到索引文件中。索引创建模块由数据采集组件、数据格式转化组件、索引文件写入组件等构成。索引创建模块支持两种方式创建索引,一种是实时创建,此时还包括日志采集模块,日志采集模块从日志数据库实时获取日志数据并发送给数据采集组件,日志数据格式采用key-value键值对的数组格式;另一种是数据采集组件定期读取日志数据库中的日志来创建索引文件。实时创建是一种被动的方式,通过被动接收日志数据然后创建索引;从数据库读取日志数据则是一种主动的方式,由索引创建模块主动读取数据库中日志数据创建索引文件。
图7是根据一示例性实施例示出的实时(即被动)创建索引的序列图。说明如下:
数据采集组件收到日志采集模块实时发送来的日志数据后,将日志数据存入数据缓存队列;
数据格式转化组件从数据缓存队列中获取数据进行格式转化。将日志数据的格式转化为索引文件所需的文本格式。数据格式转化组件将不间断的从数据缓存中获取数据,直到缓存中没有数据为止;
数据格式转化组件将格式转化后,调用索引文件写入组件将索引文件写入磁盘。如果是第一次启动实时创建索引服务,记录第一次接收到的日志数据的入库时间。入库时间的记录按照分表来保存,每个分表记录一个开始创建索引时最早的日志入库时间。
图8是根据一示例性实施例示出的主动创建索引的序列图。说明如下:
1)数据采集组件从日志数据库中查询数据。
例如,查询时可以按照日志发生时间(STARTTIME)去顺序查询,每次查询5分钟之内的日志数据;
如果是第一次启动索引创建服务,查询的开始时间点是索引创建配置中配置的时间点,配置时间点时精确到小时;
如果是重新启动后,查询的时间点是索引文件写入时记录的时间点;
每次查询数据时需要限定日志发生时间(STARTTIME)和日志的入库时间(INSERTTIME)。入库时间是第一次进行实时创建索引时,针对每个分表记录的日志数据的入库时间。每次查询数据范围是按照日志发生时间限定的5分钟之内并且入库时间是第一次实时创建索引记录的入库时间以前的数据;
查询数据是一个循环执行的过程,直到连续3个小时没有查询到数据。此时将停止整个主动采集方式创建索引的服务。
2)数据采集组件将查询返回的数据写入数据缓存队列中。
3)数据格式转化组件从数据缓存队列中取出日志数据进行格式转换,将日志数据转换为全文索引需要的格式。
4)将格式转换后的数据写入索引文件中。
将数据写入索引文件的同时记录写入索引文件中日志的最大日志发生时间。由于日志数据进行了分表,针对每个分表记录日志的最大发生时间。此时记录的日志发生时间,可作为在索引创建服务重新启动后,数据采集组件的起始点。
数据格式转换和写入索引文件也是一个循环执行的过程,一直到缓存队列中没有可用数据将暂停一段时间,待有数据时继续循环的执行。
ii)检索模块
图9是根据一示例性实施例示出的检索模块进行查询处理的序列图,在本实施例的检索模块中还包括查询解析组件和数据后处理组件。说明如下:
首先WebServer中某个查询任务向检索模块发起查询请求。
检索模块中的查询请求收集组件接受WebServer的查询请求,查询请求中包括查询条件、要求返回的数量等。
查询解析组件进行查询解析,即对查询条件以及返回数据的要求解析后生成查询的逻辑表达式。
查询组件利用逻辑表达式及内存中的索引进行查询,查询到数据后还可将查询到的数据发送给数据后处理组件进行数据后处理,如过滤、排序等处理。
数据后处理组件处理完成后,将查询结果返回给WebServer中的查询任务。
iii)索引管理模块
参见图10所示,索引管理模块可具备以下功能:
加载索引到内存。根据查询请求中涉及到索引,如果要查询的索引不在内存中的时候,将索引从磁盘加载到内存中。
控制加载到内存中的索引的数量。根据索引在内存中的最大值配置,监控内存中索引的数量,当内存中索引数量超出最大值后,发出超限请求。
索引切换。收到索引超限请求后,将把最近最少使用的索引移出内存,将请求的索引加载到内存中。
性能指标记录。记录索引创建的速率和索引查询的耗时情况。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (10)

1.一种日志数据库检索装置,其特征在于,所述装置包括:
索引创建模块,包括:
数据采集组件,用于获取新的日志数据;
数据格式转化组件,用于将所述新的日志数据进行格式转化后建立全文索引;
索引文件写入组件,用于将所述全文索引以文件形式存储在磁盘中;
检索模块,包括:
查询请求收集组件,用于接收查询请求;
查询组件,用于根据所述查询请求及内存中的索引进行查询,并返回查询结果;
索引管理模块,包括:
索引判断组件,用于判断检索模块接收到的查询请求所涉及的索引是否已在内存中,如果不在内存中,则触发索引加载组件;
索引加载组件,用于从磁盘加载查询请求所涉及的索引到内存。
2.根据权利要求1所述的装置,其特征在于,所述数据格式转化组件包括:
文本转换子组件,用于将所述新的日志数据转换为文本;
分词及映射子组件,用于对所述文本进行全文分词,在分词后得到的关键词与所属日志数据之间建立映射关系;
索引生成子组件,用于对关键词进行排序,形成由关键词指向日志数据的全文索引。
3.根据权利要求2所述的装置,其特征在于,所述映射关系包括:
关键词、出现该关键词的日志数据编号;或者,
关键词、出现该关键词的日志数据编号,以及该关键词的出现次数、出现频率、出现位置中的一种或多种。
4.根据权利要求1所述的装置,其特征在于,所述索引加载组件包括:
内存判断子组件,用于判断内存中的索引数量是否超出配置的最大值;
索引切换子组件,用于当所述内存判断子组件判断出内存中的索引数量超出配置的最大值时,将最近最少使用的索引移出内存,并将查询请求所涉及的索引加载到内存中;当所述内存判断子组件判断出内存中的索引数量未超出配置的最大值时,则直接将查询请求所涉及的索引加载到内存中。
5.根据权利要求1所述的装置,其特征在于,所述装置还包括:
日志采集模块,用于从数据源实时接收新的日志数据,并将所述新的日志数据发送给所述索引创建模块中的数据采集组件。
6.根据权利要求1所述的装置,其特征在于,所述索引文件写入组件,具体用于:
按照自然日对索引进行划分,将每个自然日得到的索引以一个或多个文件的形式存储在磁盘中。
7.一种日志数据库检索方法,其特征在于,磁盘中存储有日志数据的全文索引,所述全文索引是根据获取的新的日志数据,将所述新的日志数据进行格式转化后建立的,并以文件形式存储;所述方法包括:
接收查询请求;
判断所述查询请求所涉及的索引是否已在内存中,如果不在内存中,则从所述磁盘加载所述查询请求所涉及的索引到内存;
根据所述查询请求及内存中的索引进行查询,并返回查询结果。
8.根据权利要求7所述的方法,其特征在于,所述索引通过如下步骤建立后存储到所述磁盘中:
将所述日志数据转换为文本;
对所述文本进行全文分词,在分词后得到的关键词与所属日志数据之间建立映射关系;
对关键词进行排序,形成由关键词指向日志数据的全文索引。
9.根据权利要求7所述的方法,其特征在于,从所述磁盘加载所述查询请求所涉及的索引到内存,包括:
判断内存中的索引数量是否超出配置的最大值;
当内存中的索引数量超出配置的最大值时,将最近最少使用的索引移出内存,并将查询请求所涉及的索引加载到内存中;当内存中的索引数量未超出配置的最大值时,则直接将查询请求所涉及的索引加载到内存中。
10.根据权利要求7所述的方法,其特征在于,所述全文索引按照自然日进行划分,每个自然日得到的全文索引以一个或多个文件的形式存储在所述磁盘中。
CN201510113006.4A 2015-03-13 2015-03-13 一种日志数据库检索装置及检索方法 Pending CN105279213A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510113006.4A CN105279213A (zh) 2015-03-13 2015-03-13 一种日志数据库检索装置及检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510113006.4A CN105279213A (zh) 2015-03-13 2015-03-13 一种日志数据库检索装置及检索方法

Publications (1)

Publication Number Publication Date
CN105279213A true CN105279213A (zh) 2016-01-27

Family

ID=55148232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510113006.4A Pending CN105279213A (zh) 2015-03-13 2015-03-13 一种日志数据库检索装置及检索方法

Country Status (1)

Country Link
CN (1) CN105279213A (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294723A (zh) * 2016-08-10 2017-01-04 成都广达新网科技股份有限公司 一种应用在嵌入式设备的系统日志快速查看方法及系统
CN106339446A (zh) * 2016-08-23 2017-01-18 浪潮(北京)电子信息产业有限公司 一种分散键值的索引建立方法及系统
CN106649584A (zh) * 2016-11-18 2017-05-10 北京奇虎科技有限公司 一种主从式数据库系统中的索引处理方法和装置
CN107463618A (zh) * 2017-07-04 2017-12-12 北京奇艺世纪科技有限公司 一种索引创建方法和装置
WO2018209574A1 (zh) * 2017-05-16 2018-11-22 深圳中兴力维技术有限公司 一种告警数据查询方法及装置
CN109213444A (zh) * 2018-08-17 2019-01-15 上海小蚁科技有限公司 文件存储方法及装置、存储介质、终端
CN109726219A (zh) * 2018-11-27 2019-05-07 中科恒运股份有限公司 数据查询的方法及终端设备
CN110490451A (zh) * 2019-08-15 2019-11-22 中国平安财产保险股份有限公司 基于hadoop的任务数据管控方法、装置以及计算机设备
CN110502603A (zh) * 2019-08-23 2019-11-26 南京信易达计算技术有限公司 一种基于web的固体物理性质计算系统及方法
CN110955632A (zh) * 2019-11-18 2020-04-03 珠海豹趣科技有限公司 一种文件索引生成方法及装置
CN111930702A (zh) * 2020-08-14 2020-11-13 工银科技有限公司 日志处理方法、装置、系统及介质
CN113032349A (zh) * 2019-12-25 2021-06-25 阿里巴巴集团控股有限公司 数据存储方法、装置、电子设备及计算机可读介质
CN113127421A (zh) * 2021-04-01 2021-07-16 山东英信计算机技术有限公司 一种存储系统检索文件内容的方法和设备
CN113268636A (zh) * 2021-06-22 2021-08-17 成都科来网络技术有限公司 一种基于时序数据的快速检索方法及装置
CN113326141A (zh) * 2021-07-19 2021-08-31 广东卓启云链科技有限公司 一种区块链节点的内存管理方法和装置
CN113342742A (zh) * 2021-05-24 2021-09-03 浪潮软件股份有限公司 基于全文检索数据库的日志检索方法及系统
CN114579771A (zh) * 2022-02-24 2022-06-03 珠海海奇半导体有限公司 一种媒体文件播放方法及播放系统、控制装置、存储介质
CN115328878A (zh) * 2022-10-17 2022-11-11 成都卫士通信息产业股份有限公司 日志数据存储系统、方法、设备及介质
CN117591521A (zh) * 2024-01-19 2024-02-23 北京安华金和科技有限公司 一种索引文件处理方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184222A (zh) * 2011-05-05 2011-09-14 杭州安恒信息技术有限公司 一种在大数据量存储中快速检索的方法
CN103218416A (zh) * 2013-03-27 2013-07-24 华为技术有限公司 一种数据库加载方法、装置及系统
WO2013182054A1 (zh) * 2012-06-06 2013-12-12 腾讯科技(深圳)有限公司 内存检索、实时检索系统和方法、计算机存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184222A (zh) * 2011-05-05 2011-09-14 杭州安恒信息技术有限公司 一种在大数据量存储中快速检索的方法
WO2013182054A1 (zh) * 2012-06-06 2013-12-12 腾讯科技(深圳)有限公司 内存检索、实时检索系统和方法、计算机存储介质
CN103218416A (zh) * 2013-03-27 2013-07-24 华为技术有限公司 一种数据库加载方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王荣德: "海量分布式日志检索技术的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294723A (zh) * 2016-08-10 2017-01-04 成都广达新网科技股份有限公司 一种应用在嵌入式设备的系统日志快速查看方法及系统
CN106339446A (zh) * 2016-08-23 2017-01-18 浪潮(北京)电子信息产业有限公司 一种分散键值的索引建立方法及系统
CN106649584B (zh) * 2016-11-18 2020-04-24 北京奇虎科技有限公司 一种主从式数据库系统中的索引处理方法和装置
CN106649584A (zh) * 2016-11-18 2017-05-10 北京奇虎科技有限公司 一种主从式数据库系统中的索引处理方法和装置
WO2018209574A1 (zh) * 2017-05-16 2018-11-22 深圳中兴力维技术有限公司 一种告警数据查询方法及装置
CN107463618A (zh) * 2017-07-04 2017-12-12 北京奇艺世纪科技有限公司 一种索引创建方法和装置
CN109213444A (zh) * 2018-08-17 2019-01-15 上海小蚁科技有限公司 文件存储方法及装置、存储介质、终端
CN109726219A (zh) * 2018-11-27 2019-05-07 中科恒运股份有限公司 数据查询的方法及终端设备
CN110490451A (zh) * 2019-08-15 2019-11-22 中国平安财产保险股份有限公司 基于hadoop的任务数据管控方法、装置以及计算机设备
CN110502603A (zh) * 2019-08-23 2019-11-26 南京信易达计算技术有限公司 一种基于web的固体物理性质计算系统及方法
CN110955632A (zh) * 2019-11-18 2020-04-03 珠海豹趣科技有限公司 一种文件索引生成方法及装置
CN113032349A (zh) * 2019-12-25 2021-06-25 阿里巴巴集团控股有限公司 数据存储方法、装置、电子设备及计算机可读介质
CN111930702A (zh) * 2020-08-14 2020-11-13 工银科技有限公司 日志处理方法、装置、系统及介质
CN113127421A (zh) * 2021-04-01 2021-07-16 山东英信计算机技术有限公司 一种存储系统检索文件内容的方法和设备
CN113342742A (zh) * 2021-05-24 2021-09-03 浪潮软件股份有限公司 基于全文检索数据库的日志检索方法及系统
CN113268636A (zh) * 2021-06-22 2021-08-17 成都科来网络技术有限公司 一种基于时序数据的快速检索方法及装置
CN113326141A (zh) * 2021-07-19 2021-08-31 广东卓启云链科技有限公司 一种区块链节点的内存管理方法和装置
CN114579771A (zh) * 2022-02-24 2022-06-03 珠海海奇半导体有限公司 一种媒体文件播放方法及播放系统、控制装置、存储介质
CN115328878A (zh) * 2022-10-17 2022-11-11 成都卫士通信息产业股份有限公司 日志数据存储系统、方法、设备及介质
CN117591521A (zh) * 2024-01-19 2024-02-23 北京安华金和科技有限公司 一种索引文件处理方法和系统

Similar Documents

Publication Publication Date Title
CN105279213A (zh) 一种日志数据库检索装置及检索方法
CN107247808B (zh) 一种分布式NewSQL数据库系统及图片数据查询方法
US7788253B2 (en) Global anchor text processing
US8452788B2 (en) Information retrieval system, registration apparatus for indexes for information retrieval, information retrieval method and program
CN110309233B (zh) 数据存储的方法、装置、服务器和存储介质
CN102955792A (zh) 一种实时全文搜索引擎事务处理的实现方法
KR101740271B1 (ko) 온라인 상에서 실시간으로 업데이트되는 대규모 오디오 핑거프린트 데이터베이스의 구축 방법 및 장치
EP2336901B1 (en) Online access to database snapshots
CN102725752A (zh) 处理脏数据的方法及装置
CN109284273B (zh) 一种采用后缀数组索引的海量小文件查询方法及系统
CN110109910A (zh) 数据处理方法及系统、电子设备和计算机可读存储介质
CN103218365A (zh) 一种SSTable文件数据处理方法及其系统
US20110289112A1 (en) Database system, database management method, database structure, and storage medium
US20090063458A1 (en) method and system for minimizing sorting
CN103186622A (zh) 一种全文检索系统中索引信息的更新方法以及装置
CN101136027A (zh) 用于数据库索引、搜索和数据检索的系统和方法
WO2005041059A1 (en) Sorting result buffer
CN101408882B (zh) 一种授权文档的检索方法和系统
CN101963993B (zh) 一种数据库单表记录快速查找的方法
CN112131214A (zh) 数据写入、数据查询的方法、系统、设备和存储介质
AU2018345147B2 (en) Database processing device, group map file production method, and recording medium
KR101666440B1 (ko) 환형큐 기반의 인-메모리 데이터베이스 시스템에서의 데이터 처리방법
CN111984659B (zh) 数据更新方法、装置、计算机设备和存储介质
CN102768672A (zh) 一种磁盘空间管理方法和装置
CN109213760B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160127