掌桥专利:专业的专利平台
掌桥专利
首页

日志检索方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 19:37:02


日志检索方法、装置、电子设备及存储介质

技术领域

本申请涉及数据处理技术领域,尤其是涉及一种日志检索方法、装置、电子设备及存储介质。

背景技术

在各个系统运行时,都会产生名为日志的事件记录,日志主要是记录了系统运行时的运行状态和操作内容。当系统出现漏洞或系统发生意外状况时,常利用日志进行故障排查,或系统数据出现人为操作时,利用日志进行人员操作分析。

然而,针对因监控网络系统而产生的日志,一个日志文件中常常记录了海量的文本信息,在对日志文件某些文本信息进行分析时,需要读取整篇日志文件,存在读取日志时间过长,过于浪费系统资源的问题。

发明内容

本申请提供一种日志检索方法、装置、电子设备及存储介质,以解决目前在日志中检索某一文本信息时,需要系统读取整篇日志文件,再通过人工一点点检索该文本信息,过于浪费系统资源和时间的问题,达到通过输入搜索关键字,就可以快速检索出目标文本信息的效果。

第一方面,本申请提供一种日志检索方法,方法包括:

获取搜索关键字;

根据所述搜索关键字,确定检索库中所有匹配所述搜索关键字的检索关键字;

根据所述检索关键字,获取对应的检索条件;

针对每一个检索条件,获取所述检索条件中的记录简介;

根据所有记录简介,生成记录简介列表,并将所述简介列表显示;

获取指定记录简介;所述指定记录简介为根据所述简介列表选定的记录简介;

根据所述指定记录简介,确定目标检索条件;

根据所述目标检索条件,确定相应的记录位于日志文件的具体位置;

根据所述具体位置,获取目标记录,并将所述目标记录显示。

通过本方案,利用对用户输入搜索关键字匹配系统生成的检索关键字的方式,返回记录列表,降低用户的筛选难度,用户再由记录列表确定需要的目标日志记录,最后通过检索条件中的该日志记录的具体位置精准读取目标日志,避免了需要读取全篇日志文件,提高了检索目标记录的效率。

可选的,监控目标日志文件,获取所述目标日志文件的新增记录;

根据所述新增记录,确定所述新增记录对应的检索条件和检索关键字;

将所述检索条件和检索关键字对应存储至检索库内。

通过本方案,利用设置监控单元获取每次写入日志文件的新增记录,可以对每一条新增信息进行相应的操作,对应得出每一条新增信息的检索关键字和检索条件,并对应存储至检索库中,为对日志文件中每条记录的精准读取提供读取条件,一定程度提高了检索日志的效率。

可选的,所述监控目标日志文件,获取所述目标日志文件的新增记录,包括:

获取所述目标日志文件存储位置,监控所述目标日志文件大小;

当所述目标日志文件发生新增,记录所述目标日志文件的新增前大小数据、新增大小数据;

根据所述新增大小数据,倒序读取变化后的目标日志文件,获取新增记录;

所述根据所述新增记录,确定所述新增记录对应的检索条件和检索关键字,包括:

将所述新增记录中关键字组合生成记录简介;

根据所述新增前大小数据、所述新增大小数据、所述记录简介,生成检索条件;

根据所述记录简介,提取出不同类型的检索关键字。

通过本方案,利用目标日志文件的每次新增的大小来倒叙读取日志文件,确保每次能可以快速的获取最新的新增记录内容,而后通过将新增记录内容生成不同类型的关键字,并将关键字生成记录简介,达到了将新增记录的核心内容进行概括目的,以使用户能根据记录简介来判断是否需要该条新增记录,再将监控单元记录的新增前的大小数据和本次新增的大小数据、记录简介生成检索条件与根据记录简介生成检索关键字,都为后续检索该条新增记录提高了效率,减少检索目标记录的时间。

可选的,所述检索关键字的类型,包括:生成时间、操作者、被操作者、操作状态;所述搜索关键字,包括:搜索框内输入字符、筛选时间、筛选状态;

所述根据所述搜索关键字,确定检索库中所有匹配所述搜索关键字的检索关键字,包括:

