CN110096485A - 日志查询方法、装置、计算机设备及存储介质 - Google Patents

日志查询方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110096485A
CN110096485A CN201910203602.XA CN201910203602A CN110096485A CN 110096485 A CN110096485 A CN 110096485A CN 201910203602 A CN201910203602 A CN 201910203602A CN 110096485 A CN110096485 A CN 110096485A
Authority
CN
China
Prior art keywords
log
journal file
file
obtains
simplifying
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
CN201910203602.XA
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.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN201910203602.XA priority Critical patent/CN110096485A/zh
Publication of CN110096485A publication Critical patent/CN110096485A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/144Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Library & Information Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种日志查询方法、装置、计算机设备及存储介质,该日志查询方法在获取日志查询请求之后,根据日志查询请求中的日志文件标识获取目标日志文件;对目标日志文件进行简化处理,得到精简日志文件;最后根据查询关键词在精简日志文件中进行查询,获取日志查询信息。不需要打开日志文件进行查询,避免了日志文件过大而导致了打开时间过程而影响查询效率,而且对日志文件进行了简化处理,也进一步提升了查询效率。

Description

日志查询方法、装置、计算机设备及存储介质
技术领域
本发明涉及性能监控领域,尤其涉及一种日志查询方法、装置、计算机设备及存储介质。
背景技术
随着互联网技术的急速发展,各种互联网技术(Internet Technology,以下简称IT)系统和网络设备都会产生大量的日志,其中有很多日志需要长期存档,以用于后期的各种审计和查询,这样,日志的采集以及查询系统也得到了越来越多的重视。
已有的日志查询系统中,大都采用按照时间段的方法进行关键日志的查询,需要在大量的日志中查找满足用户所需要的某一时间段条件的日志,而且当日志文件里的内容比较多时,文件太大,打开文件就需要花费不少的时间,更不用谈后续还需要进行日志的查询,这大大影响了日志的查询效率。
发明内容
本发明实施例提供一种日志查询方法、装置、计算机设备及存储介质,以解决日志查询效率过低的问题。
一种日志查询方法,包括:
获取日志查询请求,所述日志查询请求包括日志文件标识和查询关键词;
根据所述日志文件标识获取目标日志文件;
对所述目标日志文件进行简化处理,得到精简日志文件;
根据所述查询关键词在精简日志文件中进行查询,获取日志查询信息。
一种日志查询装置,包括:
第一日志查询请求获取模块,用于获取日志查询请求,所述日志查询请求包括日志文件标识和查询关键词;
第一目标日志文件获取模块,用于根据所述日志文件标识获取目标日志文件;
第一简化处理模块,用于对所述目标日志文件进行简化处理,得到精简日志文件;
日志查询信息获取模块,用于根据所述查询关键词在精简日志文件中进行查询,获取日志查询信息。
一种日志查询方法,包括:
获取日志查询请求,所述日志查询请求包括日志文件标识和查询关键词;
根据所述日志文件标识获取目标日志文件;
对所述目标日志文件进行简化处理,得到精简日志文件;
对所述精简日志文件进行分块处理,得到N个子日志文件;
开启包括N个线程的线程池,在每一线程中根据所述查询关键词在子日志文件中进行查询,获取每一所述子日志文件的子查询结果;
将每一所述子日志文件的子查询结果组成所述目标日志文件的查询结果。
一种日志查询装置,包括:
第二日志查询请求获取模块,用于获取日志查询请求,所述日志查询请求包括日志文件标识和查询关键词;
第二目标日志文件获取模块,用于根据所述日志文件标识获取目标日志文件;
第二简化处理模块,用于对所述目标日志文件进行简化处理,得到精简日志文件;
分块处理模块,用于对所述精简日志文件进行分块处理,得到N个子日志文件;
子查询结果获取模块,用于开启包括N个线程的线程池,在每一线程中根据所述查询关键词在子日志文件中进行查询,获取每一所述子日志文件的子查询结果;
查询结果组成模块,用于将每一所述子日志文件的子查询结果组成所述目标日志文件的查询结果。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述日志查询方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述日志查询方法。
上述日志查询方法、装置、计算机设备及存储介质中,在获取日志查询请求之后,根据日志查询请求中的日志文件标识获取目标日志文件;对目标日志文件进行简化处理,得到精简日志文件;最后根据查询关键词在精简日志文件中进行查询,获取日志查询信息。不需要打开日志文件进行查询,避免了日志文件过大而导致了打开时间过程而影响查询效率,而且对日志文件进行了简化处理,也进一步提升了查询效率。
上述日志查询方法、装置、计算机设备及存储介质中,先获取日志查询请求,日志查询请求包括日志文件标识和查询关键词;根据日志文件标识获取目标日志文件;对目标日志文件进行简化处理,得到精简日志文件;对精简日志文件进行分块处理,得到N个子日志文件;开启包括N个线程的线程池,在每一线程中根据查询关键词在子日志文件中进行查询,获取每一子日志文件的子查询结果;最后将每一子日志文件的子查询结果组成所述目标日志文件的查询结果。不需要打开日志文件进行查询,避免了日志文件过大而导致了打开时间过程而影响查询效率,而且对日志文件进行了简化处理,也进一步提升了查询效率。进一步地,通过线程池的方式进行并行查询,更进一步地提高了日志查询效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中日志查询方法的一应用环境示意图;
图2是本发明一实施例中日志查询方法的一示例图;
图3是本发明一实施例中日志查询方法的另一示例图;
图4是本发明一实施例中日志查询方法的另一示例图;
图5是本发明一实施例中日志查询方法的另一示例图;
图6是本发明一实施例中日志查询方法的另一示例图;
图7是本发明一实施例中日志查询装置的一原理框图;
图8是本发明一实施例中日志查询方法的另一示例图;
图9是本发明一实施例中日志查询装置的另一原理框图;
图10是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的日志查询方法,可应用在如图1的应用环境中,其中,计算机设备(客户端)通过网络与服务端进行通信。客户端发送日志查询请求至服务端,服务端响应该日志查询请求,根据日志文件标识获取目标日志文件;对目标日志文件进行简化处理,得到精简日志文件;最后根据查询关键词在精简日志文件中进行查询,获取日志查询信息。其中,计算机设备(客户端)可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种日志查询方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤:
S10:获取日志查询请求,日志查询请求包括日志文件标识和查询关键词。
其中,日志查询请求是指对服务端中的日志文件发起查询的触发请求。该日志查询请求可以由客户端自动触发,也可以由用户通过客户端进行触发。具体地,客户端自动触发可以通过设定预定的触发条件,例如,定时查询或者发生异常情况时根据具体的异常类型发起对应的日志查询请求。用户也可以通过输入特定的指令或者特定的操作来触发该日志查询请求,例如:点击控件或者按钮、输入预定的指令或者打开并执行对应的脚本文件等。
日志查询请求包括日志文件标识和查询关键词。日志文件标识用于区分服务端中不同过的日志文件。可选地,日志文件标识可以由数字、字母、符号或者文字等至少一项组成。进一步地,日志文件标识可以由日志文件路径组成,根据日志文件路径,可以更快速地定位到对应的日志文件。
查询关键词是指在该日志查询请求中对日志文件中相关内容进行查询的关键词。可以理解地,该查询关键词可以为一个,也可以为复数个。
S20:根据日志文件标识获取目标日志文件。
在该步骤中,通过日志文件标识,在服务端中获取到对应的日志文件,作为目标日志文件。具体地,若日志文件标识对应于具体的日志文件名称,则可以通过字符串匹配或者正则匹配的方式在服务端进行查询,获取到对应的目标日志文件。若日志文件标识为日志文件路径,则直接根据该日志文件路径到对应的地址中获取到目标日志文件。
S30:对目标日志文件进行简化处理,得到精简日志文件。
其中,简化处理是指在不影响日志文件内容的前提下对日志文件进行精简的过程,例如:减少文件容量大小。示例性地,将日志文件中的空格、换行符或者其他符号进行去除。具体地,可以通过字符串匹配或者正则匹配公式的方式找到对应的符号或者字符,然后进行批量删除操作,得到精简日志文件。
S40:根据查询关键词在精简日志文件中进行查询,获取日志查询信息。
根据查询关键词在经过步骤S30处理之后的精简日志文件中进行查询,定位到精简日志文件中存在查询关键词的位置,并且将查询关键词相关的内容输出。示例性地,可以预先设置一个预设行数,在定位到精简日志文件中存在查询关键词的位置之后,将该位置对应的预设行数的内容输出。具体可以设定该查询关键词的位置的上A行和下B行的内容,而A+B=预设行数。将精简日志文件中每一查询关键词的位置对应的内容输出后,得到日志查询信息。
在本实施例中,在获取日志查询请求之后,根据日志查询请求中的日志文件标识获取目标日志文件;对目标日志文件进行简化处理,得到精简日志文件;最后根据查询关键词在精简日志文件中进行查询,获取日志查询信息。不需要打开日志文件进行查询,避免了日志文件过大而导致了打开时间过程而影响查询效率,而且对日志文件进行了简化处理,也进一步提升了查询效率。
在一个实施例中,如图3所示,对目标日志文件进行简化处理,得到精简日志文件,具体包括:
S31:将目标日志文件读入内存中。
将目标日志文件读入到内存中中,以进行后续的处理。具体地,可以通过I/O口将目标日志文件读入到内存中。可以通过JAVA IO流的读取文件的方式将目标日志文件通过I/O口读入到内存中,例如,使用JAVA中的BufferedInputStream类或InputStream类实现。
S32:采用预设的正则匹配公式将内存中的目标日志文件进行简化处理,得到精简日志文件。
在该步骤中,通过预设的正则匹配公式将内存中的目标日志文件进行简化处理,得到精简日志文件。可选地,该正则匹配公式可以将目标日志文件中的空格、制表符和换行符以空字符串进行替代。具体地,该正则匹配公式可以表示如下:
s=s.replaceAll("\\s*","")。
其中,JAVA中的replaceAll()方法使用给定的参数替换字符串所有匹配给定的正则表达式的子字符串。在上述公式中,“\\s*”为正则匹配式,可以匹配空格、制表符和换行符,匹配到对应的空格、制表符和换行符后以空字符串进行替代。如此,即可以实现将目标日志文件进行简化处理,得到精简日志文件。
在这个实施例中,先将目标日志文件读入内存中,在通过预设的正则匹配公式将内存中的所述目标日志文件进行简化处理,得到精简日志文件,保证了数据处理的效率和准确性。
在一个实施例中,如图4所示,根据查询关键词在精简日志文件中进行查询,获取日志查询信息,具体包括:
S41:采用KMP算法将查询关键词在精简日志文件中进行匹配查询,得到匹配字符串和每一匹配字符串对应的位置信息。
其中,KMP算法是一种改进的字符串匹配算法。通过KMP算法可以将对应的关键词在目标文件中找到匹配成功的字符串。在该步骤中,通过KMP算法在精简日志文件中采用查询关键词进行匹配查询,得到匹配字符串和每一匹配字符串对应的位置信息。匹配字符串即是再精简日志文件中和查询关键词匹配成功的字符串。而匹配字符串对应的位置信息是该匹配字符串在精简日志文件中的位置信息,可选地,该位置信息可以通过行数或者字符串位置来体现。可以理解地,若在精简日志文件中存在复数个和查询关键词匹配成功的字符串,则对应的匹配字符串也为复数个。
S42:获取预设的位置参数,根据每一匹配字符串对应的位置信息和位置参数获取每一匹配字符串的关联信息。
其中,位置参数是指预先设置的参数信息,用来指示关联信息的获取。可以理解地,位置参数和位置信息是对应的,若位置信息采用行数体现,则位置参数也为行数,若位置信息为字符串位置,则位置参数也为字符串位置。在获取到预设的位置参数之后,根据每一匹配字符串对应的位置信息和位置参数获取每一匹配字符串的关联信息。关联信息为和匹配字符串相关的内容信息,具体可以为匹配字符串附近的部分文本内容,该关联信息由该匹配字符串的位置信息和位置参数共同确定。
示例性地,若位置参数为5行,则可以在匹配字符串对应的位置信息处往前取5行,再往后取5行,作为该匹配字符串的关联信息。或者,该位置参数为关联信息的总行数,可以进一步设置往前取几行,往后再取几行,得到关联信息。若位置参数为字符数,例如100个,则可以根据匹配字符串对应的位置信息处往前取100个字符,再往后取100个字符,作为该匹配字符串的关联信息。或者,该位置参数为关联信息的总字符数,可以进一步设置往前取几个字符,往后再取几个字符,得到关联信息。
在一个具体实施方式中,位置参数可以包含在日志查询请求中,即用户在触发日志查询请求时,可以对位置参数进行自定义,从而可以调整最后输出的日志查询信息的内容。进一步地,若查询关键词为复数个,则可以为不同的查询关键词自定义不同的位置参数。
S43:将每一匹配字符串的关联信息组成日志查询信息。
在该步骤中,将得到的每一匹配字符串的关联信息组成日志查询信息。
在这个实施例中,先采用KMP算法将查询关键词在精简日志文件中进行匹配查询,得到匹配字符串和每一匹配字符串对应的位置信息;获取预设的位置参数,根据每一匹配字符串对应的位置信息和所述位置参数获取每一所述匹配字符串的关联信息;最后将每一匹配字符串的关联信息组成日志查询信息,保证得到的日志查询信息的完整和准确。
在一个实施例中,获取预设的位置参数,根据每一匹配字符串对应的位置信息和所述位置参数获取每一所述匹配字符串的关联信息,还包括:
若任意两个匹配字符串对应的位置信息在预设的位置距离之内,则根据这两个匹配字符串的位置信息和位置参数获取这两个匹配字符串的联合关联信息。
其中,位置距离为预设的一个参数值,该位置距离小于位置参数。当两个匹配字符串对应的位置信息在预设的位置距离之内之时,分别根据每一匹配字符串对应的位置信息和位置参数获取的两个匹配字符串的关联信息必然存在重叠部分,而这部分重叠信息会被多次获取,造成不必要的消耗。因此,若任意两个匹配字符串对应的位置信息在预设的位置距离之内,则根据这两个匹配字符串的位置信息和位置参数获取这两个匹配字符串的联合关联信息。具体地,先根据两个位置信息中靠前的位置信息往前取位置参数,得到一个第一位置,再根据两个位置信息中靠后的位置信息往后取位置参数,得到一个第二位置,再将第一位置和第二位置之间的日志内容作为这两个匹配字符串的联合关联信息。如此,就可以避免重复信息的多次获取,避免了信息的冗余,也提高了数据处理效率。
在一个实施例中,如图5所示,对目标日志文件进行简化处理,得到精简日志文件,具体包括:
S31’:获取预设的分类信息,分类信息包括M个分类标签,M为正整数。
该预设的分类信息是指对目标日志文件中的内容进行分类的指引性信息。分类信息由分类标签组成,可选地,分类标签可以为时间戳、应用程序或日志类型等。
S32’:根据每一分类标签对所述目标日志文件进行划分,获取到每一分类标签对应的分类日志文本。
在该步骤中,通过不同的分类标签对目标日志文件中进行划分,得到每一分类标签对应的分类日志文本。具体地,若分类标签为时间戳,则对目标日志文件按照时间对具体的内容进行划分,得到分类日志文本。如分类标签为应用程序,则对目标日志文件按照不同的应用程序对具体的内容进行划分,得到分类日志文本。可选地,每一分类标签对应的分类日志文本可以为一个,也可以为复数个。若分类日志文本为复数个,则按照对应的分类标签将不同的内容划分到不同的分类日志文本中,以便后续进行查询。
S33’:将每一分类日志文本组成精简日志文件。
在得到每一分类标签对应的分类日志文本之后,将每一分类日志文本组成精简日志文件。
在本实施中,在获取预设的分类信息之后,根据每一分类标签对所述目标日志文件进行划分,获取到每一分类标签对应的分类日志文本;最后将每一所述分类日志文本组成精简日志文件。将目标日志文件根据预设的分类信息进行精简处理,以便后续更好地进行日志查询。
在一个实施例中,查询关键词包括关键词标签和关键词信息。
其中,关键词标签为和分类标签对应,用于指示该查询关键词对应的具体标签。而关键词信息为具体的查询信息,用于定位到具体的日志信息。
在本实施例中,如图6所示,根据查询关键词在精简日志文件中进行查询,获取日志查询信息,具体包括:
S41’:根据关键词标签从精简日志文件中获取到对应的分类日志文本。
在该步骤中,根据关键词标签定位到对应的分类标签,从而从精简日志文件中获取到对应的分类日志文本。进一步地,若分类日志文本为复数个,该关键词标签还可以定位到具体的一个分类日志文本。示例性地,若关键词标签为时间戳信息,则该关键词标签还指示一个具体的时间点或者时间区间,以更好地定位到具体的分类日志文本。
S42’:采用关键词信息从分类日志文本中获取日志查询信息。
在获取到分类日志文本之后,采用关键词信息在分类日志文件中进行查询,以获取到日志查询信息。具体地查询方式可以和上述步骤S41-S42相同,在此不再赘述。
在本实施例中,先根据关键词标签从精简日志文件中获取到对应的分类日志文本;再采用关键词信息从分类日志文件中获取日志查询信息。可以快速地定位到对应的分类日志文本,进而高效地获取到日志查询信息。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种日志查询装置,该日志查询装置与上述实施例中日志查询方法一一对应。如图7所示,该日志查询装置包括第一日志查询请求获取模块10、第一目标日志文件获取模块20、第一简化处理模块30和日志查询信息获取模块40。各功能模块详细说明如下:
第一日志查询请求获取模块10,用于获取日志查询请求,日志查询请求包括日志文件标识和查询关键词;
第一目标日志文件获取模块20,用于根据日志文件标识获取目标日志文件;
第一简化处理模块30,用于对目标日志文件进行简化处理,得到精简日志文件;
日志查询信息获取模块40,用于根据查询关键词在精简日志文件中进行查询,获取日志查询信息。
优选地,第一简化处理模块30包括内存读取单元和简化处理单元。
内存读取单元,用于将目标日志文件读入内存中;
简化处理单元,用于采用预设的正则匹配公式将内存中的目标日志文件进行简化处理,得到精简日志文件。
优选地,日志查询信息获取模块40包括匹配查询单元、关联信息获取单元和日志查询信息组成单元。
匹配查询单元,用于采用KMP算法将查询关键词在精简日志文件中进行匹配查询,得到匹配字符串和每一匹配字符串对应的位置信息。
关联信息获取单元,用于获取预设的位置参数,根据每一匹配字符串对应的位置信息和位置参数获取每一匹配字符串的关联信息。
日志查询信息组成单元,用于将每一匹配字符串的关联信息组成日志查询信息。
优选地,第一简化处理模块30还用于获取预设的分类信息,分类信息包括N个分类标签,N为正整数;根据每一分类标签对所述目标日志文件进行划分,获取到每一分类标签对应的分类日志文本;将每一分类日志文本组成精简日志文件。
优选地,日志查询信息获取模块40还用于根据关键词标签从精简日志文件中获取到对应的分类日志文本;采用关键词信息从分类日志文本中获取日志查询信息。
关于日志查询装置的具体限定可以参见上文中对于日志查询方法的限定,在此不再赘述。上述日志查询装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供一种日志查询方法,也可应用在如图1的应用环境中,其中,计算机设备(客户端)通过网络与服务端进行通信。客户端发送日志查询请求至服务端,服务端响应该日志查询请求,根据日志文件标识获取目标日志文件;对目标日志文件进行简化处理,得到精简日志文件;对精简日志文件进行分块处理,得到N个子日志文件;开启包括N个线程的线程池,在每一线程中根据查询关键词在子日志文件中进行查询,获取每一子日志文件的子查询结果;最后将每一子日志文件的子查询结果组成目标日志文件的查询结果。其中,计算机设备(客户端)可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图8所示,提供一种日志查询方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤:
S50:获取日志查询请求,日志查询请求包括日志文件标识和查询关键词。
S60:根据日志文件标识获取目标日志文件。
S70:对目标日志文件进行简化处理,得到精简日志文件。
其中,步骤S50-S70的步骤和上述实施例中的步骤S10-S30相同,在此不再赘述。
S80:对精简日志文件进行分块处理,得到N个子日志文件。
在该步骤中,通过将精简日志文件进行分块处理,得到N个子日志文件。具体地,可以根据精简日志文件的大小,根据要划分的子日志文件的数量N,对精简日志文件进行等分处理,得到每一子日志文件的大小,再对精简日志文件进行分块处理,得到N个子日志文件。
在一个具体实施方式中,可以直接按照字节或者字符的方式从精简日志文件中读取数据到内存中的一个预定文件中,当内存中的预定文件的容量达到子日志文件的大小时,则暂停读取,将该预定文件作为第一个子日志文件。然后继续进行下一个子日志文件的读取,以此完成对精简日志文件进行分块处理,得到N个子日志文件。
S90:开启包括N个线程的线程池,在每一线程中根据所述查询关键词在子日志文件中进行查询,获取每一所述子日志文件的子查询结果。
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务,线程池线程都是后台线程。在得到N个子日志文件之后,开启相同数量的线程。然后再每一个线程中根据查询关键词在子日志文件中进行查询,获取每一子日志文件的自查询结果。具体地,每一线程中的查询过程和上述实施例中的步骤S40或者步骤S41-S43类似,在此不再赘述。
S100:将每一子日志文件的子查询结果组成目标日志文件的查询结果。
在得到每一子日志文件的自查询结果之后,将每一子查询结果组成目标日志文件的查询结果。
在本实施例中,先获取日志查询请求,日志查询请求包括日志文件标识和查询关键词;根据日志文件标识获取目标日志文件;对目标日志文件进行简化处理,得到精简日志文件;对精简日志文件进行分块处理,得到N个子日志文件;开启包括N个线程的线程池,在每一线程中根据查询关键词在子日志文件中进行查询,获取每一子日志文件的子查询结果;最后将每一子日志文件的子查询结果组成所述目标日志文件的查询结果。不需要打开日志文件进行查询,避免了日志文件过大而导致了打开时间过程而影响查询效率,而且对日志文件进行了简化处理,也进一步提升了查询效率。进一步地,通过线程池的方式进行并行查询,更进一步地提高了日志查询效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种日志查询装置,该日志查询装置与上述实施例中日志查询方法一一对应。如图9所示,该日志查询装置包括第二日志查询请求获取模块50、第二目标日志文件获取模块60、第二简化处理模块70、分块处理模块80、子查询结果获取模块90和查询结果组成模块100。各功能模块详细说明如下:
第二日志查询请求获取模块50,用于获取日志查询请求,日志查询请求包括日志文件标识和查询关键词;
第二目标日志文件获取模块60,用于根据日志文件标识获取目标日志文件;
第二简化处理模块70,用于对目标日志文件进行简化处理,得到精简日志文件;
分块处理模块80,用于对精简日志文件进行分块处理,得到N个子日志文件;
子查询结果获取模块90,用于开启包括N个线程的线程池,在每一线程中根据所述查询关键词在子日志文件中进行查询,获取每一子日志文件的子查询结果;
查询结果组成模块100,用于将每一子日志文件的子查询结果组成目标日志文件的查询结果。
关于日志查询装置的具体限定可以参见上文中对于日志查询方法的限定,在此不再赘述。上述日志查询装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于储存上述日志查询方法所使用到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种日志查询方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的日志查询方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中的日志查询方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种日志查询方法,其特征在于,包括:
获取日志查询请求,所述日志查询请求包括日志文件标识和查询关键词;
根据所述日志文件标识获取目标日志文件;
对所述目标日志文件进行简化处理,得到精简日志文件;
根据所述查询关键词在精简日志文件中进行查询,获取日志查询信息。
2.如权利要求1所述的日志查询方法,其特征在于,所述对所述目标日志文件进行简化处理,得到精简日志文件,包括:
将所述目标日志文件读入内存中;
采用预设的正则匹配公式将内存中的所述目标日志文件进行简化处理,得到精简日志文件。
3.如权利要求2所述的日志查询方法,其特征在于,所述根据所述查询关键词在精简日志文件中进行查询,获取日志查询信息,包括:
采用KMP算法将所述查询关键词在精简日志文件中进行匹配查询,得到匹配字符串和每一所述匹配字符串对应的位置信息;
获取预设的位置参数,根据每一所述匹配字符串对应的位置信息和所述位置参数获取每一所述匹配字符串的关联信息;
将每一所述匹配字符串的关联信息组成日志查询信息。
4.如权利要求1所述的日志查询方法,其特征在于,所述对所述目标日志文件进行简化处理,得到精简日志文件,包括:
获取预设的分类信息,所述分类信息包括N个分类标签,N为正整数;
根据每一所述分类标签对所述目标日志文件进行划分,获取到每一所述分类标签对应的分类日志文本;
将每一所述分类日志文本组成精简日志文件。
5.如权利要求4所述的日志查询方法,其特征在于,所述查询关键词包括关键词标签和关键词信息;
所述根据所述查询关键词在精简日志文件中进行查询,获取日志查询信息,包括:
根据所述关键词标签从所述精简日志文件中获取到对应的分类日志文本;
采用所述关键词信息从所述分类日志文本中获取日志查询信息。
6.一种日志查询方法,其特征在于,包括:
获取日志查询请求,所述日志查询请求包括日志文件标识和查询关键词;
根据所述日志文件标识获取目标日志文件;
对所述目标日志文件进行简化处理,得到精简日志文件;
对所述精简日志文件进行分块处理,得到N个子日志文件;
开启包括N个线程的线程池,在每一线程中根据所述查询关键词在子日志文件中进行查询,获取每一所述子日志文件的子查询结果;
将每一所述子日志文件的子查询结果组成所述目标日志文件的查询结果。
7.一种日志查询装置,其特征在于,包括:
第一日志查询请求获取模块,用于获取日志查询请求,所述日志查询请求包括日志文件标识和查询关键词;
第一目标日志文件获取模块,用于根据所述日志文件标识获取目标日志文件;
第一简化处理模块,用于对所述目标日志文件进行简化处理,得到精简日志文件;
日志查询信息获取模块,用于根据所述查询关键词在精简日志文件中进行查询,获取日志查询信息。
8.一种日志查询装置,其特征在于,包括:
第二日志查询请求获取模块,用于获取日志查询请求,所述日志查询请求包括日志文件标识和查询关键词;
第二目标日志文件获取模块,用于根据所述日志文件标识获取目标日志文件;
第二简化处理模块,用于对所述目标日志文件进行简化处理,得到精简日志文件;
分块处理模块,用于对所述精简日志文件进行分块处理,得到N个子日志文件;
子查询结果获取模块,用于开启包括N个线程的线程池,在每一线程中根据所述查询关键词在子日志文件中进行查询,获取每一所述子日志文件的子查询结果;
查询结果组成模块,用于将每一所述子日志文件的子查询结果组成所述目标日志文件的查询结果。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述日志查询方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述日志查询方法。
CN201910203602.XA 2019-03-18 2019-03-18 日志查询方法、装置、计算机设备及存储介质 Pending CN110096485A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910203602.XA CN110096485A (zh) 2019-03-18 2019-03-18 日志查询方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910203602.XA CN110096485A (zh) 2019-03-18 2019-03-18 日志查询方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN110096485A true CN110096485A (zh) 2019-08-06

