CN114116811A - 日志处理方法、装置、设备及存储介质 - Google Patents

日志处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114116811A
CN114116811A CN202210109602.5A CN202210109602A CN114116811A CN 114116811 A CN114116811 A CN 114116811A CN 202210109602 A CN202210109602 A CN 202210109602A CN 114116811 A CN114116811 A CN 114116811A
Authority
CN
China
Prior art keywords
log
transaction
association
aggregation
time
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
Application number
CN202210109602.5A
Other languages
English (en)
Other versions
CN114116811B (zh
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 Youtejie Information Technology Co ltd
Original Assignee
Beijing Youtejie Information Technology 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 Youtejie Information Technology Co ltd filed Critical Beijing Youtejie Information Technology Co ltd
Priority to CN202210109602.5A priority Critical patent/CN114116811B/zh
Publication of CN114116811A publication Critical patent/CN114116811A/zh
Application granted granted Critical
Publication of CN114116811B publication Critical patent/CN114116811B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种日志处理方法、装置、设备及存储介质。该方法包括:响应于日志查询请求,获取与日志查询请求对应的日志数据,以及日志数据的关键信息;按照与关键信息匹配的聚合规则,对日志数据进行关联聚合,得到事务关联日志;输出事务关联日志,以及与事务关联日志对应的日志耗时信息和事务状态信息。本发明实施例的技术方案,实现了查询单笔事务的完整日志行进行关联展现,并确定单笔事务的日志耗时和事务状态。

Description

日志处理方法、装置、设备及存储介质
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种日志处理方法、装置、设备及存储介质。
背景技术
多线程并行处理是现代信息系统提高处理性能的常用手段之一,而多线程并发执行导致的日志并行打印,由会造成日志输出乱序,不便直观阅读的问题。随着业务系统的集群化、分布式部署的推广,多台主机、多个业务处理节点的大量日志,进一步加深了乱序日志的查看和分析难度。
现有技术中,为了提高乱序日志的可读性,通常采用关键字全文检索和物理上下文查看的方式,但这种方式只能顺序查看日志,且只能查看命中关键字的日志行,无法查看单笔事务的完整日志行,也无法识别单笔事务中的耗时信息和事务的最终状态。
发明内容
本发明实施例提供一种日志处理方法、装置、设备及存储介质,以实现查询单笔事务的完整日志行进行关联展现,并确定单笔事务的日志耗时和事务状态。
第一方面,本发明实施例提供了一种日志处理方法,包括:
响应于日志查询请求,获取与日志查询请求对应的日志数据,以及日志数据的关键信息;
按照与关键信息匹配的聚合规则,对日志数据进行关联聚合,得到事务关联日志;
输出事务关联日志,以及与事务关联日志对应的日志耗时信息和事务状态信息。
可选的,聚合规则包括:线程号聚合、开始结束标识符聚合以及开始标识符聚合;
线程号聚合,用于:将日志数据按线程号主排序、按时间戳顺序次排序,获取每个线程号的开始时间和结束时间,筛选线程号相同且时间戳在开始时间和结束时间范围内的日志数据进行关联聚合;
开始结束标识符聚合,用于:将日志数据按时间戳排序,筛选时间戳在结束标识符时间和开始标识符时间范围内的日志数据进行关联聚合;
开始标识符聚合,用于:将日志数据按时间戳排序,筛选时间戳在相邻两个开始标识符时间范围内的日志数据进行关联聚合。
可选的,响应于日志查询请求,获取与日志查询请求对应的日志数据,以及日志数据的关键信息,包括:
响应于日志查询请求,获取预设时间段内的原始日志,并从原始日志中选择一条关联基准日志;
从原始日志数据中提取关键信息,关键信息至少包括:内部排序ID、时间戳、应用标签值;
将关联基准日志的时间戳的前后预设时长确定为关联时间范围,将时间戳在关联时间范围内,且应用标签值与关联基准日志相同的原始日志作为目标日志集。
可选的,按照与关键信息匹配的聚合规则,对日志数据进行关联聚合,得到事务关联日志,包括:
根据关联基准日志的关键信息中是否包括线程号,从目标日志集中筛选出关联分析数据;
从关联分析数据中,搜索与关联基准日志匹配的开始标识符和结束标识符;
根据标识符搜索结果,对关联分析数据进行关联聚合,得到事务关联日志。
可选的,根据标识符搜索结果,对关联分析数据进行关联聚合,得到事务关联日志,包括:
如果搜索到与关联基准日志匹配的开始标识符和结束标识符,则对关联分析数据按照时间戳进行排序,筛选时间戳在开始标识符和结束标识符的时间范围内的关联分析数据进行聚合,得到一笔事务的关联日志;
如果在搜索到与关联基准日志匹配的开始标识符之后,又搜索到下一个开始标识符,则对关联分析数据按照时间戳进行排序,筛选时间戳在两个开始标识符时间范围内的关联分析数据进行聚合,得到一笔事务的关联日志。
可选的,输出事务关联日志,包括:
删除事务关联日志中的管理字段信息,仅保留原始日志字段;
按照时间戳升序顺序将事务关联日志存储到数组中,并依次添加行序号,按照行序号展现数组中的事务关联日志。
可选的,输出与事务关联日志对应的日志耗时信息和事务状态信息,包括:
对于事务关联日志的每一行日志,将当前行的时间戳与前一行的时间戳的差值作为当前行的耗时值,并按照内部排序ID的顺序对各行的耗时值进行展现;
根据事务关联日志中是否存在结束标识符,确定并展现事务状态信息。
第二方面,本发明实施例还提供了一种日志处理装置,包括:
数据获取模块,用于响应于日志查询请求,获取与日志查询请求对应的日志数据,以及日志数据的关键信息;
关联聚合模块,用于按照与关键信息匹配的聚合规则,对日志数据进行关联聚合,得到事务关联日志;
信息输出模块,用于输出事务关联日志,以及与事务关联日志对应的日志耗时信息和事务状态信息。
第三方面,本发明实施例还提供了一种计算机设备,设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明任意实施例提供的日志处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的日志处理方法。
本发明实施例的技术方案,通过响应于日志查询请求,获取与日志查询请求对应的日志数据,以及日志数据的关键信息;按照与关键信息匹配的聚合规则,对日志数据进行关联聚合,得到事务关联日志;输出事务关联日志,以及与事务关联日志对应的日志耗时信息和事务状态信息,解决了现有技术中只能顺序查看日志、只能查看命中关键字的日志行的行业通用问题,实现了查询单笔事务的完整日志行进行关联展现,并确定单笔事务的日志耗时和事务状态。
附图说明
图1a是本发明实施例一中的一种日志处理方法的流程图;
图1b是本发明实施例一中的一种日志关联聚合的实现原理图;
图2a是本发明实施例二中的一种日志处理方法的流程图;
图2b是本发明实施例二中的一种日志关联聚合的流程图;
图3是本发明实施例三中的一种日志处理装置的结构示意图;
图4是本发明实施例四中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1a是本发明实施例一中的一种日志处理方法的流程图,本实施例可适用于从大量乱序日志中,查询单笔事务的完整日志行进行关联展现,并确定单笔事务的日志耗时和事务状态的情况,该方法可以由日志处理装置来执行,该装置可以由硬件和/或软件来实现,并一般可以集成在提供日志处理服务的计算机设备中。如图1a所示,该方法包括:
步骤110、响应于日志查询请求,获取与日志查询请求对应的日志数据,以及日志数据的关键信息。
本实施例中,当用户输入日志查询关键词时,例如在搜索栏输入“xx银行”,响应于对“xx银行”的查询请求,通过采集程序完成日志数据的采集以及关键信息的提取处理,后续根据关键信息对采集的日志数据进行关联聚合。
可选的,响应于日志查询请求,获取与日志查询请求对应的日志数据,以及日志数据的关键信息,可以包括:响应于日志查询请求,获取预设时间段内的原始日志,并从原始日志中选择一条关联基准日志;从原始日志数据中提取关键信息,关键信息至少包括:内部排序ID、时间戳、应用标签值;将关联基准日志的时间戳的前后预设时长确定为关联时间范围,将时间戳在关联时间范围内,且应用标签值与关联基准日志相同的原始日志作为目标日志集。
本实施例中,如图1b所示,根据用户对“xx银行”的查询需求,采集一段时间内的原始日志,例如,采集当前时间之前的一个小时内的“xx银行”的原始日志。其中,采集的原始日志通常按数据标签来标识。然后根据用户的操作从原始日志中选择一条作为关联基准日志,通常选择带ERROR、通讯异常等信息的原始日志作为关联基准日志。然后提取原始日志(包括关联基准日志)中的关键信息,关键信息包括每条原始日志的内部排序ID 、时间戳、应用标签值这三个必有项,以及线程号等非必有项。为了进一步缩短日志查询范围,可以将关联基准日志的时间戳的前后预设时长,例如前后1分钟,确定为关联时间范围,从原始日志中选择时间戳落在关联时间范围内,且应用标签值与关联基准日志的应用标签值相同的原始日志,作为待进行关联聚合的目标日志集。
其中,由于日志时间通常精确到毫秒,即在同一个时间点会存在多条日志,因此需要使用内部排序ID来区分同一个时间点的日志的先后顺序,即后续对日志进行排序时,可以根据时间戳对日志进行第一排序,根据内部排序ID对日志进行第二排序。
步骤120、按照与关键信息匹配的聚合规则,对日志数据进行关联聚合,得到事务关联日志。
本实施例中,对原始日志进行数据处理得到目标日志集和关键信息后,确定与关键信息匹配的聚合规则,并按照该聚合规则对目标日志集进行数据聚合,实现将关联标识符、开始标识符、结束标识符等信息参数化,并复用在多种类型的乱序日志数据中,得到存在某种逻辑关系的、同属单笔事务的多行日志。
可选的,聚合规则包括:线程号聚合、开始结束标识符聚合以及开始标识符聚合;
线程号聚合,用于:将日志数据按线程号主排序、按时间戳顺序次排序,获取每个线程号的开始时间和结束时间,筛选线程号相同且时间戳在开始时间和结束时间范围内的日志数据进行关联聚合;
开始结束标识符聚合,用于:将日志数据按时间戳排序,筛选时间戳在结束标识符时间和开始标识符时间范围内的日志数据进行关联聚合;
开始标识符聚合,用于:将日志数据按时间戳排序,筛选时间戳在相邻两个开始标识符时间范围内的日志数据进行关联聚合。
本实施例中,根据关键参数与聚合规则的匹配情况,可能使用一种聚合规则对日志进行聚合,也可能串联使用两种或者三种聚合规则对日志进行聚合。当关键信息中有线程号时,则可以使用线程号聚合进行日志关联聚合,也就是,将目标日志集中线程号相同的日志作为一个日志组,再按照时间戳的先后顺序对每个组的日志进行排序,然后分组计算每个线程号的开始时间和结束时间,再根据线程号相同,关联聚合开始时间和结束时间范围内的日志行。如果没有线程号,则不能采用线程号聚合,可以考虑采用开始结束标识符聚合或者开始标识符聚合。开始结束标识符聚合,是指按时间戳对目标日志集中的日志排序,输入事务开始、结束标识符,选择时间戳落在结束标识符时间和开始标识符时间范围内的日志进行关联聚合。开始标识符聚合是指,按时间戳对目标日志集中的日志进行排序,在识别开始标识符后,又识别到下一个开始标识符,按第二个开始标识符为事务切割标识,关联聚合第二个开始标识符前的日志行。
步骤130、输出事务关联日志,以及与事务关联日志对应的日志耗时信息和事务状态信息。
本实施例中,在实现单笔事务完整性关联确定一笔事务的关联日志后,利用关联后的逻辑顺序,可以方便的计算出事务关联日志的行与行之间的耗时,从而解决高耗时日志行定位问题,以及对事务关联日志进行状态计算,确定该笔事务的最终状态。从而,可以对关联聚合后的多行事务关联日志、日志行之间的耗时以及事务的最终状态进行展现。
本发明实施例的技术方案,通过响应于日志查询请求,获取与日志查询请求对应的日志数据,以及日志数据的关键信息;按照与关键信息匹配的聚合规则,对日志数据进行关联聚合,得到事务关联日志;输出事务关联日志,以及与事务关联日志对应的日志耗时信息和事务状态信息,解决了现有技术中只能顺序查看日志、只能查看命中关键字的日志行的行业通用问题,实现了查询单笔事务的完整日志行进行关联展现,并确定单笔事务的日志耗时和事务状态。
实施例二
图2a是本发明实施例二中的一种日志处理方法的流程图,本实施例在上述实施例的基础上进一步细化,提供按照与关键信息匹配的聚合规则,对日志数据进行关联聚合,得到事务关联日志,包括:根据关联基准日志的关键信息中是否包括线程号,从目标日志集中筛选出关联分析数据;从关联分析数据中,搜索与关联基准日志匹配的开始标识符和结束标识符;根据标识符搜索结果,对关联分析数据进行关联聚合,得到事务关联日志的具体步骤;以及提供输出事务关联日志,以及与事务关联日志对应的日志耗时信息和事务状态信息的具体步骤。下面结合图2a对本实施例提供的一种日志处理方法进行说明,包括以下步骤:
步骤210、响应于日志查询请求,获取预设时间段内的原始日志,并从原始日志中选择一条关联基准日志。
其中,任意一条原始日志中,必有的字段包含:时间戳、应用标签值、内部排序ID、日志文件路径和文件名、原始日志正文。
步骤220、从原始日志数据中提取关键信息,关键信息至少包括:内部排序ID、时间戳、应用标签值。
本实施例中,如图2b所示,在从原始日志中选择一条关联基准日志后,可以执行的操作包括:对原始日志进行关联聚合,进行单笔交易逻辑展现,或者进行传统的物理上下文展现,例如查看关联基准日志行上下10行日志内容。如果用户选择对原始日志进行关联聚合,则对包括关联基准日志在内的原始日志进行关键信息提取处理,以获得各条原始日志的内部排序ID、时间戳、应用标签值等关键信息。
步骤230、将关联基准日志的时间戳的前后预设时长确定为关联时间范围,将时间戳在关联时间范围内,且应用标签值与关联基准日志相同的原始日志作为目标日志集。
其中,由于一笔事务通常1分钟内就能完成,因此可以将预设时长设置为1分钟。当然,也可以将预设时长设置为其他数值,但是基于缩小日志的有效查询范围,提高日志查询效率的目的,对预设时长的设置不应过长。
本实施例中,根据关联基准日志的时间戳确定关联时间范围,并按照时间戳和应用标签值这两个维度,从原始日志中筛选目标日志集,使得目标日志集中的日志的时间戳与关联基准日志的时间戳的差值小于等于预设时长,且两者的应用标签值相同。
步骤240、根据关联基准日志的关键信息中是否包括线程号,从目标日志集中筛选出关联分析数据。
本实施例中,先判断关联基准日志的关键信息中有没有线程号,如果有,则可以进行线程号聚合,从目标日志集中筛选线程号相同的日志作为关联分析数据,此时,关联分析数据与关联基准日志具有相同的应用标签值和线程号,实现单笔事务关联日志的有效查询范围的进一步缩小。如果关联基准日志的关键信息中没有线程号,则将整个目标日志集中的日志作为关联分析数据,此时,关联分析数据与关联基准日志具有相同的应用标签值。
其中,应用标签值可以用于区分一个时间窗口中,例如一个关联时间范围中,可能存在线程号复用的情况。示例性的,一笔交易只需要10s,线程号是1-9循环回收分发,那么在2分钟的时间窗口中,可能存在线程号相同的多笔交易,而这多笔交易可以使用应用标签值进一步区分。
步骤250、从关联分析数据中,搜索与关联基准日志匹配的开始标识符和结束标识符。
本实施例中,如图2b所示,从关联分析数据中,搜索距离关联基准日志最近的开始标识符和结束标识符,通过开始标识符定位单笔事务的日志开始行,并将开始标识符的时间戳作为单笔事务的日志的开始时间,通过结束标识符定位单笔事务的日志结束行,并将结束标识符的时间戳作为单笔事务的日志的结束时间。其中,也可以通过单笔聚合后的最后一行来定位单笔事务的日志结束行,并将单笔聚合后的最后一行的时间戳作为单笔事务的日志的结束时间。
步骤260、根据标识符搜索结果,对关联分析数据进行关联聚合,得到事务关联日志。
本实施例中,根据对开始标识符和结束标识符的搜索情况,选择适当的事务切分方式,将上一笔事务与下一笔事务进行精准切分,解决发生时间为同一秒事务之间无法准确区分的问题,实现了单笔事务是否结束的闭合逻辑创新,在单笔事务非正常结束、单笔事务非正常开始等各种情况都有适配。
可选的,根据标识符搜索结果,对关联分析数据进行关联聚合,得到事务关联日志,可以包括:如果搜索到与关联基准日志匹配的开始标识符和结束标识符,则对关联分析数据按照时间戳进行排序,筛选时间戳在开始标识符和结束标识符的时间范围内的关联分析数据进行聚合,得到一笔事务的关联日志;如果在搜索到与关联基准日志匹配的开始标识符之后,又搜索到下一个开始标识符,则对关联分析数据按照时间戳进行排序,筛选时间戳在两个开始标识符时间范围内的关联分析数据进行聚合,得到一笔事务的关联日志。
步骤270、输出事务关联日志,以及与事务关联日志对应的日志耗时信息和事务状态信息。
本实施例中,可以准确、清晰的查看单笔事务的完整运行日志数据,基于单笔事务的完整日志数据,可以快速计算出哪一行日志的耗时最高,并可以将这些结果数据聚合成数字KPI永久保存。
可选的,输出事务关联日志,可以包括:删除事务关联日志中的管理字段信息,仅保留原始日志字段;按照时间戳升序顺序将事务关联日志存储到数组中,并依次添加行序号,按照行序号展现数组中的事务关联日志。
本实施例中,在对各笔事务的多行关联日志进行展示之前,可以将事务关联日志中的日志文件名和日志文件路径等管理字段信息删除,仅保留原始日志正文等原始日志字段。然后按照时间戳升序的顺序将事务关联日志存储到数组中,并依次添加行序号,然后按照行序号在结果显示页面中关联展现数组中的同笔事务的日志行。
可选的,输出与事务关联日志对应的日志耗时信息和事务状态信息,可以包括:对于事务关联日志的每一行日志,将当前行的时间戳与前一行的时间戳的差值作为当前行的耗时值,并按照内部排序ID的顺序对各行的耗时值进行展现;根据事务关联日志中是否存在结束标识符,确定并展现事务状态信息。
本实施例中,在实现单笔事务完整性关联的前提下,通过递归计算任意两行之间的时间差,确定各日志行的耗时,实现单笔事务中高耗时发生位置的定位。按照内部排序ID,在结果显示页面中对各日志行的耗时,以及高耗时日志行在事务关联日志中的位置等信息进行显示。在确定事务状态时,如果一笔事务的关联日志中存在开始标识符和结束标识符,则认为该笔事务处于交易成功状态;如果一笔事务的关联日志中只存在开始标识符,而不存在结束标识符,则根据交易响应包中的数据判断该笔事务是否存在异常。
本发明实施例的技术方案,通过响应于日志查询请求,获取与日志查询请求对应的日志数据,以及日志数据的关键信息;按照与关键信息匹配的聚合规则,对日志数据进行关联聚合,得到事务关联日志;输出事务关联日志,以及与事务关联日志对应的日志耗时信息和事务状态信息,解决了现有技术中只能顺序查看日志、只能查看命中关键字的日志行的行业通用问题,实现了查询单笔事务的完整日志行进行关联展现,并确定单笔事务的日志耗时和事务状态。
在上述实施例的基础上,提供日志聚合的实现代码如下:
1、单笔事务的完整日志关联计算,程序如下:
|eval log_id=tostring(${log_id})
|eval pid=${pid}
|eval log_timestamp=${log_timestamp}
|eval query_starttime = tolong(log_timestamp) - 60 * 1000
|eval query_endtime = tolong(log_timestamp) + 60 * 1000
|eval log_start=${开始标识符}
|eval log_end=${结束标识符}
|map "starttime=$query_starttime$ endtime=$query_endtime$ appname: ${appname} tag:${tag} |eval log_id=$log_id$"
|transaction ${pid} startswith="${log_start}" endswith="${log_end}"contains=eval(context_id==log_id) mvraw=true
|table raw_message
|mvexpand raw_message
|streamstats count() as seq
|eval msg = seq + " -- " + raw_message
|fields msg
|eval msg=split(msg, "\n")
|mvexpand msg
|eval nums = mvrange(0, len(msg), 250)
|mvexpand nums
|eval start = nums
|eval end = nums + 250
|eval msg = substring(msg, start,end)
|fields msg
|mvcombine sep="^_^" msg
|eval msg = split(msg, "^_^")
其中,命令配置内容解释如下:
1)Eval变量赋值,设置临时变量,将查询所需的相关参数传递给临时变量;
2)map循环入口,依次遍历查询范围内的数据;
3)Starttime,开始时间,动态参数,基准日志行的前1分钟时间点;
4)Endtime,结束时间,使用动态参数,基准日志行的后1分钟时间点;
5)Appname、tag,数据标签字段,用于标识选取哪类数据进行数字化转换;
6)Transaction,关联聚合主函数,函数处理逻辑:
其中,Transaction命令处理逻辑:
① 提取用户选中日志行的内部排序ID、时间戳、应用标签值,并将时间戳±1分钟作为查询开始/结束时间,赋值给关联函数;
② 如果存在线程号,则筛选该线程号相同的数据作为关联分析数据;如果不存在线程号,则筛选应用标签值相同的数据作为关联分析数据;
③ 对第二步筛选出来的数据,提取带开始标识符和结束标识符日志行的时间,使用开始时间和结束时间为范围,过滤显示该范围内的日志行;
④ 将第三步关联出来的日志行,删除附加的管理字段信息,仅保留原始日志字段,并存储在数组类型的多值字段中;
⑤ 将存储在数组中的日志,按照顺序,依次添加行序号;
⑥ 对单行日志按最大250个字符,做断行展现美观处理。
2、关联聚合后的日志,计算行与行之间耗时,所用的处理逻辑如下:
|autoregress timestamp as timestamp_last p=1
|eval timestamp_last = if(empty(timestamp_last), timestamp,timestamp_last)
|eval cal = timestamp_last - timestamp
|fields seq, cal
|sort by +seq
|eval seq = tolong(seq)
其中,命令配置内容解释如下:
1)Autoregress,数字自动填充功能,其中timestamp参数表示使用时间戳这个参数,用前一行的时间,填充到本行,并使用timestamp_last字段保存。
2)Empty(timestamp_last),首行日志不存在时间差,通过empty进行排除;
3)Eva cal = timestamp_last-timestamp,做时间差计算,得到行与行的时间差值。
4)Sort,计算行与行之间差值后,再按照原日志序号进行排序,以原始顺序展现每个行的耗时值。
实施例三
图3是本发明实施例三中的一种日志处理装置的结构示意图,本实施例可适用于从大量乱序日志中,查询单笔事务的完整日志行进行关联展现,并确定单笔事务的日志耗时和事务状态的情况,该装置可以由硬件和/或软件来实现,并一般可以集成在提供日志处理服务的计算机设备中。如图3所示,该装置包括:
数据获取模块310,用于响应于日志查询请求,获取与日志查询请求对应的日志数据,以及日志数据的关键信息;
关联聚合模块320,用于按照与关键信息匹配的聚合规则,对日志数据进行关联聚合,得到事务关联日志;
信息输出模块330,用于输出事务关联日志,以及与事务关联日志对应的日志耗时信息和事务状态信息。
本发明实施例的技术方案,通过响应于日志查询请求,获取与日志查询请求对应的日志数据,以及日志数据的关键信息;按照与关键信息匹配的聚合规则,对日志数据进行关联聚合,得到事务关联日志;输出事务关联日志,以及与事务关联日志对应的日志耗时信息和事务状态信息,解决了现有技术中只能顺序查看日志、只能查看命中关键字的日志行的行业通用问题,实现了查询单笔事务的完整日志行进行关联展现,并确定单笔事务的日志耗时和事务状态。
可选的,聚合规则包括:线程号聚合、开始结束标识符聚合以及开始标识符聚合;
线程号聚合,用于:将日志数据按线程号主排序、按时间戳顺序次排序,获取每个线程号的开始时间和结束时间,筛选线程号相同且时间戳在开始时间和结束时间范围内的日志数据进行关联聚合;
开始结束标识符聚合,用于:将日志数据按时间戳排序,筛选时间戳在结束标识符时间和开始标识符时间范围内的日志数据进行关联聚合;
开始标识符聚合,用于:将日志数据按时间戳排序,筛选时间戳在相邻两个开始标识符时间范围内的日志数据进行关联聚合。
可选的,数据获取模块310,用于:
响应于日志查询请求,获取预设时间段内的原始日志,并从原始日志中选择一条关联基准日志;
从原始日志数据中提取关键信息,关键信息至少包括:内部排序ID、时间戳、应用标签值;
将关联基准日志的时间戳的前后预设时长确定为关联时间范围,将时间戳在关联时间范围内,且应用标签值与关联基准日志相同的原始日志作为目标日志集。
可选的,关联聚合模块320,用于:
根据关联基准日志的关键信息中是否包括线程号,从目标日志集中筛选出关联分析数据;
从关联分析数据中,搜索与关联基准日志匹配的开始标识符和结束标识符;
根据标识符搜索结果,对关联分析数据进行关联聚合,得到事务关联日志。
可选的,关联聚合模块320,具体用于:
如果搜索到与关联基准日志匹配的开始标识符和结束标识符,则对关联分析数据按照时间戳进行排序,筛选时间戳在开始标识符和结束标识符的时间范围内的关联分析数据进行聚合,得到一笔事务的关联日志;
如果在搜索到与关联基准日志匹配的开始标识符之后,又搜索到下一个开始标识符,则对关联分析数据按照时间戳进行排序,筛选时间戳在两个开始标识符时间范围内的关联分析数据进行聚合,得到一笔事务的关联日志。
可选的,信息输出模块330,用于:
删除事务关联日志中的管理字段信息,仅保留原始日志字段;
按照时间戳升序顺序将事务关联日志存储到数组中,并依次添加行序号,按照行序号展现数组中的事务关联日志。
可选的,信息输出模块330,用于:
对于事务关联日志的每一行日志,将当前行的时间戳与前一行的时间戳的差值作为当前行的耗时值,并按照内部排序ID的顺序对各行的耗时值进行展现;
根据事务关联日志中是否存在结束标识符,确定并展现事务状态信息。
本发明实施例所提供的日志处理装置可执行本发明任意实施例所提供的日志处理方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4是本发明实施例四中的一种计算机设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性设备12的框图。图4显示的设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,设备12以通用计算设备的形式表现。设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM, DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该设备12交互的设备通信,和/或与使得该设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与设备12的其它模块通信。应当明白,尽管图中未示出,可以结合设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的日志处理方法,包括:
响应于日志查询请求,获取与日志查询请求对应的日志数据,以及日志数据的关键信息;
按照与关键信息匹配的聚合规则,对日志数据进行关联聚合,得到事务关联日志;
输出事务关联日志,以及与事务关联日志对应的日志耗时信息和事务状态信息。
实施例五
本发明实施例五还提供一种计算机可读存储介质,其上存储有计算机程序,程序在被计算机处理器执行时用于执行一种日志处理方法,包括:
响应于日志查询请求,获取与日志查询请求对应的日志数据,以及日志数据的关键信息;
按照与关键信息匹配的聚合规则,对日志数据进行关联聚合,得到事务关联日志;
输出事务关联日志,以及与事务关联日志对应的日志耗时信息和事务状态信息。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种日志处理方法,其特征在于,包括:
响应于日志查询请求,获取与所述日志查询请求对应的日志数据,以及所述日志数据的关键信息;
按照与所述关键信息匹配的聚合规则,对所述日志数据进行关联聚合,得到事务关联日志;
输出所述事务关联日志,以及与所述事务关联日志对应的日志耗时信息和事务状态信息。
2.根据权利要求1所述的方法,其特征在于,所述聚合规则包括:线程号聚合、开始结束标识符聚合以及开始标识符聚合;
所述线程号聚合,用于:将日志数据按线程号主排序、按时间戳顺序次排序,获取每个线程号的开始时间和结束时间,筛选线程号相同且时间戳在开始时间和结束时间范围内的日志数据进行关联聚合;
所述开始结束标识符聚合,用于:将日志数据按时间戳排序,筛选时间戳在结束标识符时间和开始标识符时间范围内的日志数据进行关联聚合;
所述开始标识符聚合,用于:将日志数据按时间戳排序,筛选时间戳在相邻两个开始标识符时间范围内的日志数据进行关联聚合。
3.根据权利要求1所述的方法,其特征在于,响应于日志查询请求,获取与所述日志查询请求对应的日志数据,以及所述日志数据的关键信息,包括:
响应于日志查询请求,获取预设时间段内的原始日志,并从所述原始日志中选择一条关联基准日志;
从所述原始日志数据中提取关键信息,所述关键信息至少包括:内部排序ID、时间戳、应用标签值;
将所述关联基准日志的时间戳的前后预设时长确定为关联时间范围,将时间戳在所述关联时间范围内,且应用标签值与所述关联基准日志相同的原始日志作为目标日志集。
4.根据权利要求3所述的方法,其特征在于,按照与所述关键信息匹配的聚合规则,对所述日志数据进行关联聚合,得到事务关联日志,包括:
根据关联基准日志的关键信息中是否包括线程号,从目标日志集中筛选出关联分析数据;
从所述关联分析数据中,搜索与所述关联基准日志匹配的开始标识符和结束标识符;
根据标识符搜索结果,对所述关联分析数据进行关联聚合,得到事务关联日志。
5.根据权利要求4所述的方法,其特征在于,根据标识符搜索结果,对所述关联分析数据进行关联聚合,得到事务关联日志,包括:
如果搜索到与所述关联基准日志匹配的开始标识符和结束标识符,则对所述关联分析数据按照时间戳进行排序,筛选时间戳在开始标识符和结束标识符的时间范围内的关联分析数据进行聚合,得到一笔事务的关联日志;
如果在搜索到与所述关联基准日志匹配的开始标识符之后,又搜索到下一个开始标识符,则对所述关联分析数据按照时间戳进行排序,筛选时间戳在两个开始标识符时间范围内的关联分析数据进行聚合,得到一笔事务的关联日志。
6.根据权利要求1所述的方法,其特征在于,输出所述事务关联日志,包括:
删除所述事务关联日志中的管理字段信息,仅保留原始日志字段;
按照时间戳升序顺序将所述事务关联日志存储到数组中,并依次添加行序号,按照行序号展现数组中的事务关联日志。
7.根据权利要求1所述的方法,其特征在于,输出与所述事务关联日志对应的日志耗时信息和事务状态信息,包括:
对于所述事务关联日志的每一行日志,将当前行的时间戳与前一行的时间戳的差值作为当前行的耗时值,并按照内部排序ID的顺序对各行的耗时值进行展现;
根据所述事务关联日志中是否存在结束标识符,确定并展现事务状态信息。
8.一种日志处理装置,其特征在于,包括:
数据获取模块,用于响应于日志查询请求,获取与所述日志查询请求对应的日志数据,以及所述日志数据的关键信息;
关联聚合模块,用于按照与所述关键信息匹配的聚合规则,对所述日志数据进行关联聚合,得到事务关联日志;
信息输出模块,用于输出所述事务关联日志,以及与所述事务关联日志对应的日志耗时信息和事务状态信息。
9.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一项所述的日志处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的日志处理方法。
CN202210109602.5A 2022-01-29 2022-01-29 日志处理方法、装置、设备及存储介质 Active CN114116811B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210109602.5A CN114116811B (zh) 2022-01-29 2022-01-29 日志处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210109602.5A CN114116811B (zh) 2022-01-29 2022-01-29 日志处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114116811A true CN114116811A (zh) 2022-03-01
CN114116811B CN114116811B (zh) 2022-05-27

