一种二进制日志解析方法及装置的制造方法

文档序号:10686951阅读:189来源:国知局
一种二进制日志解析方法及装置的制造方法
【专利摘要】本发明公开了一种二进制日志解析方法及装置,在本发明实施例所述技术方案中,用户可以根据预置字段体集合,从中选择字段体构成解析模板,该解析模板中包括至少一个字段体,每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型;然后可以通过解析模板对二进制日志进行解析。由于解析模板是用户可以根据字段集合随意配置的,所以本发明实施例提供的二进制日志解析方法,无需为特定的二进制日志开发并维护日志解析应用程序,对解析模板的维护相对于对解析应用程序的维护工作量小,且维护方便。
【专利说明】
一种二进制日志解析方法及装置
技术领域
[0001 ]本发明涉及日志解析技术领域,尤其涉及一种二进制日志解析方法及装置。
【背景技术】
[0002] 随着海量日志分析挖掘技术的发展,如何解析设备或系统的日志备受业界重视。 日志解析的目的,是将待解析日志(即原始日志)中的数据通过某种逻辑组织成格式化的数 据,以便于提供给下游系统进行分析和挖掘。
[0003] 原始日志包括字符串日志和二进制日志,相比较字符串日志,在数据量相同时,二 进制日志体积小、易压缩、更便于网络传输,但是在带来诸多优势的同时,也给日志解析带 来很多不便。
[0004] 目前,二进制日志多种多样,一般针对一种二进制日志开发一套对应的日志解析 应用程序。由此,现有技术存在以下缺陷:
[0005] 1 )、一个日志解析应用程序只能解析对应的二进制日志,而且每个解析应用程序 都需要维护,导致开发和维护工作量大。
[0006] 2)、当二进制日志的解析后的数据格式改变时,需要开发人员重新开发日志解析 应用程序。
[0007]故此,现有的二进制日志解析方法适用范围小,二进制日志解析应用程序的开发 效率低,周期长,维护工作量大。

【发明内容】