根据所述搜索关键字,将所述搜索框内输入字符与操作者类型、被操作者类型的检索关键字进行匹配,确认字符相同的检索关键字;将所述筛选时间与生成时间类型的检索关键字进行匹配,确认时间符合的检索关键字;将所述筛选状态与操作状态类型的检索关键字进行匹配,确认描述状态的字符相同的检索关键字;

所述根据所述检索关键字,获取对应的检索条件,包括:

将所述检索关键字根据类型进行分类;

根据不同类型的检索关键字,分别获取对应的检索条件;

将不同类型的检索关键字对应的检索条件进行对比,将在所有类型的检索关键字对应的检索条件中都重复出现的检索条件挑出,作为所述检索关键字对应的检索条件。

通过本方案,将搜索关键字和检索关键进行分类细化,并根据每一类分别进行搜索匹配,使用户输入的关键字都能高效的进行搜索,最后再将没类对应的检索条件进行对比筛选,将同时符合搜索关键字的检索条件选出,提高了目标日志记录的检索准确度。

可选的,将所述目标记录、所述目标记录对应的检索条件关联存储至缓存中;

所述根据所述目标检索条件,确定相应的记录位于日志文件的具体位置,包括:

根据所述目标检索条件,在缓存中确认是否含有所述目标检索条件,若含有,则确认所述目标记录在缓存中的具体位置;

若不含有,则根据所述目标检索条件,确定相应的记录位于日志文件的具体位置。

通过本方案,将用户搜索过得目标记录存储到缓存中,以使这些目标记录被二次或多次搜索时,可以通过缓存获取到,使得某些目标记录再被高频搜索时,减少搜索时间,也减轻磁盘的读取压力,进一步优化了日志的检索效率。

可选的,所述将所述目标记录、所述目标记录对应的检索条件关联存储至缓存中,包括:

判断缓存中的存储目标记录的个数是否超出预设存储个数;

若是,则删除缓存中被查询次数最少的记录以及所述记录对应的检索条件,再将所述目标记录、所述目标记录对应的检索条件关联存储至缓存中;

若否,则将所述目标记录、所述目标记录对应的检索条件关联存储至缓存中。

通过本方案,利用设置缓存的预设存储个数,保护内存空间的正常使用,在通过将缓存中被查询次数少的目标记录进行替换的方式,保证缓存中存储的目标记录都为高频搜索的记录,一定程度上提高了目标日志记录的搜索效率。

可选的,设定缓存更新时间;

到达设定缓存更新时间时,查询缓存中各记录被查询次数;

将所述被查询次数小于预设次数的记录全部删除。

通过本方案,可以设定缓存更新时间来定时删除一个周期内被查询次数低的目标记录,以使缓存中的目标记录都为最近一个周期内被查询次数多的目标记录。

第二方面,本申请提供一种日志检索装置,包括:

第一获取模块,用于获取搜索关键字;

匹配模块,用于根据所述搜索关键字,确定检索库中所有匹配所述搜索关键字的检索关键字;

检索模块,用于根据所述检索关键字,获取对应的检索条件;针对每一个检索条件,获取所述检索条件中的记录简介;根据所有记录简介,生成记录简介列表,并调用显示模块将所述简介列表显示;

第二获取模块,用于获取指定记录简介;所述指定记录简介为根据所述简介列表选定的记录简介;

读取模块,用于根据所述指定记录简介,确定目标检索条件;根据所述目标检索条件,确定相应的记录位于日志文件的具体位置;根据所述具体位置,获取目标记录,并调用显示模块将所述目标记录显示。

可选的,日志检索装置还包括:监控模块;

监控模块,用于监控目标日志文件,获取所述目标日志文件的新增记录;

根据所述新增记录,确定所述新增记录对应的检索条件和检索关键字;

将所述检索条件和检索关键字对应存储至检索库内。

可选的,监控模块监控目标日志文件,获取所述目标日志文件的新增记录时,具体用于:获取所述目标日志文件存储位置,监控所述目标日志文件大小;

当所述目标日志文件发生新增,记录所述目标日志文件的新增前大小数据、新增大小数据;

根据所述新增大小数据,倒序读取变化后的目标日志文件,获取新增记录;

监控模块根据所述新增记录,确定所述新增记录对应的检索条件和检索关键字时,具体用于:

将所述新增记录中关键字组合生成记录简介;

根据所述新增前大小数据、所述新增大小数据、所述记录简介,生成检索条件;

