CN106055450B - 一种二进制日志解析方法及装置 - Google Patents

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

Info

Publication number
CN106055450B
CN106055450B CN201610342231.XA CN201610342231A CN106055450B CN 106055450 B CN106055450 B CN 106055450B CN 201610342231 A CN201610342231 A CN 201610342231A CN 106055450 B CN106055450 B CN 106055450B
Authority
CN
China
Prior art keywords
field
bodies
log
output
name
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
Application number
CN201610342231.XA
Other languages
English (en)
Other versions
CN106055450A (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.)
Nsfocus Technologies Inc
Nsfocus Technologies Group 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 CN201610342231.XA priority Critical patent/CN106055450B/zh
Publication of CN106055450A publication Critical patent/CN106055450A/zh
Application granted granted Critical
Publication of CN106055450B publication Critical patent/CN106055450B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种二进制日志解析方法及装置,在本发明实施例所述技术方案中,用户可以根据预置字段体集合,从中选择字段体构成解析模板,该解析模板中包括至少一个字段体,每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型;然后可以通过解析模板对二进制日志进行解析。由于解析模板是用户可以根据字段集合随意配置的,所以本发明实施例提供的二进制日志解析方法,无需为特定的二进制日志开发并维护日志解析应用程序,对解析模板的维护相对于对解析应用程序的维护工作量小,且维护方便。

Description