[0008] 本发明实施例提供了一种二进制日志解析方法及装置,用以解决目前存在的现有 的二进制日志解析方法适用范围小,二进制日志解析应用程序的开发效率低,周期长,维护 工作量大等问题。
[0009] 本发明实施例提供了一种二进制日志解析方法,包括:
[0010] 获取待解析日志;以及预先配置的解析模板;所述解析模板包括至少一个字段体, 每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段 值所占的比特位数的长度信息、以及该字段值的输出字段类型;
[0011] 针对每个字段体,根据该字段体的位置信息以及长度信息,从所述待解析日志中 获取该字段体的字段值对应的二进制数;
[0012] 将所述二进制数按照该字段体的输出字段类型进行解析,得到字段值;
[0013] 将解析得到的字段值与输出字段名对应输出。
[0014] 进一步地,本发明实施例还提供了一种二进制日志解析装置,包括:
[0015] 获取模块,用于获取待解析日志;以及预先配置的解析模板;所述解析模板包括至 少一个字段体,每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置信 息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型;
[0016] 解析模块,用于针对每个字段体,根据该字段体的位置信息以及长度信息,从所述 待解析日志中获取该字段体的字段值对应的二进制数;
[0017] 字段值获取模块,用于将所述二进制数按照该字段体的输出字段类型进行解析, 得到字段值;
[0018] 输出模块,用于将解析得到的字段值与输出字段名对应输出。
[0019] 发明有益效果如下:在本发明实施例所述技术方案中,用户可以根据预置字段体 集合,从中选择字段体构成解析模板,该解析模板中包括至少一个字段体,每个字段体包 括:输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特 位数的长度信息、以及该字段值的输出字段类型;然后可以通过解析模板对二进制日志进 行解析。由于解析模板是用户可以根据字段集合随意配置的,所以本发明实施例提供的二 进制日志解析方法,无需为特定的二进制日志开发并维护日志解析应用程序,此外,还能够 适用任意输出数据格式的二进制日志的解析,对解析模板的维护相对于对解析应用程序的 维护工作量小,且维护方便。
【附图说明】
[0020] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。
[0021] 图1所示为本发明实施例一中所述二进制日志解析方法的流程示意图;
[0022] 图2所示为本发明实施例一中所述字段体的结构示意图;
[0023] 图3所示为本发明实施例一中所述解析模板的结构示意图;
[0024] 图4所示为本发明实施例一中所述解析模板的另一结构示意图;
[0025] 图5所示为本发明实施例二中所述二进制日志解析装置的结构示意图。
【具体实施方式】
[0026] 本发明实施例提供了一种二进制日志解析方法及装置。在本发明实施例所述技术 方案中,用户可以根据预置字段体集合,从中选择字段体构成解析模板,该解析模板中包括 至少一个字段体,每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置 信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型;然后可以 通过解析模板对二进制日志进行解析。由于解析模板是用户可以根据字段集合随意配置 的,所以本发明实施例提供的二进制日志解析方法,无需为特定的二进制日志开发并维护 日志解析应用程序,此外,还能够适用任意输出数据格式的二进制日志的解析,对解析模板 的维护相对于对解析应用程序的维护工作量小,且维护方便。
[0027] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进 一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施 例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的 所有其它实施例,都属于本发明保护的范围。
[0028] 实施例一:
[0029]如图1所示,其为本发明实施例一中所述二进制日志解析方法的流程示意图,所述 二进制日志解析方法可包括以下步骤:
[0030] 步骤101:获取待解析日志;以及预先配置的解析模板;所述解析模板包括至少一 个字段体,每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置信息、 表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型。
[0031] 其中,在一个实施例中输出字段类型包括数据类型,网络通信协议定义类型等中 的至少一种。数据类型例如是以下中的任一种:int(Integer,整数类型)、String(字符串)、 long(整型)、boolean(布尔型)、float(浮点型)、double(双精度浮点型)、date(日期型)等。 网络通信协议定义类型例如是适用于表示MAC地址(Media Access Control,物理地址)的 字段类型,适用于表示IPV4(网际协议版本4)或IPV6(网际协议版本6)的字段类型,例如适 用于表示IP地址的字段类型,字段类型也可以是适用于表示时间戳的字段类型。具体实施 时,任何有特定格式要求的字段类型均适用于本发明实施例,本发明对此不做限定。
[0032] 步骤102:针对每个字段体,根据该字段体的位置信息以及长度信息,从所述待解 析日志中获取该字段体的字段值对应的二进制数。
[0033] 其中,在一个实施例中,位置信息可以为字段值对应的二进制数的起始位置,终止 位置或中间位置中的任一种,本发明对此不做限定。只有能够根据位置信息确定字段值对 应的二进制数的位置,并根据长度信息确定二进制数的位数的方法均适用于本发明实施 例,本发明对此不做限定。
[0034] 步骤103:将所述二进制数按照该字段体的输出字段类型进行解析,得到字段值。
[0035] 步骤104:将解析得到的字段值与输出字段名对应输出。
[0036] 其中,在一个实施例中,解析后的待解析日志,需要按照特定的数据交换格式输 出,故此,本发明实施例中,解析模板中还可以包括预置数据交换格式,步骤104具体可执行 为根据解析模板中的预置数据交换格式,将解析得到的字段值与输出字段名对应输出。其 中,预设数据交换格式例如是XML(Extensible Markup Language,可扩展标记语言)、JS0N (JavaScript Object Notation JavaScript 对象表不法)、YAML(Yet Another Markup Language,另一种标记语言)等中的其中一种。需要说明的是,任何数据交换格式均适用于 本发明实施例,本发明对此不做限定。
[0037]为便于理解,下面对本发明实施例提供的日志解析方法进行进一步地说明,具体 的,包括以下内容:
[0038] 1)、关于字段体
[0039]其中,在一个实施例中,为了可以根据实际需求配置解析模板,使得配置解析模板 的操作方便易行,本发明实施例中可以预先定义字段体形成字段体集合,然后根据字段体 集合生成解析模板。具体的:
[0040] (1)、可以根据以下方法生成字段体:
[0041]步骤A1:接收用于创建字段体的创建指令;所述创建指令中包括待创建字段体的 输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位 数的长度信息、以及该字段值的输出字段类型。
[0042]其中,在一个实施例中,字段体的结构示意图如图2所示,其中,Z1表示输出字段 名,Z2表示位置信息,Z3表示长度信息、Z4表示输出字段类型,201、202、203均表示分割符。 例如,若创建指令中包括的输出字段名为U,位置信息用字段值对应的二进制数的起始位相 对于预设基准位置的偏移量表示,且该偏移量为2,长度信息为3(表示字段自用3位二进制 位表示),输出字段类型为String,用表示分割符,则最终的生成的字段体可以表示为
[0043] U; 2 ; 3 ; String
[0044]需要说明的是,字段体中输出字段名、位置信息、长度信息以及输出字段类型的先 后顺序不限,具体实施时,可以根据实际需要设定。
[0045] 具体根据字段体解析待解析日志时,可以根据分隔符确定出字段体中的各信息 (即输出字段名、位置信息、长度信息以及输出字段类型)。
[0046] 步骤A2:根据所述创建指令创建所述待创建字段体。
[0047] 例如,本发明实施例中,提供用户自定义字段体的编辑界面,用户可以通过界面化 的操作,通过界面中的创建字段体按键,开始创建字段体。在用户选择创建字段体按键后, 显示要求用户输入输出字段名、位置信息、长度信息以及输出字段类型的对话框,用户可以 通过该对话框输入对应信息,从而完成字段体的创建。
[0048] 这样,本发明实施例中,用户可以根据自身实际需要创建字段体,开发人员都可以 不用懂得编程语言,也可以完成解析模板的配置,相对于现有技术中开发特定的解析应用 程序,解析模板的配置更加操作简单、人性化。
[0049] (2)、可以根据方法配置所述解析模板:
[0050] 步骤B1:接收对预置字段体集合中的字段体的选择指令。
[0051]步骤B2:根据选择的字段体的集合生成所述解析模板。
[0052]其中,在一个实施例中,可以将选择的字段体的集合作为解析模板。
[0053]这样,解析模板的配置只需要通过选择字段体即可完成,操作简便。
[0054] 其中,在一个实施例中,二进制日志包括日志头和日志体,为了便于了解哪些字段 体属于日志头,哪些字段体属于日志体以,本发明实施例中针对所述解析模板的每个字段 体,所述解析模板中还包括表示该字段体隶属于日志头还是隶属于日志体的字段体名称, 则步骤B2还可具体包括以下步骤:
[0055] 步骤B21:接收对选择的字段体赋予所述字段体名称的命名指令,该命名指令中包 括字段体名称为日志头标识或日志体标识的指示信息。
[0056] 其中,指示信息可以包括日志头标识和日志体标识,即,若命名指令中包括日志头 标识,则表示字段体的字段体名称为日志头标识,该字段体隶属于日志头;若命名指令中包 括日志体标识,则表示字段体的字段体名称为日志体标识,该字段体隶属于日志体。这样, 根据解析模板就可以确定字段体隶属于日志头还是日志体。
[0057] 步骤B22:根据命名指令对选择的字段体赋予所述字段体名称,并生成所述解析模 板。
[0058] 最终的解析模板将包括字段头以及字段体两部分内容,具体的解析模板可表示为 如图3所不,图3中,U1表不日志头标识,301为分割符,用于区分日志头和日志体,U2表不日 志体标识。
[0059] 例如,预置字段体集合如表1所示,当然,表1仅用于说明本发明实施例并不用于限 定本发明实施例。
[0060] 表1预置字段体集合示例
[0062] 若选择字段体Ml和M2并赋予名称为日志头标识,则说明日志头中包括Ml和M2两个 字段体,若选择字段体M3、M4、M5,并赋予名称为日志体标识,则表示日志体中包括M3、M4、M5 共3个字段体。则最终的解析模板可表示为:
[0063] U1[M1,M2],U2[M3,M4,M5]
[0064] 若解析模板中还包括预置数据交换格式,则最终的解析模板可表示为如图4所示。 图4中与图3中相同符号的含义相同,在此不再赘述,图4中302表示用于区分数据交换格式 和U1的分割符。
[0065] 能够区分属于日志头和日志体的字段体之后,本发明实施例中步骤105(即将解析 得到的字段值与输出字段名对应输出)可具体包括将解析得到的字段值与输出字段名、以 及字段体名称对应输出。
[0066] 例如表2所示为将将解析得到的字段值与输出字段名、以及字段体名称对应输出 的示例,需要说明的是表2仅用于说明本发明实施例,并不用于限定本发明实施例。
[0067] 表 2
[0068]
[0069] (3)、为了便于用户维护预置字段体集合,本发明实施例中,还可以接收对预置字 段体集合中的编辑指令,所述编辑指令包括以下中的任一种:删除字段体的删除指令、向预 置字段体集合中添加字段体的添加指令、修改字段体的修改指令;并,根据编辑指令执行相 应操作。
[0070] 这样,本发明示例中,可以编辑指令维护字段体集合,维护的操作简单易行。
[0071] (4)、其中,在一个实施例中,默认情况下,一种解析模板可解析一种日志。为了确 保解析模板是对对应的待解析日志进行解析,从而获得正确的解析结果,本发明实施例中, 在步骤102之前,还可以确定所述待解析日志的比特位总数,与所述解析模板的所有字段值 所占的比特位数的长度信息之和相同。若相同则说明待解析日志是与解析模板对应的解析 日志,可以进行解析操作。其中,长度信息之和可以是加载该解析模板时计算的,这样只计 算一次即可,当然,具体实施时,也可以对每个待解析日志进行解析之前计算,本发明实施 例对此不做限定。
[0072] 下面使用比较常用的netf low v5日志为例对本发明实施例提供的二进制日志解 析方法进行说明:netflow v5日志格式为已知格式,且包括以下内容,如表3所示。表3中,B
[0073] 表 3
[0075]则netf low v5的日志头的解析模版可表示为:
[0076] head:{length:24,
[0077] 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:L0NG;4; 16},{eng ine_type:SHORT;1;20},{engine」d:SHORT;1;21},{sampling_interval:INT; 2;22}]}
[0078] 其中,length: 24表示日志头占用24位比特位。
[0079] netf low v5的日志的日志体的表示方法与日志头相同,这里不再赘述。
[0080] 对待解析日志进行解析时,可以依照下述步骤进行,当然各步骤的执行顺序可以 依照实际需要设定:
[0081 ]第一步:计算解析模板的比特位总数length:其中
[0082] length = head. length+body. length
[0083] 其中head. length表示日志头所占的比特位数,body. length表示日志体占用的比 特位数。
[0084]第二步:比较待解析日志的比特位总数与length是否相等,若相等则表示解析模 板与待解析日志对应。
[0085]第三步:分析解析模板,得到所有的字段体(包括日志头的字段体和日志体的字段 体)形成字段体集合,该集合可表示为
[0086] [M1,M2,…,Mn]
[0087] 第四步:遍历字段体集合中的每一个字段体,根据位置信息和长度信息找对对应 的字段值的二进制数,然后解析二进制数得出字段值,将字段值赋值给字段输出名;然后可 以根据预置的数据交换格式输出解析后的待解析日志。
[0088] 综上,在本发明实施例所述技术方案中,用户可以根据预置字段体集合,从中选择 字段体构成解析模板,该解析模板中包括至少一个字段体,每个字段体包括:输出字段名、 表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信 息、以及该字段值的输出字段类型;然后可以通过解析模板对二进制日志进行解析。由于解 析模板是用户可以根据自炖汤集合随意配置的,所以本发明实施例提供的二进制日志解析 方法,无需为特定的二进制日志开发并维护日志解析应用程序。此外,还能够适用任意输出 数据格式的二进制日志的解析,对解析模板的维护相对于对解析应用程序的维护工作量 小,且维护方便。
[0089] 实施例二
[0090] 基于相同的发明构思,本发明实施例还提供一种二进制日志解析装置,如图5所 示,为该装置的结构示意图,包括:
[0091 ]获取模块501,用于获取待解析日志;以及预先配置的解析模板;所述解析模板包 括至少一个字段体,每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位 置信息、表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型;
[0092]解析模块502,用于针对每个字段体,根据该字段体的位置信息以及长度信息,从 所述待解析日志中获取该字段体的字段值对应的二进制数;
[0093]字段值获取模块503,用于将所述二进制数按照该字段体的输出字段类型进行解 析,得到字段值;
[0094] 输出模块504,用于将解析得到的字段值与输出字段名对应输出。
[0095] 其中,在一个实施例中,所述装置还包括:
[0096] 解析模板配置模块,用于根据以下方法配置所述解析模板:
[0097] 接收对预置字段体集合中的字段体的选择指令;
[0098] 根据选择的字段体的集合生成所述解析模板。
[0099] 其中,在一个实施例中,针对所述解析模板的每个字段体,所述解析模板中还包括 表示该字段体隶属于日志头还是隶属于日志体的字段体名称;解析模板配置模块,具体用 于:
[0100] 接收对选择的字段体赋予所述字段体名称的命名指令,该命名指令中包括字段体 名称为日志头标识或日志体标识的指示信息;
[0101] 根据命名指令对选择的字段体赋予所述字段体名称,并生成所述解析模板。
[0102] 其中,在一个实施例中,输出模块,具体用于:
[0103] 将解析得到的字段值与输出字段名、以及字段体名称对应输出。
[0104] 其中,在一个实施例中,所述装置还包括:
[0105]编辑指令接收模块,用于接收对预置字段体集合中的编辑指令,所述编辑指令包 括以下中的任一种:删除字段体的删除指令、向预置字段体集合中添加字段体的添加指令、 修改字段体的修改指令;
[0106] 编辑指令执行模块,用于根据编辑指令执行相应操作。
[0107] 其中,在一个实施例中,所述装置还包括:
[0108] 字段体生成模块,用于根据以下方法生成字段体:
[0109] 接收用于创建字段体的创建指令;所述创建指令中包括待创建字段体的输出字段 名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度 信息、以及该字段值的输出字段类型;
[0110] 根据所述创建指令创建所述待创建字段体。
[0111] 其中,在一个实施例中,所述装置还包括:
[0112] 确定模块,用于确定所述待解析日志的比特位总数,与所述解析模板的所有字段 值所占的比特位数的长度信息之和相同。
[0113] 本发明实施例所述技术方案中,用户可以根据预置字段体集合,从中选择字段体 构成解析模板,该解析模板中包括至少一个字段体,每个字段体包括:输出字段名、表示该 输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信息、以及 该字段值的输出字段类型;然后可以通过解析模板对二进制日志进行解析。由于解析模板 是用户可以根据自炖汤集合随意配置的,所以本发明实施例提供的二进制日志解析方法, 无需为特定的二进制日志开发并维护日志解析应用程序。此外,还能够适用任意输出数据 格式的二进制日志的解析,对解析模板的维护相对于对解析应用程序的维护工作量小,且 维护方便。
[0114] 关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法 的实施例中进行了详细描述,此处将不做详细阐述说明。
[0115] 本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、系统、或计算 机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方 面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的 计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机 程序产品的形式。
[0116]本发明是参照根据本发明实施例的方法、装置(装置)和计算机程序产品的流程图 和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程 和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指 令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理装置的处理器以产生 一个机器,使得通过计算机或其他可编程数据处理装置的处理器执行的指令产生用于实现 在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0117] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理装置以特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。
[0118] 这些计算机程序指令也可装载到计算机或其他可编程数据处理装置上,使得在计 算机或其他可编程装置上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或 其他可编程装置上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一 个方框或多个方框中指定的功能的步骤。
[0119]尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造 性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优 选实施例以及落入本发明范围的所有变更和修改。
[0120]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1. 一种二进制日志解析方法,其特征在于,包括: 获取待解析日志;以及预先配置的解析模板;所述解析模板包括至少一个字段体,每个 字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置信息、表示该字段值所 占的比特位数的长度信息、以及该字段值的输出字段类型; 针对每个字段体,根据该字段体的位置信息以及长度信息,从所述待解析日志中获取 该字段体的字段值对应的二进制数; 将所述二进制数按照该字段体的输出字段类型进行解析,得到字段值; 将解析得到的字段值与输出字段名对应输出。2. 根据权利要求1所述的方法,其特征在于,根据以下方法配置所述解析模板: 接收对预置字段体集合中的字段体的选择指令; 根据选择的字段体的集合生成所述解析模板。3. 根据权利要求2所述的方法,其特征在于,针对所述解析模板的每个字段体,所述解 析模板中还包括表示该字段体隶属于日志头还是隶属于日志体的字段体名称;根据选择的 字段体的集合生成所述解析模板,具体包括: 接收对选择的字段体赋予所述字段体名称的命名指令,该命名指令中包括字段体名称 为日志头标识或日志体标识的指示信息; 根据命名指令对选择的字段体赋予所述字段体名称,并生成所述解析模板。4. 根据权利要求3所述的方法,其特征在于,将解析得到的字段值与输出字段名对应输 出,具体包括: 将解析得到的字段值与输出字段名、以及字段体名称对应输出。5. 根据权利要求2所述的方法,其特征在于,所述方法还包括: 接收对预置字段体集合中的编辑指令,所述编辑指令包括以下中的任一种:删除字段 体的删除指令、向预置字段体集合中添加字段体的添加指令、修改字段体的修改指令; 根据编辑指令执行相应操作。6. 根据权利要求1所述的方法,其特征在于,根据以下方法生成字段体: 接收用于创建字段体的创建指令;所述创建指令中包括待创建字段体的输出字段名、 表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信 息、以及该字段值的输出字段类型; 根据所述创建指令创建所述待创建字段体。7. 根据权利要求1-6中任一所述的方法,其特征在于,所述针对每个字段体,根据该字 段体的位置信息以及长度信息,从所述待解析日志中获取该字段体的字段值对应的二进制 数之前,所述方法还包括: 确定所述待解析日志的比特位总数,与所述解析模板的所有字段值所占的比特位数的 长度信息之和相同。8. -种二进制日志解析装置,其特征在于,包括: 获取模块,用于获取待解析日志;以及预先配置的解析模板;所述解析模板包括至少一 个字段体,每个字段体包括:输出字段名、表示该输出字段名的字段值的位置的位置信息、 表示该字段值所占的比特位数的长度信息、以及该字段值的输出字段类型; 解析模块,用于针对每个字段体,根据该字段体的位置信息以及长度信息,从所述待解 析日志中获取该字段体的字段值对应的二进制数; 字段值获取模块,用于将所述二进制数按照该字段体的输出字段类型进行解析,得到 字段值; 输出模块,用于将解析得到的字段值与输出字段名对应输出。9. 根据权利要求8所述的装置,其特征在于,所述装置还包括: 解析模板配置模块,用于根据以下方法配置所述解析模板: 接收对预置字段体集合中的字段体的选择指令; 根据选择的字段体的集合生成所述解析模板。10. 根据权利要求9所述的装置,其特征在于,针对所述解析模板的每个字段体,所述解 析模板中还包括表示该字段体隶属于日志头还是隶属于日志体的字段体名称;解析模板配 置模块,具体用于: 接收对选择的字段体赋予所述字段体名称的命名指令,该命名指令中包括字段体名称 为日志头标识或日志体标识的指示信息; 根据命名指令对选择的字段体赋予所述字段体名称,并生成所述解析模板。11. 根据权利要求10所述的装置,其特征在于,输出模块,具体用于: 将解析得到的字段值与输出字段名、以及字段体名称对应输出。12. 根据权利要求9所述的装置,其特征在于,所述装置还包括: 编辑指令接收模块,用于接收对预置字段体集合中的编辑指令,所述编辑指令包括以 下中的任一种:删除字段体的删除指令、向预置字段体集合中添加字段体的添加指令、修改 字段体的修改指令; 编辑指令执行模块,用于根据编辑指令执行相应操作。13. 根据权利要求8所述的装置,其特征在于,所述装置还包括: 字段体生成模块,用于根据以下方法生成字段体: 接收用于创建字段体的创建指令;所述创建指令中包括待创建字段体的输出字段名、 表示该输出字段名的字段值的位置的位置信息、表示该字段值所占的比特位数的长度信 息、以及该字段值的输出字段类型; 根据所述创建指令创建所述待创建字段体。14. 根据权利要求8-13中任一所述的装置,其特征在于,所述装置还包括: 确定模块,用于确定所述待解析日志的比特位总数,与所述解析模板的所有字段值所 占的比特位数的长度信息之和相同。
【文档编号】G06F11/30GK106055450SQ201610342231
【公开日】2016年10月26日
【申请日】2016年5月20日
【发明人】袁帅
【申请人】北京神州绿盟信息安全科技股份有限公司, 北京神州绿盟科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1