根据所述记录简介,提取出不同类型的检索关键字。

可选的,所述检索关键字的类型,包括:生成时间、操作者、被操作者、操作状态;所述搜索关键字,包括:搜索框内输入字符、筛选时间、筛选状态;

匹配模块根据所述搜索关键字,确定检索库中所有匹配所述搜索关键字的检索关键字时,具体用于:根据所述搜索关键字,将所述搜索框内输入字符与操作者类型、被操作者类型的检索关键字进行匹配,确认字符相同的检索关键字;将所述筛选时间与生成时间类型的检索关键字进行匹配,确认时间符合的检索关键字;将所述筛选状态与操作状态类型的检索关键字进行匹配,确认描述状态的字符相同的检索关键字;

检索模块根据所述检索关键字,获取对应的检索条件时,具体用于:

将所述检索关键字根据类型进行分类;

根据不同类型的检索关键字,分别获取对应的检索条件;

将不同类型的检索关键字对应的检索条件进行对比,将在所有类型的检索关键字对应的检索条件中都重复出现的检索条件挑出,作为所述检索关键字对应的检索条件。

可选的,日志检索装置还包括:缓存模块;

缓存模块,用于将所述目标记录、所述目标记录对应的检索条件关联存储至缓存中;

读取模块根据所述目标检索条件,确定相应的记录位于日志文件的具体位置时,具体用于:

根据所述目标检索条件,在缓存中确认是否含有所述目标检索条件,若含有,则确认所述目标记录在缓存中的具体位置;

若不含有,则根据所述目标检索条件,确定相应的记录位于日志文件的具体位置。

可选的,缓存模块将所述目标记录、所述目标记录对应的检索条件关联存储至缓存中时,具体用于:

判断缓存中的存储目标记录的个数是否超出预设存储个数;

若是,则删除缓存中被查询次数最少的记录以及所述记录对应的检索条件,再将所述目标记录、所述目标记录对应的检索条件关联存储至缓存中;

若否,则将所述目标记录、所述目标记录对应的检索条件关联存储至缓存中。

可选的,日志检索装置还包括:更新模块;

更新模块,用于设定缓存更新时间;

到达设定缓存更新时间时,查询缓存中各记录被查询次数;

将所述被查询次数小于预设次数的记录全部删除。

第三方面,本申请提供一种电子设备,包括:存储器和处理器,所述存储器上存储有能够被处理器加载并执行第一方面的方法的计算机程序。

第四方面,本申请提供一种计算机可读存储介质,存储有能够被处理器加载并执行第一方面的方法的计算机程序。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一实施例提供的一种应用场景示意图;

图2为本申请一实施例提供的一种日志检索方法的流程图;

图3为本申请一实施例提供的一种日志检索装置的结构示意图;

图4为本申请一实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。

下面结合说明书附图对本申请实施例作进一步详细描述。

随着互联网的发展,每个网络系统负责的业务也越来越多,在各个业务的请求出现异常时,常采用检索日志文件的方式,查看该业务请求的处理记录,进而分析出异常原因。但网络系统每天的业务请求数量非常庞大,所以日志文件常常记录了海量的文本信息,当前技术中,在检索某一条日志信息时,需要遍历全部的日志文件,存在着读取日志文件时间长,检索效率非常低的问题。

基于此,本申请提供一种日志检索方法、装置、电子设备及存储介质,根据用户输入的搜索关键字,对日志文件进行精准读取,避免了对日志文件进行全文遍历,和人工检索的步骤。以期提高日志检索效率和用户体验。

图1为本申请提供的一种应用场景示意图。如图1所示,用户通过设备向服务器发出搜索关键字,由服务器根据搜索关键字进行搜索,返回符合搜索关键字的记录简介列表给用户设备,用户选择任意一个记录简介后,服务器根据用户选定的记录简介返回目标记录给用户设备。具体的实现方式可以参考以下实施例。

图2为本申请一实施例提供的一种日志检索方法的流程图,本实施例的方法可以应用于以上场景中的服务器。如图2所示的,该方法包括:

S201、获取搜索关键字,并根据搜索关键字,确定检索库中所有匹配搜索关键字的检索关键字。

其中,搜索关键字,指的是用户输入的能够最大程度概括需要检索的日志记录的信息内容。检索关键字,指的是根据日志文件中每条记录的主要内容生成的信息内容。

