CN117389980B - 日志文件分析方法及装置、计算机设备和可读存储介质 - Google Patents
日志文件分析方法及装置、计算机设备和可读存储介质 Download PDFInfo
- Publication number
- CN117389980B CN117389980B CN202311675712.9A CN202311675712A CN117389980B CN 117389980 B CN117389980 B CN 117389980B CN 202311675712 A CN202311675712 A CN 202311675712A CN 117389980 B CN117389980 B CN 117389980B
- Authority
- CN
- China
- Prior art keywords
- target
- text line
- table name
- text
- line
- 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.)
- Active
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000006243 chemical reaction Methods 0.000 claims abstract description 16
- 238000000605 extraction Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 13
- 230000006870 function Effects 0.000 description 20
- 239000000284 extract Substances 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 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/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种日志文件分析方法及装置、计算机设备和可读存储介质,涉及数据库技术领域。本申请通过对待分析日志文件进行文本格式转换,得到待分析文本文件,并针对该待分析文本文件中的与表名关键字匹配的每个目标表名文本行,提取对应的操作表时间信息和完整表名信息,而后根据该目标表名文本行的实际操作类型,按照表项连续行数提取目标操作表项文本行,并在该目标操作表项文本行与操作表项关键字成功匹配时,提取该目标操作表项文本行的所有操作表项内容,然后将与该目标表名文本行对应的各项数据写入到目标记录文件中,从而在日志分析过程中有效降低硬件资源占用量,并实现关键SQL语句的自动查找/提取功能,提升日志分析效率。
Description
技术领域
本申请涉及数据库技术领域,具体而言,涉及一种日志文件分析方法及装置、计算机设备和可读存储介质。
背景技术
随着科学技术的不断发展,数据库技术的应用越发广泛,而在数据库技术的实际使用过程中,通常需要利用MYSQL系统对数据库的数据发生变化或数据潜在发生变化的SQL(Structured Query Language, 结构化查询语言)语句进行记录,来生成对应的数据库日志文件,以便后续需要针对数据库进行故障排查时,能够通过对数据库日志文件中的部分关键SQL语句进行分析和提取,来定位该数据库实质存在何种故障,以及对应故障在数据库中的分布位置,其中通过MYSQL系统构建出的数据库日志文件的文件特性是将操作表的完整表名单独置为一行,并将操作表的实际表项数据置为完整表名行后面的连续若干行。
就目前而言,数据库运维人员通常需要利用Notepad++、EditPlus、UltraEdit等工具人工打开待分析的数据库日志文件,并通过人眼查找对应数据库日志文件中的关键SQL语句,再将查找出的关键SQL语句手动记录到便于分析的文件中,来实现对数据库的故障排查功能。但值得注意的是,通过MYSQL系统构建出的数据库日志文件往往存在数据量巨大(例如,单个数据库日志文件的硬件资源占用量往往会超过1GB)的特点,需要消耗大量硬件资源才能打开对应数据库日志文件,同时也会因人工查找关键SQL语句的方式,在日志分析过程中导致人力资源过度损耗及查找耗时过长,并容易引发关键SQL语句的查找错误。
发明内容
有鉴于此,本申请的目的在于提供一种日志文件分析方法及装置、计算机设备和可读存储介质,能够在日志分析过程中有效降低硬件资源占用量,并实现关键SQL语句的自动查找功能和自动提取功能,以有效避免人力资源过度损耗问题和语句查找错误,并同步提升日志分析效率。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请提供一种日志文件分析方法,所述方法包括:
获取待分析日志文件,以及针对所述待分析日志文件的表名关键字、操作表项关键字和表项连续行数;
对所述待分析日志文件进行文本格式转换,得到对应的待分析文本文件;
在所述待分析文本文件中确定与所述表名关键字匹配的所有目标表名文本行;
针对每个目标表名文本行,提取该目标表名文本行所包括的操作表时间信息以及完整表名信息,并对该目标表名文本行所对应的实际操作类型进行识别;
根据识别出的所述实际操作类型,在所述待分析文本文件中按照所述表项连续行数提取与该目标表名文本行对应的目标操作表项文本行,并将所述目标操作表项文本行与所述操作表项关键字进行字符串匹配;
在所述目标操作表项文本行与所述操作表项关键字成功匹配的情况下,提取所述目标操作表项文本行所包括的所有操作表项内容,并将与该目标表名文本行对应的所述操作表时间信息、所述完整表名信息、所述实际操作类型及所有操作表项内容写入到目标记录文件中。
在可选的实施方式中,所述在所述待分析文本文件中确定与所述表名关键字匹配的所有目标表名文本行的步骤,包括:
对所述待分析文本文件进行表名文本行筛选,得到所述待分析文本文件包括的所有待匹配表名文本行;
针对每个待匹配表名文本行,将该待匹配表名文本行包括的所有字符串与所述表名关键字进行字符串匹配;
在该待匹配表名文本行中存在与所述表名关键字匹配的字符串时,将该待匹配表名文本行作为一个目标表名文本行。
在可选的实施方式中,针对每个目标表名文本行,所述提取该目标表名文本行所包括的操作表时间信息以及完整表名信息的步骤,包括:
根据操作表时间在单个表名文本行中的预设字符串位置信息,基于字符串截取算法在该目标表名文本行中进行字符串提取,得到该目标表名文本行的操作表时间信息;
根据预设的表名提取起始模式串对该目标表名文本行进行模式串匹配,得到所述表名提取起始模式串在该目标表名文本行中的第一字符串位置,并根据预设的表名提取终止模式串对该目标表名文本行进行模式串匹配,得到所述表名提取终止模式串在该目标表名文本行中的第二字符串位置;
基于字符串截取算法提取该目标表名文本行中的位于所述第一字符串位置和所述第二字符串位置之间的字符串,得到该目标表名文本行的完整表名信息。
在可选的实施方式中,针对每个目标表名文本行,所述对该目标表名文本行所对应的实际操作类型进行识别的步骤,包括:
根据预设的单个表名文本行与对应操作类型文本行之间的相对行位置关系,在所述待分析文本文件中筛选出与该目标表名文本行对应的目标操作类型文本行;
根据不同操作类型各自对应的预设类型模式串,对所述目标操作类型文本行进行字符串查找,得到该目标表名文本行在所述目标操作类型文本行处对应的实际操作类型。
在可选的实施方式中,针对每个目标表名文本行,所述根据识别出的所述实际操作类型,在所述待分析文本文件中按照所述表项连续行数提取与该目标表名文本行对应的目标操作表项文本行的步骤,包括:
根据单个表名文本行在不同操作类型下的操作表项起始文本行与该表名文本行之间的相对行位置关系,在所述待分析文本文件中确定与该目标表名文本行对应的目标操作表项起始文本行;
将所述目标操作表项起始文本行作为提取起始文本行,按照所述表项连续行数对所述待分析文本文件进行连续文本行提取,得到包括所述目标操作表项起始文本行的目标操作表项文本行,其中所述目标操作表项文本行的总行数与所述表项连续行数保持一致。
在可选的实施方式中,所述将所述目标操作表项文本行与所述操作表项关键字进行字符串匹配的步骤,包括:
针对所述操作表项关键字包括的每个关键字符串,在所述目标操作表项文本行中进行字符串查找;
若所述目标操作表项文本行存在所述操作表项关键字包括的所有关键字符串,则判定所述目标操作表项文本行与所述操作表项关键字成功匹配,否则判定所述目标操作表项文本行与所述操作表项关键字匹配失败。
在可选的实施方式中,所述提取所述目标操作表项文本行所包括的所有操作表项内容的步骤,包括:
针对所述目标操作表项文本行包括的每个操作表项文本行,按照预设的表项内容起始模式串对该操作表项文本行进行模式串匹配,得到所述表项内容起始模式串在该操作表项文本行中的第三字符串位置;
基于字符串截取算法提取该操作表项文本行中的位于所述第三字符串位置和回车换行符之间的字符串,得到该目标表名文本行在该操作表项文本行处对应的操作表项内容。
第二方面,本申请提供一种日志文件分析装置,所述装置包括:
日志信息获取模块,用于获取待分析日志文件,以及针对所述待分析日志文件的表名关键字、操作表项关键字和表项连续行数;
日志格式转换模块,用于对所述待分析日志文件进行文本格式转换,得到对应的待分析文本文件;
目标表名匹配模块,用于在所述待分析文本文件中确定与所述表名关键字匹配的所有目标表名文本行;
表名文本处理模块,用于针对每个目标表名文本行,提取该目标表名文本行所包括的操作表时间信息以及完整表名信息,并对该目标表名文本行所对应的实际操作类型进行识别;
表项文本处理模块,用于根据识别出的所述实际操作类型,在所述待分析文本文件中按照所述表项连续行数提取与该目标表名文本行对应的目标操作表项文本行,并将所述目标操作表项文本行与所述操作表项关键字进行字符串匹配;
日志内容记录模块,用于在所述目标操作表项文本行与所述操作表项关键字成功匹配的情况下,提取所述目标操作表项文本行所包括的所有操作表项内容,并将与该目标表名文本行对应的所述操作表时间信息、所述完整表名信息、所述实际操作类型及所有操作表项内容写入到目标记录文件中。
第三方面,本申请提供一种计算机设备,包括处理器和存储器,所述存储器存储有可被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序,以实现前述实施方式中任意一项所述的日志文件分析方法。
第四方面,本申请提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现前述实施方式中任意一项所述的日志文件分析方法。
在此情况下,本申请实施例的有益效果可以包括以下内容:
本申请在获取到待分析日志文件及针对待分析日志文件的表名关键字、操作表项关键字和表项连续行数后,会对该待分析日志文件进行文本格式转换,得到对应的待分析文本文件,并针对该待分析文本文件中的与表名关键字匹配的每个目标表名文本行,提取该目标表名文本行所包括的操作表时间信息和完整表名信息,而后根据该目标表名文本行的实际操作类型,在该待分析文本文件中按照表项连续行数提取与该目标表名文本行对应的目标操作表项文本行,并将该目标操作表项文本行与操作表项关键字进行字符串匹配,接着在该目标操作表项文本行与操作表项关键字成功匹配的情况下,提取该目标操作表项文本行所包括的所有操作表项内容,然后将与该目标表名文本行对应的操作表时间信息、完整表名信息、实际操作类型及所有操作表项内容写入到目标记录文件中,从而通过文本格式转换方式在日志分析过程中有效降低硬件资源占用量,并通过关键信息匹配方式实现关键SQL语句的自动查找功能和自动提取功能,以有效避免人力资源过度损耗问题和语句查找错误,并同步提升日志分析效率。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的计算机设备的组成示意图;
图2为本申请实施例提供的日志文件分析方法的流程示意图;
图3为图2中的步骤S230包括的子步骤的流程示意图;
图4为图2中的步骤S240包括的子步骤的流程示意图之一;
图5为图2中的步骤S240包括的子步骤的流程示意图之二;
图6为图2中的步骤S250包括的子步骤的流程示意图之一;
图7为图2中的步骤S250包括的子步骤的流程示意图之二;
图8为图2中的步骤S260包括的子步骤的流程示意图;
图9为本申请实施例提供的日志文件分析装置的组成示意图。
图标:10-计算机设备;11-存储器;12-处理器;13-通信单元;100-日志文件分析装置;110-日志信息获取模块;120-日志格式转换模块;130-目标表名匹配模块;140-表名文本处理模块;150-表项文本处理模块;160-日志内容记录模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要理解的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互结合。
请参照图1,图1是本申请实施例提供的计算机设备10的组成示意图。在本申请实施例中,所述计算机设备10能够针对待分析的数据库日志文件中的关键SQL语句进行自动查找和自动提取,来实现日志自动化分析功能,并同步地降低日志分析过程中的硬件资源占用量,同时有效提升日志分析效率。其中,所述计算机设备10可以是,但不限于,个人计算机、平板电脑、服务器等。
在本申请实施例中,所述计算机设备10可以包括存储器11、处理器12、通信单元13及日志文件分析装置100。其中,所述存储器11、所述处理器12及所述通信单元13各个元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,所述存储器11、所述处理器12及所述通信单元13这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
在本实施例中,所述存储器11可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,所述存储器11用于存储计算机程序,所述处理器12在接收到执行指令后,可相应地执行所述计算机程序。
在本实施例中,所述处理器12可以是一种具有信号的处理能力的集成电路芯片。所述处理器12可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)及网络处理器(Network Processor,NP)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件中的至少一种。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
在本实施例中,所述通信单元13用于通过网络建立所述计算机设备10与其他电子设备之间的通信连接,并通过所述网络收发数据,其中所述网络包括有线通信网络及无线通信网络。例如,所述计算机设备10可通过所述通信单元13从搭载有数据库的某个服务器处获取当前需要分析的至少一个数据库日志文件,并将获取到的每个数据库日志文件作为所述计算机设备10实现日志自动化分析功能的待分析日志文件。
在本实施例中,所述日志文件分析装置100包括至少一个能够以软件或固件的形式存储于所述存储器11中或者存储在所述计算机设备10的操作系统中的软件功能模块。所述处理器12可用于执行所述存储器11存储的可执行模块,例如所述日志文件分析装置100所包括的软件功能模块及计算机程序等。所述计算机设备10可通过所述日志文件分析装置100在针对数据库日志文件的日志分析过程中有效降低硬件资源占用量,并实现关键SQL语句的自动查找功能和自动提取功能,以有效避免人力资源过度损耗问题和语句查找错误,并同步提升日志分析效率。
可以理解的是,图1所示的框图仅为所述计算机设备10的一种组成示意图,所述计算机设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
在本申请中,为确保所述计算机设备10能够在日志分析过程中有效降低硬件资源占用量,并实现关键SQL语句的自动查找功能和自动提取功能,以有效避免人力资源过度损耗问题和语句查找错误,并同步提升日志分析效率,本申请实施例通过提供一种日志文件分析方法实现前述目的。下面对本申请提供的日志文件分析方法进行详细描述。
请参照图2,图2是本申请实施例提供的日志文件分析方法的流程示意图。在本申请实施例中,所述日志文件分析方法可以包括步骤S210~步骤S260。
步骤S210,获取待分析日志文件,以及针对待分析日志文件的表名关键字、操作表项关键字和表项连续行数。
在本实施例中,所述待分析日志文件可以为包括有多个数据库日志文件的文件夹内的任意一个数据库日志文件,也可以是由搭载有数据库的服务器直接发送给所述计算机设备10的某个数据库日志文件。所述表名关键字用于表示需要从所述待分析日志文件提取出的关键操作表的部分表名字符串(例如,“inventory”和“house”),所述操作表项关键字用于表示需要从所述待分析日志文件提取出的关键操作表的部分表项内容字符串(例如,字符串“1CGYS1906”和/或“42055”),所述表项连续行数用于表示需要从所述待分析日志文件提取出的关键操作表的呈连续分布的表项内容行数。其中,所述操作表项关键字可以包括多个关键字符串;所述表名关键字、所述操作表项关键字和所述表项连续行用于表示前述关键操作表的操作表特征信息;所述关键操作表可采用SQL语句进行表示。
步骤S220,对待分析日志文件进行文本格式转换,得到对应的待分析文本文件。
在本实施例中,所述计算机设备10可通过对获取到的所述待分析日志文件进行文本格式转换,得到以文本格式存在的待分析文本文件,以通过文本格式转换方式在日志分析过程中有效降低硬件资源占用量,避免采用Notepad++、EditPlus、UltraEdit等工具打开所述待分析日志文件所造成的硬件资源消耗。
步骤S230,在待分析文本文件中确定与表名关键字匹配的所有目标表名文本行。
在本实施例中,当所述计算机设备10将获取到的所述待分析日志文件转换为待分析文本文件后,可调用较少的硬件资源自动读取所述待分析文本文件,而后按照所述表名关键字在所述待分析文本文件包括的各个文本行中,查找出存在有所述表名关键字的所有目标表名文本行。
可选地,请参照图3,图3是图2中的步骤S230包括的子步骤的流程示意图。在本申请实施例中,所述步骤S230可以包括子步骤S231~子步骤S233,以在与所述待分析日志文件对应的待分析文本文件中实现关键操作表的表名行自动查找功能,并有效提升表名行自动查找操作的查找精准度。
子步骤S231,对待分析文本文件进行表名文本行筛选,得到待分析文本文件包括的所有待匹配表名文本行。
在本实施例中,所述计算机设备10可将具有表名提取起始模式串“Table_map:”的文本行作为表名文本行。其中,所述计算机设备10可基于KMP(Knuth-Morris-Pratt,字符串查找与定位)算法将所述待分析文本文件包括的每个文本行与前述表名提取起始模式串“Table_map:”进行字符串匹配,并将具有所述表名提取起始模式串“Table_map:”的文本行作为所述待分析文本文件包括的待匹配表名文本行。
在本实施例的一种实施方式中,为提高日志分析全面性,所述计算机设备10可直接将所述待分析文本文件包括的每个文本行都视为一个待匹配表名文本行。
子步骤S232,针对每个待匹配表名文本行,将该待匹配表名文本行包括的所有字符串与表名关键字进行字符串匹配。
子步骤S233,在该待匹配表名文本行中存在与表名关键字匹配的字符串时,将该待匹配表名文本行作为一个目标表名文本行。
以表名关键字“inventory”和“house”为例,若基于KMP算法在待分析文本中查找出具有表名提取起始模式串“Table_map:”的三个待匹配表名文本行,则会按照表名关键字“inventory”和“house”,对这三个待匹配表名文本行分别进行字符串匹配,并在这三个待匹配表名文本行均存在表名关键字“inventory”和“house”时,将这三个待匹配表名文本行均作为该待分析文本文件中的与表名关键字匹配的目标表名文本行。
由此,本申请可通过执行上述子步骤S231~子步骤S233,尽可能地筛选出所述待分析文本文件中的与表名关键字匹配的目标表名文本行。
步骤S240,针对每个目标表名文本行,提取该目标表名文本行所包括的操作表时间信息以及完整表名信息,并对该目标表名文本行所对应的实际操作类型进行识别。
在本实施例中,当所述计算机设备10在与所述待分析日志文件对应的待分析文本文件中确定出一个目标表名文本行后,会对该目标表名文本行进行字符串解析,以从该目标表名文本行中提取出表征对应关键操作表的产生/修改时间点的操作表时间信息,以及表征对应关键操作表的实际表名状况的完整表名信息,而后在所述待分析文本文件的位于该目标表名文本行后面的某个文本行中,提取出表征该目标表名文本行所对应的关键操作表的操作类型的字符串,以实现对该目标表名文本行所对应的实际操作类型的识别功能。
可选地,请参照图4,图4是图2中的步骤S240包括的子步骤的流程示意图之一。在本申请实施例中,所述步骤S240中的步骤“针对每个目标表名文本行,提取该目标表名文本行所包括的操作表时间信息以及完整表名信息”可以包括子步骤S241~子步骤S243,以精准提取出与表名关键字匹配的每个目标表名文本行中的操作表时间信息以及完整表名信息。
子步骤S241,根据操作表时间在单个表名文本行中的预设字符串位置信息,基于字符串截取算法在该目标表名文本行中进行字符串提取,得到该目标表名文本行的操作表时间信息。
示例性地,所述操作表时间在单个表名文本行中的预设字符串位置信息可采用“对应表名文本行的第2个字符到第15个字符”进行表示,其中所述操作表时间信息可采用“AABBCC DD:EE:FF”进行表示,其中“AA”用于表示年份,“BB”用于表示月份,“CC”用于表示对应月份内的哪一天,DD用于表示一天内的第几个小时,EE用于第几分钟,FF用于表示第几秒。
子步骤S242,根据预设的表名提取起始模式串对该目标表名文本行进行模式串匹配,得到表名提取起始模式串在该目标表名文本行中的第一字符串位置,并根据预设的表名提取终止模式串对该目标表名文本行进行模式串匹配,得到表名提取终止模式串在该目标表名文本行中的第二字符串位置。
其中,所述第一字符串位置用于表示所述完整表名在对应表名文本行中的起始位置,所述第二字符串位置用于表示所述完整表名在对应表名文本行中的终止位置,所述表名提取起始模式串可采用“Table_map:”进行表示,所述表名提取终止模式串可采用“mapped to number”进行表示。
子步骤S243,基于字符串截取算法提取该目标表名文本行中的位于第一字符串位置和第二字符串位置之间的字符串,得到该目标表名文本行的完整表名信息。
由此,本申请可通过执行上述子步骤S241~子步骤S243,精准提取出与表名关键字匹配的每个目标表名文本行中的操作表时间信息以及完整表名信息。
可选地,请参照图5,图5是图2中的步骤S240包括的子步骤的流程示意图之二。在本申请实施例中,所述步骤S240中的步骤“针对每个目标表名文本行,对该目标表名文本行所对应的实际操作类型进行识别”可以包括子步骤S245~子步骤S246,以精准识别出与表名关键字匹配的每个目标表名文本行所对应的实际操作类型。
子步骤S245,根据预设的单个表名文本行与对应操作类型文本行之间的相对行位置关系,在待分析文本文件中筛选出与该目标表名文本行对应的目标操作类型文本行。
在本实施例中,所述操作类型文本行是记录有对应操作表的操作类型的文本行;每个表名文本行所对应的操作类型文本行通常位于该表名文本行后面的某个特定位置,此时可通过描述单个表名文本行与其对应的操作类型文本行间隔多少个文本行的方式,来描述单个表名文本行与对应操作类型文本行之间的相对行位置关系。由此,所述计算机设备10在确定出某个目标表名文本行后,会根据前述相对行位置关系在位于该目标表名文本行后面的多个文本行中,确定出与该目标表名文本行对应的目标操作类型文本行。
示例性地,可采用“单个表名文本行与其对应的操作类型文本行间隔2个文本行”描述单个表名文本行与对应操作类型文本行之间的相对行位置关系。
子步骤S246,根据不同操作类型各自对应的预设类型模式串,对目标操作类型文本行进行字符串查找,得到该目标表名文本行在目标操作类型文本行处对应的实际操作类型。
其中,所述不同操作类型可以包括数据库表新增操作类型、数据库表项更新操作类型和数据库表项删除操作类型,则与数据库表新增操作类型对应的预设类型模式串可采用“INSERT”进行表示,与数据库表项更新操作类型对应的预设类型模式串可采用“UPDATE”进行表示,与数据库表项删除操作类型对应的预设类型模式串可采用“DELETE”进行表示。由此,所述计算机设备10在确定出一个目标操作类型文本行后,会在该目标操作类型文本行中查找是否存在“INSERT”、“UPDATE”或“DELETE”,并在该目标操作类型文本行存在某个预设类型模式串时,判定与该目标操作类型文本行对应的目标表名文本行的实际操作类型即为查找到的所述预设类型模式串所对应的操作类型。
由此,本申请可通过执行上述子步骤S245及子步骤S246,精准识别出与表名关键字匹配的每个目标表名文本行所对应的实际操作类型。
步骤S250,根据识别出的实际操作类型,在待分析文本文件中按照表项连续行数提取与该目标表名文本行对应的目标操作表项文本行,并将目标操作表项文本行与操作表项关键字进行字符串匹配。
在本实施例中,当所述计算机设备10确定出所述待分析文本文件中的与所述表名关键字匹配的一个目标表名文本行,以及该目标表名文本行所对应的实际操作类型后,会根据该目标表名文本行所对应的实际操作类型,在所述待分析文本文件中的位于该目标表名文本行后面的多个文本行中,提取出记录有对应操作表的表项内容的目标操作表项文本行,其中所述目标操作表项文本行的总行数与所述表项连续行数保持一致。
接着,所述计算机设备10会将提取出的与单个目标表名文本行对应的目标操作表项文本行所记录的所有字符串,与所述操作表项关键字包括的所有关键字符串进行字符串匹配,以确定该目标操作表项文本行是否存在所述操作表项关键字的所有字符串,来判断该目标操作表项文本行是否属于关键操作表的实际表项内容。
可选地,请参照图6,图6是图2中的步骤S250包括的子步骤的流程示意图之一。在本申请实施例中,针对每个目标表名文本行,所述步骤S250中的步骤“根据识别出的实际操作类型,在待分析文本文件中按照表项连续行数提取与该目标表名文本行对应的目标操作表项文本行”可以包括子步骤S251~子步骤S252,以从待分析文本文件中精准提取出与表名关键字匹配的每个目标表名文本行所在操作表的目标操作表项文本行。
子步骤S251,根据单个表名文本行在不同操作类型下的操作表项起始文本行与该表名文本行之间的相对行位置关系,在待分析文本文件中确定与该目标表名文本行对应的目标操作表项起始文本行。
在本实施例中,单个表名文本行在不同操作类型下的操作表项起始文本行与该表名文本行之间的相对行位置关系可采用“对应操作表项起始文本行在特定操作类型下与对应表名文本行间隔多少个文本行”表示。
示例性地,目标表名文本行在数据库表新增操作类型(即“INSERT”)下与对应操作表项起始文本行间隔4个文本行;目标表名文本行在数据库表项更新操作类型(即“UPDATE”)下与对应操作表项起始文本行间隔12个文本行;目标表名文本行在数据库表项删除操作类型(即“DELETE”)下与对应操作表项起始文本行间隔4个文本行。
子步骤S252,将目标操作表项起始文本行作为提取起始文本行,按照表项连续行数对待分析文本文件进行连续文本行提取,得到包括目标操作表项起始文本行的目标操作表项文本行,其中目标操作表项文本行的总行数与表项连续行数保持一致。
由此,本申请可通过执行上述子步骤S251及子步骤S252,从待分析文本文件中精准提取出与表名关键字匹配的每个目标表名文本行所在操作表的目标操作表项文本行。
可选地,请参照图7,图7是图2中的步骤S250包括的子步骤的流程示意图之二。在本申请实施例中,针对每个目标表名文本行,所述步骤S250中的步骤“将目标操作表项文本行与操作表项关键字进行字符串匹配”可以包括子步骤S253~子步骤S254,以精确判断与表名关键字匹配的每个目标表名文本行所在操作表的目标操作表项文本行是否属于关键操作表的实际表项内容。
子步骤S253,针对操作表项关键字包括的每个关键字符串,在目标操作表项文本行中进行字符串查找。
子步骤S254,若目标操作表项文本行存在操作表项关键字包括的所有关键字符串,则判定目标操作表项文本行与操作表项关键字成功匹配,否则判定目标操作表项文本行与操作表项关键字匹配失败。
其中,若某个目标表名文本行所对应的目标操作表项文本行与所述操作表项关键字成功匹配,即表明该目标表名文本行所对应的目标操作表项文本行实质属于关键操作表的实际表项内容;若某个目标表名文本行所对应的目标操作表项文本行与所述操作表项关键字匹配失败,即表明该目标表名文本行所对应的目标操作表项文本行并不属于关键操作表的实际表项内容。
以操作表项关键字包括有关键字符串“1CGYS1906”和关键字符串“42055”为例,若某个目标表名文本行所对应的目标操作表项文本行记录有关键字符串“1CGYS1906”和关键字符串“42055”,则该目标操作表项文本行均与前述操作表项关键字成功匹配。
由此,本申请可通过执行上述子步骤S253及子步骤S254,精确判断与表名关键字匹配的每个目标表名文本行所在操作表的目标操作表项文本行是否属于关键操作表的实际表项内容。
步骤S260,在目标操作表项文本行与操作表项关键字成功匹配的情况下,提取目标操作表项文本行所包括的所有操作表项内容,并将与该目标表名文本行对应的操作表时间信息、完整表名信息、实际操作类型及所有操作表项内容写入到目标记录文件中。
在本实施例中,当所述计算机设备10确定所述待分析文本文件中存在一个目标表名文本行与所述表名关键字匹配,同时确定所述待分析文本文件中存在该目标表名文本行所对应的目标操作表项文本行能够与所述操作表项关键字成功匹配时,所述计算机设备10将对应判定该目标表名文本行和对应目标操作表项文本行实质属于当前需要提取出的关键操作表的相关数据,此时所述计算机设备10会从前述目标操作表项文本行中提取其记录的所有操作表项内容,而后将归属于同一目标表名文本行的操作表时间信息、完整表名信息、实际操作类型及所有操作表项内容写入到目标记录文件中,以便于数据库运维人员能够通过阅读所述目标记录文件的方式,直观地了解到所述待分析日志文件中的关键操作表的相关信息,从而提升数据库故障排查效率。
当所述计算机设备10确定所述待分析文本文件中存在一个目标表名文本行与所述表名关键字匹配,但确定该目标表名文本行所对应的目标操作表项文本行与所述操作表项关键字匹配失败时,所述计算机设备10将对应判定该目标表名文本行和对应目标操作表项文本行实质并不属于当前需要提取出的关键操作表的相关数据,此时所述计算机设备10将对应删除已提取出的该目标表名文本行所对应的操作表时间信息、完整表名信息和实际操作类型。
可选地,请参照图8,图8是图2中的步骤S260包括的子步骤的流程示意图。在本申请实施例中,所述步骤S260中的步骤“提取目标操作表项文本行所包括的所有操作表项内容”可以包括子步骤S261~子步骤S262,以在与所述操作表项关键字成功匹配的目标操作表项文本行中精准提取出对应的所有操作表项内容。
子步骤S261,针对目标操作表项文本行包括的每个操作表项文本行,按照预设的表项内容起始模式串对该操作表项文本行进行模式串匹配,得到表项内容起始模式串在该操作表项文本行中的第三字符串位置。
其中,所述表项内容起始模式串可采用字符串“=”进行表示。
子步骤S262,基于字符串截取算法提取该操作表项文本行中的位于第三字符串位置和回车换行符之间的字符串,得到该目标表名文本行在该操作表项文本行处对应的操作表项内容。
其中,所述回车换行符可采用字符串“CRLF”进行表示。
由此,本申请可通过执行上述子步骤S261及子步骤S262,在与所述操作表项关键字成功匹配的目标操作表项文本行中精准提取出对应的所有操作表项内容。
可以理解的是,同一待分析日志文件所包括的所有符合所述表名关键字和所述操作表项关键字的操作表时间信息、完整表名信息、实际操作类型和操作表项内容可写入到同一目标记录文件中;不同待分析日志文件各自对应的符合所述表名关键字和所述操作表项关键字的操作表时间信息、完整表名信息、实际操作类型和操作表项内容可写入到同一目标记录文件中,也可以是每个待分析日志文件单独对应一个目标记录文件,以通过该目标记录文件对应记录该待分析日志文件所包括的所有符合所述表名关键字和所述操作表项关键字的操作表时间信息、完整表名信息、实际操作类型和操作表项内容。
其中,所述目标记录文件可通过每个文本行单独记录归属于同一目标表名文本行的操作表时间信息、完整表名信息、实际操作类型及所有操作表项内容。
在本实施例的一种实施方式中,所述目标记录文件可以是CSV格式文件,归属于同一目标表名文本行的操作表时间信息、完整表名信息、实际操作类型及所有操作表项内容可采用逗号进行分隔后充当所述目标记录文件的一个文本行。
例如,当待分析文本文件中存在一个目标表名文本行所对应的操作表时间信息“230419 15:50:02”、 完整表名信息“psistorehouse.t_splitpackagelog”、实际操作类型“INSERT”、操作表项内容“1T2248556791CGYS19060047”、操作表项内容“5904140”、操作表项内容“24476”、操作表项内容“4381.000000”、操作表项内容“0.000000”、操作表项内容“5742055”和操作表项内容“2022-11-21 00:00:00”时,该目标表名文本行在目标记录文件中对应的文本行可表示为(“230419 15:50:02”,“psistorehouse.t_splitpackagelog”,“INSERT”,“1T2248556791CGYS19060047”,“5904140”,“24476”,“4381.000000”,“0.000000”,“5742055”,“2022-11-21 00:00:00”)。
由此,本申请可通过执行上述步骤S210~步骤S260,确保所述计算机设备10能够在日志分析过程中有效降低硬件资源占用量,并实现关键SQL语句的自动查找功能和自动提取功能,以有效避免人力资源过度损耗问题和语句查找错误,并同步提升日志分析效率。
在本申请中,为确保所述计算机设备10能够通过所述日志文件分析装置100执行上述日志文件分析方法,本申请通过对所述日志文件分析装置100进行功能模块划分的方式实现前述功能。下面对本申请提供的日志文件分析装置100的具体组成进行相应描述。
请参照图9,图9是本申请实施例提供的日志文件分析装置100的组成示意图。在本申请实施例中,所述日志文件分析装置100可以包括日志信息获取模块110、日志格式转换模块120、目标表名匹配模块130、表名文本处理模块140、表项文本处理模块150和日志内容记录模块160。
日志信息获取模块110,用于获取待分析日志文件,以及针对所述待分析日志文件的表名关键字、操作表项关键字和表项连续行数。
日志格式转换模块120,用于对所述待分析日志文件进行文本格式转换,得到对应的待分析文本文件。
目标表名匹配模块130,用于在所述待分析文本文件中确定与所述表名关键字匹配的所有目标表名文本行。
表名文本处理模块140,用于针对每个目标表名文本行,提取该目标表名文本行所包括的操作表时间信息以及完整表名信息,并对该目标表名文本行所对应的实际操作类型进行识别。
表项文本处理模块150,用于根据识别出的所述实际操作类型,在所述待分析文本文件中按照所述表项连续行数提取与该目标表名文本行对应的目标操作表项文本行,并将所述目标操作表项文本行与所述操作表项关键字进行字符串匹配。
日志内容记录模块160,用于在所述目标操作表项文本行与所述操作表项关键字成功匹配的情况下,提取所述目标操作表项文本行所包括的所有操作表项内容,并将与该目标表名文本行对应的所述操作表时间信息、所述完整表名信息、所述实际操作类型及所有操作表项内容写入到目标记录文件中。
需要说明的是,本申请实施例所提供的日志文件分析装置100,其基本原理及产生的技术效果与前述的日志文件分析方法相同。为简要描述,本实施例部分未提及之处,可参考上述的针对日志文件分析方法的描述内容。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,在本申请提供的日志文件分析方法及装置、计算机设备和可读存储介质中,本申请在获取到待分析日志文件及针对待分析日志文件的表名关键字、操作表项关键字和表项连续行数后,会对该待分析日志文件进行文本格式转换,得到对应的待分析文本文件,并针对该待分析文本文件中的与表名关键字匹配的每个目标表名文本行,提取该目标表名文本行所包括的操作表时间信息和完整表名信息,而后根据该目标表名文本行的实际操作类型,在该待分析文本文件中按照表项连续行数提取与该目标表名文本行对应的目标操作表项文本行,并将该目标操作表项文本行与操作表项关键字进行字符串匹配,接着在该目标操作表项文本行与操作表项关键字成功匹配的情况下,提取该目标操作表项文本行所包括的所有操作表项内容,然后将与该目标表名文本行对应的操作表时间信息、完整表名信息、实际操作类型及所有操作表项内容写入到目标记录文件中,从而通过文本格式转换方式在日志分析过程中有效降低硬件资源占用量,并通过关键信息匹配方式实现关键SQL语句的自动查找功能和自动提取功能,以有效避免人力资源过度损耗问题和语句查找错误,并同步提升日志分析效率。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应当以权利要求的保护范围为准。
Claims (10)
1.一种日志文件分析方法,其特征在于,所述方法包括:
获取待分析日志文件,以及针对所述待分析日志文件的表名关键字、操作表项关键字和表项连续行数;
对所述待分析日志文件进行文本格式转换,得到对应的待分析文本文件;
在所述待分析文本文件中确定与所述表名关键字匹配的所有目标表名文本行;
针对每个目标表名文本行,提取该目标表名文本行所包括的操作表时间信息以及完整表名信息,并对该目标表名文本行所对应的实际操作类型进行识别;
根据识别出的所述实际操作类型,在所述待分析文本文件中按照所述表项连续行数提取与该目标表名文本行对应的目标操作表项文本行,并将所述目标操作表项文本行与所述操作表项关键字进行字符串匹配;
在所述目标操作表项文本行与所述操作表项关键字成功匹配的情况下,提取所述目标操作表项文本行所包括的所有操作表项内容,并将与该目标表名文本行对应的所述操作表时间信息、所述完整表名信息、所述实际操作类型及所有操作表项内容写入到目标记录文件中。
2.根据权利要求1所述的方法,其特征在于,所述在所述待分析文本文件中确定与所述表名关键字匹配的所有目标表名文本行的步骤,包括:
对所述待分析文本文件进行表名文本行筛选,得到所述待分析文本文件包括的所有待匹配表名文本行;
针对每个待匹配表名文本行,将该待匹配表名文本行包括的所有字符串与所述表名关键字进行字符串匹配;
在该待匹配表名文本行中存在与所述表名关键字匹配的字符串时,将该待匹配表名文本行作为一个目标表名文本行。
3.根据权利要求1所述的方法,其特征在于,针对每个目标表名文本行,所述提取该目标表名文本行所包括的操作表时间信息以及完整表名信息的步骤,包括:
根据操作表时间在单个表名文本行中的预设字符串位置信息,基于字符串截取算法在该目标表名文本行中进行字符串提取,得到该目标表名文本行的操作表时间信息;
根据预设的表名提取起始模式串对该目标表名文本行进行模式串匹配,得到所述表名提取起始模式串在该目标表名文本行中的第一字符串位置,并根据预设的表名提取终止模式串对该目标表名文本行进行模式串匹配,得到所述表名提取终止模式串在该目标表名文本行中的第二字符串位置;
基于字符串截取算法提取该目标表名文本行中的位于所述第一字符串位置和所述第二字符串位置之间的字符串,得到该目标表名文本行的完整表名信息。
4.根据权利要求1所述的方法,其特征在于,针对每个目标表名文本行,所述对该目标表名文本行所对应的实际操作类型进行识别的步骤,包括:
根据预设的单个表名文本行与对应操作类型文本行之间的相对行位置关系,在所述待分析文本文件中筛选出与该目标表名文本行对应的目标操作类型文本行;
根据不同操作类型各自对应的预设类型模式串,对所述目标操作类型文本行进行字符串查找,得到该目标表名文本行在所述目标操作类型文本行处对应的实际操作类型。
5.根据权利要求1所述的方法,其特征在于,针对每个目标表名文本行,所述根据识别出的所述实际操作类型,在所述待分析文本文件中按照所述表项连续行数提取与该目标表名文本行对应的目标操作表项文本行的步骤,包括:
根据单个表名文本行在不同操作类型下的操作表项起始文本行与该表名文本行之间的相对行位置关系,在所述待分析文本文件中确定与该目标表名文本行对应的目标操作表项起始文本行;
将所述目标操作表项起始文本行作为提取起始文本行,按照所述表项连续行数对所述待分析文本文件进行连续文本行提取,得到包括所述目标操作表项起始文本行的目标操作表项文本行,其中所述目标操作表项文本行的总行数与所述表项连续行数保持一致。
6.根据权利要求1所述的方法,其特征在于,所述将所述目标操作表项文本行与所述操作表项关键字进行字符串匹配的步骤,包括:
针对所述操作表项关键字包括的每个关键字符串,在所述目标操作表项文本行中进行字符串查找;
若所述目标操作表项文本行存在所述操作表项关键字包括的所有关键字符串,则判定所述目标操作表项文本行与所述操作表项关键字成功匹配,否则判定所述目标操作表项文本行与所述操作表项关键字匹配失败。
7.根据权利要求1-6中任意一项所述的方法,其特征在于,所述提取所述目标操作表项文本行所包括的所有操作表项内容的步骤,包括:
针对所述目标操作表项文本行包括的每个操作表项文本行,按照预设的表项内容起始模式串对该操作表项文本行进行模式串匹配,得到所述表项内容起始模式串在该操作表项文本行中的第三字符串位置;
基于字符串截取算法提取该操作表项文本行中的位于所述第三字符串位置和回车换行符之间的字符串,得到该目标表名文本行在该操作表项文本行处对应的操作表项内容。
8.一种日志文件分析装置,其特征在于,所述装置包括:
日志信息获取模块,用于获取待分析日志文件,以及针对所述待分析日志文件的表名关键字、操作表项关键字和表项连续行数;
日志格式转换模块,用于对所述待分析日志文件进行文本格式转换,得到对应的待分析文本文件;
目标表名匹配模块,用于在所述待分析文本文件中确定与所述表名关键字匹配的所有目标表名文本行;
表名文本处理模块,用于针对每个目标表名文本行,提取该目标表名文本行所包括的操作表时间信息以及完整表名信息,并对该目标表名文本行所对应的实际操作类型进行识别;
表项文本处理模块,用于根据识别出的所述实际操作类型,在所述待分析文本文件中按照所述表项连续行数提取与该目标表名文本行对应的目标操作表项文本行,并将所述目标操作表项文本行与所述操作表项关键字进行字符串匹配;
日志内容记录模块,用于在所述目标操作表项文本行与所述操作表项关键字成功匹配的情况下,提取所述目标操作表项文本行所包括的所有操作表项内容,并将与该目标表名文本行对应的所述操作表时间信息、所述完整表名信息、所述实际操作类型及所有操作表项内容写入到目标记录文件中。
9.一种计算机设备,其特征在于,包括处理器和存储器,所述存储器存储有可被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序,以实现权利要求1-7中任意一项所述的日志文件分析方法。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1-7中任意一项所述的日志文件分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311675712.9A CN117389980B (zh) | 2023-12-08 | 2023-12-08 | 日志文件分析方法及装置、计算机设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311675712.9A CN117389980B (zh) | 2023-12-08 | 2023-12-08 | 日志文件分析方法及装置、计算机设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117389980A CN117389980A (zh) | 2024-01-12 |
CN117389980B true CN117389980B (zh) | 2024-02-09 |
Family
ID=89472432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311675712.9A Active CN117389980B (zh) | 2023-12-08 | 2023-12-08 | 日志文件分析方法及装置、计算机设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117389980B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604035A (zh) * | 2003-09-30 | 2005-04-06 | 联想(北京)有限公司 | 一种日志分析系统及基于该系统的分析方法 |
CN104317843A (zh) * | 2014-10-11 | 2015-01-28 | 上海瀚之友信息技术服务有限公司 | 一种数据同步etl系统 |
CN106294732A (zh) * | 2016-08-10 | 2017-01-04 | 北京海誉动想科技股份有限公司 | 基于etl工具的日志收集方法 |
EP3136249A1 (en) * | 2014-06-06 | 2017-03-01 | Nippon Telegraph and Telephone Corporation | Log analysis device, attack detection device, attack detection method and program |
CN108694590A (zh) * | 2017-04-05 | 2018-10-23 | 互联企信公司 | 用于欺诈监控的基于上下文敏感规则的警报 |
CN111177184A (zh) * | 2019-12-24 | 2020-05-19 | 深圳壹账通智能科技有限公司 | 基于自然语言的结构化查询语言转换方法、及其相关设备 |
CN114528845A (zh) * | 2022-02-14 | 2022-05-24 | 中国工商银行股份有限公司 | 异常日志的分析方法、装置及电子设备 |
-
2023
- 2023-12-08 CN CN202311675712.9A patent/CN117389980B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604035A (zh) * | 2003-09-30 | 2005-04-06 | 联想(北京)有限公司 | 一种日志分析系统及基于该系统的分析方法 |
EP3136249A1 (en) * | 2014-06-06 | 2017-03-01 | Nippon Telegraph and Telephone Corporation | Log analysis device, attack detection device, attack detection method and program |
CN104317843A (zh) * | 2014-10-11 | 2015-01-28 | 上海瀚之友信息技术服务有限公司 | 一种数据同步etl系统 |
CN106294732A (zh) * | 2016-08-10 | 2017-01-04 | 北京海誉动想科技股份有限公司 | 基于etl工具的日志收集方法 |
CN108694590A (zh) * | 2017-04-05 | 2018-10-23 | 互联企信公司 | 用于欺诈监控的基于上下文敏感规则的警报 |
CN111177184A (zh) * | 2019-12-24 | 2020-05-19 | 深圳壹账通智能科技有限公司 | 基于自然语言的结构化查询语言转换方法、及其相关设备 |
CN114528845A (zh) * | 2022-02-14 | 2022-05-24 | 中国工商银行股份有限公司 | 异常日志的分析方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
基于Hadoop的在线网络日志分析系统研究;杨锋英 等;《计算机应用与软件》;第31卷(第8期);311-316 * |
Also Published As
Publication number | Publication date |
---|---|
CN117389980A (zh) | 2024-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10169337B2 (en) | Converting data into natural language form | |
CN108932294B (zh) | 基于索引的简历数据处理方法、装置、设备及存储介质 | |
CN110019218B (zh) | 数据存储与查询方法及设备 | |
US9626434B2 (en) | Systems and methods for generating and using aggregated search indices and non-aggregated value storage | |
CN112000773B (zh) | 基于搜索引擎技术的数据关联关系挖掘方法及应用 | |
CN113760891B (zh) | 一种数据表的生成方法、装置、设备和存储介质 | |
CN112511546A (zh) | 基于日志分析的漏洞扫描方法、装置、设备和存储介质 | |
CN107085568B (zh) | 一种文本相似度判别方法及装置 | |
CN109885641B (zh) | 一种数据库中文全文检索的方法及系统 | |
CN111813849A (zh) | 数据抽取方法、装置及设备、存储介质 | |
CN112001183A (zh) | 一种基于段落语义的中小学试题分割提取方法及系统 | |
US9213759B2 (en) | System, apparatus, and method for executing a query including boolean and conditional expressions | |
CN101021851B (zh) | 文本检索装置和文本检索方法 | |
KR100882864B1 (ko) | 디지털 포렌식 시스템을 위한 대용량 데이터 고속 검색시스템 및 방법 | |
CN110874366A (zh) | 数据处理、查询方法和装置 | |
US10635693B2 (en) | Efficiently finding potential duplicate values in data | |
CN110704635B (zh) | 一种知识图谱中三元组数据的转换方法及装置 | |
CN117389980B (zh) | 日志文件分析方法及装置、计算机设备和可读存储介质 | |
TWI818713B (zh) | 用於自動地將用語指派至文本文件之電腦實施方法、電腦程式產品及電腦系統 | |
CN116186116A (zh) | 一种基于等保测评的资产问题分析方法 | |
US9286349B2 (en) | Dynamic search system | |
CN117112642A (zh) | 跨域数据引用完整性分析方法、装置、终端及存储介质 | |
CN114218347A (zh) | 多个文件内容的快速索引查找方法 | |
CN114490599A (zh) | 一种证件号处理和检索的方法 | |
CN109918367B (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 |