CN106055585A - 一种日志解析方法及装置 - Google Patents

一种日志解析方法及装置 Download PDF

Info

Publication number
CN106055585A
CN106055585A CN201610342256.XA CN201610342256A CN106055585A CN 106055585 A CN106055585 A CN 106055585A CN 201610342256 A CN201610342256 A CN 201610342256A CN 106055585 A CN106055585 A CN 106055585A
Authority
CN
China
Prior art keywords
template
field
preset
name
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610342256.XA
Other languages
English (en)
Inventor
袁帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NSFOCUS Information Technology Co Ltd
Beijing NSFocus Information Security Technology Co Ltd
Original Assignee
NSFOCUS Information Technology Co Ltd
Beijing NSFocus Information Security 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 NSFOCUS Information Technology Co Ltd, Beijing NSFocus Information Security Technology Co Ltd filed Critical NSFOCUS Information Technology Co Ltd
Priority to CN201610342256.XA priority Critical patent/CN106055585A/zh
Publication of CN106055585A publication Critical patent/CN106055585A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种日志解析方法及装置,在本发明实施例所述技术方案中,由于模板元素集合中包括多个模板元素,每个模板元素中包括字段输出名、该字段输出名对应的至少一个字符串信息的各自的正则表达式信息、以及字符串信息的预置输出数据类型;用户可以从模板元素集合中选择至少一个预置模板元素构成解析模板,而对待解析日志的解析是根据解析模板解析的,解析模板是用户可以根据模板元素集合随意配置的,所以本发明实施例提供的日志解析方法,无需为特定数据格式的待解析日志开发并维护日志解析应用程序,故此,能够适用任意数据格式的字符串待解析日志,也能够提高日志解析应用程序的开发效率,并降低维护工作量。

Description