检索库,具体为数据库,存储了日志文件每一条记录的检索关键字。匹配,在这里包括精准匹配、模糊匹配、范围匹配。

具体的,用户在检索页面进行搜索关键字的输入后,将搜索关键字在检索库中进行查询,将符合搜索关键字的匹配条件的检索关键字全部查出。例如,用户输入的搜索的关键字为日期2023/01/29,则符合搜索关键字的检索关键字为2023/01/29-00:00:00到2023/01/29-23:59:59内所有的检索关键字。或,用户输入的搜索的关键字为异常,则所有为异常的检索关键字都被查出。

S202、根据检索关键字,获取对应的检索条件,并针对每一个检索条件,获取检索条件中的记录简介。

其中,检索条件与检索关键字以对应的关系存入检索库中,每个检索关键字都有一个检索条件相对应,检索条件具体为JSON格式,包含了目标记录具体在日志文件的存储位置和目标记录的记录简介。记录简介,为根据记录内容中的关键字信息组合而得的,表明了该记录的主要内容。

具体的,检索关键字和检索条件在检索库中存储为一条信息,上述查出的所有检索关键字都能对应得到一个检索条件,得到检索条件后,通过解析JSON格式获取到检索条件中的记录简介。例如,上述查出的检索关键字为异常,检索关键字和检索条件所在信息为“ID:1、检索关键字:异常、检索条件:{‘存储位置’:‘0kb’,‘记录大小’:‘2kb’,‘记录简介’:‘2023/01/29-00:00:00 System cms 异常’}”,可得检索条件具体为“检索条件:{‘存储位置’:‘0kb’,‘记录大小’:‘2kb’,‘记录简介’:‘2023/01/29-00:00:00 System cms 异常’}”,再通过解析JSON格式可得记录简介为‘2023/01/29-00:00:00 System cms 异常’。

S203、根据所有记录简介,生成记录简介列表,并将简介列表显示。

具体的,将上述从检索库中查出的所有检索关键字对应的检索条件进行遍历,查询出所有相对应的记录简介,并将上述所有记录简介以列表的形式显示给用户页面,用户页面根据简介数量进行分页。其中记录简介以列表的形式显示给用户页面时,列表中包括每个记录简介对应的信息ID,通过页面处理,只选择记录简介进行显示。例如,检索列表为【“‘2023/01/29-00:00:00 System cms 异常’,‘1’”,“‘2023/01/29-00:00:01 System cms异常’,‘2’”,“‘2023/01/29-00:00:02 System cms 异常’,‘3’”】,‘1’、‘2’、‘3’为上述包含检索关键字和检索条件的信息中的ID,且每个信息有唯一的ID,当列表返回给用户页面时,隐藏每个信息ID,只显示简介列表。

S204、获取指定记录简介,根据指定记录简介,确定目标检索条件。

其中,指定记录简介为用户根据简介列表选定的记录简介,目标检索条件为指定记录简介相对应的检索条件。

具体的,上述将所有记录简介以列表的形式显示给用户页面后,用户从各个记录简介中选择一个记录简介,页面将选定的记录简介对应的信息ID返回给服务器,而后通过该信息ID,从检索库中精准查找到该条信息,进而找到相对应的检索条件。

S205、根据目标检索条件,确定相应的记录位于日志文件的具体位置,并根据具体位置,获取目标记录,并将目标记录显示

其中,具体位置为上述信息中的‘存储位置’,代表目标记录存储在日志文件的字节位置。

具体的,通过解析上述目标检索条件的JSON数据,获取其中‘存储位置’的信息和‘记录大小’的信息,而后在读取日志文件时,从‘存储位置’处读取‘记录大小’所示大小的信息,读取出的信息即为目标记录的信息,最后将该目标记录发送至用户页面进行显示。例如,目标检索条件为“检索条件:{‘存储位置’:‘1kb’,‘记录大小’:‘2kb’,‘记录简介’:‘2023/01/29-00:00:00 System datebase 异常’}”,则读取到‘存储位置’为1kb,‘记录大小’为2kb,则对日志文件读取时,从1kb处共读取2kb的记录信息,该记录信息即为目标记录信息。