Family

ID=67443285

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910203602.XA Pending CN110096485A (zh) 2019-03-18 2019-03-18 日志查询方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110096485A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111177081A (zh) * 2019-12-31 2020-05-19 广州极尚网络技术有限公司 游戏日志内容查询方法、装置、计算机设备和存储介质
CN111930586A (zh) * 2020-06-17 2020-11-13 珠海格力电器股份有限公司 一种获取数据的方法、装置、设备及计算机可读介质
CN112100025A (zh) * 2020-08-25 2020-12-18 北京明略昭辉科技有限公司 一种日志精简方法、装置、电子设备和计算机可读介质
CN112231287A (zh) * 2020-09-06 2021-01-15 厦门天锐科技股份有限公司 系统日志的处理方法、装置、电子设备及介质
CN112559458A (zh) * 2020-12-11 2021-03-26 深圳金信诺高新技术股份有限公司 一种缩减日志大小的方法及系统
CN113157722A (zh) * 2021-04-01 2021-07-23 北京达佳互联信息技术有限公司 一种数据处理方法、装置、服务器、系统及存储介质
CN113704557A (zh) * 2021-08-31 2021-11-26 平安普惠企业管理有限公司 前端资源包压缩方法、装置、电子设备及存储介质
CN114398239A (zh) * 2022-01-18 2022-04-26 平安国际智慧城市科技股份有限公司 日志监控方法、装置、计算机设备及存储介质
CN114579739A (zh) * 2022-01-12 2022-06-03 中国电子科技集团公司第十研究所 文本数据流的话题检测与追踪方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120303641A1 (en) * 2011-05-24 2012-11-29 Verizon Patent And Licensing Inc. Method and system for processing log information
CN102880541A (zh) * 2012-09-28 2013-01-16 用友软件股份有限公司 日志信息的获取系统和获取方法
CN107239382A (zh) * 2017-06-23 2017-10-10 深圳市冬泉谷信息技术有限公司 一种容器应用的日志处理方法及系统
CN107784050A (zh) * 2016-12-14 2018-03-09 平安科技(深圳)有限公司 日志信息查找方法及装置
CN108737467A (zh) * 2017-04-19 2018-11-02 腾讯科技(深圳)有限公司 一种服务器日志查看方法、装置和系统
CN109213736A (zh) * 2017-06-29 2019-01-15 阿里巴巴集团控股有限公司 日志的压缩方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120303641A1 (en) * 2011-05-24 2012-11-29 Verizon Patent And Licensing Inc. Method and system for processing log information
CN102880541A (zh) * 2012-09-28 2013-01-16 用友软件股份有限公司 日志信息的获取系统和获取方法
CN107784050A (zh) * 2016-12-14 2018-03-09 平安科技(深圳)有限公司 日志信息查找方法及装置
CN108737467A (zh) * 2017-04-19 2018-11-02 腾讯科技(深圳)有限公司 一种服务器日志查看方法、装置和系统
CN107239382A (zh) * 2017-06-23 2017-10-10 深圳市冬泉谷信息技术有限公司 一种容器应用的日志处理方法及系统
CN109213736A (zh) * 2017-06-29 2019-01-15 阿里巴巴集团控股有限公司 日志的压缩方法和装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111177081B (zh) * 2019-12-31 2023-11-14 广州极尚网络技术有限公司 游戏日志内容查询方法、装置、计算机设备和存储介质
CN111177081A (zh) * 2019-12-31 2020-05-19 广州极尚网络技术有限公司 游戏日志内容查询方法、装置、计算机设备和存储介质
CN111930586A (zh) * 2020-06-17 2020-11-13 珠海格力电器股份有限公司 一种获取数据的方法、装置、设备及计算机可读介质
CN112100025A (zh) * 2020-08-25 2020-12-18 北京明略昭辉科技有限公司 一种日志精简方法、装置、电子设备和计算机可读介质
CN112231287A (zh) * 2020-09-06 2021-01-15 厦门天锐科技股份有限公司 系统日志的处理方法、装置、电子设备及介质
CN112559458A (zh) * 2020-12-11 2021-03-26 深圳金信诺高新技术股份有限公司 一种缩减日志大小的方法及系统
CN112559458B (zh) * 2020-12-11 2021-11-30 深圳金信诺高新技术股份有限公司 一种缩减日志大小的方法及系统
CN113157722A (zh) * 2021-04-01 2021-07-23 北京达佳互联信息技术有限公司 一种数据处理方法、装置、服务器、系统及存储介质
CN113157722B (zh) * 2021-04-01 2023-12-26 北京达佳互联信息技术有限公司 一种数据处理方法、装置、服务器、系统及存储介质
CN113704557A (zh) * 2021-08-31 2021-11-26 平安普惠企业管理有限公司 前端资源包压缩方法、装置、电子设备及存储介质
CN114579739B (zh) * 2022-01-12 2023-05-30 中国电子科技集团公司第十研究所 文本数据流的话题检测与追踪方法
CN114579739A (zh) * 2022-01-12 2022-06-03 中国电子科技集团公司第十研究所 文本数据流的话题检测与追踪方法
CN114398239A (zh) * 2022-01-18 2022-04-26 平安国际智慧城市科技股份有限公司 日志监控方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN110096485A (zh) 日志查询方法、装置、计算机设备及存储介质
US11809492B2 (en) Online artificial intelligence algorithm for a data intake and query system
US11474673B1 (en) Handling modifications in programming of an iterative message processing system
US11194552B1 (en) Assisted visual programming for iterative message processing system
US11113353B1 (en) Visual programming for iterative message processing system
CN110399293B (zh) 系统测试方法、装置、计算机设备和存储介质
US10936585B1 (en) Unified data processing across streaming and indexed data sets
US11663176B2 (en) Data field extraction model training for a data intake and query system
US20210117232A1 (en) Data ingestion pipeline anomaly detection
US20220036177A1 (en) Data field extraction by a data intake and query system
US11704490B2 (en) Log sourcetype inference model training for a data intake and query system
US6629108B2 (en) Method for insuring data integrity for mirrored independently accessible memory devices
CN109542428A (zh) 业务处理方法、装置、计算机设备和存储介质
US11675816B1 (en) Grouping evens into episodes using a streaming data processor
US11676072B1 (en) Interface for incorporating user feedback into training of clustering model
CN109783365A (zh) 自动化测试方法、装置、计算机设备及存储介质
CN102591969A (zh) 基于用户历史行为提供搜索结果的方法及服务器
CN107003931B (zh) 将测试验证从测试执行分离
CN110659297A (zh) 数据处理方法、装置、计算机设备和存储介质
CN109766323A (zh) 贷款交易全链路监控方法、装置、计算机设备和存储介质
CN110096418A (zh) 业务日志分析方法、装置、计算机设备和存储介质
US11797617B2 (en) Method and apparatus for collecting information regarding dark web
US20160261541A1 (en) Prioritizing log messages
CN110362478A (zh) 应用升级测试方法、装置、计算机设备和存储介质
CN109816338A (zh) 企业奖惩处理方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190806

RJ01 Rejection of invention patent application after publication