一种二进制日志解析方法及装置
技术领域
本发明涉及日志解析技术领域,尤其涉及一种二进制日志解析方法及装置。
背景技术
随着海量日志分析挖掘技术的发展,如何解析设备或***的日志备受业界重视。日志解析的目的,是将待解析日志(即原始日志)中的数据通过某种逻辑组织成格式化的数据,以便于提供给下游***进行分析和挖掘。
原始日志包括字符串日志和二进制日志,相比较字符串日志,在数据量相同时,二进制日志体积小、易压缩、更便于网络传输,但是在带来诸多优势的同时,也给日志解析带来很多不便。
目前,二进制日志多种多样,一般针对一种二进制日志开发一套对应的日志解析应用程序。由此,现有技术存在以下缺陷:
1)、一个日志解析应用程序只能解析对应的二进制日志,而且每个解析应用程序都需要维护,导致开发和维护工作量大。
2)、当二进制日志的解析后的数据格式改变时,需要开发人员重新开发日志解析应用程序。
故此,现有的二进制日志解析方法适用范围小,二进制日志解析应用程序的开发效率低,周期长,维护工作量大。
发明内容
本发明实施例提供了一种二进制日志解析方法及装置,用以解决目前存在的现有的二进制日志解析方法适用范围小,二进制日志解析应用程序的开发效率低,周期长,维护工作量大等问题。
本发明实施例提供了一种二进制日志解析方法,包括:
获取待解析日志;以及预先配置的解析模板;所述解析模板包括至少一个字段体,每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型;
针对每个字段体,根据该字段体的位置信息以及长度信息,从所述待解析日志中获取该字段体的字段值对应的二进制数;
将所述二进制数按照该字段体的输出字段类型进行解析,得到字段值;
将解析得到的字段值与输出字段名对应输出。
进一步地,本发明实施例还提供了一种二进制日志解析装置,包括:
获取模块,用于获取待解析日志;以及预先配置的解析模板;所述解析模板包括至少一个字段体,每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型;
解析模块,用于针对每个字段体,根据该字段体的位置信息以及长度信息,从所述待解析日志中获取该字段体的字段值对应的二进制数;
字段值获取模块,用于将所述二进制数按照该字段体的输出字段类型进行解析,得到字段值;
输出模块,用于将解析得到的字段值与输出字段名对应输出。
发明有益效果如下:在本发明实施例所述技术方案中,用户可以根据预置字段体集合,从中选择字段体构成解析模板,该解析模板中包括至少一个字段体,每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型;然后可以通过解析模板对二进制日志进行解析。由于解析模板是用户可以根据字段集合随意配置的,所以本发明实施例提供的二进制日志解析方法,无需为特定的二进制日志开发并维护日志解析应用程序,此外,还能够适用任意输出数据格式的二进制日志的解析,对解析模板的维护相对于对解析应用程序的维护工作量小,且维护方便。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为本发明实施例一中所述二进制日志解析方法的流程示意图;
图2所示为本发明实施例一中所述字段体的结构示意图;
图3所示为本发明实施例一中所述解析模板的结构示意图;
图4所示为本发明实施例一中所述解析模板的另一结构示意图;
图5所示为本发明实施例二中所述二进制日志解析装置的结构示意图。
具体实施方式
本发明实施例提供了一种二进制日志解析方法及装置。在本发明实施例所述技术方案中,用户可以根据预置字段体集合,从中选择字段体构成解析模板,该解析模板中包括至少一个字段体,每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型;然后可以通过解析模板对二进制日志进行解析。由于解析模板是用户可以根据字段集合随意配置的,所以本发明实施例提供的二进制日志解析方法,无需为特定的二进制日志开发并维护日志解析应用程序,此外,还能够适用任意输出数据格式的二进制日志的解析,对解析模板的维护相对于对解析应用程序的维护工作量小,且维护方便。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
如图1所示,其为本发明实施例一中所述二进制日志解析方法的流程示意图,所述二进制日志解析方法可包括以下步骤:
步骤101:获取待解析日志;以及预先配置的解析模板;所述解析模板包括至少一个字段体,每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型。
其中,在一个实施例中输出字段类型包括数据类型,网络通信协议定义类型等中的至少一种。数据类型例如是以下中的任一种:int(Integer,整数类型)、String(字符串)、long(整型)、boolean(布尔型)、float(浮点型)、double(双精度浮点型)、date(日期型)等。网络通信协议定义类型例如是适用于表示MAC地址(Media Access Control,物理地址)的字段类型,适用于表示IPV4(网际协议版本4)或IPV6(网际协议版本6)的字段类型,例如适用于表示IP地址的字段类型,字段类型也可以是适用于表示时间戳的字段类型。具体实施时,任何有特定格式要求的字段类型均适用于本发明实施例,本发明对此不做限定。
步骤102:针对每个字段体,根据该字段体的位置信息以及长度信息,从所述待解析日志中获取该字段体的字段值对应的二进制数。
其中,在一个实施例中,位置信息可以为字段值对应的二进制数的起始位置,终止位置或中间位置中的任一种,本发明对此不做限定。只有能够根据位置信息确定字段值对应的二进制数的位置,并根据长度信息确定二进制数的位数的方法均适用于本发明实施例,本发明对此不做限定。
步骤103:将所述二进制数按照该字段体的输出字段类型进行解析,得到字段值。
步骤104:将解析得到的字段值与输出字段名对应输出。
其中,在一个实施例中,解析后的待解析日志,需要按照特定的数据交换格式输出,故此,本发明实施例中,解析模板中还可以包括预置数据交换格式,步骤104具体可执行为根据解析模板中的预置数据交换格式,将解析得到的字段值与输出字段名对应输出。其中,预设数据交换格式例如是XML(Extensible Markup Language,可扩展标记语言)、JSON(JavaScript Object Notation,JavaScript对象表示法)、YAML(Yet Another MarkupLanguage,另一种标记语言)等中的其中一种。需要说明的是,任何数据交换格式均适用于本发明实施例,本发明对此不做限定。
为便于理解,下面对本发明实施例提供的日志解析方法进行进一步地说明,具体的,包括以下内容:
1)、关于字段体
其中,在一个实施例中,为了可以根据实际需求配置解析模板,使得配置解析模板的操作方便易行,本发明实施例中可以预先定义字段体形成字段体集合,然后根据字段体集合生成解析模板。具体的:
(1)、可以根据以下方法生成字段体:
步骤A1:接收用于创建字段体的创建指令;所述创建指令中包括待创建字段体的输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型。
其中,在一个实施例中,字段体的结构示意图如图2所示,其中,Z1表示输出字段名,Z2表示位置信息,Z3表示长度信息、Z4表示输出字段类型,201、202、203均表示分割符。例如,若创建指令中包括的输出字段名为U,位置信息用字段值对应的二进制数的起始位相对于预设基准位置的偏移量表示,且该偏移量为2,长度信息为3(表示字段自用3位二进制位表示),输出字段类型为String,用“;”表示分割符,则最终的生成的字段体可以表示为
U;2;3;String
需要说明的是,字段体中输出字段名、位置信息、长度信息以及输出字段类型的先后顺序不限,具体实施时,可以根据实际需要设定。
具体根据字段体解析待解析日志时,可以根据分隔符确定出字段体中的各信息(即输出字段名、位置信息、长度信息以及输出字段类型)。
步骤A2:根据所述创建指令创建所述待创建字段体。
例如,本发明实施例中,提供用户自定义字段体的编辑界面,用户可以通过界面化的操作,通过界面中的创建字段体按键,开始创建字段体。在用户选择创建字段体按键后,显示要求用户输入输出字段名、位置信息、长度信息以及输出字段类型的对话框,用户可以通过该对话框输入对应信息,从而完成字段体的创建。
这样,本发明实施例中,用户可以根据自身实际需要创建字段体,开发人员都可以不用懂得编程语言,也可以完成解析模板的配置,相对于现有技术中开发特定的解析应用程序,解析模板的配置更加操作简单、人性化。
(2)、可以根据方法配置所述解析模板:
步骤B1:接收对预置字段体集合中的字段体的选择指令。
步骤B2:根据选择的字段体的集合生成所述解析模板。
其中,在一个实施例中,可以将选择的字段体的集合作为解析模板。
这样,解析模板的配置只需要通过选择字段体即可完成,操作简便。
其中,在一个实施例中,二进制日志包括日志头和日志体,为了便于了解哪些字段体属于日志头,哪些字段体属于日志体以,本发明实施例中针对所述解析模板的每个字段体,所述解析模板中还包括表示该字段体隶属于日志头还是隶属于日志体的字段体名称,则步骤B2还可具体包括以下步骤:
步骤B21:接收对选择的字段体赋予所述字段体名称的命名指令,该命名指令中包括字段体名称为日志头标识或日志体标识的指示信息。
其中,指示信息可以包括日志头标识和日志体标识,即,若命名指令中包括日志头标识,则表示字段体的字段体名称为日志头标识,该字段体隶属于日志头;若命名指令中包括日志体标识,则表示字段体的字段体名称为日志体标识,该字段体隶属于日志体。这样,根据解析模板就可以确定字段体隶属于日志头还是日志体。
步骤B22:根据命名指令对选择的字段体赋予所述字段体名称,并生成所述解析模板。
最终的解析模板将包括字段头以及字段体两部分内容,具体的解析模板可表示为如图3所示,图3中,U1表示日志头标识,301为分割符,用于区分日志头和日志体,U2表示日志体标识。
例如,预置字段体集合如表1所示,当然,表1仅用于说明本发明实施例并不用于限定本发明实施例。
表1预置字段体集合示例
字段体
M1
M2
M3
M4
M5
若选择字段体M1和M2并赋予名称为日志头标识,则说明日志头中包括M1和M2两个字段体,若选择字段体M3、M4、M5,并赋予名称为日志体标识,则表示日志体中包括M3、M4、M5共3个字段体。则最终的解析模板可表示为:
U1[M1,M2],U2[M3,M4,M5]
若解析模板中还包括预置数据交换格式,则最终的解析模板可表示为如图4所示。图4中与图3中相同符号的含义相同,在此不再赘述,图4中302表示用于区分数据交换格式和U1的分割符。
能够区分属于日志头和日志体的字段体之后,本发明实施例中步骤105(即将解析得到的字段值与输出字段名对应输出)可具体包括将解析得到的字段值与输出字段名、以及字段体名称对应输出。
例如表2所示为将将解析得到的字段值与输出字段名、以及字段体名称对应输出的示例,需要说明的是表2仅用于说明本发明实施例,并不用于限定本发明实施例。
表2
(3)、为了便于用户维护预置字段体集合,本发明实施例中,还可以接收对预置字段体集合中的编辑指令,所述编辑指令包括以下中的任一种:删除字段体的删除指令、向预置字段体集合中添加字段体的添加指令、修改字段体的修改指令;并,根据编辑指令执行相应操作。
这样,本发明示例中,可以编辑指令维护字段体集合,维护的操作简单易行。
(4)、其中,在一个实施例中,默认情况下,一种解析模板可解析一种日志。为了确保解析模板是对对应的待解析日志进行解析,从而获得正确的解析结果,本发明实施例中,在步骤102之前,还可以确定所述待解析日志的比特位总数,与所述解析模板的所有字段值所占的比特位数的长度信息之和相同。若相同则说明待解析日志是与解析模板对应的解析日志,可以进行解析操作。其中,长度信息之和可以是加载该解析模板时计算的,这样只计算一次即可,当然,具体实施时,也可以对每个待解析日志进行解析之前计算,本发明实施例对此不做限定。
下面使用比较常用的netflow v5日志为例对本发明实施例提供的二进制日志解析方法进行说明:netflow v5日志格式为已知格式,且包括以下内容,如表3所示。表3中,B
表3
Bytes Contents
0-1 version
2-3 count
4-7 Sys_uptime
8-11 unix_secs
12-15 unix_nsecs
16-19 flow_sequence
20 engine_type
21 engine_id
22-23 Sampling_interval
则netflow v5的日志头的解析模版可表示为:
head:{length:24,
fields:[{version:INT;2;0},{count:INT;2;2},{sys_uptime:LONG;4;4},{unix_secs:U NIXTIME;4;8},{unix_nsecs:UNIXTIME;4;12},{flow_sequence:LONG;4;16},{eng ine_type:SHORT;1;20},{engine_id:SHORT;1;21},{sampling_interval:INT;2;22}]}
其中,length:24表示日志头占用24位比特位。
netflow v5的日志的日志体的表示方法与日志头相同,这里不再赘述。
对待解析日志进行解析时,可以依照下述步骤进行,当然各步骤的执行顺序可以依照实际需要设定:
第一步:计算解析模板的比特位总数length:其中
length=head.length+body.length
其中head.length表示日志头所占的比特位数,body.length表示日志体占用的比特位数。
第二步:比较待解析日志的比特位总数与length是否相等,若相等则表示解析模板与待解析日志对应。
第三步:分析解析模板,得到所有的字段体(包括日志头的字段体和日志体的字段体)形成字段体集合,该集合可表示为
[M1,M2,…,Mn]
第四步:遍历字段体集合中的每一个字段体,根据位置信息和长度信息找对对应的字段值的二进制数,然后解析二进制数得出字段值,将字段值赋值给字段输出名;然后可以根据预置的数据交换格式输出解析后的待解析日志。
综上,在本发明实施例所述技术方案中,用户可以根据预置字段体集合,从中选择字段体构成解析模板,该解析模板中包括至少一个字段体,每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型;然后可以通过解析模板对二进制日志进行解析。由于解析模板是用户可以根据自炖汤集合随意配置的,所以本发明实施例提供的二进制日志解析方法,无需为特定的二进制日志开发并维护日志解析应用程序。此外,还能够适用任意输出数据格式的二进制日志的解析,对解析模板的维护相对于对解析应用程序的维护工作量小,且维护方便。
实施例二
基于相同的发明构思,本发明实施例还提供一种二进制日志解析装置,如图5所示,为该装置的结构示意图,包括:
获取模块501,用于获取待解析日志;以及预先配置的解析模板;所述解析模板包括至少一个字段体,每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型;
解析模块502,用于针对每个字段体,根据该字段体的位置信息以及长度信息,从所述待解析日志中获取该字段体的字段值对应的二进制数;
字段值获取模块503,用于将所述二进制数按照该字段体的输出字段类型进行解析,得到字段值;
输出模块504,用于将解析得到的字段值与输出字段名对应输出。
其中,在一个实施例中,所述装置还包括:
解析模板配置模块,用于根据以下方法配置所述解析模板:
接收对预置字段体集合中的字段体的选择指令;
根据选择的字段体的集合生成所述解析模板。
其中,在一个实施例中,针对所述解析模板的每个字段体,所述解析模板中还包括表示该字段体隶属于日志头还是隶属于日志体的字段体名称;解析模板配置模块,具体用于:
接收对选择的字段体赋予所述字段体名称的命名指令,该命名指令中包括字段体名称为日志头标识或日志体标识的指示信息;
根据命名指令对选择的字段体赋予所述字段体名称,并生成所述解析模板。
其中,在一个实施例中,输出模块,具体用于:
将解析得到的字段值与输出字段名、以及字段体名称对应输出。
其中,在一个实施例中,所述装置还包括:
编辑指令接收模块,用于接收对预置字段体集合中的编辑指令,所述编辑指令包括以下中的任一种:删除字段体的删除指令、向预置字段体集合中添加字段体的添加指令、修改字段体的修改指令;
编辑指令执行模块,用于根据编辑指令执行相应操作。
其中,在一个实施例中,所述装置还包括:
字段体生成模块,用于根据以下方法生成字段体:
接收用于创建字段体的创建指令;所述创建指令中包括待创建字段体的输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型;
根据所述创建指令创建所述待创建字段体。
其中,在一个实施例中,所述装置还包括:
确定模块,用于确定所述待解析日志的比特位总数,与所述解析模板的所有字段值所占的比特位数的长度信息之和相同。
本发明实施例所述技术方案中,用户可以根据预置字段体集合,从中选择字段体构成解析模板,该解析模板中包括至少一个字段体,每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型;然后可以通过解析模板对二进制日志进行解析。由于解析模板是用户可以根据自炖汤集合随意配置的,所以本发明实施例提供的二进制日志解析方法,无需为特定的二进制日志开发并维护日志解析应用程序。此外,还能够适用任意输出数据格式的二进制日志的解析,对解析模板的维护相对于对解析应用程序的维护工作量小,且维护方便。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(装置)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理装置的处理器以产生一个机器,使得通过计算机或其他可编程数据处理装置的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理装置上,使得在计算机或其他可编程装置上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程装置上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种二进制日志解析方法,其特征在于,包括:
获取待解析日志;以及预先配置的解析模板;所述解析模板包括至少一个字段体,每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型;
针对每个字段体,根据该字段体的位置信息以及长度信息,从所述待解析日志中获取该字段体的字段值对应的二进制数;
将所述二进制数按照该字段体的输出字段类型进行解析,得到字段值;
将解析得到的字段值与输出字段名对应输出;
其中,根据以下方法配置所述解析模板:
接收对预置字段体集合中的字段体的选择指令;根据选择的字段体的集合生成所述解析模板;
根据选择的字段体的集合生成所述解析模板,具体包括:
接收对选择的字段体赋予所述字段体名称的命名指令,该命名指令中包括字段体名称为日志头标识或日志体标识的指示信息;
将属于日志头的字段体依序排列构成第一字段体集合,根据所述命名指令将日志头标识添加至第一字段体集合前,并,将隶属于日志体的字段体依序排列构成第二字段体集合,根据所述命名指令将日志体标识添加至第二字段体集合前。
2.根据权利要求1所述的方法,其特征在于,将解析得到的字段值与输出字段名对应输出,具体包括:
将解析得到的字段值与输出字段名、以及字段体名称对应输出。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收对预置字段体集合中的编辑指令,所述编辑指令包括以下中的任一种:删除字段体的删除指令、向预置字段体集合中添加字段体的添加指令、修改字段体的修改指令;
根据编辑指令执行相应操作。
4.根据权利要求1所述的方法,其特征在于,根据以下方法生成字段体:
接收用于创建字段体的创建指令;所述创建指令中包括待创建字段体的输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型;
根据所述创建指令创建所述待创建字段体。
5.根据权利要求1-4中任一所述的方法,其特征在于,所述针对每个字段体,根据该字段体的位置信息以及长度信息,从所述待解析日志中获取该字段体的字段值对应的二进制数之前,所述方法还包括:
确定所述待解析日志的比特位总数,与所述解析模板的所有字段值所占的比特位数的长度信息之和相同。
6.一种二进制日志解析装置,其特征在于,包括:
获取模块,用于获取待解析日志;以及预先配置的解析模板;所述解析模板包括至少一个字段体,每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型;
解析模块,用于针对每个字段体,根据该字段体的位置信息以及长度信息,从所述待解析日志中获取该字段体的字段值对应的二进制数;
字段值获取模块,用于将所述二进制数按照该字段体的输出字段类型进行解析,得到字段值;
输出模块,用于将解析得到的字段值与输出字段名对应输出
解析模板配置模块,用于根据以下方法配置所述解析模板:
接收对预置字段体集合中的字段体的选择指令;
根据选择的字段体的集合生成所述解析模板;
接收对选择的字段体赋予所述字段体名称的命名指令,该命名指令中包括字段体名称为日志头标识或日志体标识的指示信息;
将属于日志头的字段体依序排列构成第一字段体集合,根据所述命名指令将日志头标识添加至第一字段体集合前,并,将隶属于日志体的字段体依序排列构成第二字段体集合,根据所述命名指令将日志体标识添加至第二字段体集合前。
7.根据权利要求6所述的装置,其特征在于,输出模块,具体用于:
将解析得到的字段值与输出字段名、以及字段体名称对应输出。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
编辑指令接收模块,用于接收对预置字段体集合中的编辑指令,所述编辑指令包括以下中的任一种:删除字段体的删除指令、向预置字段体集合中添加字段体的添加指令、修改字段体的修改指令;
编辑指令执行模块,用于根据编辑指令执行相应操作。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
字段体生成模块,用于根据以下方法生成字段体:
接收用于创建字段体的创建指令;所述创建指令中包括待创建字段体的输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型;
根据所述创建指令创建所述待创建字段体。
10.根据权利要求6-9中任一所述的装置,其特征在于,所述装置还包括:
确定模块,用于确定所述待解析日志的比特位总数,与所述解析模板的所有字段值所占的比特位数的长度信息之和相同。
CN201610342231.XA 2016-05-20 2016-05-20 一种二进制日志解析方法及装置 Active CN106055450B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610342231.XA CN106055450B (zh) 2016-05-20 2016-05-20 一种二进制日志解析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610342231.XA CN106055450B (zh) 2016-05-20 2016-05-20 一种二进制日志解析方法及装置