通过本方案,利用对用户输入搜索关键字匹配系统生成的检索关键字的方式,返回记录列表,降低用户的筛选难度,用户再由记录列表确定需要的目标日志记录,最后通过检索条件中的该日志记录的具体位置精准读取目标日志,避免了需要读取全篇日志文件,提高了检索目标记录的效率。

在一些实施例中,监控目标日志文件,获取所述目标日志文件的新增记录,根据所述新增记录,确定所述新增记录对应的检索条件和检索关键字,将所述检索条件和检索关键字对应存储至检索库内。

具体的,在日志存储服务器中设置一监控单元,监控单元为触发式监控单元,当监控的日志文件发生新增时,监控单元被触发并对日志文件进行读取,读取内容具体为日志文件的新增记录。

而后对新增记录进行分析,确定新增记录对应的检索关键字和检索条件的内容信息,

将检索关键字和检索条件以上述信息的格式对应存储至检索库中。

通过本方案,利用设置监控单元获取每次写入日志文件的新增记录,可以对每一条新增信息进行相应的操作,对应得出每一条新增信息的检索关键字和检索条件,并对应存储至检索库中,为对日志文件中每条记录的精准读取提供读取条件,一定程度提高了检索日志的效率。

在一些实施例中,监控目标日志文件,获取目标日志文件的新增记录,包括:获取目标日志文件存储位置,监控目标日志文件大小,当目标日志文件发生新增,记录目标日志文件的新增前大小数据、新增大小数据,根据新增大小数据,倒序读取变化后的目标日志文件,获取新增记录,根据新增记录,确定所述新增记录对应的检索条件和检索关键字,包括:将新增记录中关键字组合生成记录简介,根据新增前大小数据、新增大小数据、记录简介,生成检索条件,根据记录简介,提取出不同类型的检索关键字。

具体的,给监控单元设置好监控的文件路径和目标日志文件的文件名,监控单元开始正常监控后,日常监控当目标日志文件的大小发生新增时,监控单元被触发,此时监控单元记录目标日志文件新增前的大小数据和本次新增的大小数据,而后倒着读取目标日志文件,共读取本次新增的大小,此时可以完整的到本次的新增记录信息。

而后利用分词器将该新增记录信息进行过滤和分词,将新增记录内容全文转化为一系列的单词或词组,而后针对每个单词、词组根据时间类、状态描述类、名词类、其他类进行分类,得到不同类型的关键字,或者利用正则表达式对新增记录进行过滤和分词,得到不同类型的关键字,再将得到关键字以特定顺序进行组合得到记录简介。其中状态描述类的为输入的特定单词进行匹配,相同则分为状态描述类,特定单词一般意为成功、异常、失败等词汇。

最后,将监控单元记录的新增前的大小数据和本次新增的大小数据、记录简介组合生成JSON格式的数据信息,该数据信息即为检索条件,再根据记录简介进行截取生成不同类型的检索关键字,而后将每一个检索关键字都与该检索条件对应储存到检索库中。

例如,被监控的日志文件为1kb的文件,当日志文件变为2kb时,触发监控单元,监控单元记录新增前的大小数据为1kb,本次新增的大小数据为1kb,倒叙读取该日志文件2kb的内容,得到“System. Exception:Datebase Connection is not available,requesttimed out 2023/01/29-00:00:00”,而后利用分词器进行过滤、分类得到时间类 ‘2023/01/29-00:00:00’、名词类‘System’、‘Datebase’,状态描述类为‘Exception’,并组合得到“2023/01/29-00:00:00 System Datebase Exception”的记录简介,而后生成的检索条件为“检索条件:{‘存储位置’:‘1kb’,‘记录大小’:‘1kb’,‘记录简介’:‘ 2023/01/29-00:00:00 System Datebase Exception’}”,再根据记录简介生成‘2023/01/29-00:00:00’、‘System’、‘Datebase’、 ‘Exception’检索关键字,并分别将四个检索关键字与检索条件存储到检索库汇总。

通过本方案,利用目标日志文件的每次新增的大小来倒叙读取日志文件,确保每次能可以快速的获取最新的新增记录内容,而后通过将新增记录内容生成不同类型的关键字,并将关键字生成记录简介,达到了将新增记录的核心内容进行概括目的,以使用户能根据记录简介来判断是否需要该条新增记录,再将监控单元记录的新增前的大小数据和本次新增的大小数据、记录简介生成检索条件与根据记录简介生成检索关键字,都为后续检索该条新增记录提高了效率,减少检索目标记录的时间。

