一种日志解析方法及装置制造方法及图纸

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

【技术实现步骤摘要】

本专利技术涉及日志分析领域,尤其涉及一种日志解析方法及装置
技术介绍
随着海量日志分析挖掘技术的发展,如何解析设备或系统的日志备受业界重视。日志解析的目的,是将待解析日志(即原始日志)中的数据通过某种逻辑组织成格式化的数据交换格式,以便于提供给下游系统进行分析和挖掘。目前,字符串日志,具有体积小、易压缩、更便于网络传输的优势,但是在带来诸多优势的同事,也给日志解析带来很多不便。由于待解析日志的数据格式多种多样,现有的日志解析方法中,一般针对一种数据格式的待解析日志开发一套对应的日志解析应用程序。由此,现有技术存在以下缺陷:1)、一个日志解析应用程序只能解析对应的数据格式的待解析日志,而且每个解析应用程序都需要维护,导致维护工作量大。2)、当待解析日志的数据格式改变时,需要开发人员重新开发日志解析应用程序。3)、当出现新的数据格式的待解析日志时,需要开发新的日志解析应用程序。故此,现有的日志解析方法适用范围小,日志解析应用程序的开发效率低,周期长,维护工作量大。
技术实现思路
本专利技术实施例提供了一种日志解析方法及装置,用以解决目前存在的由于每种数据格式的待解析日志对应一种日志解析应用程序,使得无现有的日志解析方法适用范围小,日志解析应用程序的开发效率低,周期长,维护工作量大等的问题。本专利技术实施例提供了一种日志解析方法,包括:获取解析模板;其中,解析模板中包括解析后的预置数据交换格式以及从模板元素集合中选择的至少一个预置模板元素;每个预置模板元素中包括字段输出名、该字段输出名对应的至少一个字符串信息的各自的正则表达式信息、以及字符串信息的预置输出数据类型;针对每个预置模板元素中的每个正则表达式信息,从待解析日志中提取与该正则表达式信息匹配的字符串信息;并将匹配的字符串信息配置为预置输出数据类型;按照预置数据交换格式,输出解析模板中的每个预置模板元素的字段输出名以及每个字段输出名对应的字符串信息。进一步地,本专利技术实施例还提供了一种日志解析装置,包括:解析模板获取模块,用于获取解析模板;其中,解析模板中包括解析后的预置数据交换格式以及从模板元素集合中选择的至少一个预置模板元素;每个预置模板元素中包括字段输出名、该字段输出名对应的至少一个字符串信息的各自的正则表达式信息、以及字符串信息的预置输出数据类型;解析模块,用于针对每个预置模板元素中的每个正则表达式信息,从待解析日志中提取与该正则表达式信息匹配的字符串信息;并将匹配的字符串信息配置为预置输出数据类型;输出模块,用于按照预置数据交换格式,输出解析模板中的每个预置模板元素的字段输出名以及每个字段输出名对应的字符串信息。本专利技术有益效果如下:在本专利技术实施例所述技术方案中,由于模板元素集合中包括多个模板元素,每个模板元素中包括字段输出名、该字段输出名对应的至少一个字符串信息的各自的正则表达式信息、以及字符串信息的预置输出数据类型;用户可以从模板元素集合中选择的至少一个预置模板元素构成解析模板,而对待解析日志的解析是根据解析模板解析的,解析模板是用户可以根据模板元素集合随意配置的,所以本专利技术实施例提供的日志解析方法,无需为特定数据格式的待解析日志开发并维护日志解析应用程序,故此,能够适用任意数据格式的待解析日志,也能够提高日志解析应用程序的开发效率,并降低维护工作量。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1所示为本专利技术实施例一中所述日志解析方法的流程示意图;图2所示为本专利技术实施例一中所述模板元素的示意图;图3所示为本专利技术实施例一中所述解析模板的示意图;图4所示为本专利技术实施例一中所述字段模板的示意图;图5所示为本专利技术实施例二中所述日志解析装置的结构示意图。具体实施方式本专利技术实施例提供了一种日志解析方法及装置,适用于字符串日志。在本专利技术实施例所述技术方案中,由于模板元素集合中包括多个模板元素,每个模板元素中包括字段输出名、该字段输出名对应的至少一个字符串信息的各自的正则表达式信息、以及字符串信息的预置输出数据类型;用户可以从模板元素集合中选择的至少一个预置模板元素构成解析模板,而对待解析日志的解析是根据解析模板解析的,解析模板是用户可以根据模板元素集合随意配置的,所以本专利技术实施例提供的日志解析方法,无需为特定数据格式的待解析日志开发并维护日志解析应用程序,故此,能够适用任意数据格式的字符串类型待解析日志,也能够提高日志解析应用程序的开发效率,并降低维护工作量。为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。实施例一:如图1所示,其为本专利技术实施例一中所述日志解析方法的流程示意图,所述日志解析方法可包括以下步骤:步骤101:获取解析模板;其中,解析模板中包括解析后的预置数据交换格式以及从模板元素集合中选择的至少一个预置模板元素;每个预置模板元素中包括字段输出名、该字段输出名对应的至少一个字符串信息的各自的正则表达式信息、以及字符串信息的预置输出数据类型。其中,在一个实施例中,预置数据交换格式例如是XML(Extensible Markup Language,可扩展标记语言)、JSON(JavaScript Object Notation,JavaScript对象表示法)、YAML(Yet Another Markup Language,另一种标记语言)等中的其中一种。需要说明的是,任何预置数据交换格式均适用于本专利技术实施例,本专利技术对此不做限定。其中,在一个实施例中,预置输出数据类型例如是以下中的任一种:int(Integer,整数类型)、String(字符串)、long(整型)、boolean(布尔型)、float(浮点型)、double(双精度浮点型)、date(日期型)等。其中,在一个实施例中正则表达式信息可以是一个具体的正则表达式,也可以是正则表达式的标识,具体实施时,可以根据实际需要设定,本专利技术实施例对此不做限定。其中,在一个实施例中,模板元素集合的存储形式可以是数据库也可以是文件,本专利技术对此不做限定。步骤102:针对每个预置模板元素中的每个正则表达式信息,从待解析日志中提取与该正则表达式信息匹配的字符串信息;并将匹配的字符串信息配置为预置输出数据类型。步骤103:按照预置数据交换格式,输出解析模板中的每个预置模板元素的字段输出名以及每个字段输出名对应的字符串信息。为便于理解,下面对本专利技术实施例提供的日志解析方法进行进一步地说明,具体的,包括以下内容:1)、关于模板元素与解析模板:其中,在一个实施例中,可以通过预先定义字段模板,每个字段模板均有对应的正则表达式,该正则表达式可用于提取待解析日志中的字符串信息。故此,本专利技术实施例中为便于配置解析模板,正则表达式信息为字段模板名;针对任一预置模板元素,根据以下方法配置该预置模板元素,包括步骤A1本文档来自技高网...

【技术保护点】
一种日志解析方法,其特征在于,包括:获取解析模板;其中,解析模板中包括解析后的预置数据交换格式以及从模板元素集合中选择的至少一个预置模板元素;每个预置模板元素中包括字段输出名、该字段输出名对应的至少一个字符串信息的各自的正则表达式信息、以及字符串信息的预置输出数据类型;针对每个预置模板元素中的每个正则表达式信息,从待解析日志中提取与该正则表达式信息匹配的字符串信息;并将匹配的字符串信息配置为预置输出数据类型;按照预置数据交换格式,输出解析模板中的每个预置模板元素的字段输出名以及每个字段输出名对应的字符串信息。

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

【专利技术属性】
技术研发人员:袁帅
申请(专利权)人:北京神州绿盟信息安全科技股份有限公司北京神州绿盟科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1