Publications (2)

Publication Number Publication Date
CN106055450A CN106055450A (zh) 2016-10-26
CN106055450B true CN106055450B (zh) 2019-07-02

Family

ID=57176621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610342231.XA Active CN106055450B (zh) 2016-05-20 2016-05-20 一种二进制日志解析方法及装置

Country Status (1)

Country Link
CN (1) CN106055450B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106682099A (zh) * 2016-12-01 2017-05-17 北京奇虎科技有限公司 一种数据的存储方法和装置
CN106682097B (zh) * 2016-12-01 2020-06-05 北京奇虎科技有限公司 一种处理日志数据的方法和装置
CN106815306A (zh) * 2016-12-16 2017-06-09 中铁程科技有限责任公司 日志解析方法及装置
CN108052590B (zh) * 2017-12-11 2019-09-17 四川新网银行股份有限公司 一种结构化数据的动态使用方法及***
CN109995468A (zh) * 2018-01-03 2019-07-09 凌群电脑股份有限公司 高效能数据长度可变的信息组成方法及其***
CN110309113B (zh) * 2018-03-06 2023-05-26 阿里巴巴集团控股有限公司 日志解析方法、***及设备
CN110362547B (zh) * 2018-04-02 2023-10-03 杭州阿里巴巴智融数字技术有限公司 日志文件的编码、解析、存储方法和装置
CN110120945A (zh) * 2019-04-23 2019-08-13 苏州凯迪泰医学科技有限公司 一种数据结构化封装的方法
CN111563123B (zh) * 2020-05-07 2023-08-22 北京首汽智行科技有限公司 一种hive仓库元数据实时同步方法
CN114785604B (zh) * 2022-04-28 2023-11-07 北京安博通金安科技有限公司 一种动态日志解析方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1645336A (zh) * 2005-01-20 2005-07-27 上海复旦光华信息科技股份有限公司 基于模板的异构日志信息自动提取与分析方法
JP4331440B2 (ja) * 2002-05-10 2009-09-16 キヤノン電子株式会社 情報管理サーバ、情報処理装置、情報管理システム及びそれらの制御方法、プログラム
US7661032B2 (en) * 2007-01-06 2010-02-09 International Business Machines Corporation Adjusting sliding window parameters in intelligent event archiving and failure analysis
JP2011065440A (ja) * 2009-09-17 2011-03-31 Mitsubishi Denki Information Technology Corp ログデータ分析装置及びログデータ分析装置のログデータ分析方法及びログデータ分析プログラム
CN103544076A (zh) * 2012-07-13 2014-01-29 阿里巴巴集团控股有限公司 一种数据备份方法及装置
CN103929321A (zh) * 2013-01-15 2014-07-16 腾讯科技(深圳)有限公司 一种日志处理方法和装置
CN104615736A (zh) * 2015-02-10 2015-05-13 上海创景计算机***有限公司 基于数据库的大数据快速解析存储方法
CN105447099A (zh) * 2015-11-11 2016-03-30 中国建设银行股份有限公司 日志结构化信息提取方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4331440B2 (ja) * 2002-05-10 2009-09-16 キヤノン電子株式会社 情報管理サーバ、情報処理装置、情報管理システム及びそれらの制御方法、プログラム
CN1645336A (zh) * 2005-01-20 2005-07-27 上海复旦光华信息科技股份有限公司 基于模板的异构日志信息自动提取与分析方法
US7661032B2 (en) * 2007-01-06 2010-02-09 International Business Machines Corporation Adjusting sliding window parameters in intelligent event archiving and failure analysis
JP2011065440A (ja) * 2009-09-17 2011-03-31 Mitsubishi Denki Information Technology Corp ログデータ分析装置及びログデータ分析装置のログデータ分析方法及びログデータ分析プログラム
CN103544076A (zh) * 2012-07-13 2014-01-29 阿里巴巴集团控股有限公司 一种数据备份方法及装置
CN103929321A (zh) * 2013-01-15 2014-07-16 腾讯科技(深圳)有限公司 一种日志处理方法和装置
CN104615736A (zh) * 2015-02-10 2015-05-13 上海创景计算机***有限公司 基于数据库的大数据快速解析存储方法
CN105447099A (zh) * 2015-11-11 2016-03-30 中国建设银行股份有限公司 日志结构化信息提取方法及装置