在一些实施例中,检索关键字的类型,包括:生成时间、操作者、被操作者、操作状态,搜索关键字,包括:搜索框内输入字符、筛选时间、筛选状态,根据搜索关键字,确定检索库中所有匹配搜索关键字的检索关键字,包括:根据搜索关键字,将搜索框内输入字符与操作者类型、被操作者类型的检索关键字进行匹配,确认字符相同的检索关键字,将筛选时间与生成时间类型的检索关键字进行匹配,确认时间相同的检索关键字,将筛选状态与操作状态类型的检索关键字进行匹配,确认描述状态的字符相同的检索关键字,根据检索关键字,获取对应的检索条件,包括:将检索关键字根据类型进行分类,根据不同类型的检索关键字,分别获取对应的检索条件,将不同类型的检索关键字对应的检索条件进行对比,将在所有类型的检索关键字对应的检索条件中都重复出现的检索条件挑出,作为所述检索关键字对应的检索条件。

其中,操作者可以为用户、某个系统,被操作者可以是某个系统、某些数据,筛选时间和筛选状态为勾选式输入,筛选时间可以为时间段或具体时间点,筛选状态为意为成功、失败、异常等词汇。

搜索输入框中有提示信息,用于提示用户输入的字符为需要查询日志中的操作者或被操作者,且当用户在搜索框内输入的格式不符合预设输入信息时,会进行提示输入错误并让用户重新输入。

具体的,当用户在搜索页面进搜索关键字输入时,用户可以选择在搜索输入框中输入操作者或被操作者信息,或勾选日志记录的发生时间、日志记录的状态,三者可以同时输入,也可以只输入其中任意几者。

而后根据用户输入的搜索关键字进行分别检索,将搜索输入框的搜索关键字在操作者、被操作者检索关键字类别中进行检索,将勾选日志记录的发生时间的搜索关键字在生成时间检索关键字类别中进行检索,将勾选日志记录的状态的搜索关键字在操作状态检索关键字类别中进行检索,得出三类检索结果。

当将搜索输入框的搜索关键字在操作者、被操作者检索关键字类别中进行检索时,采用字符比对的精准查询,即搜索关键字与检索关键字完全相同时,才为匹配成功。

当将勾选日志记录的发生时间的搜索关键字在生成时间检索关键字类别中进行检索时,采用范围检索的方式,若勾选的发生时间为一时间段,则将所有生成时间在该时间段内的检索关键字都匹配成功,若勾选的发生时间为一具体时间点,则采用精准查询,时间点完全相同的才匹配成功。

当将勾选日志记录的状态的搜索关键字在操作状态检索关键字类别中进行检索时,用字符比对的精准查询,搜索关键字与检索关键字完全相同,才为匹配成功。

上述三类得出检索关键字可能为多个,将三类的检索关键字都对应获取检索条件,可得三组的检索条件,将得出的三组检索条件进行两两对比,将再三组都出现的检索条件选出,则为本次检索关键字对应的检索条件。

需要说明的是,若搜索关键字中,输入的搜索关键字只含有其中一种或两种,则没有输入的类型以全选做搜索。

通过本方案,将搜索关键字和检索关键进行分类细化,并根据每一类分别进行搜索匹配,使用户输入的关键字都能高效的进行搜索,最后再将没类对应的检索条件进行对比筛选,将同时符合搜索关键字的检索条件选出,提高了目标日志记录的检索准确度。

在一些实施例中,将目标记录、目标记录对应的检索条件关联存储至缓存中,根据目标检索条件,确定相应的记录位于日志文件的具体位置,包括:根据目标检索条件,在缓存中确认是否含有目标检索条件,若含有,则确认所述目标记录在缓存中的具体位置,若不含有,则根据目标检索条件,确定相应的记录位于日志文件的具体位置。

其中,缓存为内存中的临时存储器,具体搜索为在内存中进行,速度比磁盘读取更快。

具体的,上述服务器将目标记录返回显示给用户后,将本条目标记录和目标记录对应的检索条件以一一对应关系存储至缓存中。

在上述用户指定记录简介后,获取指定记录简介对应的检索条件时,将检索条件在缓存中进行搜索,若该检索条件在缓存中含有,则在缓存中获取检索条件对应的目标记录,如果检索条件在缓存中没有,则根据检索条件中含有的‘存储位置’读取日志文件获取对应的目标记录。

通过本方案,将用户搜索过得目标记录存储到缓存中,以使这些目标记录被二次或多次搜索时,可以通过缓存获取到,使得某些目标记录再被高频搜索时,减少搜索时间,也减轻磁盘的读取压力,进一步优化了日志的检索效率。

进一步的,将目标记录、目标记录对应的检索条件关联存储至缓存中,包括:判断缓存中的存储目标记录的个数是否超出预设存储个数,若是,则删除缓存中被查询次数最少的记录以及所述记录对应的检索条件,再将目标记录、目标记录对应的检索条件关联存储至缓存中,若否,则将目标记录、目标记录对应的检索条件关联存储至缓存中。

其中,预设存储个数是对缓存提前设置的可以存储记录的数量。

需要说明的,上述将在缓存中获取检索条件对应的目标记录时,则对该目标记录进行数字标记,每获取一次数字标记则加1,初次标记时为1,缓存中没有被获取过的目标记录没有数字标记。

具体的,每次将目标记录和对应的检索条件存储至缓存中前,对缓存的存储记录个量进行判断,当前缓存中的存储记录个量是否达到预设存储个数,如果达到了,则查询每个目标记录的数字标记,选取其中没有数字标记的目标记录进行随机删除,若不含有没有数字标记的目标记录,则选取数字标记最小的目标记录进行删除。如果没有达到,则将目标记录和对应的检索条件存储至缓存中。

通过本方案,利用设置缓存的预设存储个数,保护内存空间的正常使用,在通过将缓存中被查询次数少的目标记录进行替换的方式,保证缓存中存储的目标记录都为高频搜索的记录,一定程度上提高了目标日志记录的搜索效率。

在一些实施例中,设定缓存更新时间,到达设定缓存更新时间时,查询缓存中各记录被查询次数,将所述被查询次数小于预设次数的记录全部删除。

其中,预设次数为提前设置的目标记录被查询的次数,设定缓存更新时间为提前设置的缓存定时清理目标记录的时间。

具体的,到达设定缓存更新时间时,查询所有目标记录的数字标记,若数字标记小于等于预设次数,则该数字标记对应的目标记录进行删除。

例如预设次数为2次,设定缓存更新时间为一个月,则每到一个月时,查询所有目标记录的数字标记,若数字标记小于等于2,则将该目标记录删除

通过本方案,可以设定缓存更新时间来定时删除一个周期内被查询次数低的目标记录,以使缓存中的目标记录都为最近一个周期内被查询次数多的目标记录。

图3为本申请一实施例提供的一种日志检索装置的结构示意图,如图3所示的,日志检索装置300,包括:

第一获取模块301,用于获取搜索关键字。

匹配模块302,用于根据所述搜索关键字,确定检索库中所有匹配所述搜索关键字的检索关键字。

检索模块303,用于根据所述检索关键字,获取对应的检索条件;针对每一个检索条件,获取所述检索条件中的记录简介;根据所有记录简介,生成记录简介列表,并调用显示模块将所述简介列表显示。

第二获取模块304,用于获取指定记录简介;所述指定记录简介为根据所述简介列表选定的记录简介。

读取模块305,用于根据所述指定记录简介,确定目标检索条件;根据所述目标检索条件,确定相应的记录位于日志文件的具体位置;根据所述具体位置,获取目标记录,并调用显示模块将所述目标记录显示。

在一些实施例中,日志检索装置300还包括:监控模块306;

监控模块306,用于监控目标日志文件,获取所述目标日志文件的新增记录;

根据所述新增记录,确定所述新增记录对应的检索条件和检索关键字;

将所述检索条件和检索关键字对应存储至检索库内。

在一些实施例中,监控模块306监控目标日志文件,获取所述目标日志文件的新增记录时,具体用于:获取所述目标日志文件存储位置,监控所述目标日志文件大小;

当所述目标日志文件发生新增,记录所述目标日志文件的新增前大小数据、新增大小数据;

根据所述新增大小数据,倒序读取变化后的目标日志文件,获取新增记录;