Family

ID=80362104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210109602.5A Active CN114116811B (zh) 2022-01-29 2022-01-29 日志处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114116811B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037729A (zh) * 2022-04-21 2022-09-09 中国建设银行股份有限公司 数据汇聚方法、装置、电子设备及计算机可读介质
CN116662121A (zh) * 2023-06-02 2023-08-29 山东中创软件商用中间件股份有限公司 车辆运行信息分析方法、装置、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108038145A (zh) * 2017-11-23 2018-05-15 携程旅游网络技术(上海)有限公司 分布式服务跟踪方法、系统、存储介质和电子设备
US20190079965A1 (en) * 2017-09-08 2019-03-14 Striim, Inc. Apparatus and method for real time analysis, predicting and reporting of anomalous database transaction log activity
CN110032496A (zh) * 2019-04-19 2019-07-19 杭州玳数科技有限公司 一种支持多样化日志合并的日志采集方法及系统
CN110569214A (zh) * 2019-08-02 2019-12-13 杭州云纪网络科技有限公司 用于日志文件的索引构建方法、装置及电子设备
CN110764980A (zh) * 2019-09-06 2020-02-07 华为技术有限公司 日志处理方法和装置
US10635513B1 (en) * 2019-05-07 2020-04-28 Morgan Stanley Services Group, Inc. System for tracking transaction data across applications
CN112162905A (zh) * 2020-09-28 2021-01-01 北京字跳网络技术有限公司 一种日志处理方法、装置、电子设备及存储介质
CN112214374A (zh) * 2020-10-12 2021-01-12 中国民航信息网络股份有限公司 一种日志数据的处理方法及装置
CN113961414A (zh) * 2020-12-18 2022-01-21 深圳平安智汇企业信息管理有限公司 一种日志数据的处理方法、装置、设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190079965A1 (en) * 2017-09-08 2019-03-14 Striim, Inc. Apparatus and method for real time analysis, predicting and reporting of anomalous database transaction log activity
CN108038145A (zh) * 2017-11-23 2018-05-15 携程旅游网络技术(上海)有限公司 分布式服务跟踪方法、系统、存储介质和电子设备
CN110032496A (zh) * 2019-04-19 2019-07-19 杭州玳数科技有限公司 一种支持多样化日志合并的日志采集方法及系统
US10635513B1 (en) * 2019-05-07 2020-04-28 Morgan Stanley Services Group, Inc. System for tracking transaction data across applications
CN110569214A (zh) * 2019-08-02 2019-12-13 杭州云纪网络科技有限公司 用于日志文件的索引构建方法、装置及电子设备
CN110764980A (zh) * 2019-09-06 2020-02-07 华为技术有限公司 日志处理方法和装置
CN112162905A (zh) * 2020-09-28 2021-01-01 北京字跳网络技术有限公司 一种日志处理方法、装置、电子设备及存储介质
CN112214374A (zh) * 2020-10-12 2021-01-12 中国民航信息网络股份有限公司 一种日志数据的处理方法及装置
CN113961414A (zh) * 2020-12-18 2022-01-21 深圳平安智汇企业信息管理有限公司 一种日志数据的处理方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
蒲志明: "云平台中日志管理模块的研究与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037729A (zh) * 2022-04-21 2022-09-09 中国建设银行股份有限公司 数据汇聚方法、装置、电子设备及计算机可读介质
CN115037729B (zh) * 2022-04-21 2024-05-28 中国建设银行股份有限公司 数据汇聚方法、装置、电子设备及计算机可读介质
CN116662121A (zh) * 2023-06-02 2023-08-29 山东中创软件商用中间件股份有限公司 车辆运行信息分析方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN114116811B (zh) 2022-05-27