一种日志解析方法及装置
技术领域
本发明涉及日志分析领域,尤其涉及一种日志解析方法及装置。
背景技术
随着海量日志分析挖掘技术的发展,如何解析设备或系统的日志备受业界重视。日志解析的目的,是将待解析日志(即原始日志)中的数据通过某种逻辑组织成格式化的数据交换格式,以便于提供给下游系统进行分析和挖掘。
目前,字符串日志,具有体积小、易压缩、更便于网络传输的优势,但是在带来诸多优势的同事,也给日志解析带来很多不便。
由于待解析日志的数据格式多种多样,现有的日志解析方法中,一般针对一种数据格式的待解析日志开发一套对应的日志解析应用程序。由此,现有技术存在以下缺陷:
1)、一个日志解析应用程序只能解析对应的数据格式的待解析日志,而且每个解析应用程序都需要维护,导致维护工作量大。
2)、当待解析日志的数据格式改变时,需要开发人员重新开发日志解析应用程序。
3)、当出现新的数据格式的待解析日志时,需要开发新的日志解析应用程序。
故此,现有的日志解析方法适用范围小,日志解析应用程序的开发效率低,周期长,维护工作量大。
发明内容
本发明实施例提供了一种日志解析方法及装置,用以解决目前存在的由于每种数据格式的待解析日志对应一种日志解析应用程序,使得无现有的日志解析方法适用范围小,日志解析应用程序的开发效率低,周期长,维护工作量大等的问题。
本发明实施例提供了一种日志解析方法,包括:
获取解析模板;其中,解析模板中包括解析后的预置数据交换格式以及从模板元素集合中选择的至少一个预置模板元素;每个预置模板元素中包括字段输出名、该字段输出名对应的至少一个字符串信息的各自的正则表达式信息、以及字符串信息的预置输出数据类型;
针对每个预置模板元素中的每个正则表达式信息,从待解析日志中提取与该正则表达式信息匹配的字符串信息;并将匹配的字符串信息配置为预置输出数据类型;
按照预置数据交换格式,输出解析模板中的每个预置模板元素的字段输出名以及每个字段输出名对应的字符串信息。
进一步地,本发明实施例还提供了一种日志解析装置,包括:
解析模板获取模块,用于获取解析模板;其中,解析模板中包括解析后的预置数据交换格式以及从模板元素集合中选择的至少一个预置模板元素;每个预置模板元素中包括字段输出名、该字段输出名对应的至少一个字符串信息的各自的正则表达式信息、以及字符串信息的预置输出数据类型;
解析模块,用于针对每个预置模板元素中的每个正则表达式信息,从待解析日志中提取与该正则表达式信息匹配的字符串信息;并将匹配的字符串信息配置为预置输出数据类型;
输出模块,用于按照预置数据交换格式,输出解析模板中的每个预置模板元素的字段输出名以及每个字段输出名对应的字符串信息。
本发明有益效果如下:在本发明实施例所述技术方案中,由于模板元素集合中包括多个模板元素,每个模板元素中包括字段输出名、该字段输出名对应的至少一个字符串信息的各自的正则表达式信息、以及字符串信息的预置输出数据类型;用户可以从模板元素集合中选择的至少一个预置模板元素构成解析模板,而对待解析日志的解析是根据解析模板解析的,解析模板是用户可以根据模板元素集合随意配置的,所以本发明实施例提供的日志解析方法,无需为特定数据格式的待解析日志开发并维护日志解析应用程序,故此,能够适用任意数据格式的待解析日志,也能够提高日志解析应用程序的开发效率,并降低维护工作量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为本发明实施例一中所述日志解析方法的流程示意图;
图2所示为本发明实施例一中所述模板元素的示意图;
图3所示为本发明实施例一中所述解析模板的示意图;
图4所示为本发明实施例一中所述字段模板的示意图;
图5所示为本发明实施例二中所述日志解析装置的结构示意图。
具体实施方式
本发明实施例提供了一种日志解析方法及装置,适用于字符串日志。在本发明实施例所述技术方案中,由于模板元素集合中包括多个模板元素,每个模板元素中包括字段输出名、该字段输出名对应的至少一个字符串信息的各自的正则表达式信息、以及字符串信息的预置输出数据类型;用户可以从模板元素集合中选择的至少一个预置模板元素构成解析模板,而对待解析日志的解析是根据解析模板解析的,解析模板是用户可以根据模板元素集合随意配置的,所以本发明实施例提供的日志解析方法,无需为特定数据格式的待解析日志开发并维护日志解析应用程序,故此,能够适用任意数据格式的字符串类型待解析日志,也能够提高日志解析应用程序的开发效率,并降低维护工作量。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
如图1所示,其为本发明实施例一中所述日志解析方法的流程示意图,所述日志解析方法可包括以下步骤:
步骤101:获取解析模板;其中,解析模板中包括解析后的预置数据交换格式以及从模板元素集合中选择的至少一个预置模板元素;每个预置模板元素中包括字段输出名、该字段输出名对应的至少一个字符串信息的各自的正则表达式信息、以及字符串信息的预置输出数据类型。
其中,在一个实施例中,预置数据交换格式例如是XML(Extensible MarkupLanguage,可扩展标记语言)、JSON(JavaScript Object Notation,JavaScript对象表示法)、YAML(Yet Another Markup Language,另一种标记语言)等中的其中一种。需要说明的是,任何预置数据交换格式均适用于本发明实施例,本发明对此不做限定。
其中,在一个实施例中,预置输出数据类型例如是以下中的任一种:int(Integer,整数类型)、String(字符串)、long(整型)、boolean(布尔型)、float(浮点型)、double(双精度浮点型)、date(日期型)等。
其中,在一个实施例中正则表达式信息可以是一个具体的正则表达式,也可以是正则表达式的标识,具体实施时,可以根据实际需要设定,本发明实施例对此不做限定。
其中,在一个实施例中,模板元素集合的存储形式可以是数据库也可以是文件,本发明对此不做限定。
步骤102:针对每个预置模板元素中的每个正则表达式信息,从待解析日志中提取与该正则表达式信息匹配的字符串信息;并将匹配的字符串信息配置为预置输出数据类型。
步骤103:按照预置数据交换格式,输出解析模板中的每个预置模板元素的字段输出名以及每个字段输出名对应的字符串信息。
为便于理解,下面对本发明实施例提供的日志解析方法进行进一步地说明,具体的,包括以下内容:
1)、关于模板元素与解析模板:
其中,在一个实施例中,可以通过预先定义字段模板,每个字段模板均有对应的正则表达式,该正则表达式可用于提取待解析日志中的字符串信息。故此,本发明实施例中为便于配置解析模板,正则表达式信息为字段模板名;针对任一预置模板元素,根据以下方法配置该预置模板元素,包括步骤A1-步骤A4:
步骤A1:接收对字段模板集合中的至少一个字段模板名的选择指令;其中,每个字段模板名对应一个字段模板,每个字段模板均有对应的正则表达式。
其中,在一个实施例中,字段模板集合的存储形式可以是数据库也可以是文件,本发明对此不做限定。
步骤A2:将选择的字段模板名对应的字段模板作为预置字段模板,并接收针对预置模板元素的字段输出名的命名指令。
步骤A3:接收对输出数据类型的设定指令。
其中,在一个实施例中步骤A2与步骤A3的执行顺序不受限。
步骤A4:根据命名指令中包括的字段输出名、设定指令中包括的预置输出数据类型以及预置字段模板,生成预置模板元素。
为便于理解,这里举例对步骤A1-步骤A4进行说明:假设字段模板集合如表1所示。其中,需要说明的是表1仅用来说明本发明实施例,并不用于限定本发明实施例,具体实施时,可以根据实际需要设计字段模板集合,本发明实施例对此并不限定。
表1 字段模板集合示例
字段模板名 字段模板对应正则表达式
M1 正则表达式1
M2 正则表达式2
M3 正则表达式3
若选择的字段模板名为M1和M2,则字段模板M1、M2均为预置模板元素的预置字段模板。若命名指令中包括的字段输出名为U,设定指令中包括的输出数据类型为String,则最终的生成的预置模板元素可以表示为如图2所示:在图2中201表示字段模板分割符,用于区分出不同的字段模板名;202表示字段输出名标识符,用于识别出字段输出名;203表示预置输出数据类型标识符,用于识别出预置输出数据类型。具体实施时,201可用“;”表示;202可用“:”表示;203可用“;”表示,则预置模板元素U可表示为:
M1;M2:U;String
具体识别时,可以根据各符号以及该符号出现的位置识别出预置模板元素中的字段模板名、字段输出名以及预置输出数据类型。例如,预置模板元素U中“:”前面的“;”均为字段模板分割符;“:”后面的“;”为预置输出数据类型。
需要说明的是,一个模板元素中可以包括一个字段模板,也可以包括两个或两个以上的字段模板,本发明实施例对此不做限定。
有了模板元素之后,即可以配置解析模板,解析模板中可包括至少一个预置模板元素。当解析模板中包括多个预置模板元素时,为了便于识别出各预置模板元素,本发明实施例中解析模板中包括模板元素起始符和模板元素分割符。则解析模板的示意图可以如图3所示:其中,301表示模板元素起始符用于区分出预置数据交换格式以及模板元素;302表示模板元素分割符,用于当解析模板中包括多个预置模板元素时,区分出各模板元素;U1表示一个预置模板元素,U2表示另一个预置模板元素。具体实施时,可以用“<>”表示模板元素起始符;用“%”表示模板元素分割符,若预置数据交换格式为JSON,则图3所示的解析模板可表示为:
output_format:json<%U1%U2>
其中,在一个实施例中,解析模板包括的预置模板元素,可以用预置模板元素的标识表示(例如将预置模板元素命名为U1,U1则为预置模板元素的标识),也可以用预置模板元素(例如上例中的M1;M2:U;String)表示。
2)、关于字段模板
其中,在一个实施例中为了便于用户通过自动模板设置出解析模板,本发明实施例中,字段模板集合中的字段模板可以根据用户需求配置。故此,本发明实施例中还包括以下修改字段模板集合的方法,具体可执行为:接收对字段模板集合的编辑指令,所述编辑指令包括以下中的任一种:删除字段模板集合中第一指定字段模板的删除指令、向字段模板集合中添加字段模板的添加指令、修改字段模板集合中第二指定字段模板的修改指令。
其中,在一个实施例中,为便于用户根据已有的字段模板生成新的字段模板对应的正则表达式,本发明实施例中新的字段模板还可以嵌套至少一个已有的字段模板,以使新的字段模板的正则表达式为其嵌套的至少一个已有的字段模板的正则表达式的集合。
为便于理解,这里举例说明,例如如图4所示为字段模板的示意图:401表示字段模板名与其对应的正则表达式的分割符,用于区分出字段模板名和其对应的正则表达式。具体实施时401可以为空格符。则字段模板的表达形式可以为:
字段模版名[空格符]正则表达式
例如名称为DATA的字段模板,其正则表达式若为“.*?”(表示与任意字符串匹配),则该字段模板可以表示为:
DATA.*?
若新的字段模板(字段模板名记为FOUS)需要嵌套名称为DATA的字段模板,则新的字段模板FOUS可表示为:
FOUS"%{DATA}"
其中,FOUS表示新的字段模板名,DATA表示已有的字段模板的字段模板名。若需要嵌套多个已有的字段模板,则同上面所述的原理,添加字段模板分割符以区分开嵌套的各字段模板即可,在此不再赘述。
3)、关于日志解析
通过上述第1)以及第2)部分的说明,本发明实施例中为了便于快速的进行日志解析,在所述获取待解析日志的解析模板之后,可以执行以下步骤:
步骤B1:提取解析模板中的每个预置模板元素包括的字段输出名,生成字段输出名集合;并,提取每个预置模板元素包括的预置输出数据类型,生成预置输出数据类型集合。
步骤B2:提取解析模板中的每个预置模板元素包括的每个字段模板名,生成字段模板名集合;并建立字段模板名、预置输出数据类型以及字段输出名三者之间的三维对应关系。
其中,步骤B1与步骤B2的执行顺序可以不受限。
其中,在一个实施例中个,三维对应关系可以包括以下两种方式:
方式一,建立三维对应关系表:上述三个集合(包括字段输出名集合、预置输出数据类型集合以及字段模板名集合)作为上述集合之外的信息,也可以包含在上述集合中。
方式二、可以使属于同一预置模板元素的字段输出名,预置输出数据类型和字段模板名具有相同的关系标识,上述三个集合的元素中具有相同关系标识的元素具有对应关系。
例如,若不同预置模板元素的字段输出名不同,那么该关系标识便可以是字段输出名;当然具体实施时也可以为每一个预置模板元素分配一个唯一的序号,那么字段输出名集合中各字段输出名均与对应的序号关联存储,同理,预置输出数据类型集合中的各预置输出数据类型与对应的序号关联存储;字段模板名集合中各字段模板名与对应的序号关联存储。举例来说,若解析模板中有两个预置模板元素,为其中一个预置模板元素分配序号1,另一个预置模板元素分配序号2。若假设:序号为1的预置模板元素包括的字段输出名为U1,预置输出数据类型为int(假设用type_0表示int)、字段模板名包括ID(IDentity,身份标识号码)分别为0和1的两个;序号为2的预置模板元素包括的字段输出名为U2,预置输出数据类型为string(假设用type_1表示string、字段模板名包括ID(IDentity,身份标识号码)分别为2和3的两个。那么字段输出名集合可表示为:
(1,2)
其中1表示序号为1的预置模板元素,2表示序号为2的预置模板元素。
预置输出数据类型集合可表示为:
(1_type_0,2_type_1)
其中,1_type_0表示序号为1的预置模板元素的预置输出数据类型为type_0,2_type_1表示序号为2的预置模板元素的预置输出数据类型为type_1。
字段模板名集合可表示为:
(1_ID_0,1_ID_1,2_ID_2,2_ID_3)
其中,1_ID_0表示ID为0的字段模板名属于序号为1的预置模板元素;同理,1_ID_1表示ID为1的字段模板名属于序号为1的预置模板元素;2_ID_2表示ID为2的字段模板名属于序号为2的预置模板元素;2_ID_3表示ID为3的字段模板名属于序号为2的预置模板元素。
由上述例子可知,对于ID为0的字段模板名其对应的预置输出数据类型,便为包含序号1的预置输出数据类型,这样通过一个序号便可以建立三维对应关系。
当然,由于字段输出名与预置输出数据类型为一一对应关系,本发明实施例中还可以不添加关系标识,而仅凭在集合中排序建立三维对应关系,由于一个预置模板元素可能包括至少一个字段模板名,那么字段模板名中集合中的元素可以是多维元素。例如(ID_0,ID_1)为字段模板名中的一个元素,这个元素的含义是该元素中包括ID分别为0和1的两个字段模板名。这样,仅凭在集合中的排序位置,可以确定三维对应关系。例如,针对一个预置模板元素,其字段输出名位于字段输出名集合的第一位,则相应的其预置输出数据类型位于预置输出数据类型集合的第一位,其包含的所有字幕模板名组成一个元素位于字段模板名集合的第一位。这样,三个集合中位于相同排序位置的元素属于同一预置模板元素,便有了三维对应关系。
需要说明的是,任何能够表示本发明实施例所述三维对应关系的现有技术的方法均适用于本发明实施例,本发明对此不做限定。
有了上述三维对应关系后,步骤102可以具体包括以下步骤:
步骤C1:遍历字段模板名集合中的每个字段模板,根据每个字段模板对应的正则表达式从待解析日志中提取与该正则表达式匹配的字符串信息。
步骤C2:针对提取的每个字符串信息,根据三维对应关系,确定该字符串信息对应的字段模板对应的预置输出数据类型,并将该字符串信息的数据类型配置为确定的预置输出数据类型。
由此,在执行步骤103之前,还可以根据以下方法确定每个字段输出名对应的字符串信息,具体的:根据三维对应关系,确定字段输出名集合中的每个字段输出名对应的字符串信息。
日志解析前,会根据使用者解析模版的配置生成并缓存上述三个集合及三维对应关系,避免在解析每条或者每批日志时都要重新组织三维对应关系,通过牺牲了少量的临时存储空间来换取日志解析效率的整体提升,特别适用于当前大数据日志的解析处理。
其中,在一个实施例中,一种解析模板不能适用于所有的日志,所以具体实施时可以根据实际需要配置不同的解析模板。那么,针对一特定解析模板,若待解析日志并不适用这一解析模板,那么日志解析处理将是无用功,这将浪费处理资源。故此,本发明实施例中,为了节约处理资源,本发明实施例中获取解析模板之后,还可以判断待解析日志与解析模板是否匹配,若匹配则继续执行步骤102。其中,判断待解析日志与解析模板是否匹配的方法可以包括以下中的任一方法:
方法一,可以为每一个解析模板分配一个ID,在生成日志时,在日志中添加使用的解析模板ID,这样,获取待解析日志后可以判断待解析日志与解析模板的解析模板ID是否相同,若相同,则确定待解析日志与解析模板匹配;否则不匹配。
方法二,可以在生成字段模板名集合之后,包括以下步骤:
步骤D1:根据字段模板名集合中的至少一个字段模板各自对应的正则表达式,生成日志检测正则表达式。
步骤D2:检测待处理日志与日志检测正则表达式是否匹配。
步骤D3:若匹配,则确定待解析日志与解析模板匹配。
其中,可以从字段模板名集合中选择预设数量的字段模板名,由选择的字段模板名对应的字段模板的正则表达式组成正则表达式集合作为日志检测正则表达式。例如,选择10个字段模板,则日志检测正则表达式为这10个字段模板的正则表达式集合,当待解析日志与这10个字段模板的正则表达式集合匹配时则确定待解析日志与解析模板匹配。其中的预设数量可以为比例(例如50%,表示选择字段模板名集合中50%的字段模板名),当然预设数量越多则判断待解析日志与解析模板是否匹配的准确性越高。
其中,为了提高判断的效率,本发明实施例中,还可以预先获取解析模板使用的至少一个日志。然后,针对每个日志,步骤D1可执行为:将该日志中与解析模板中每个字段模板的正则表达式匹配的字符串信息替换成表示与任何字符串匹配的正则表达式,由此生成日志检测正则表达式。例如,若日志内容为:abcd;其中,解析模板中共包括两个字段模板,一个字段模板的正则表示式与a匹配,另一个自动模板的正则表达式与d匹配。则将日志中的a和d均替换为与任何字符串匹配的正则表达式(即.*?),最终得到的日志检测正则表达式为:.*?bc.*?。后续进行日志解析时,若待解析日志与该日志检测正则表达式匹配,则确定待解析日志与解析模板匹配,之后可以继续执行步骤102。
综上,本发明实施例中,由于模板元素集合中包括多个模板元素,每个模板元素中包括字段输出名、该字段输出名对应的至少一个字符串信息的各自的正则表达式信息、以及字符串信息的预置输出数据类型;用户可以从模板元素集合中选择的至少一个预置模板元素构成解析模板,而对待解析日志的解析是根据解析模板解析的,解析模板是用户可以根据模板元素集合随意配置的,所以本发明实施例提供的日志解析方法,无需为特定数据格式的待解析日志开发并维护日志解析应用程序,故此,能够适用任意数据格式的待解析日志,也能够提高日志解析应用程序的开发效率,并降低维护工作量。
实施例二
基于相同的发明构思,本发明实施例还提供一种日志解析装置,如图5所示,为该装置的结构示意图,包括:
解析模板获取模块501,用于获取解析模板;其中,解析模板中包括解析后的预置数据交换格式以及从模板元素集合中选择的至少一个预置模板元素;每个预置模板元素中包括字段输出名、该字段输出名对应的至少一个字符串信息的各自的正则表达式信息、以及字符串信息的预置输出数据类型;
解析模块502,用于针对每个预置模板元素中的每个正则表达式信息,从待解析日志中提取与该正则表达式信息匹配的字符串信息;并将匹配的字符串信息配置为预置输出数据类型;
输出模块503,用于按照预置数据交换格式,输出解析模板中的每个预置模板元素的字段输出名以及每个字段输出名对应的字符串信息。
其中,在一个实施例中,所述正则表达式信息为字段模板名;所述装置还包括:
模板元素配置模块,用于针对任一预置模板元素,根据以下装置配置该预置模板元素:
接收对字段模板集合中的至少一个字段模板名的选择指令;其中,每个字段模板名对应一个字段模板,每个字段模板均有对应的正则表达式;
将选择的字段模板名对应的字段模板作为预置字段模板,并接收针对预置模板元素的字段输出名的命名指令;并,
接收对输出数据类型的设定指令;
根据命名指令中包括的字段输出名、设定指令中包括的预置输出数据类型以及预置字段模板,生成预置模板元素。
其中,在一个实施例中,所述装置还包括:
编辑模块,用于接收对字段模板集合的编辑指令,所述编辑指令包括以下中的任一种:删除字段模板集合中第一指定字段模板的删除指令、向字段模板集合中添加字段模板的添加指令、修改字段模板集合中第二指定字段模板的修改指令。
其中,在一个实施例中,所述装置还包括:
提取模块,用于所述解析模板获取模块获取解析模板之后,提取解析模板中的每个预置模板元素包括的字段输出名,生成字段输出名集合;并,提取每个预置模板元素包括的预置输出数据类型,生成预置输出数据类型集合;以及,提取解析模板中的每个预置模板元素包括的每个字段模板名,生成字段模板名集合;并建立字段模板名、预置输出数据类型以及字段输出名三者之间的三维对应关系。
其中,在一个实施例中,所述解析模块,具体包括:
字符串信息提取单元,用于遍历字段模板名集合中的每个字段模板,根据每个字段模板对应的正则表达式从待解析日志中提取与该正则表达式匹配的字符串信息;
数据类型配置单元,用于针对提取的每个字符串信息,根据三维对应关系,确定该字符串信息对应的字段模板对应的预置输出数据类型,并将该字符串信息的数据类型配置为确定的预置输出数据类型;
所述装置还包括:
对应确定模块,用于所述输出模块按照预置数据交换格式,输出解析模板中的每个预置模板元素的字段输出名以及每个字段输出名对应的字符串信息之前,根据三维对应关系,确定字段输出名集合中的每个字段输出名对应的字符串信息。
其中,在一个实施例中,所述装置还包括:
判断待解析日志与解析模板是否匹配;
若匹配,则执行所述针对每个预置模板元素中的每个正则表达式信息,从待解析日志中提取与该正则表达式信息匹配的字符串信息的步骤。
综上,本发明实施例中,由于模板元素集合中包括多个模板元素,每个模板元素中包括字段输出名、该字段输出名对应的至少一个字符串信息的各自的正则表达式信息、以及字符串信息的预置输出数据类型;用户可以从模板元素集合中选择的至少一个预置模板元素构成解析模板,而对待解析日志的解析是根据解析模板解析的,解析模板是用户可以根据模板元素集合随意配置的,所以本发明实施例提供的日志解析方法,无需为特定数据格式的待解析日志开发并维护日志解析应用程序,故此,能够适用任意数据格式的待解析日志,也能够提高日志解析应用程序的开发效率,并降低维护工作量。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(装置)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理装置的处理器以产生一个机器,使得通过计算机或其他可编程数据处理装置的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理装置上,使得在计算机或其他可编程装置上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程装置上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (12)

1.一种日志解析方法,其特征在于,包括:
获取解析模板;其中,解析模板中包括解析后的预置数据交换格式以及从模板元素集合中选择的至少一个预置模板元素;每个预置模板元素中包括字段输出名、该字段输出名对应的至少一个字符串信息的各自的正则表达式信息、以及字符串信息的预置输出数据类型;
针对每个预置模板元素中的每个正则表达式信息,从待解析日志中提取与该正则表达式信息匹配的字符串信息;并将匹配的字符串信息配置为预置输出数据类型;
按照预置数据交换格式,输出解析模板中的每个预置模板元素的字段输出名以及每个字段输出名对应的字符串信息。
2.根据权利要求1所述的方法,其特征在于,所述正则表达式信息为字段模板名;针对任一预置模板元素,根据以下方法配置该预置模板元素:
接收对字段模板集合中的至少一个字段模板名的选择指令;其中,每个字段模板名对应一个字段模板,每个字段模板均有对应的正则表达式;
将选择的字段模板名对应的字段模板作为预置字段模板,并接收针对预置模板元素的字段输出名的命名指令;并,
接收对输出数据类型的设定指令;
根据命名指令中包括的字段输出名、设定指令中包括的预置输出数据类型以及预置字段模板,生成预置模板元素。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收对字段模板集合的编辑指令,所述编辑指令包括以下中的任一种:删除字段模板集合中第一指定字段模板的删除指令、向字段模板集合中添加字段模板的添加指令、修改字段模板集合中第二指定字段模板的修改指令。
4.根据权利要求2所述的方法,其特征在于,所述获取解析模板之后,所述方法还包括:
提取解析模板中的每个预置模板元素包括的字段输出名,生成字段输出名集合;并,提取每个预置模板元素包括的预置输出数据类型,生成预置输出数据类型集合;以及,
提取解析模板中的每个预置模板元素包括的每个字段模板名,生成字段模板名集合;并建立字段模板名、预置输出数据类型以及字段输出名三者之间的三维对应关系。
5.根据权利要求4所述的方法,其特征在于,所述针对每个预置模板元素中的每个正则表达式信息,从待解析日志中提取与该正则表达式信息匹配的字符串信息;并将匹配的字符串信息配置为预置输出数据类型,具体包括:
遍历字段模板名集合中的每个字段模板,根据每个字段模板对应的正则表达式从待解析日志中提取与该正则表达式匹配的字符串信息;并,
针对提取的每个字符串信息,根据三维对应关系,确定该字符串信息对应的字段模板对应的预置输出数据类型,并将该字符串信息的数据类型配置为确定的预置输出数据类型;
所述按照预置数据交换格式,输出解析模板中的每个预置模板元素的字段输出名以及每个字段输出名对应的字符串信息之前,所述方法还包括:
根据三维对应关系,确定字段输出名集合中的每个字段输出名对应的字符串信息。
6.根据权利要求1-5中任一所述的方法,其特征在于,所述方法还包括:
判断待解析日志与解析模板是否匹配;
若匹配,则执行所述针对每个预置模板元素中的每个正则表达式信息,从待解析日志中提取与该正则表达式信息匹配的字符串信息的步骤。
7.一种日志解析装置,其特征在于,包括:
解析模板获取模块,用于获取解析模板;其中,解析模板中包括解析后的预置数据交换格式以及从模板元素集合中选择的至少一个预置模板元素;每个预置模板元素中包括字段输出名、该字段输出名对应的至少一个字符串信息的 各自的正则表达式信息、以及字符串信息的预置输出数据类型;
解析模块,用于针对每个预置模板元素中的每个正则表达式信息,从待解析日志中提取与该正则表达式信息匹配的字符串信息;并将匹配的字符串信息配置为预置输出数据类型;
输出模块,用于按照预置数据交换格式,输出解析模板中的每个预置模板元素的字段输出名以及每个字段输出名对应的字符串信息。
8.根据权利要求7所述的装置,其特征在于,所述正则表达式信息为字段模板名;所述装置还包括:
模板元素配置模块,用于针对任一预置模板元素,根据以下装置配置该预置模板元素:
接收对字段模板集合中的至少一个字段模板名的选择指令;其中,每个字段模板名对应一个字段模板,每个字段模板均有对应的正则表达式;
将选择的字段模板名对应的字段模板作为预置字段模板,并接收针对预置模板元素的字段输出名的命名指令;并,
接收对输出数据类型的设定指令;
根据命名指令中包括的字段输出名、设定指令中包括的预置输出数据类型以及预置字段模板,生成预置模板元素。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
编辑模块,用于接收对字段模板集合的编辑指令,所述编辑指令包括以下中的任一种:删除字段模板集合中第一指定字段模板的删除指令、向字段模板集合中添加字段模板的添加指令、修改字段模板集合中第二指定字段模板的修改指令。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
提取模块,用于所述解析模板获取模块获取解析模板之后,提取解析模板中的每个预置模板元素包括的字段输出名,生成字段输出名集合;并,提取每个预置模板元素包括的预置输出数据类型,生成预置输出数据类型集合;以及, 提取解析模板中的每个预置模板元素包括的每个字段模板名,生成字段模板名集合;并建立字段模板名、预置输出数据类型以及字段输出名三者之间的三维对应关系。
11.根据权利要求10所述的装置,其特征在于,所述解析模块,具体包括:
字符串信息提取单元,用于遍历字段模板名集合中的每个字段模板,根据每个字段模板对应的正则表达式从待解析日志中提取与该正则表达式匹配的字符串信息;
数据类型配置单元,用于针对提取的每个字符串信息,根据三维对应关系,确定该字符串信息对应的字段模板对应的预置输出数据类型,并将该字符串信息的数据类型配置为确定的预置输出数据类型;
所述装置还包括:
对应确定模块,用于所述输出模块按照预置数据交换格式,输出解析模板中的每个预置模板元素的字段输出名以及每个字段输出名对应的字符串信息之前,根据三维对应关系,确定字段输出名集合中的每个字段输出名对应的字符串信息。
12.根据权利要求7-11中任一所述的装置,其特征在于,所述装置还包括:
判断待解析日志与解析模板是否匹配;
若匹配,则执行所述针对每个预置模板元素中的每个正则表达式信息,从待解析日志中提取与该正则表达式信息匹配的字符串信息的步骤。
CN201610342256.XA 2016-05-20 2016-05-20 一种日志解析方法及装置 Pending CN106055585A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610342256.XA CN106055585A (zh) 2016-05-20 2016-05-20 一种日志解析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610342256.XA CN106055585A (zh) 2016-05-20 2016-05-20 一种日志解析方法及装置

Publications (1)

Publication Number Publication Date
CN106055585A true CN106055585A (zh) 2016-10-26

Family

ID=57176596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610342256.XA Pending CN106055585A (zh) 2016-05-20 2016-05-20 一种日志解析方法及装置

Country Status (1)

Country Link
CN (1) CN106055585A (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528110A (zh) * 2016-10-31 2017-03-22 郑州云海信息技术有限公司 一种基于Spirng Quartz的定时表达式的解析方法
CN106598827A (zh) * 2016-12-19 2017-04-26 东软集团股份有限公司 提取日志数据的方法及装置
CN106656607A (zh) * 2016-12-27 2017-05-10 上海爱数信息技术股份有限公司 设备日志解析方法、系统及具有该系统的服务器端
CN106815306A (zh) * 2016-12-16 2017-06-09 中铁程科技有限责任公司 日志解析方法及装置
CN107092483A (zh) * 2017-03-24 2017-08-25 武汉斗鱼网络科技有限公司 一种自动解析日志库中数据类型的方法及系统
WO2018099154A1 (zh) * 2016-12-02 2018-06-07 华为技术有限公司 一种事件处理方法及网管设备、服务器
CN108170826A (zh) * 2018-01-08 2018-06-15 北京国信宏数科技有限责任公司 一种基于互联网大数据的宏观经济分析方法及系统
CN108268623A (zh) * 2018-01-09 2018-07-10 顺丰科技有限公司 一种文本提取方法、装置、设备和介质
CN108763235A (zh) * 2018-02-13 2018-11-06 阿里巴巴集团控股有限公司 一种文件处理方法、装置及设备
CN108804140A (zh) * 2018-06-15 2018-11-13 中国建设银行股份有限公司 一种批量指令解析方法、装置及设备
CN109213736A (zh) * 2017-06-29 2019-01-15 阿里巴巴集团控股有限公司 日志的压缩方法和装置
CN109446389A (zh) * 2018-09-20 2019-03-08 卓望数码技术(深圳)有限公司 一种数据可视化处理方法和系统
CN109614382A (zh) * 2018-12-11 2019-04-12 杭州数梦工场科技有限公司 一种应用的日志分割方法及装置
CN109783330A (zh) * 2018-12-10 2019-05-21 北京京东金融科技控股有限公司 日志处理方法、显示方法和相关装置、系统
CN109947715A (zh) * 2018-09-07 2019-06-28 网联清算有限公司 日志告警方法及装置
CN110020236A (zh) * 2017-08-29 2019-07-16 北京国双科技有限公司 网页解析方法、装置、存储介质、处理器和设备
CN110188160A (zh) * 2019-05-31 2019-08-30 联想(北京)有限公司 数据存储方法和数据读取方法
CN110309113A (zh) * 2018-03-06 2019-10-08 阿里巴巴集团控股有限公司 日志解析方法、系统及设备
CN110826299A (zh) * 2019-10-25 2020-02-21 上海工业自动化仪表研究院有限公司 基于分类的通用模板日志解析方法
CN111125221A (zh) * 2019-12-19 2020-05-08 上海三稻智能科技有限公司 基于Excel格式的数据提取系统及配置方法
CN111881094A (zh) * 2020-07-28 2020-11-03 平安科技(深圳)有限公司 日志中关键信息提取方法、装置、终端及存储介质
CN112463772A (zh) * 2021-02-02 2021-03-09 北京信安世纪科技股份有限公司 日志处理方法、装置、日志服务器及存储介质
CN112632960A (zh) * 2021-01-06 2021-04-09 北京启明星辰信息安全技术有限公司 基于动态字段模板的日志解析方法及系统
CN112882713A (zh) * 2019-11-29 2021-06-01 北京数安鑫云信息技术有限公司 一种日志解析的方法、装置、介质及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1645336A (zh) * 2005-01-20 2005-07-27 上海复旦光华信息科技股份有限公司 基于模板的异构日志信息自动提取与分析方法
US8307343B2 (en) * 2007-10-19 2012-11-06 Microsoft Corporation Application and database context correlation for database application developers
CN105095304A (zh) * 2014-05-19 2015-11-25 华为技术有限公司 日志模板生成方法及设备
CN105550378A (zh) * 2016-02-04 2016-05-04 贵州电网有限责任公司信息中心 一种复杂网络体系下异构安全日志信息的提取与分析方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1645336A (zh) * 2005-01-20 2005-07-27 上海复旦光华信息科技股份有限公司 基于模板的异构日志信息自动提取与分析方法
US8307343B2 (en) * 2007-10-19 2012-11-06 Microsoft Corporation Application and database context correlation for database application developers
CN105095304A (zh) * 2014-05-19 2015-11-25 华为技术有限公司 日志模板生成方法及设备
CN105550378A (zh) * 2016-02-04 2016-05-04 贵州电网有限责任公司信息中心 一种复杂网络体系下异构安全日志信息的提取与分析方法

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528110A (zh) * 2016-10-31 2017-03-22 郑州云海信息技术有限公司 一种基于Spirng Quartz的定时表达式的解析方法
WO2018099154A1 (zh) * 2016-12-02 2018-06-07 华为技术有限公司 一种事件处理方法及网管设备、服务器
CN106815306A (zh) * 2016-12-16 2017-06-09 中铁程科技有限责任公司 日志解析方法及装置
CN106598827A (zh) * 2016-12-19 2017-04-26 东软集团股份有限公司 提取日志数据的方法及装置
CN106598827B (zh) * 2016-12-19 2019-05-31 东软集团股份有限公司 提取日志数据的方法及装置
CN106656607A (zh) * 2016-12-27 2017-05-10 上海爱数信息技术股份有限公司 设备日志解析方法、系统及具有该系统的服务器端
CN107092483A (zh) * 2017-03-24 2017-08-25 武汉斗鱼网络科技有限公司 一种自动解析日志库中数据类型的方法及系统
CN109213736A (zh) * 2017-06-29 2019-01-15 阿里巴巴集团控股有限公司 日志的压缩方法和装置
CN110020236A (zh) * 2017-08-29 2019-07-16 北京国双科技有限公司 网页解析方法、装置、存储介质、处理器和设备
CN110020236B (zh) * 2017-08-29 2021-11-30 北京国双科技有限公司 网页解析方法、装置、存储介质、处理器和设备
CN108170826A (zh) * 2018-01-08 2018-06-15 北京国信宏数科技有限责任公司 一种基于互联网大数据的宏观经济分析方法及系统
CN108268623B (zh) * 2018-01-09 2022-06-03 顺丰科技有限公司 一种文本提取方法、装置、设备和介质
CN108268623A (zh) * 2018-01-09 2018-07-10 顺丰科技有限公司 一种文本提取方法、装置、设备和介质
CN108763235A (zh) * 2018-02-13 2018-11-06 阿里巴巴集团控股有限公司 一种文件处理方法、装置及设备
CN110309113B (zh) * 2018-03-06 2023-05-26 阿里巴巴集团控股有限公司 日志解析方法、系统及设备
CN110309113A (zh) * 2018-03-06 2019-10-08 阿里巴巴集团控股有限公司 日志解析方法、系统及设备
CN108804140A (zh) * 2018-06-15 2018-11-13 中国建设银行股份有限公司 一种批量指令解析方法、装置及设备
CN109947715A (zh) * 2018-09-07 2019-06-28 网联清算有限公司 日志告警方法及装置
CN109947715B (zh) * 2018-09-07 2021-08-27 网联清算有限公司 日志告警方法及装置
CN109446389A (zh) * 2018-09-20 2019-03-08 卓望数码技术(深圳)有限公司 一种数据可视化处理方法和系统
CN109783330A (zh) * 2018-12-10 2019-05-21 北京京东金融科技控股有限公司 日志处理方法、显示方法和相关装置、系统
CN109614382B (zh) * 2018-12-11 2020-10-23 杭州数梦工场科技有限公司 一种应用的日志分割方法及装置
CN109614382A (zh) * 2018-12-11 2019-04-12 杭州数梦工场科技有限公司 一种应用的日志分割方法及装置
CN110188160B (zh) * 2019-05-31 2021-10-22 联想(北京)有限公司 数据存储方法和数据读取方法
CN110188160A (zh) * 2019-05-31 2019-08-30 联想(北京)有限公司 数据存储方法和数据读取方法
CN110826299A (zh) * 2019-10-25 2020-02-21 上海工业自动化仪表研究院有限公司 基于分类的通用模板日志解析方法
CN110826299B (zh) * 2019-10-25 2023-05-23 上海工业自动化仪表研究院有限公司 基于分类的通用模板日志解析方法
CN112882713A (zh) * 2019-11-29 2021-06-01 北京数安鑫云信息技术有限公司 一种日志解析的方法、装置、介质及计算机设备
CN112882713B (zh) * 2019-11-29 2024-03-12 北京数安鑫云信息技术有限公司 一种日志解析的方法、装置、介质及计算机设备
CN111125221B (zh) * 2019-12-19 2023-05-05 上海三稻智能科技有限公司 基于Excel格式的数据提取系统及配置方法
CN111125221A (zh) * 2019-12-19 2020-05-08 上海三稻智能科技有限公司 基于Excel格式的数据提取系统及配置方法
CN111881094A (zh) * 2020-07-28 2020-11-03 平安科技(深圳)有限公司 日志中关键信息提取方法、装置、终端及存储介质
CN111881094B (zh) * 2020-07-28 2023-07-18 平安科技(深圳)有限公司 日志中关键信息提取方法、装置、终端及存储介质
CN112632960A (zh) * 2021-01-06 2021-04-09 北京启明星辰信息安全技术有限公司 基于动态字段模板的日志解析方法及系统
CN112463772B (zh) * 2021-02-02 2022-05-27 北京信安世纪科技股份有限公司 日志处理方法、装置、日志服务器及存储介质
CN112463772A (zh) * 2021-02-02 2021-03-09 北京信安世纪科技股份有限公司 日志处理方法、装置、日志服务器及存储介质

Similar Documents

Publication Publication Date Title
CN106055585A (zh) 一种日志解析方法及装置
CN103197948B (zh) 一种电力智能设备通信规约脚本解析方法
CN105975392A (zh) 一种基于抽象语法树的重复代码检测方法及装置
CN106126528B (zh) 一种基于平台模型的小卫星测试基础信息生成方法
CN103020494B (zh) 一种利用程序代码编程模式著作权归属检测模型检测著作权归属的方法
CN106055450A (zh) 一种二进制日志解析方法及装置
CN108279885A (zh) 一种对多个模型代码进行软件集成的方法及装置
CN103235757B (zh) 基于自动化造数对输入域测试对象进行测试的装置和方法
CN111585344A (zh) 一种基于全站ied仿真的变电站智能校核方法及装置
CN111367911A (zh) 一种场地环境数据分析方法及其系统
CN107103640A (zh) 一种城市地下管线的三维建模方法及系统
CN105320806A (zh) PML结合Excel-VBA处理数据汇总核电工艺管道材料的方法
CN106940711B (zh) 一种url检测方法及检测装置
CN110688823B (zh) Xml文件验证方法及装置
CN105205039A (zh) 一种可定制的scd文件校验方法
CN116341071B (zh) 水电站电缆敷设自动化设计方法及系统
CN116257922B (zh) 一种水利设施模型的编码方法、装置、终端设备及介质
CN102799137B (zh) 用于风电控制系统plc控制器软件跨平台移植的方法
CN109802487A (zh) 一种主厂站源端维护功能实现方法及装置
CN111917861A (zh) 基于区块链和知识图谱的知识存储方法、系统及其应用
CN111209158A (zh) 服务器集群的挖矿监控方法及集群监控系统
CN108243238A (zh) 一种性能数据的采集方法及装置
CN110674623A (zh) 模型化埋件定位信息的读取系统及其方法
CN115828804A (zh) 一种修改rtl源代码文件的方法及电子设备
CN102929700B (zh) 互动教学平台导入word题库的方法

Legal Events

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

Application publication date: 20161026

RJ01 Rejection of invention patent application after publication