监控模块306根据所述新增记录,确定所述新增记录对应的检索条件和检索关键字时,具体用于:

将所述新增记录中关键字组合生成记录简介;

根据所述新增前大小数据、所述新增大小数据、所述记录简介,生成检索条件;

根据所述记录简介,提取出不同类型的检索关键字。

在一些实施例中,所述检索关键字的类型,包括:生成时间、操作者、被操作者、操作状态;所述搜索关键字,包括:搜索框内输入字符、筛选时间、筛选状态;

匹配模块302根据所述搜索关键字,确定检索库中所有匹配所述搜索关键字的检索关键字时,具体用于:根据所述搜索关键字,将所述搜索框内输入字符与操作者类型、被操作者类型的检索关键字进行匹配,确认字符相同的检索关键字;将所述筛选时间与生成时间类型的检索关键字进行匹配,确认时间符合的检索关键字;将所述筛选状态与操作状态类型的检索关键字进行匹配,确认描述状态的字符相同的检索关键字;

检索模块303根据所述检索关键字,获取对应的检索条件时,具体用于:

将所述检索关键字根据类型进行分类;

根据不同类型的检索关键字,分别获取对应的检索条件;

将不同类型的检索关键字对应的检索条件进行对比,将在所有类型的检索关键字对应的检索条件中都重复出现的检索条件挑出,作为所述检索关键字对应的检索条件。

在一些实施例中,日志检索装置300还包括:缓存模块307;

缓存模块307,用于将所述目标记录、所述目标记录对应的检索条件关联存储至缓存中;

读取模块305根据所述目标检索条件,确定相应的记录位于日志文件的具体位置时,具体用于:

根据所述目标检索条件,在缓存中确认是否含有所述目标检索条件,若含有,则确认所述目标记录在缓存中的具体位置;

若不含有,则根据所述目标检索条件,确定相应的记录位于日志文件的具体位置。

在一些实施例中,缓存模块307将所述目标记录、所述目标记录对应的检索条件关联存储至缓存中时,具体用于:

判断缓存中的存储目标记录的个数是否超出预设存储个数;

若是,则删除缓存中被查询次数最少的记录以及所述记录对应的检索条件,再将所述目标记录、所述目标记录对应的检索条件关联存储至缓存中;

若否,则将所述目标记录、所述目标记录对应的检索条件关联存储至缓存中。

在一些实施例中,日志检索装置300还包括:更新模块308;

更新模块308,用于设定缓存更新时间;

到达设定缓存更新时间时,查询缓存中各记录被查询次数;

将所述被查询次数小于预设次数的记录全部删除。

本实施例的装置,可以用于执行上述任一实施例的方法,其实现原理和技术效果类似,此处不再赘述。

图4为本申请一实施例提供的一种电子设备的结构示意图,如图4所示,本实施例的电子设备400可以包括:存储器401和处理器402。

存储器401上存储有能够被处理器402加载并执行上述实施例中方法的计算机程序。

其中,处理器402和存储器401相连,如通过总线相连。

可选地,电子设备400还可以包括收发器。需要说明的是,实际应用中收发器不限于一个,该电子设备400的结构并不构成对本申请实施例的限定。

处理器402可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器602也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

总线可包括一通路,在上述组件之间传送信息。总线可以是PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器401可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

存储器401用于存储执行本申请方案的应用程序代码,并由处理器402来控制执行。处理器402用于执行存储器401中存储的应用程序代码,以实现前述方法实施例所示的内容。

其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。还可以为服务器等。图4示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

本实施例的电子设备,可以用于执行上述任一实施例的方法,其实现原理和技术效果类似,此处不再赘述。

本申请还提供一种计算机可读存储介质,存储有能够被处理器加载并执行如上实施例中的方法的计算机程序。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

相关技术
  • 日志信息处理方法、装置、电子设备及可读存储介质
  • 日志上报方法、装置、电子设备及计算机可读存储介质
  • 日志文件采集方法、装置、可读存储介质及电子设备
  • 一种日志写入方法、装置、电子设备及存储介质
  • 通过图片检索视频的方法、装置、电子设备及存储介质
  • 日志存储方法、日志检索方法、装置、设备及存储介质
  • 一种日志全文检索方法、装置、电子设备及存储介质
技术分类

06120115970484