CN111352902A - 日志处理方法、装置、终端设备及存储介质 - Google Patents
日志处理方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN111352902A CN111352902A CN202010127441.3A CN202010127441A CN111352902A CN 111352902 A CN111352902 A CN 111352902A CN 202010127441 A CN202010127441 A CN 202010127441A CN 111352902 A CN111352902 A CN 111352902A
- Authority
- CN
- China
- Prior art keywords
- identifier
- log
- preset
- association table
- preset association
- 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
Links
Images
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
Abstract
本申请适用于计算机技术领域,提供了日志处理方法,包括:获取日志文件查询请求,所述日志文件查询请求携带第一标识和查询关键字;根据所述第一标识,获取所述第一标识对应的预设关联表,所述预设关联表中包含多个第二标识;读取所述预设关联表中所述查询关键字对应的所述第二标识;根据所述第二标识,调取存储层中所述第二标识对应的第一日志文件。通过第一标识快速获取预设关联表,根据查询关键字查找对应的第二标识,根据第二标识加载对应的日志文件,从而不需要根据第一标识加载出全部的日志文件,减少日志文件的加载时间,并且根据查询关键字实现快速定位日志文件,提高日志文件的查询效率。
Description
技术领域
本申请属于计算机技术领域,尤其涉及日志处理方法、装置、终端设备及存储介质。
背景技术
当系统出现问题时,一般需要依赖系统运行时的日志来核实系统问题。但目前,基于ARK架构(由C++编写轻量级分布式插件框架)的日志服务查询日志时,无法快速查找到目标日志,导致无法快速有效地查找出系统问题,使得系统问题无法及时解决。
发明内容
本申请实施例提供了日志处理方法、装置、终端设备及存储介质,可以解决无法快速查找到目标日志的问题。
第一方面,本申请实施例提供了一种日志处理方法,包括:
获取日志文件查询请求,所述日志文件查询请求携带第一标识和查询关键字;
根据所述第一标识,获取所述第一标识对应的预设关联表,所述预设关联表中包含多个第二标识;
读取所述预设关联表中所述查询关键字对应的所述第二标识;
根据所述第二标识,调取存储层中所述第二标识对应的第一日志文件。
本申请实施例通过第一标识快速获取预设关联表,根据查询关键字查找对应的第二标识,根据第二标识加载对应的日志文件,从而只需要加载预设关联表以查找第二标识,而不需要根据第一标识加载出全部的日志文件,也不需要再从全部日志文件中找寻到对应的第一日志文件,减少日志文件的加载时间,并且根据查询关键字实现快速定位日志文件,提高日志文件的查询效率。
第二方面,本申请实施例提供了一种日志处理装置,包括:
第一获取模块,用于获取日志文件查询请求,所述日志文件查询请求携带第一标识和查询关键字;
第二获取模块,用于根据所述第一标识,获取所述第一标识对应的预设关联表,所述预设关联表中包含多个第二标识;
读取模块,用于读取所述预设关联表中所述查询关键字对应的所述第二标识;
调取模块,用于根据所述第二标识,调取存储层中所述第二标识对应的第一日志文件。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的日志处理方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的日志处理方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的日志处理方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的日志处理方法的流程示意图;
图2是本申请另一实施例提供的日志处理方法的流程示意图;
图3是本申请另一实施例提供的日志处理方法的流程示意图;
图4是本申请另一实施例提供的日志处理方法的流程示意图;
图5是本申请另一实施例提供的日志处理方法的流程示意图;
图6是本申请实施例提供的日志处理装置的结构示意图;
图7是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
如背景技术相关介绍,当系统出现问题时,一般需要依赖系统运行时的日志来核实系统问题。但目前,基于ARK架构(由C++编写轻量级分布式插件框架)的日志服务查询日志时,无法快速查找到目标日志,而且无法打印某些日志级别(如info)的日志文件,导致无法快速有效地查找出系统问题,使得系统问题无法及时解决。
因此,本申请实施例提供一种日志处理方法,实现通过第一标识快速获取预设关联表,根据查询关键字从预设关联表中查找对应的第二标识,根据第二标识加载对应的日志文件的过程,减少日志文件的加载时间,提高日志文件的查询效率,解决无法快速有效地查找出目标日志的问题。
其中,上述ARK框架是由C++语言编写的轻量级分布式插件框架,其可以更轻松、更快捷地创建应用程序服务。上述日志处理方法基于ARK框架下的多个微服务,该方法可跟踪各个微服务的调用关系和查询各个微服务产生的日志文件。
本申请实施例提供的日志处理方法可应用于手机、平板电脑、车载设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、桌上型计算机、服务器等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
图1示出了本申请提供的日志处理方法的示意性流程图,作为示例而非限定,该方法可以应用于上述终端设备中。如图1所示该方法包括步骤S101至S104,各步骤的具体实现原理如下。
S101,获取日志文件查询请求,所述日志文件查询请求携带第一标识和查询关键字;
在上述S101中,上述第一标识为全局跟踪标识,即trace ID,其可以具有唯一性,具体地,第一标识可以是业务流水号,也可以是其他通过随机算法、哈希算法等生成的唯一的traceID。上述查询关键字包括但不限于时间关键字、微服务名称关键字、日志级别关键字,以用于快速定位到用户需要查询的日志文件,提高查询效率。在本实施例中,用户在前端输入第一标识(如业务流水号)和查询关键字后点击确认,则前端向后端发生携带第一标识和查询关键字的日志查询请求,后端获取该日志查询请求。
S102,根据所述第一标识,获取所述第一标识对应的预设关联表,所述预设关联表中包含多个第二标识;
在上述S102中,预设关联表为存储于数据库中的数据表,该数据库可以是redis。上述第二标识为执行业务处理请求时调用每个微服务而分别生成的调用标识,其用于标识调用对应微服务而产生的日志文件。例如,后端根据业务处理请求调用对应的微服务执行该业务,则生成该微服务对应的第二标识,并将该第二标识写入调用该微服务执行本次业务请求所产生的日志文件中,以及将该第二标识关联第一标识并记录到预设关联表中。应理解,同一个业务处理请求下,每调用一个微服务则生成一个该微服务对应的第二标识。
通过获取预设关联表,以便于查询到第二标识,并根据第二标识加载对应的日志文件,而不需要根据第一标识加载出全部的日志文件,这样可以减少文件加载时间。
S103,读取所述预设关联表中所述查询关键字对应的所述第二标识;
在上述S103中,上述查询关键字与第二标识存在对应关系,可选地,上述对应关系可以记录于预设关联表中,例如,上述预设关联表还记录每个所述第二标识对应的微服务、添加至所述预设关联表中的时间点,第二标识对应的日志文件的日志级别。可选地,上述对应关系也可以记录于其他数据表中,从其他数据表中查询第二标识与查询关键字间的关系,再根据上述关系从预设关联表中获取查询关键字对应的一个或多个第二标识。
S104,根据所述第二标识,调取存储层中所述第二标识对应的第一日志文件。
在上述S104中,上述存储层为存储日志文件的数据库,该数据库可以是MySQL、Oracle、Mongdb等,优选为Mongdb,日志数据为非结构化数据,存储在Mongodb中无需考虑数据结构上的变化,更便于存储。由于第二标识在生产日志文件时就已经写入到了日志文件中,所以根据第二标识找寻存储层中含有第二标识的第一日志文件,并将该第一日志文件加载出来,而不需要加载出全部日志文件,再从全部日志文件中找寻到对应的第一日志文件,减少日志文件的加载时间,并且根据查询关键字实现快速定位日志文件,提高日志文件的查询效率。
在图1所示实施例的基础上,本申请提供另一种日志处理方法的实施例。上述S102具体包括S1021。需要说明的是,与图1实施例相同的步骤此处不再赘述,请参见前述。
S1021,根据所述第一标识,读取数据库中的预设映射表,并获取所述预设映射表中所述第一标识对应的预设关联表,所述预设映射表中包含多个第三标识与多个所述预设关联表之间的映射关系,所述第一标识为多个所述第三标识中的一个。
在上述S1021中,基于ARK架构的微服务处理同一个业务处理请求时,生成该次请求的全局跟踪标识(第一标识),并将该第一标识和记录该次请求的微服务间调用关系的预设关联表ID写入预设映射表中,写入方式可以是以第一标识为Key、预设关联表ID为value写入预设映射表。具体地,可采用雪花模型实现预设关联表、预设映射表以及其他数据表之间的表间关联,也可以采用星型模型实现预设关联表与预设映射表之间的表间关联。
通过预设映射表实现从多个业务处理请求对应的多个预设关联表中快速查找到第一标识对应的预设关联表,再直接读取对应的预设关联表,而不需要遍历数据库中的多个预设关联表以查找到对应的预设关联表,提高了查询效率。
可选地,上述查询关键字包括时间关键字、微服务名称关键字和日志级别关键字中的一个或多个。
当所述查询关键字为时间关键字时,获取所述时间关键字对应时间点或时间段内的一个或多个所述第二标识,其中所述预设关联表中还包含每个所述第二标识添加到所述预设关联表时的时间点。上述时间关键字为查询对应时间点或时间段内的日志文件的关键字,例如,17:30~17:32,或15:40。当为时间关键字时,获取对应时间段内的所有第二标识或对应时间点的所有第二标识,从而可以根据第二标识获取到对应时间点或时间段内的所有日志文件。
当所述查询关键字为微服务名称关键字时,获取所述微服务名称关键字对应微服务名称的一个或多个所述第二标识,其中所述预设关联表还包含每个所述第二标识对应的微服务名称。上述微服务名称关键字为根据微服务名称查询日志文件的关键字。当为微服务关键字时,在微服务名称校验正确的情况下,获取该微服务名称对应的所有第二标识,从而根据对应的第二标识获取该微服务执行对应业务处理请求时产生的所有日志文件。可以理解的是,在同一个业务处理请求下,每次调用一次微服务则根据UUID生成一个第二标识,以避免多次调用同一个微服务导致日志数据混乱。
当所述查询关键字为日志级别关键字时,获取所述日志级别关键字对应日志级别的一个或多个所述第二标识,其中所述预设关联表中还包含每个所述第二标识对应的日志文件的日志级别。上述日志级别关键字为查询对应日志级别的日志文件的关键字,例如error,warn。当为日志级别关键字时,获取对应日志级别的第二标识,从而根据对应的第二标识获取该日志级别对的所有日志文件。通过日志级别关键字查询日志文件,可以更快速的核实系统问题。
应理解,查询关键字还可以是时间关键字、微服务名称关键字和日志级别关键字中的任意组合,以查找出同时满足时间、微服务和/或日志级别的日志文件。
可选地,上述日志级别包括但不限于info、warn和error级别。
在本实施中,上述info级别为表明系统正常状态的日志级别,warn级别为表明系统出现轻微的不合理但不影响运行和使用的日志级别,error级别为表明系统出现错误和异常而无法正常完成目标操作的日志级别。日志级别从低到高为info<warn<error,在一般的日志打印系统中,定义高级别日志后,则低级别日志无法打印,例如系统定义了warn级别,则info级别的日志数据无法被打印,warn级别和error级别可以被打印。
在图1所示实施例的基础上,图2为本申请实施例提供的另一种日志处理方法的流程示意图。上述S104之后还包括S201和S202。需要说明的是,与图1实施例相同的步骤此处不再赘述,请参见前述。
S201,获取所述预设关联表中所述第二标识对应的关联链路,所述预设关联表中包含的多个关联链路,每个所述关联链路包含一个所述第一标识与一个或多个第四标识之间的关联关系,所述第二标识为所述第四标识中的一个;
在上述S201中,由于一个业务处理请求可能需要多个微服务协同完成,所以部分微服务之间存在调用关系,即部分第二标识之间存在拓扑关系,上述关联链路为记录上述拓扑关系的链路。例如,后端接收到业务处理请求后,分别调用微服务A、B协同处理,其中微服务A在处理业务时又调用了微服务C、D,则存在后端-微服务A-微服务C、后端-微服务A-微服务D、后端-微服务B三个关联链路,三个关联链路有一个共同节点为后端,则后端这个节点将三个关联链路组成了一个完整关联链路,其中后端对应的是第一标识,微服务A、B、C和D分别对应一个第二标识。
S202,根据所述关联链路,调取所述关联链路中所有所述第四标识对应的第二日志。
在上述S202中,为了便于核实系统问题,则调取用户输入的查询关键字对应的第二标识的上下文,即调取第二标识所在关联链路的所有日志文件。
在图1所示实施例的基础上,图3为本申请实施例提供的另一种日志处理方法的流程示意图。上述S101之后还包括S301~S303。需要说明的是,与图1实施例相同的步骤此处不再赘述,请参见前述。
S301,获取业务处理请求,并生成所述业务处理请求对应的所述第一标识;
在上述S301中,上述业务处理请求包括系统运行过程中的请求,上述第一标识用于跟踪同一个业务处理请求下的所有日志文件,例如,后端接收前端发送的业务请求,例如查询账户余额的请求、资金转移的请求等;后端生成该次业务请求对应的唯一的第一标识,其可以是该次业务请求的业务流水号,以traceID为key、业务流水号为vakue的方式存储,第一标识作为查询该次业务请求所产生的日志文件的全局索引。
S302,获取调用若干个微服务处理所述业务处理请求时产生的若干个日志数据,并生成每个所述日志数据对应的所述第二标识;
在上述S302中,上述第二标识在同一个预设关联表具有唯一性,以保证第一标识所关联的每个第二标识都是唯一的,优选地,上述第二标识在全局中具有唯一性,以进一步保证第二标识在所有日志文件中是唯一的。
S303,建立所述第一标识与每个所述第二标识对应的所述预设关联表。
在上述S303中,可选地,可将所有的第二标识均作为key、第一标识作为value存储于redis中,从而建立每个第二标识与第一标识的映射关系,使得系统完整的跟踪所有微服务间的日志数据,从而实现根据第一标识获取同一个任务请求所产生所有日志数据。可选地,根据各个微服务间的调用关系,将第二标识以树形结构关联第一标识和其他第二标识,以建立第一标识与第二标识的映射关系以及存在调用关系的第二标识之间的映射关系,便于用户定位系统问题,提高核实系统问题的效率。
在图3所示实施例的基础上,图4为本申请实施例提供的另一种日志处理方法的流程示意图。上述S303之后还包括S401~S403。需要说明的是,与图3实施例相同的步骤此处不再赘述,请参见前述。
S401,将每个所述日志数据写入对应的预设缓冲队列;
在上述S401中,上述日志数据包括但不限于info级别、warn级别和error级别的日志数据,将日志级别定义为info级别,并提供info级别、warn级别以及error级别分别对应的预设缓冲队列,以用于暂时缓存不同级别类型的日志数据。进一步地,系统在大部分情况是属于正常状态的,info级别的日志数据会较其他日志级别的日志数据多,所以info级别的预设缓冲队列较warn级别和error级别的预设缓冲队列多,例如3个info级别的预设缓冲队列,warn级别和error级别各1个。
S402,调用所述预设缓冲队列对应的日志消费者,对所述预设缓冲队列中的每个所述日志数据进行处理,得到每个日志数据对应的日志文件;
S403,将所述日志文件存储至所述存储层。
在上述S402和S403中,上述日志消费者为日志处理中生产者消费者模型的消费者。每个缓冲队列均对应有一个或多个日志消费者,日志消费者将日志数据消费至数据库中存放至对应日志级别的日志库,以便于后期查询对应日志级别的日志文件。
在图4所示实施例的基础上,图5为本申请实施例提供的另一种日志处理方法的流程示意图。上述方法还包括S501和S502。需要说明的是,与图4实施例相同的步骤此处不再赘述,请参见前述。
S501,定时检测所述预设缓冲队列;
S502,当所述预设缓冲队列不存在所述日志数据时,则控制所述缓冲队列对应的日志消费者休眠预设时间。
在上述S501中,定时检测缓冲队列对应的日志消费者是否处于空闲状态,当缓存队列对应的日志消费者处于空闲状态时,检测缓存队列是否有日志数据,若有,则消费日志数据以将日志数据存储于数据库中;若无,则循环检测直至检测次数达到预设次数时,日志消费者还是没有日志数据,则控制日志消费者休眠预设时间,以减少线程占用。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的日志处理方法,图6示出了本申请实施例提供的日志处理装置600的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图6,该装置包括:
第一获取模块601,用于获取日志文件查询请求,所述日志文件查询请求携带第一标识和查询关键字;
第二获取模块602,用于根据所述第一标识,获取所述第一标识对应的预设关联表,所述预设关联表中包含多个第二标识;
读取模块603,用于读取所述预设关联表中所述查询关键字对应的所述第二标识;
调取模块604,用于根据所述第二标识,调取存储层中所述第二标识对应的第一日志文件。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图7为本申请一实施例提供的终端设备的结构示意图。如图7所示,该实施例的终端设备7包括:至少一个处理器70(图7中仅示出一个)处理器、存储器71以及存储在所述存储器71中并可在所述至少一个处理器70上运行的计算机程序72,所述处理器70执行所述计算机程序72时实现上述任意各个日志处理方法实施例中的步骤。
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的举例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),该处理器70还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71在一些实施例中可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71在另一些实施例中也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种日志处理方法,其特征在于,包括:
获取日志文件查询请求,所述日志文件查询请求携带第一标识和查询关键字;
根据所述第一标识,获取所述第一标识对应的预设关联表,所述预设关联表中包含多个第二标识;
读取所述预设关联表中所述查询关键字对应的所述第二标识;
根据所述第二标识,调取存储层中所述第二标识对应的第一日志文件。
2.如权利要求1所述的日志处理方法,其特征在于,所述根据所述第一标识,获取所述第一标识对应的预设关联表,包括:
根据所述第一标识,读取数据库中的预设映射表,并获取所述预设映射表中所述第一标识对应的预设关联表,所述预设映射表中包含多个第三标识与多个所述预设关联表之间的映射关系,所述第一标识为多个所述第三标识中的一个。
3.如权利要求1所述的日志处理方法,其特征在于,所述查询关键字包括时间关键字、微服务名称关键字和日志级别关键字中的一个或多个。
4.如权利要求1所述的日志处理方法,其特征在于,所述根据所述第二标识,调取存储层中所述第二标识对应的第一日志之后,还包括:
获取所述预设关联表中所述第二标识对应的关联链路,所述预设关联表中包含的多个关联链路,每个所述关联链路包含一个所述第一标识与一个或多个第四标识之间的关联关系,所述第二标识为所述第四标识中的一个;
根据所述关联链路,调取所述关联链路中所有所述第四标识对应的第二日志。
5.如权利要求1所述的日志处理方法,其特征在于,所述获取日志查询请求之前,还包括:
获取业务处理请求,并生成所述业务处理请求对应的所述第一标识;
获取调用若干个微服务处理所述业务处理请求时产生的若干个日志数据,并生成每个所述日志数据对应的所述第二标识;
建立所述第一标识与每个所述第二标识对应的所述预设关联表。
6.如权利要求5所述的日志处理方法,其特征在于,所述建立所述第一标识与每个所述第二标识对应的所述预设关联表之后,还包括:
将每个所述日志数据写入对应的预设缓冲队列;
调用所述预设缓冲队列对应的日志消费者,对所述预设缓冲队列中的每个所述日志数据进行处理,得到每个日志数据对应的所述日志文件;
将所述日志文件存储至所述存储层。
7.如权利要求6所述的日志处理方法,其特征在于,所述方法还包括:
定时检测所述预设缓冲队列;
当所述预设缓冲队列不存在所述日志数据时,则控制所述预设缓冲队列对应的日志消费者休眠预设时间。
8.一种日志处理装置,其特征在于,包括:
第一获取模块,用于获取日志文件查询请求,所述日志文件查询请求携带第一标识和查询关键字;
第二获取模块,用于根据所述第一标识,获取所述第一标识对应的预设关联表,所述预设关联表中包含多个第二标识;
读取模块,用于读取所述预设关联表中所述查询关键字对应的所述第二标识;
调取模块,用于根据所述第二标识,调取存储层中所述第二标识对应的第一日志文件。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127441.3A CN111352902A (zh) | 2020-02-28 | 2020-02-28 | 日志处理方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127441.3A CN111352902A (zh) | 2020-02-28 | 2020-02-28 | 日志处理方法、装置、终端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111352902A true CN111352902A (zh) | 2020-06-30 |
Family
ID=71197094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010127441.3A Pending CN111352902A (zh) | 2020-02-28 | 2020-02-28 | 日志处理方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111352902A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835562A (zh) * | 2020-07-01 | 2020-10-27 | 北京爱笔科技有限公司 | 日志上传方法、日志查询方法、系统 |
CN111881281A (zh) * | 2020-07-29 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种日志处理方法、装置、设备、介质 |
CN112099822A (zh) * | 2020-08-26 | 2020-12-18 | 华人运通(江苏)技术有限公司 | 文件更新提醒方法、装置、设备和存储介质 |
CN112258298A (zh) * | 2020-11-19 | 2021-01-22 | 中国民航信息网络股份有限公司 | 一种数据处理方法、装置及电子设备 |
CN112416897A (zh) * | 2020-11-18 | 2021-02-26 | 青岛海尔科技有限公司 | 日志查询方法、装置和存储介质及电子装置 |
CN112612752A (zh) * | 2020-12-17 | 2021-04-06 | 浪潮云信息技术股份公司 | 日志数据的管理方法和装置 |
CN112712610A (zh) * | 2020-12-30 | 2021-04-27 | 深圳市元征科技股份有限公司 | 车辆诊断日志处理方法、装置、终端设备及可读存储介质 |
CN112783743A (zh) * | 2021-01-26 | 2021-05-11 | 深圳融安网络科技有限公司 | 日志生成方法、终端设备及存储介质 |
CN113420003A (zh) * | 2021-06-30 | 2021-09-21 | 中国航空油料有限责任公司 | 一种数据交互日志的处理方法、装置、设备及介质 |
CN114629929A (zh) * | 2022-03-16 | 2022-06-14 | 北京奇艺世纪科技有限公司 | 一种日志记录方法、装置及系统 |
CN115118583A (zh) * | 2022-06-29 | 2022-09-27 | 北京奇艺世纪科技有限公司 | 日志查询方法、装置、电子设备及计算机可读存储设备 |
-
2020
- 2020-02-28 CN CN202010127441.3A patent/CN111352902A/zh active Pending
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835562A (zh) * | 2020-07-01 | 2020-10-27 | 北京爱笔科技有限公司 | 日志上传方法、日志查询方法、系统 |
CN111835562B (zh) * | 2020-07-01 | 2023-10-17 | 北京爱笔科技有限公司 | 日志上传方法、日志查询方法、系统 |
CN111881281A (zh) * | 2020-07-29 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种日志处理方法、装置、设备、介质 |
CN112099822A (zh) * | 2020-08-26 | 2020-12-18 | 华人运通(江苏)技术有限公司 | 文件更新提醒方法、装置、设备和存储介质 |
CN112099822B (zh) * | 2020-08-26 | 2023-09-15 | 华人运通(江苏)技术有限公司 | 文件更新提醒方法、装置、设备和存储介质 |
CN112416897B (zh) * | 2020-11-18 | 2023-07-21 | 青岛海尔科技有限公司 | 日志查询方法、装置和存储介质及电子装置 |
CN112416897A (zh) * | 2020-11-18 | 2021-02-26 | 青岛海尔科技有限公司 | 日志查询方法、装置和存储介质及电子装置 |
CN112258298A (zh) * | 2020-11-19 | 2021-01-22 | 中国民航信息网络股份有限公司 | 一种数据处理方法、装置及电子设备 |
CN112612752A (zh) * | 2020-12-17 | 2021-04-06 | 浪潮云信息技术股份公司 | 日志数据的管理方法和装置 |
CN112712610A (zh) * | 2020-12-30 | 2021-04-27 | 深圳市元征科技股份有限公司 | 车辆诊断日志处理方法、装置、终端设备及可读存储介质 |
CN112712610B (zh) * | 2020-12-30 | 2024-02-27 | 深圳市元征科技股份有限公司 | 车辆诊断日志处理方法、装置、终端设备及可读存储介质 |
CN112783743A (zh) * | 2021-01-26 | 2021-05-11 | 深圳融安网络科技有限公司 | 日志生成方法、终端设备及存储介质 |
CN112783743B (zh) * | 2021-01-26 | 2023-04-28 | 深圳融安网络科技有限公司 | 日志生成方法、终端设备及存储介质 |
CN113420003A (zh) * | 2021-06-30 | 2021-09-21 | 中国航空油料有限责任公司 | 一种数据交互日志的处理方法、装置、设备及介质 |
CN114629929A (zh) * | 2022-03-16 | 2022-06-14 | 北京奇艺世纪科技有限公司 | 一种日志记录方法、装置及系统 |
CN114629929B (zh) * | 2022-03-16 | 2024-03-08 | 北京奇艺世纪科技有限公司 | 一种日志记录方法、装置及系统 |
CN115118583A (zh) * | 2022-06-29 | 2022-09-27 | 北京奇艺世纪科技有限公司 | 日志查询方法、装置、电子设备及计算机可读存储设备 |
CN115118583B (zh) * | 2022-06-29 | 2024-03-26 | 北京奇艺世纪科技有限公司 | 日志查询方法、装置、电子设备及计算机可读存储设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111352902A (zh) | 日志处理方法、装置、终端设备及存储介质 | |
US9996565B2 (en) | Managing an index of a table of a database | |
CN107798038B (zh) | 数据响应方法及数据响应设备 | |
CN110225104B (zh) | 数据获取方法、装置及终端设备 | |
CN112434015B (zh) | 数据存储的方法、装置、电子设备及介质 | |
TW202017346A (zh) | 基於區塊鏈的跨鏈資料存取方法和裝置 | |
CN112597153B (zh) | 一种基于区块链的数据存储方法、装置及存储介质 | |
CN107704202B (zh) | 一种数据快速读写的方法和装置 | |
MX2013014800A (es) | Recomendacion de enriquecimientos de datos. | |
US9514170B1 (en) | Priority queue using two differently-indexed single-index tables | |
CN111737564B (zh) | 一种信息查询方法、装置、设备及介质 | |
US20230030856A1 (en) | Distributed table storage processing method, device and system | |
CN110618999A (zh) | 数据的查询方法及装置、计算机存储介质、电子设备 | |
CN111611249A (zh) | 数据管理方法、装置、设备及存储介质 | |
CN110851474A (zh) | 数据查询方法、数据库中间件、数据查询设备及存储介质 | |
CN110019444B (zh) | 一种操作请求处理方法、装置、设备及系统 | |
CN111858586A (zh) | 一种数据处理的方法和装置 | |
CN115168362A (zh) | 数据处理方法、装置、可读介质及电子设备 | |
CN109033456B (zh) | 一种条件查询方法、装置、电子设备和存储介质 | |
CN112965943A (zh) | 一种数据处理方法、装置、电子设备以及存储介质 | |
CN111104426A (zh) | 一种数据查询方法及系统 | |
CN113986921A (zh) | 一种黑名单查询方法、系统、电子设备及存储介质 | |
US11500837B1 (en) | Automating optimizations for items in a hierarchical data store | |
CN109543079B (zh) | 数据查询方法、装置、计算设备及存储介质 | |
CN112527787B (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 |