Similar Documents

Publication Publication Date Title
CN108932294B (zh) 基于索引的简历数据处理方法、装置、设备及存储介质
CN114116811B (zh) 日志处理方法、装置、设备及存储介质
WO2022134794A1 (zh) 新闻事件的舆情处理方法及装置、存储介质、计算机设备
CN111258966A (zh) 一种数据去重方法、装置、设备及存储介质
CN111506771B (zh) 一种视频检索方法、装置、设备及存储介质
CN106294222A (zh) 一种确定pcie设备与插槽对应关系的方法及装置
CN111813845B (zh) 基于etl任务的增量数据抽取方法、装置、设备及介质
CN110674360B (zh) 一种用于数据的溯源方法和系统
CN112800061B (zh) 一种数据存储方法、装置、服务器及存储介质
CN111913860A (zh) 一种操作行为分析方法及装置
CN111831750A (zh) 一种区块链数据分析方法、装置、计算机设备及存储介质
CN111258973A (zh) Redis慢日志的存储、展示方法、装置、设备和介质
CN109933502A (zh) 电子装置、用户操作记录的处理方法和存储介质
CN116841779A (zh) 异常日志检测方法、装置、电子设备和可读存储介质
CN113760839A (zh) 日志数据压缩处理方法、装置、电子设备和存储介质
CN110688434A (zh) 一种兴趣点处理方法、装置、设备和介质
CN111738290B (zh) 图像检测方法、模型构建和训练方法、装置、设备和介质
CN113138906A (zh) 一种调用链数据采集方法、装置、设备及存储介质
CN112131296A (zh) 一种数据探查方法、装置、电子设备和存储介质
CN112579781A (zh) 文本归类方法、装置、电子设备及介质
CN115525235B (zh) 一种基于存储结构的数据运算方法及系统
CN114385891B (zh) 数据搜索方法、装置、电子设备及存储介质
CN112328752B (zh) 基于搜索内容的课程推荐方法、装置、计算机设备及介质
CN115114297A (zh) 数据轻量存储及查找方法、装置、电子设备及存储介质
CN113297617A (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
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Log processing methods, devices, devices, and storage media

Granted publication date: 20220527

Pledgee: Zhongguancun Branch of Bank of Beijing Co.,Ltd.

Pledgor: BEIJING YOUTEJIE INFORMATION TECHNOLOGY Co.,Ltd.

Registration number: Y2024110000030