Also Published As

Publication number Publication date
CN106055450A (zh) 2016-10-26

Similar Documents

Publication Publication Date Title
CN106055450B (zh) 一种二进制日志解析方法及装置
CN107678790A (zh) 流计算方法、装置及***
CN106055585A (zh) 一种日志解析方法及装置
US10387145B1 (en) Mapping API parameters
CN110597799B (zh) 一种时序数据缺失值自动填补方法、***和设备
CN103838672A (zh) 一种通用报表的自动化测试方法及装置
CN105335412A (zh) 用于数据转换、数据迁移的方法和装置
CN106970820A (zh) 代码存储方法及代码存储装置
CN109522013A (zh) 一种业务功能的代码生成方法及装置
CN111124379B (zh) 页面生成方法、装置、电子设备及存储介质
CN110347383A (zh) 跨平台桌面应用的前端开发方法及装置
CN107330028A (zh) 一种Apache NiFi在源数据录入数据库方面的扩展应用方法和***
US11204860B2 (en) Methods and apparatuses for generating smart contract test case
CN110580158A (zh) 一种代码生成方法、装置、存储介质及电子设备
CN109933331A (zh) 一种客户端服务器间数据转换方法及相关组件
CN103279414B (zh) 一种适用于Xen虚拟化平台的隐蔽通道检测方法
CN108469955A (zh) 一种基于注解的Android注入框架
Zhang et al. Flow Chart Generation‐Based Source Code Similarity Detection Using Process Mining
CN108153745B (zh) 一种应用数据调用方法及应用开发***
CN105867886A (zh) 一种写表格的方法及装置
CN104636432B (zh) 一种日志文件压缩和解压的方法及装置
CN104090895B (zh) 获取基数的方法、装置、服务器及***
Leporati et al. A gap in the space hierarchy of P systems with active membranes
CN109947435A (zh) 服务器集群软件环境的部署方法及***
CN105793842B (zh) 序列化消息之间的转换方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100089 Beijing city Haidian District Road No. 4 North wa Yitai three storey building

Patentee after: NSFOCUS Technologies Group Co.,Ltd.

Patentee after: NSFOCUS TECHNOLOGIES Inc.

Address before: 100089 Beijing city Haidian District Road No. 4 North wa Yitai three storey building

Patentee before: NSFOCUS INFORMATION TECHNOLOGY Co.,Ltd.

Patentee before: NSFOCUS TECHNOLOGIES Inc.