CN108038253A - 一种日志查询的处理方法及装置 - Google Patents
一种日志查询的处理方法及装置 Download PDFInfo
- Publication number
- CN108038253A CN108038253A CN201810065391.3A CN201810065391A CN108038253A CN 108038253 A CN108038253 A CN 108038253A CN 201810065391 A CN201810065391 A CN 201810065391A CN 108038253 A CN108038253 A CN 108038253A
- Authority
- CN
- China
- Prior art keywords
- log
- log query
- result
- daily record
- query
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 131
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000004458 analytical method Methods 0.000 claims abstract description 25
- 230000001052 transient effect Effects 0.000 claims description 7
- 230000000052 comparative effect Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 3
- 230000005055 memory storage Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 210000004209 hair Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
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)
- Library & Information Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种日志查询的处理方法及装置,所述方法包括:获取日志查询请求;以使预先配置的日志处理集群中的每一个处理单元分别解析所述日志查询请求,并根据解析结果读取各自对应的日志存储目录,以获取各自对应的日志查询结果;在获取所述日志查询结果的同时,对所述日志查询结果进行合并处理,以获取所有日志处理集群的最终日志查询结果。所述装置执行上述方法。本发明实施例提供的日志查询的处理方法及装置,通过在日志处理集群中的每一个处理单元获取各自对应的日志查询结果的同时,对日志查询结果进行合并处理,能够提高日志查询处理的效率。
Description
技术领域
本发明实施例涉及数据处理技术领域,具体涉及一种日志查询的处理方法及装置。
背景技术
随着数据的日益增长,对日志查询的性能要求显得尤为重要。
现有日志查询大都是单进程单核处理,对日志查询处理的效率比较低下。而随着计算机硬件的发展,CPU的核数,以及硬盘容量等都有得到了快速发展,但目前尚没有基于多CPU的核数的并行多进程的日志查询方法。
因此,如何进行并行多进程的日志查询,从而提高日志查询处理的效率,成为亟须解决的问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种日志查询的处理方法及装置。
第一方面,本发明实施例提供一种日志查询的处理方法,所述方法包括:
获取日志查询请求;以使预先配置的日志处理集群中的每一个处理单元分别解析所述日志查询请求,并根据解析结果读取各自对应的日志存储目录,以获取各自对应的日志查询结果;
在获取所述日志查询结果的同时,对所述日志查询结果进行合并处理,以获取所有日志处理集群的最终日志查询结果。
第二方面,本发明实施例提供一种日志查询的处理装置,所述装置包括:
获取单元,用于获取日志查询请求;以使预先配置的日志处理集群中的每一个处理单元分别解析所述日志查询请求,并根据解析结果读取各自对应的日志存储目录,以获取各自对应的日志查询结果;
合并单元,用于在获取所述日志查询结果的同时,对所述日志查询结果进行合并处理,以获取所有日志处理集群的最终日志查询结果。
第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:
获取日志查询请求;以使预先配置的日志处理集群中的每一个处理单元分别解析所述日志查询请求,并根据解析结果读取各自对应的日志存储目录,以获取各自对应的日志查询结果;
在获取所述日志查询结果的同时,对所述日志查询结果进行合并处理,以获取所有日志处理集群的最终日志查询结果。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:
所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如下方法:
获取日志查询请求;以使预先配置的日志处理集群中的每一个处理单元分别解析所述日志查询请求,并根据解析结果读取各自对应的日志存储目录,以获取各自对应的日志查询结果;
在获取所述日志查询结果的同时,对所述日志查询结果进行合并处理,以获取所有日志处理集群的最终日志查询结果。
本发明实施例提供的日志查询的处理方法及装置,通过在日志处理集群中的每一个处理单元获取各自对应的日志查询结果的同时,对日志查询结果进行合并处理,能够提高日志查询处理的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例日志查询的处理方法流程示意图;
图2为本发明实施例日志查询、合并处理的总体流程图;
图3为本发明实施例对日志查询结果进行合并处理的流程图;
图4为本发明实施例每一个Container获取日志查询结果的流程图;
图5为本发明实施例日志查询的处理装置结构示意图;
图6为本发明实施例提供的电子设备实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例日志查询的处理方法流程示意图,如图1所示,本发明实施例提供的一种日志查询的处理方法,包括以下步骤:
S1:获取日志查询请求;以使预先配置的日志处理集群中的每一个处理单元分别解析所述日志查询请求,并根据解析结果读取各自对应的日志存储目录,以获取各自对应的日志查询结果。
具体的,装置获取日志查询请求;以使预先配置的日志处理集群中的每一个处理单元分别解析所述日志查询请求,并根据解析结果读取各自对应的日志存储目录,以获取各自对应的日志查询结果。图2为本发明实施例日志查询、合并处理的总体流程图,如图2所示,日志查询请求(对应图2的日志查询条件)可以是用户输入的,日志处理集群中的每一个处理单元对应于图2中的每一个Container,具体的Container的预先配置,可以采用如下方式:获取日志查询所在设备的硬件信息;该硬件信息可以包括CPU的核数;配置与N个日志处理集群(N个Container),N可以为小于等于所述核数的正整数。举例说明如下:可以在配置文件中指定Container1绑定CPU核数1、指定Container2绑定CPU核数2,其他不再赘述;多个Container可以同时进行日志录入、日志存储、日志查询,可以将日志存储在如图2所示的共享内存中,为了便于管理,还可以在日志录入时将Container绑定的CPU编号记录在日志中。解析结果可以包括日志查询请求的查询次数、日志查询请求的查询时间等,日志存储目录可以是存储在磁盘上的目录,图2中的共享内存不感知日志存储目录,每个日志存储目录对应有一个日志存储目录标识(即ID),全局有序递增。参照图2,即Container1有对应的日志存储目录(存储于图2中的共享内存1)、以及日志查询结果(对应图2中的日志查询1);Container2有对应的日志存储目录(存储于图2中的共享内存2)、以及日志查询结果(对应图2中的日志查询2)。
S2:在获取所述日志查询结果的同时,对所述日志查询结果进行合并处理,以获取所有日志处理集群的最终日志查询结果。
具体的,装置在获取所述日志查询结果的同时,对所述日志查询结果进行合并处理,以获取所有日志处理集群的最终日志查询结果。例如:各Container可以在将日志查询结果写入各自的共享内存的同时,从多个共享内存中读取日志查询结果并写入最终的结果集(对应于预设存储介质,可以包括指定大小的共享内存等),当结果集写满时,可以进一步触发日志按时间排序,并根据最后一条日志设置全局Break_Time(对应于写入时间),同时设置该Container(对应于最后写入的日志处理集群中的一个目标)日志合并结束标记以及该Container全局日志查询结束标记,继续读取除这个Container以外的剩余的Container中的日志查询结果,并采用下一条日志查询结果更新结果集的最后一条日志,并可以再次触发排序(可以通过排序的方式获取记录最后写入所述预设存储介质中的日志查询结果的写入时间),并重复上述步骤,直至结束所有Container的日志查询查询或合并处理。该方法可以提前结束日志查询或日志合并过程,提高日志查询性能。
举例说明如下:结果集一次存放10页(每页20-100条可配)的日志数据,若用户请求的页数在10页内,则直接从结果集中读取;若跨了10页,则触发新的查询。比如第一次查询第1页,则读取10页的数据,后序查询2-10页时,直接读取结果集;若查询第11页,则触发新的查询。该方法对于同一个10页的数据,极大提升查询性能。
还可以采用如下方法,生成查找日志查询记录的索引:
获取结果集中的日志查询结果(最终日志查询结果)的第一条和最后一条日志在所述日志存储目录中的偏移,以及所述日志存储目录的标识(ID);偏移是用于表示日志在日志存储目录中的位置,根据所述第一条日志的偏移和最后一条日志的偏移,以及所述标识,生成查找日志查询记录的索引。即每一索引对应每一日志查询记录,需要说明的是:日志查询可以是基于日志列式存储,一个目录下有很多个列文件,但是每个列文件中的日志条数是一样的,取第10条日志,就是从所有列文件中读取第10条,然后拼成一个完整的日志;可以理解为一个日志存储目录中只有一个文件;如果需要100条,这个目录满足条件的只有50条,那另外50条就要读取下一个目录的文件。图3为本发明实施例对日志查询结果进行合并处理的流程图,如图3所示的步骤流程可参照上述说明,不再赘述。
本发明实施例提供的日志查询的处理方法,通过在日志处理集群中的每一个处理单元获取各自对应的日志查询结果的同时,对日志查询结果进行合并处理,能够提高日志查询处理的效率。
在上述实施例的基础上,所述解析结果包括:所述日志查询请求的查询次数;相应的,所述并根据解析结果读取各自对应的日志存储目录,以获取各自对应的日志查询结果,包括:
查找所述查询次数对应的上一次日志查询记录的索引,并由所述索引生成对应的上一次日志存储目录。
具体的,装置查找所述查询次数对应的上一次日志查询记录的索引,并由所述索引生成对应的上一次日志存储目录。图4为本发明实施例每一个Container获取日志查询结果的流程图,图4中的日志查询条件对应于日志查询请求,读取磁盘日志是读取磁盘,并将日志写入共享内存,需要说明的是:日志存储目录记录有该目录下日志总条数。
比较所述上一次日志存储目录和当前查询的所述日志存储目录,若比较结果满足预设条件,获取所述上一次日志存储目录的偏移,并从所述偏移开始读取当前查询的日志查询结果。
具体的,装置比较所述上一次日志存储目录和当前查询的所述日志存储目录,若比较结果满足预设条件,获取所述上一次日志存储目录的偏移,并从所述偏移开始读取当前查询的日志查询结果。参照图4,预设条件可以是当前日志存储目录的标识(ID)与上一次日志存储目录的标识(ID),如果标识不同,则不满足预设条件(即对应于图4中的不是预期的日志Volume),则继续读取Container的日志存储目录;如果标识相同,则满足预设条件(即对应于图4中的是预期的日志Volume),则从上一次日志存储目录的日志的偏移读取日志查询结果(对应于图4中的根据索引调整日志的起始偏移和日志条数,匹配日志查询条件)。该做法可以跳过部分不满足条件的日志,提高查询命中率,减少磁盘IO,进而提升查询性能。
本发明实施例提供的日志查询的处理方法,能够跳过部分不满足条件的日志,提高查询命中率,减少磁盘IO,进而提升查询性能。
在上述实施例的基础上,所述解析结果包括:所述日志查询请求的查询时间范围,并获取写入时间,所述写入时间是合并处理的日志查询结果写满预设存储介质时对应的时间;相应的,所述方法还包括:
获取所述查询时间范围的所有日志,以及所述所有日志中的每一个日志对应的生成时间。
具体的,装置获取所述查询时间范围的所有日志,以及所述所有日志中的每一个日志对应的生成时间。举例说明如下:查询时间范围为2018-01-01到2018-02-01,根据查询时间范围获取该Container待查的日志范围(例如这个日志范围内有200条);每条日志记录时,会记录日志的生成时间;获取这200条日志中的每一个日志的生成时间。
在所有生成时间中获取与所述查询时间范围对应的终止时间最接近的目标生成时间。
具体的,装置在所有生成时间中获取与所述查询时间范围对应的终止时间最接近的目标生成时间。继续参照上述举例:在这200条日志中的200个生成时间中,如果与2018-02-01(对应于查询时间范围对应的终止时间)最接近的生成时间是t,将生成时间t作为目标生成时间。
若所述目标生成时间早于所述写入时间,则直接结束获取日志查询的动作。
具体的,装置若判断获知所述目标生成时间早于所述写入时间,则直接结束获取日志查询的动作。写入时间的说明可参照上述说明,不再赘述。继续参照图4说明如下:如果目标生成时间晚于写入时间(对应图4中的不符合比较日志时间与Break_Time的条件),则继续获取日志查询结果;如果目标生成时间早于所述写入时间,(对应图4中的符合比较日志时间与Break_Time的条件),则直接结束获取日志查询结果。该方法预估到后序日志均不满足日志查询条件,直接结束查询,减少磁盘IO,提高日志查询性能。
若所述目标生成时间晚于所述写入时间,则继续执行获取日志查询的动作。
具体的,装置若判断获知所述目标生成时间晚于所述写入时间,则继续执行获取日志查询的动作。可参照上述实施例,不再赘述。
本发明实施例提供的日志查询的处理方法,进一步能够跳过部分不满足条件的日志,提高查询命中率,减少磁盘IO,进而提升查询性能。
在上述实施例的基础上,所述在获取所述日志查询结果的同时,对所述日志查询结果进行合并处理,以获取所有日志处理集群的最终日志查询结果,包括:
当合并处理的日志查询结果写满预设存储介质时,记录最后写入所述预设存储介质中的日志查询结果的写入时间。
具体的,装置当合并处理的日志查询结果写满预设存储介质时,记录最后写入所述预设存储介质中的日志查询结果的写入时间。可参照上述实施例,不再赘述。
在写入时间的同时,获取最后写入的日志处理集群中的一个目标,并对所述一个目标设置合并处理结束标记和日志查询结束标记。
具体的,装置在写入时间的同时,获取最后写入的日志处理集群中的一个目标,并对所述一个目标设置合并处理结束标记和日志查询结束标记。可参照上述实施例,不再赘述。
继续读取除所述一个目标以外的剩余日志处理集群的日志查询结果,并采用下一条日志查询结果更新所述预设存储介质中的最后一条日志,并再次触发记录最后写入所述预设存储介质中的日志查询结果的写入时间,直至结束所有日志处理集群的日志查询或合并处理。
具体的,装置继续读取除所述一个目标以外的剩余日志处理集群的日志查询结果,并采用下一条日志查询结果更新所述预设存储介质中的最后一条日志,并再次触发记录最后写入所述预设存储介质中的日志查询结果的写入时间,直至结束所有日志处理集群的日志查询或合并处理。可参照上述实施例,不再赘述。
本发明实施例提供的日志查询的处理方法,能够提前结束日志查询以及日志合并过程,提高日志查询性能。
在上述实施例的基础上,所述方法还包括:
获取所述预设存储介质中的日志查询结果的第一条和最后一条日志在所述日志存储目录中的偏移,以及所述日志存储目录的标识。
具体的,装置获取所述预设存储介质中的日志查询结果的第一条和最后一条日志在所述日志存储目录中的偏移,以及所述日志存储目录的标识。可参照上述实施例,不再赘述。
根据所述第一条日志的偏移和最后一条日志的偏移,以及所述标识,生成查找日志查询记录的索引。
具体的,装置根据所述第一条日志的偏移和最后一条日志的偏移,以及所述标识,生成查找日志查询记录的索引。可参照上述实施例,不再赘述。
本发明实施例提供的日志查询的处理方法,通过合理地生成索引,更加便于查找日志查询记录。
在上述实施例的基础上,所述日志处理集群的预先配置,包括:
获取日志查询所在设备的硬件信息;所述硬件信息包括CPU的核数。
具体的,装置获取日志查询所在设备的硬件信息;所述硬件信息包括CPU的核数。可参照上述实施例,不再赘述。
配置N个日志处理集群;并将所述日志处理集群中的每一个作为一个容器container;每个所述container用于各自的日志查询,以及采用各自的共享内存存储各自的日志查询结果,其中,N为小于等于所述核数的正整数。
具体的,装置配置N个日志处理集群;并将所述日志处理集群中的每一个作为一个容器container;每个所述container用于各自的日志查询,以及采用各自的共享内存存储各自的日志查询结果,其中,N为小于等于所述核数的正整数。可参照上述实施例,不再赘述。
本发明实施例提供的日志查询的处理方法,进一步能够合理地对日志处理集群进行预先配置。
图5为本发明实施例日志查询的处理装置结构示意图,如图5所示,本发明实施例提供了一种日志查询的处理装置,包括获取单元1和合并单元2,其中:
获取单元1用于获取日志查询请求;以使预先配置的日志处理集群中的每一个处理单元分别解析所述日志查询请求,并根据解析结果读取各自对应的日志存储目录,以获取各自对应的日志查询结果;合并单元2用于在获取所述日志查询结果的同时,对所述日志查询结果进行合并处理,以获取所有日志处理集群的最终日志查询结果。
具体的,获取单元1用于获取日志查询请求;以使预先配置的日志处理集群中的每一个处理单元分别解析所述日志查询请求,并根据解析结果读取各自对应的日志存储目录,以获取各自对应的日志查询结果;合并单元2用于在获取所述日志查询结果的同时,对所述日志查询结果进行合并处理,以获取所有日志处理集群的最终日志查询结果。
本发明实施例提供的日志查询的处理装置,通过在日志处理集群中的每一个处理单元获取各自对应的日志查询结果的同时,对日志查询结果进行合并处理,能够提高日志查询处理的效率。
在上述实施例的基础上,所述解析结果包括:所述日志查询请求的查询次数;相应的,所述获取单元1具体用于:
查找所述查询次数对应的上一次日志查询记录的索引,并由所述索引生成对应的上一次日志存储目录;比较所述上一次日志存储目录和当前查询的所述日志存储目录,若比较结果满足预设条件,获取所述上一次日志存储目录的偏移,并从所述偏移开始读取当前查询的日志查询结果。
具体的,所述获取单元1具体用于:
查找所述查询次数对应的上一次日志查询记录的索引,并由所述索引生成对应的上一次日志存储目录;比较所述上一次日志存储目录和当前查询的所述日志存储目录,若比较结果满足预设条件,获取所述上一次日志存储目录的偏移,并从所述偏移开始读取当前查询的日志查询结果。
本发明实施例提供的日志查询的处理装置,能够跳过部分不满足条件的日志,提高查询命中率,减少磁盘IO,进而提升查询性能。
在上述实施例的基础上,所述解析结果包括:所述日志查询请求的查询时间范围,并获取写入时间,所述写入时间是合并处理的日志查询结果写满预设存储介质时对应的时间;相应的,所述装置还用于:
获取所述查询时间范围的所有日志,以及所述所有日志中的每一个日志对应的生成时间;在所有生成时间中获取与所述查询时间范围对应的终止时间最接近的目标生成时间;若判断获知所述目标生成时间早于所述写入时间,则直接结束获取日志查询结果;若判断获知所述目标生成时间晚于所述写入时间,则继续获取日志查询结果。
具体的,所述装置还用于:
获取所述查询时间范围的所有日志,以及所述所有日志中的每一个日志对应的生成时间;在所有生成时间中获取与所述查询时间范围对应的终止时间最接近的目标生成时间;若判断获知所述目标生成时间早于所述写入时间,则直接结束获取日志查询结果;若判断获知所述目标生成时间晚于所述写入时间,则继续获取日志查询结果。
本发明实施例提供的日志查询的处理装置,进一步能够跳过部分不满足条件的日志,提高查询命中率,减少磁盘IO,进而提升查询性能。
在上述实施例的基础上,所述合并单元2具体用于:
当合并处理的日志查询结果写满预设存储介质时,记录最后写入所述预设存储介质中的日志查询结果的写入时间;在写入时间的同时,获取最后写入的日志处理集群中的一个目标,并对所述一个目标设置合并处理结束标记和日志查询结束标记;继续读取除所述一个目标以外的剩余日志处理集群的日志查询结果,并采用下一条日志查询结果更新所述预设存储介质中的最后一条日志,并再次触发记录最后写入所述预设存储介质中的日志查询结果的写入时间,直至结束所有日志处理集群的日志查询或合并处理。
具体的,所述合并单元2具体用于:
当合并处理的日志查询结果写满预设存储介质时,记录最后写入所述预设存储介质中的日志查询结果的写入时间;在写入时间的同时,获取最后写入的日志处理集群中的一个目标,并对所述一个目标设置合并处理结束标记和日志查询结束标记;继续读取除所述一个目标以外的剩余日志处理集群的日志查询结果,并采用下一条日志查询结果更新所述预设存储介质中的最后一条日志,并再次触发记录最后写入所述预设存储介质中的日志查询结果的写入时间,直至结束所有日志处理集群的日志查询或合并处理。
本发明实施例提供的日志查询的处理装置,能够提前结束日志查询以及日志合并过程,提高日志查询性能。
在上述实施例的基础上,所述装置还用于:
获取所述预设存储介质中的日志查询结果的第一条和最后一条日志在所述日志存储目录中的偏移,以及所述日志存储目录的标识;根据所述第一条日志的偏移和最后一条日志的偏移,以及所述标识,生成查找日志查询记录的索引。
具体的,所述装置还用于:
获取所述预设存储介质中的日志查询结果的第一条和最后一条日志在所述日志存储目录中的偏移,以及所述日志存储目录的标识;根据所述第一条日志的偏移和最后一条日志的偏移,以及所述标识,生成查找日志查询记录的索引。
本发明实施例提供的日志查询的处理装置,通过合理地生成索引,更加便于查找日志查询记录。
在上述实施例的基础上,所述日志处理集群的预先配置,包括:
获取日志查询所在设备的硬件信息;所述硬件信息包括CPU的核数;配置N个日志处理集群;并将所述日志处理集群中的每一个作为一个容器container;每个所述container用于各自的日志查询,以及采用各自的共享内存存储各自的日志查询结果,其中,N为小于等于所述核数的正整数。
具体的,所述日志处理集群的预先配置,包括:
获取日志查询所在设备的硬件信息;所述硬件信息包括CPU的核数;配置N个日志处理集群;并将所述日志处理集群中的每一个作为一个容器container;每个所述container用于各自的日志查询,以及采用各自的共享内存存储各自的日志查询结果,其中,N为小于等于所述核数的正整数。
本发明实施例提供的日志查询的处理装置,进一步能够合理地对日志处理集群进行预先配置。
本发明实施例提供的日志查询的处理装置具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
图6为本发明实施例提供的电子设备实体结构示意图,如图6所示,所述电子设备包括:处理器(processor)601、存储器(memory)602和总线603;
其中,所述处理器601、存储器602通过总线603完成相互间的通信;
所述处理器601用于调用所述存储器602中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取日志查询请求;以使预先配置的日志处理集群中的每一个处理单元分别解析所述日志查询请求,并根据解析结果读取各自对应的日志存储目录,以获取各自对应的日志查询结果;在获取所述日志查询结果的同时,对所述日志查询结果进行合并处理,以获取所有日志处理集群的最终日志查询结果。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取日志查询请求;以使预先配置的日志处理集群中的每一个处理单元分别解析所述日志查询请求,并根据解析结果读取各自对应的日志存储目录,以获取各自对应的日志查询结果;在获取所述日志查询结果的同时,对所述日志查询结果进行合并处理,以获取所有日志处理集群的最终日志查询结果。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取日志查询请求;以使预先配置的日志处理集群中的每一个处理单元分别解析所述日志查询请求,并根据解析结果读取各自对应的日志存储目录,以获取各自对应的日志查询结果;在获取所述日志查询结果的同时,对所述日志查询结果进行合并处理,以获取所有日志处理集群的最终日志查询结果。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的实施例各实施例技术方案的范围。
Claims (14)
1.一种日志查询的处理方法,其特征在于,包括:
获取日志查询请求;以使预先配置的日志处理集群中的每一个处理单元分别解析所述日志查询请求,并根据解析结果读取各自对应的日志存储目录,以获取各自对应的日志查询结果;
在获取所述日志查询结果的同时,对所述日志查询结果进行合并处理,以获取所有日志处理集群的最终日志查询结果。
2.根据权利要求1所述的方法,其特征在于,所述解析结果包括:所述日志查询请求的查询次数;相应的,所述并根据解析结果读取各自对应的日志存储目录,以获取各自对应的日志查询结果,包括:
查找所述查询次数对应的上一次日志查询记录的索引,并由所述索引生成对应的上一次日志存储目录;
比较所述上一次日志存储目录和当前查询的所述日志存储目录,若比较结果满足预设条件,获取所述上一次日志存储目录的偏移,并从所述偏移开始读取当前查询的日志查询结果。
3.根据权利要求1所述的方法,其特征在于,所述解析结果包括:所述日志查询请求的查询时间范围,并获取写入时间,所述写入时间是合并处理的日志查询结果写满预设存储介质时对应的时间;相应的,所述方法还包括:
获取所述查询时间范围的所有日志,以及所述所有日志中的每一个日志对应的生成时间;
在所有生成时间中获取与所述查询时间范围对应的终止时间最接近的目标生成时间;
若所述目标生成时间早于所述写入时间,则直接结束获取日志查询结果;
若所述目标生成时间晚于所述写入时间,则继续获取日志查询结果。
4.根据权利要求1所述的方法,其特征在于,所述在获取所述日志查询结果的同时,对所述日志查询结果进行合并处理,以获取所有日志处理集群的最终日志查询结果,包括:
当合并处理的日志查询结果写满预设存储介质时,记录最后写入所述预设存储介质中的日志查询结果的写入时间;
在写入时间的同时,获取最后写入的日志处理集群中的一个目标,并对所述一个目标设置合并处理结束标记和日志查询结束标记;
继续读取除所述一个目标以外的剩余日志处理集群的日志查询结果,并采用下一条日志查询结果更新所述预设存储介质中的最后一条日志,并再次触发记录最后写入所述预设存储介质中的日志查询结果的写入时间,直至结束所有日志处理集群的日志查询或合并处理。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取所述预设存储介质中的日志查询结果的第一条和最后一条日志在所述日志存储目录中的偏移,以及所述日志存储目录的标识;
根据所述第一条日志的偏移和最后一条日志的偏移,以及所述标识,生成查找日志查询记录的索引。
6.根据权利要求1所述的方法,其特征在于,所述日志处理集群的预先配置,包括:
获取日志查询所在设备的硬件信息;所述硬件信息包括CPU的核数;
配置N个日志处理集群;并将所述日志处理集群中的每一个作为一个容器container;每个所述container用于各自的日志查询,以及采用各自的共享内存存储各自的日志查询结果,其中,N为小于等于所述核数的正整数。
7.一种日志查询的处理装置,其特征在于,包括:
获取单元,用于获取日志查询请求;以使预先配置的日志处理集群中的每一个处理单元分别解析所述日志查询请求,并根据解析结果读取各自对应的日志存储目录,以获取各自对应的日志查询结果;
合并单元,用于在获取所述日志查询结果的同时,对所述日志查询结果进行合并处理,以获取所有日志处理集群的最终日志查询结果。
8.根据权利要求7所述的装置,其特征在于,所述解析结果包括:所述日志查询请求的查询次数;相应的,所述获取单元具体用于:
查找所述查询次数对应的上一次日志查询记录的索引,并由所述索引生成对应的上一次日志存储目录;
比较所述上一次日志存储目录和当前查询的所述日志存储目录,若比较结果满足预设条件,获取所述上一次日志存储目录的偏移,并从所述偏移开始读取当前查询的日志查询结果。
9.根据权利要求7所述的装置,其特征在于,所述解析结果包括:所述日志查询请求的查询时间范围,并获取写入时间,所述写入时间是合并处理的日志查询结果写满预设存储介质时对应的时间;相应的,所述装置还用于:
获取所述查询时间范围的所有日志,以及所述所有日志中的每一个日志对应的生成时间;
在所有生成时间中获取与所述查询时间范围对应的终止时间最接近的目标生成时间;
若判断获知所述目标生成时间早于所述写入时间,则直接结束获取日志查询结果;
若判断获知所述目标生成时间晚于所述写入时间,则继续获取日志查询结果。
10.根据权利要求7所述的装置,其特征在于,所述合并单元具体用于:
当合并处理的日志查询结果写满预设存储介质时,记录最后写入所述预设存储介质中的日志查询结果的写入时间;
在写入时间的同时,获取最后写入的日志处理集群中的一个目标,并对所述一个目标设置合并处理结束标记和日志查询结束标记;
继续读取除所述一个目标以外的剩余日志处理集群的日志查询结果,并采用下一条日志查询结果更新所述预设存储介质中的最后一条日志,并再次触发记录最后写入所述预设存储介质中的日志查询结果的写入时间,直至结束所有日志处理集群的日志查询或合并处理。
11.根据权利要求10所述的装置,其特征在于,所述装置还用于:
获取所述预设存储介质中的日志查询结果的第一条和最后一条日志在所述日志存储目录中的偏移,以及所述日志存储目录的标识;
根据所述第一条日志的偏移和最后一条日志的偏移,以及所述标识,生成查找日志查询记录的索引。
12.根据权利要求7所述的装置,其特征在于,所述日志处理集群的预先配置,包括:
获取日志查询所在设备的硬件信息;所述硬件信息包括CPU的核数;
配置N个日志处理集群;并将所述日志处理集群中的每一个作为一个容器container;每个所述container用于各自的日志查询,以及采用各自的共享内存存储各自的日志查询结果,其中,N为小于等于所述核数的正整数。
13.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中:
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-6任一项所述的方法。
14.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810065391.3A CN108038253B (zh) | 2018-01-23 | 2018-01-23 | 一种日志查询的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810065391.3A CN108038253B (zh) | 2018-01-23 | 2018-01-23 | 一种日志查询的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108038253A true CN108038253A (zh) | 2018-05-15 |
CN108038253B CN108038253B (zh) | 2021-03-12 |
Family
ID=62096576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810065391.3A Active CN108038253B (zh) | 2018-01-23 | 2018-01-23 | 一种日志查询的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108038253B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109782982A (zh) * | 2018-12-29 | 2019-05-21 | 北京奇安信科技有限公司 | 一种读取日志的处理方法及终端 |
CN110134576A (zh) * | 2019-04-30 | 2019-08-16 | 平安科技(深圳)有限公司 | 一种批处理日志查询方法、终端及计算机可读存储介质 |
CN112291085A (zh) * | 2020-10-10 | 2021-01-29 | 北京金山云网络技术有限公司 | 一种故障定位方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101067822A (zh) * | 2006-05-03 | 2007-11-07 | 国际商业机器公司 | 用于元数据的分级存储管理的方法和系统 |
US7844599B2 (en) * | 2005-08-24 | 2010-11-30 | Yahoo! Inc. | Biasing queries to determine suggested queries |
CN102646130A (zh) * | 2012-03-12 | 2012-08-22 | 华中科技大学 | 一种海量历史数据的存储及索引方法 |
CN103136364A (zh) * | 2013-03-14 | 2013-06-05 | 曙光信息产业(北京)有限公司 | 集群数据库系统及其数据查询处理方法 |
WO2014172098A1 (en) * | 2013-04-17 | 2014-10-23 | Yahoo! Inc. | Efficient database searching |
CN104714878A (zh) * | 2013-12-11 | 2015-06-17 | 阿里巴巴集团控股有限公司 | 一种收集日志数据的方法及装置 |
CN107436844A (zh) * | 2017-07-07 | 2017-12-05 | 北京奇安信科技有限公司 | 一种接口用例合集的生成方法及装置 |
-
2018
- 2018-01-23 CN CN201810065391.3A patent/CN108038253B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7844599B2 (en) * | 2005-08-24 | 2010-11-30 | Yahoo! Inc. | Biasing queries to determine suggested queries |
CN101067822A (zh) * | 2006-05-03 | 2007-11-07 | 国际商业机器公司 | 用于元数据的分级存储管理的方法和系统 |
CN102646130A (zh) * | 2012-03-12 | 2012-08-22 | 华中科技大学 | 一种海量历史数据的存储及索引方法 |
CN103136364A (zh) * | 2013-03-14 | 2013-06-05 | 曙光信息产业(北京)有限公司 | 集群数据库系统及其数据查询处理方法 |
WO2014172098A1 (en) * | 2013-04-17 | 2014-10-23 | Yahoo! Inc. | Efficient database searching |
CN104714878A (zh) * | 2013-12-11 | 2015-06-17 | 阿里巴巴集团控股有限公司 | 一种收集日志数据的方法及装置 |
CN107436844A (zh) * | 2017-07-07 | 2017-12-05 | 北京奇安信科技有限公司 | 一种接口用例合集的生成方法及装置 |
Non-Patent Citations (2)
Title |
---|
ERICNIE: "Kubernetes Fluentd+Elasticsearch+Kibana统一日志管理平台搭建的填坑指南", 《KUBERNETES FLUENTD+ELASTICSEARCH+KIBANA统一日志管理平台搭建的填坑指南》 * |
WISDOM-WF: "Elasticsearch实时分布式查询", 《ELASTICSEARCH权威指南》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109782982A (zh) * | 2018-12-29 | 2019-05-21 | 北京奇安信科技有限公司 | 一种读取日志的处理方法及终端 |
CN110134576A (zh) * | 2019-04-30 | 2019-08-16 | 平安科技(深圳)有限公司 | 一种批处理日志查询方法、终端及计算机可读存储介质 |
CN110134576B (zh) * | 2019-04-30 | 2023-01-17 | 平安科技(深圳)有限公司 | 一种批处理日志查询方法、终端及计算机可读存储介质 |
CN112291085A (zh) * | 2020-10-10 | 2021-01-29 | 北京金山云网络技术有限公司 | 一种故障定位方法、装置、设备及介质 |
CN112291085B (zh) * | 2020-10-10 | 2023-01-20 | 北京金山云网络技术有限公司 | 一种故障定位方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108038253B (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1566753B1 (en) | Searchable archive | |
US10216847B2 (en) | Document reuse in a search engine crawler | |
US8024296B1 (en) | Method and apparatus for agent-less auditing of server | |
CN108038253A (zh) | 一种日志查询的处理方法及装置 | |
US20070136397A1 (en) | Information life-cycle management architecture for a device with infinite storage capacity | |
CN109740034A (zh) | 基于图形数据库的企业涉案信息查询方法及装置 | |
CN108197139A (zh) | 一种同步更新配置项的处理方法及终端 | |
CN110442580A (zh) | 一种区块链状态数据存储方法、设备和存储介质 | |
CN107783850A (zh) | 一种节点树勾选记录的解析方法、装置、服务器及系统 | |
CN101217315A (zh) | 一种告警屏蔽的配置方法和系统 | |
US9747328B2 (en) | Method and apparatus for modifying a row in a database table to include meta-data | |
US8239383B2 (en) | System and method for managing execution of queries against database samples | |
CN106503186A (zh) | 一种数据管理方法、客户端及系统 | |
US8261246B1 (en) | Method and system for dynamically populating groups in a developer environment | |
CN108197275A (zh) | 一种分布式文件列存储索引方法 | |
WO2013076713A1 (en) | Systems and methods of automatic generation and execution of database queries | |
CN108038182A (zh) | 一种基于Flume的关系数据库存储数据的方法和装置 | |
CN109063186A (zh) | 一种跨表查询方法及相关装置 | |
JP4887620B2 (ja) | 文書検索装置および方法 | |
CN107967355A (zh) | 一种数据的获取方法、装置及介质 | |
CN111444195B (zh) | 一种块链式账本中索引的清除方法、装置及设备 | |
JP2004030294A (ja) | データベース検索装置及び記録媒体 | |
CN105786777B (zh) | 基于文本解析器的存储容量集中处理方法 | |
WO2008091054A1 (en) | Enhanced file system and method of managing files using the file system | |
CN114860864A (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 | ||
CB02 | Change of applicant information |
Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant after: QAX Technology Group Inc. Address before: 100015 15, 17 floor 1701-26, 3 building, 10 Jiuxianqiao Road, Chaoyang District, Beijing. Applicant before: BEIJING QIANXIN TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |