CN103929321A - 一种日志处理方法和装置 - Google Patents
一种日志处理方法和装置 Download PDFInfo
- Publication number
- CN103929321A CN103929321A CN201310014284.5A CN201310014284A CN103929321A CN 103929321 A CN103929321 A CN 103929321A CN 201310014284 A CN201310014284 A CN 201310014284A CN 103929321 A CN103929321 A CN 103929321A
- Authority
- CN
- China
- Prior art keywords
- daily record
- format configuration
- pattern
- field value
- configuration requirement
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种日志处理方法和装置,属于网络通信领域。方法包括:获取预设的格式配置文件;所述格式配置文件中包括日志格式配置要求;判断接收到的日志是否满足所述日志格式配置要求;当所述日志满足所述日志格式配置要求时,根据所述日志格式配置要求解析所述日志的字段值。本发明解决了目前ETL处理方式灵活性和可复用性差以及不能提取字段之间的关系信息的问题,用户只需要在配置文件中简单配置格式,即可实现各种格式的日志的解析和处理,提高了ETL日志处理方式的灵活性和可复用性,增强了提取信息能力。
Description
技术领域
本发明涉及网络通信领域,特别涉及一种日志处理方法和装置。
背景技术
随着网络技术的飞速发展,网络中的日志数量越来越多,需要构建日志数据仓库或数据集市,以便将不同格式的日志进行集成对外提供统一的模式。然而在构建数据仓库或数据集市时,并不能将各种不同的日志简单地堆砌在一起,而是要进行萃取和转置。如何对不同格式的日志进行萃取和转置,以及如何兼容因时间推移而产生的各种格式的新老数据,这就需要ETL(Extraction-Transformation-Loading,数据提取、转换和加载)处理。其中,ETL,是负责将分布的、异构数据源中的数据进行清洗、转换、集成,最后加载到数据仓库或数据集市中,为数据分析处理、数据挖掘的基础。
目前,针对日志的ETL处理主要有三种方式:第一种方式针对每种日志格式开发一段代码程序,采用函数、动态库或工厂模式描述每种日志;第二种方式将正则表达式配置到配置文件中,从而取出日志中需要的字段;第三种方式是开发一种简单的“语言”用“语言”来进行日志解析。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
第一种ETL处理方式,仅针对某一具体业务的日志格式进行处理,当有新日志或者原来的日志格式发生改变时,需要对代码进行修改或者重新开发一套新代码,致使工作繁琐,而且时间久了代码管理也会变得困难,灵活性和可复用性差;第二种方式使用正则表达式的方式,不是所有人都熟悉正则,存在写错的风险;第三种开发一种语言的方式,工作量较大,且存在学习“语言”的门槛,推广比较难。上述三种方式仅将日志中的字段值解析出来,因而从数据中提取信息能力差。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种日志处理方法和装置。所述技术方案如下:
一方面,提供了一种日志处理方法,所述方法包括:
获取预设的格式配置文件;所述格式配置文件中包括日志格式配置要求;
判断接收到的日志是否满足所述日志格式配置要求;
当所述日志满足所述日志格式配置要求时,根据所述日志格式配置要求解析所述日志的字段值。
具体地,所述根据所述日志格式配置要求解析所述日志的字段值之后,还包括:
对解析的所述日志的字段值进行过滤,去掉无效的字段值;
根据所述日志过滤后的字段值查找是否存在相关日志,并判断所述日志是否需要与所述相关日志合并;
如果需要合并,则将所述日志与相关日志进行合并,并将所述日志解析的字段值存储在所述相关日志对应的目录下或者转发;
如果不需要合并,则将所述日志解析的字段值进行存储或者转发。
具体地,所述获取预设的格式配置文件之前,包括:
配置所述格式配置文件,所述格式配置文件中的日志格式配置要求具体包括输入格式配置要求和输出格式配置要求。
具体地,所述根据所述日志格式配置要求解析所述日志的字段值,包括:
当接收到的所述日志满足所述输入格式配置要求时,判断所述日志的字段模式为固定序模式还是键值对KV模式;
当所述日志的字段模式是所述固定序模式时,根据所述固定序模式规则解析所述日志的字段值;
当所述日志的字段模式是所述KV模式时,根据所述KV模式规则解析所述日志的字段值。
进一步地,判断所述日志是否需要与相关日志合并之后,还包括:
当所述日志与相关日志需要合并时,则将所述日志与相关日志进行合并后,将所述日志解析的字段值根据所述输出格式配置要求配置后,存储在所述相关日志对应的目录下或者转发;
当所述日志与相关日志不需要合并时,则将所述日志解析的字段值根据所述输出格式配置要求配置后,进行存储或者转发。
另一方面,提供了一种日志处理装置,所述装置包括:
获取模块,用于获取预设的格式配置文件;所述格式配置文件中包括日志格式配置要求;
判断模块,用于判断接收到的日志是否满足所述日志格式配置要求;
解析模块,用于当所述日志满足所述日志格式配置要求时,根据所述日志格式配置要求解析所述日志的字段值。
具体地,所述装置还包括:
过滤模块,用于根据所述日志格式配置要求解析所述日志的字段值之后,对解析的所述日志的字段值进行过滤,去掉无效的字段值;
合并模块,用于根据所述日志过滤后的字段值查找是否存在相关日志,并判断所述日志是否需要与所述相关日志合并;如果需要合并,则将所述日志与相关日志进行合并,并将所述日志解析的字段值存储在所述相关日志对应的目录下或者转发;如果不需要合并,则将所述日志解析的字段值进行存储或者转发。
具体地,所述装置包括:
配置模块,用于获取预设的格式配置文件之前,配置所述格式配置文件,所述格式配置文件中的日志格式配置要求具体包括输入格式配置要求和输出格式配置要求。
具体地,所述解析模块,包括:
判断单元,用于当接收到的所述日志满足所述输入格式配置要求时,判断所述日志的字段模式为固定序模式还是键值对KV模式;
第一解析单元,用于当所述日志的字段模式是所述固定序模式时,根据所述固定序模式规则解析所述日志的字段值;
第二解析单元,用于当所述日志的字段模式是所述KV模式时,根据所述KV模式规则解析所述日志的字段值。
进一步地,所述合并模块还包括:
第一输出单元,用于判断所述日志是否需要与相关日志合并之后,当所述日志与相关日志需要合并时,则将所述日志与相关日志进行合并后,将所述日志解析的字段值根据所述输出格式配置要求配置后,存储在所述相关日志对应的目录下或者转发;
第二输出单元,用于当所述日志与相关日志不需要合并时,则将所述日志解析的字段值根据所述输出格式配置要求配置后,进行存储或者转发。
本发明实施例提供的技术方案带来的有益效果是:
通过获取预设的格式配置文件,根据格式配置文件中包括的日志格式配置要求判断接收到的日志满足日志格式配置要求时,根据日志格式配置要求解析日志的字段值,解决了目前ETL处理方式灵活性和可复用性差以及不能提取字段之间的关系信息的问题,用户只需要在配置文件中简单配置格式,即可实现各种格式的日志的解析和处理,提高了ETL日志处理方式的灵活性和可复用性,增强了提取信息能力。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的日志处理方法流程图;
图2是本发明实施例二提供的日志处理方法流程图;
图3是本发明实施例二提供的日志处理系统结构示意图;
图4是本发明实施例三提供的日志处理装置第一种结构示意图;
图5是本发明实施例三提供的日志处理装置第二种结构示意图;
图6是本发明实施例三提供的日志处理装置第三种结构示意图;
图7是本发明实施例三提供的日志处理装置第四种结构示意图;
图8是本发明实施例三提供的日志处理装置第五种结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
参见图1,本发明实施例提供了一种日志处理方法,该方法包括:
101、获取预设的格式配置文件;格式配置文件中包括日志格式配置要求;
102、判断接收到的日志是否满足日志格式配置要求;
103、当日志满足日志格式配置要求时,根据日志格式配置要求解析日志的字段值。
具体地,根据日志格式配置要求解析日志的字段值之后,还包括:
对解析的日志的字段值进行过滤,去掉无效的字段值;
根据日志过滤后的字段值查找是否存在相关日志,并判断日志是否需要与相关日志合并;
如果需要合并,则将日志与相关日志进行合并,并将日志解析的字段值存储在相关日志对应的目录下或者转发;
如果不需要合并,则将日志解析的字段值进行存储或者转发。
具体地,获取预设的格式配置文件之前,包括:
配置格式配置文件,格式配置文件中的日志格式配置要求具体包括输入格式配置要求和输出格式配置要求。
具体地,根据日志格式配置要求解析日志的字段值,包括:
当接收到的日志满足输入格式配置要求时,判断日志的字段模式为固定序模式还是键值对KV模式;
当日志的字段模式是固定序模式时,根据固定序模式规则解析日志的字段值;
当日志的字段模式是KV模式时,根据KV模式规则解析日志的字段值。
进一步地,判断日志是否需要与相关日志合并之后,还包括:
当日志与相关日志需要合并时,则将日志与相关日志进行合并后,将日志解析的字段值根据输出格式配置要求配置后,存储在相关日志对应的目录下或者转发;
当日志与相关日志不需要合并时,则将日志解析的字段值根据输出格式配置要求配置后,进行存储或者转发。
本发明实施例提供的方法,通过获取预设的格式配置文件,根据格式配置文件中包括的日志格式配置要求判断接收到的日志满足日志格式配置要求时,根据日志格式配置要求解析日志的字段值,解决了目前ETL处理方式灵活性和可复用性差以及不能提取字段之间的关系信息的问题,用户只需要在配置文件中简单配置格式,即可实现各种格式的日志的解析和处理,提高了ETL日志处理方式的灵活性和可复用性,增强了提取信息能力。
实施例二
参见图2,本发明实施例提供了一种日志处理方法,该方法包括:
201、配置格式配置文件,该格式配置文件中的日志格式配置要求具体包括输入格式配置要求和输出格式配置要求。
具体地,本发明实施例针对按条日志,但对那些能够转置为按条日志的非按条日志也能够解析。对非文本格式日志,如二进制流日志,在转成文本格式后依然可以适用本发明实施例提供的方法。
用户要写出自己或者其他用户都能看懂的日志,能够获知日志对应的字段的含义,最常用的一种模式是字段顺序固定,用户只需要第几个字段对应是什么含义就可以了,例如采用“\t”分割,采用“|”分割都是很常见的方式。另外一种常用的模式是KV模式,可以采用字段顺序不固定,甚至字段的个数也是不固定的,当字段顺序不固定时,如果让用户能够读懂,必然会有某种标示来进行表示,对此种标示方式,可以笼统地称为KV模式,包括类似于key=value的显式模式以及隐式模式。
本发明实施例提供的方法需要由三个处理层和一个配置管理模块组成的系统来完成,参见图3:
网络层:主要功能是接收将要处理的日志流或者转发处理完毕的日志流。该层主要通过封装一系列系统socket的API以及I/O操作来完成主要功能;
缓存Cache层:主要功能是缓存数据,包括缓存网络层接收到的日志,缓存Calculation层处理得到的中间结果,以及缓存将要发送的数据。Cache层可以使用多种缓存策略,包括内存,文件或者数据库等方式;
计算Calculation层:主要包括三个功能,解析数据,根据配置过滤解析后的数据,最后合并过滤的数据,形成可为数据分析或者数据挖掘所用的数据,具体为:解析功能:根据配置的要求,从日志流中解析出所需字段以及该字段的值,即把一条条的日志变成key-value的方式,便于后面的处理;过滤功能:根据配置的要求,对解析后的数据进行一系列的清洗工作,将不符合要求的去掉,提高待处理数据的质量;合并功能:该功能能够根据配置的要求,对处理出来的数据进行合并,因为不管是同一类型的日志之间还是不同类型的日志之间,都可能存在关联关系,具体的如何关联是由业务决定的,合并就是将存在关联的数据组合到一起,形成新的数据,该功能需要cache层提供的数据缓存的功能。
配置管理模块,主要用于配置输入格式、输出格式以及系统需要的相关信息。
下面以常用格式的配置为例对本发明实施例提供的方法进行说明:
1、顺序固定,分隔符固定
例如日志的前两行为:
201210070100000|12345|弱智儿童欢乐多|web…
201210070100011|54321|精神病人思路广|wenwen…
则以上日志可以配置格式为:${time}|${qq}|${query}|${sc}…
其中,用“time”来描述时间字段,用“qq”来描述qq字段,用“query”来描述query词;字段的名字不需要固定,用户可以根据需要来确定名字,但输入的名字需要和输出的名字一致。
2、顺序固定,分隔符不固定
例如日志的前两行为:
201210070100000 12345|弱智儿童欢乐多&web…
201210070100011 54321|精神病人思路广&wenwen…
则以上日志可以配置格式为:${time}\t${qq}|${query}&${sc}…
又例如日志的前两行为:
201210070100000 12345弱智儿童欢乐多|web<im>…
201210070100011 54321精神病人思路广|wenwen<qzone>…
则以上日志可以配置格式为:${time}\t${qq}${query}|${sc}<${cid}>……
其中,sc表示搜索频道,cid表示搜索流量的来源,用户可以根据需要以及处理的日志情况来进行定义,本发明实施例处理的日志格式分隔符可以为任意组合,不限于以上例子中的分割方式。
3、顺序固定的KV模式
顺序固定的key-value模式可以按照顺序固定的字段模式来进行解析,也可以按照key-value模式来进行解析。
例如日志的前两行为:
<qq=12345><query=弱智儿童欢乐多><time=201210070100000>
<qq=56789><query=乔布斯><time=201210070100021>
则按照固定顺序配置为:<qq=${qq}><query=${query}><time=${time}>
按照key-value模式需要配置为:
首先,声明字段为key-value字段(“<qq=56789><query=乔布斯><time=201210070100021>”可以是某行日志的一部分,也可以是某一整行日志)
Relex_class linetmp
然后,再对key-value规则进行描述:
[Relex_rule]
Linetmp_rule<key=value>
4、顺序不固定的KV模式
例如日志的前两行为:
<qq=12345><query=弱智儿童欢乐多><time=201210070100000>
<time=201210070100021><qq=56789><query=乔布斯>
对此种方式只能采用KV模式进行描述
首先声明字段为KV模式字段
Relex_class linetmp
其中,这里的linetmp可以根据用户需要起名,本发明实施例中的字段名都是可以根据需要起名。
然后再对key-value规则进行描述:
[Relex_rule]
Linetmp_rule<key=value>
又例如日志的前两行为:
qq=12345&query=弱智儿童欢乐多&time=201210070100000
time=201210070100021&qq=56789&query=乔布斯
则首先声明字段为key-value字段
Relex_class reserve
然后再对key-value规则进行描述:
[Relex_rule]
reserve_rule key=value&
202、获取预设的格式配置文件;格式配置文件中包括日志格式配置要求;
具体地,通过步骤201对格式配置文件进行配置后,首先读取预设的格式配置文件,该格式配置文件中包括日志格式配置要求。其中,该日志格式配置要求具体包括输入格式配置要求和输出格式配置要求。
203、判断接收到的日志是否满足格式配置文件中的日志格式配置要求;
具体地,接收待处理的日志,然后判断接收到的日志是否满足日志格式配置要求,根据获取的输入格式配置要求,判断日志是否满足输入格式配置要求。
204、当日志满足日志格式配置要求时,根据日志格式配置要求解析日志的字段值。
具体地,如果判断接收到的日志满足输入格式配置要求时,判断日志的字段模式为固定序模式还是键值对KV模式;当日志的字段模式是固定序模式时,根据固定序模式规则解析日志的字段值;当日志的字段模式是KV模式时,根据KV模式规则解析日志的字段值。
输入格式解析流程的处理具体过程如下:
计算Calculation层读取上面配置时,会按照配置的输入格式配置要求对文件进行解析。
1、对字段顺序固定的处理
首先找到配置格式字符串中的“${”认为是字段的开头,然后找到“}”,在“${”和“}”中间的部分会被认为是字段名,固定字段顺序的各字段中间的分隔符在配置中配置为${}和${}中间的部分,这些分隔符会按照原本的形势存储起来,在进行字符串解析时,会按照这些分隔符去获取相关的字段。日志中第一个分隔符前面的内容会被认为是对应的第一个字段的内容,第一个分隔符和第二个分隔符之间的内容会被认为是第二个字段的内容。其中,日志的字段内容中不能包含分隔符,如果包含需要转义,如果包含了转义并且没有转义日志本身是不能够被用户或其他用户理解的。
2、对KV模式的处理
首先,读取配置文件中声明为Relex_class类型的字段名,然后根据字段名到relex_rule中查找解析信息。在relex_rule的解析中,${key}前后的字符会被当作分隔符处理,两个分隔符中间的内容为key,${value}前后的字符也会被当作分隔符处理,两个分隔符中间的内容为value。此外,在${value}后面的字符为key-value对之间的分隔符,例如配置了“${key}=${value}&”,则解析:“time=201210070100021&qq=56789&query=乔布斯”时,首先根据${value}后面的“&”把“time=201210070100021&qq=56789&query=乔布斯”拆分成{“time=201210070100021”,“qq=56789”,“query=乔布斯”},然后,因为“${key}=${value}&”前面没有字符,而${key}和${value}中间是等号,则解析“qq=56789”,字符开头到“=”的“qq”会被识别为key-value对的“key”,而“=”后面的会被识别为“value”。
205、根据日志格式配置要求解析日志的字段值之后,对解析的日志的字段值进行过滤;
具体地,根据配置的要求解析日志的字段值之后,对解析后的字段值进行一系列的过滤工作,去掉无效的字段值和不符合要求的字段值,提高待处理数据的质量。
206、判断日志是否需要与相关日志合并,如果合并,则将日志与相关日志进行合并后,将日志解析的字段值存储在相关日志对应的目录下或者转发;如果不合并,则将日志解析的字段值进行存储或者转发。
具体地,根据日志过滤后的字段值判断日志是否需要与相关日志合并;如果需要合并,则将日志与相关日志进行合并,并将日志解析的字段值存储在相关日志对应的目录下或者转发;如果不需要合并,则将日志解析的字段值进行存储或者转发。
本发明实施例对解析的字段值进行合并,由于不管是同一类型的日志之间还是不同类型的日志之间,都可能存在关联关系,具体如何关联是由业务决定的,合并就是将存在关联的数据组合到一起,形成新的数据,该功能需要cache层提供的数据缓存的功能。
需要说明的是,判断日志是否需要与相关日志合并之后,还包括:
当日志与相关日志需要合并时,则将日志与相关日志进行合并后,将日志解析的字段值根据日志格式配置要求中的输出格式配置要求配置后,存储在相关日志对应的目录下或者转发;当日志与相关日志不需要合并时,则将日志解析的字段值根据输出格式配置要求配置后,进行存储或者转发。
其中,输出格式解析流程:
本发明实施例可按照任意想要固定字段序格式进行输出,用户只需在配置格式中进行简单的描述即可。例如${time}\t${qq}|${query},输出支持固定序(包括分隔符固定和分隔符不固定)以及固定序的KV两种方式。首先,对获取的输出格式配置要求进行解析,找到配置格式字符串中的“${”认为是字段的开头,然后找到“}”,在“${”和“}”中间的部分会被认为是字段名,各字段中间的分隔符在配置中配置为${}和${}中间的部分,输出为按照配置的格式对字段进行输出,先从存储中输出字段名对应的值,然后再输出该字段后面的分隔符,然后再输出下一个字段。
需要说明的是,传统处理日志都需要多次中转落地的方式完成跨地域的传输,最后到达处理日志的服务器,这对实时性要求比较高的数据分析工作来说,不能够满足业务的需要。在设计ETL的时候,本发明实施例中多个ETL可以协同工作,形成多个节点,这样就可以组成一个处理日志的工作流,使得在日志到达最后地点时可以马上开始分析,同时这样可以随意的形成串行或并行的ETL组合,针对不同的业务需要提供各自所需的数据。
需要说明的是,本发明的实现支持固定序和key-value两种模式的混排和嵌套递归,这样对每个字段都需要判断他的解析方式,以及里面递归字段的解析方式。为了避免在日志解析的过程中,对每个字段都行循环判断,本发明实施例采用在读取输入格式时存储好对应的解析方式,采用的存储顺序为配置的先后顺序,这样在配置解析格式时针对有嵌套情况的字段需要从大到小进行配置,例如reserve字段的内容为“imqq=1256&ver=1.3.6&<query=1><click=2>”,想得到“query=1”这一key-value对的值,则需要先解析reserve字段,这时需要先配置reserve字段的解析方式,然后再配置“query=1”这一key-value对的解析方式。这样在解析的时候,只需按照字段在存储好的列表中按顺序查找就可以了,不用反复的循环判断。
本发明实施例提供的方法,通过获取预设的格式配置文件,根据格式配置文件中包括的日志格式配置要求判断接收到的日志满足日志格式配置要求时,根据日志格式配置要求解析日志的字段值,解决了目前ETL处理方式灵活性和可复用性差以及不能提取字段之间的关系信息的问题,用户只需要在配置文件中简单配置格式,即可实现各种格式的日志的解析和处理,提高了ETL日志处理方式的灵活性和可复用性,增强了提取信息能力。
实施例三
参见图4,本发明实施例提供了一种日志处理装置,该装置包括:
获取模块401,用于获取预设的格式配置文件;格式配置文件中包括日志格式配置要求;
判断模块402,用于判断接收到的日志是否满足日志格式配置要求;
解析模块403,用于当日志满足日志格式配置要求时,根据日志格式配置要求解析日志的字段值。
具体地,参见图5,该装置还包括:
过滤模块404,用于根据日志格式配置要求解析日志的字段值之后,对解析的日志的字段值进行过滤,去掉无效的字段值;
合并模块405,用于根据所述日志过滤后的字段值查找是否存在相关日志,并判断所述日志是否需要与所述相关日志合并;如果需要合并,则将日志与相关日志进行合并,并将日志解析的字段值存储在相关日志对应的目录下或者转发;如果不需要合并,则将日志解析的字段值进行存储或者转发。
具体地,参见图6,该装置包括:
配置模块406,用于获取预设的格式配置文件之前,配置格式配置文件,该格式配置文件中的日志格式配置要求具体包括输入格式配置要求和输出格式配置要求。
具体地,参见图7,解析模块403,包括:
判断单元403a,用于当接收到的日志满足输入格式配置要求时,判断日志的字段模式为固定序模式还是键值对KV模式;
第一解析单元403b,用于当日志的字段模式是固定序模式时,根据固定序模式规则解析日志的字段值;
第二解析单元403c,用于当日志的字段模式是KV模式时,根据KV模式规则解析日志的字段值。
具体地,参见图8,合并模块405还包括:
第一输出单元405a,用于判断日志是否需要与相关日志合并之后,当日志与相关日志需要合并时,则将日志与相关日志进行合并后,将日志解析的字段值根据输出格式配置要求配置后,存储在相关日志对应的目录下或者转发;
第二输出单元405b,用于当日志与相关日志不需要合并时,则将日志解析的字段值根据输出格式配置要求配置后,进行存储或者转发。
本发明实施例提供的装置,通过获取预设的格式配置文件,根据格式配置文件中包括的日志格式配置要求判断接收到的日志满足日志格式配置要求时,根据日志格式配置要求解析日志的字段值,解决了目前ETL处理方式灵活性和可复用性差以及不能提取字段之间的关系信息的问题,用户只需要在配置文件中简单配置格式,即可实现各种格式的日志的解析和处理,提高了ETL日志处理方式的灵活性和可复用性,增强了提取信息能力。
需要说明的是:上述实施例提供的日志处理装置在对日志进行ETL处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的日志处理装置与日志处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种日志处理方法,其特征在于,所述方法包括:
获取预设的格式配置文件;所述格式配置文件中包括日志格式配置要求;
判断接收到的日志是否满足所述日志格式配置要求;
当所述日志满足所述日志格式配置要求时,根据所述日志格式配置要求解析所述日志的字段值。
2.根据权利要求1所述的方法,其特征在于,所述根据所述日志格式配置要求解析所述日志的字段值之后,还包括:
对解析的所述日志的字段值进行过滤,去掉无效的字段值;
根据所述日志过滤后的字段值查找是否存在相关日志,并判断所述日志是否需要与所述相关日志合并;
如果需要合并,则将所述日志与相关日志进行合并,并将所述日志解析的字段值存储在所述相关日志对应的目录下或者转发;
如果不需要合并,则将所述日志解析的字段值进行存储或者转发。
3.根据权利要求1所述的方法,其特征在于,所述获取预设的格式配置文件之前,包括:
配置所述格式配置文件,所述格式配置文件中的日志格式配置要求具体包括输入格式配置要求和输出格式配置要求。
4.根据权利要求1或3所述的方法,其特征在于,所述根据所述日志格式配置要求解析所述日志的字段值,包括:
当接收到的所述日志满足所述输入格式配置要求时,判断所述日志的字段模式为固定序模式还是键值对KV模式;
当所述日志的字段模式是所述固定序模式时,根据所述固定序模式规则解析所述日志的字段值;
当所述日志的字段模式是所述KV模式时,根据所述KV模式规则解析所述日志的字段值。
5.根据权利要求2或3所述的方法,其特征在于,判断所述日志是否需要与相关日志合并之后,还包括:
当所述日志与相关日志需要合并时,则将所述日志与相关日志进行合并后,将所述日志解析的字段值根据所述输出格式配置要求配置后,存储在所述相关日志对应的目录下或者转发;
当所述日志与相关日志不需要合并时,则将所述日志解析的字段值根据所述输出格式配置要求配置后,进行存储或者转发。
6.一种日志处理装置,其特征在于,所述装置包括:
获取模块,用于获取预设的格式配置文件;所述格式配置文件中包括日志格式配置要求;
判断模块,用于判断接收到的日志是否满足所述日志格式配置要求;
解析模块,用于当所述日志满足所述日志格式配置要求时,根据所述日志格式配置要求解析所述日志的字段值。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
过滤模块,用于根据所述日志格式配置要求解析所述日志的字段值之后,对解析的所述日志的字段值进行过滤,去掉无效的字段值;
合并模块,用于根据所述日志过滤后的字段值查找是否存在相关日志,并判断所述日志是否需要与所述相关日志合并;如果需要合并,则将所述日志与相关日志进行合并,并将所述日志解析的字段值存储在所述相关日志对应的目录下或者转发;如果不需要合并,则将所述日志解析的字段值进行存储或者转发。
8.根据权利要求6所述的装置,其特征在于,所述装置包括:
配置模块,用于获取预设的格式配置文件之前,配置所述格式配置文件,所述格式配置文件中的日志格式配置要求具体包括输入格式配置要求和输出格式配置要求。
9.根据权利要求6或8所述的装置,其特征在于,所述解析模块,包括:
判断单元,用于当接收到的所述日志满足所述输入格式配置要求时,判断所述日志的字段模式为固定序模式还是键值对KV模式;
第一解析单元,用于当所述日志的字段模式是所述固定序模式时,根据所述固定序模式规则解析所述日志的字段值;
第二解析单元,用于当所述日志的字段模式是所述KV模式时,根据所述KV模式规则解析所述日志的字段值。
10.根据权利要求7或8所述的装置,其特征在于,所述合并模块还包括:
第一输出单元,用于判断所述日志是否需要与相关日志合并之后,当所述日志与相关日志需要合并时,则将所述日志与相关日志进行合并后,将所述日志解析的字段值根据所述输出格式配置要求配置后,存储在所述相关日志对应的目录下或者转发;
第二输出单元,用于当所述日志与相关日志不需要合并时,则将所述日志解析的字段值根据所述输出格式配置要求配置后,进行存储或者转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310014284.5A CN103929321A (zh) | 2013-01-15 | 2013-01-15 | 一种日志处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310014284.5A CN103929321A (zh) | 2013-01-15 | 2013-01-15 | 一种日志处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103929321A true CN103929321A (zh) | 2014-07-16 |
Family
ID=51147405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310014284.5A Pending CN103929321A (zh) | 2013-01-15 | 2013-01-15 | 一种日志处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103929321A (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447099A (zh) * | 2015-11-11 | 2016-03-30 | 中国建设银行股份有限公司 | 日志结构化信息提取方法及装置 |
CN105591785A (zh) * | 2014-10-24 | 2016-05-18 | 中兴通讯股份有限公司 | 分布式系统中日志报文传输及丢失检测方法与装置 |
CN105677689A (zh) * | 2015-05-27 | 2016-06-15 | 深圳Tcl数字技术有限公司 | 日志记录方法及装置 |
CN105718477A (zh) * | 2014-12-03 | 2016-06-29 | 中国移动通信集团重庆有限公司 | 一种获取目标文件的方法及装置 |
CN106055450A (zh) * | 2016-05-20 | 2016-10-26 | 北京神州绿盟信息安全科技股份有限公司 | 一种二进制日志解析方法及装置 |
CN106201848A (zh) * | 2016-06-30 | 2016-12-07 | 北京奇虎科技有限公司 | 一种实时计算平台的日志处理方法和装置 |
CN106294732A (zh) * | 2016-08-10 | 2017-01-04 | 北京海誉动想科技股份有限公司 | 基于etl工具的日志收集方法 |
CN106547470A (zh) * | 2015-09-16 | 2017-03-29 | 伊姆西公司 | 日志存储优化方法和设备 |
CN106815306A (zh) * | 2016-12-16 | 2017-06-09 | 中铁程科技有限责任公司 | 日志解析方法及装置 |
CN106844505A (zh) * | 2016-12-27 | 2017-06-13 | 北京五八信息技术有限公司 | 一种日志数据提取方法及装置 |
CN107025266A (zh) * | 2017-02-28 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 业务数据的处理方法和装置 |
CN107273269A (zh) * | 2017-06-12 | 2017-10-20 | 北京奇虎科技有限公司 | 日志解析方法及装置 |
CN107919981A (zh) * | 2017-10-31 | 2018-04-17 | 江苏省未来网络创新研究院 | 一种多厂商缓存日志的分析方法 |
CN108108288A (zh) * | 2018-01-09 | 2018-06-01 | 北京奇艺世纪科技有限公司 | 一种日志数据解析方法、装置及设备 |
CN109739821A (zh) * | 2018-12-18 | 2019-05-10 | 中国科学院计算机网络信息中心 | 日志数据分层存储方法、装置及存储介质 |
CN109901978A (zh) * | 2017-12-08 | 2019-06-18 | 航天信息股份有限公司 | 一种Hadoop日志无损压缩方法和系统 |
CN110032496A (zh) * | 2019-04-19 | 2019-07-19 | 杭州玳数科技有限公司 | 一种支持多样化日志合并的日志采集方法及系统 |
CN110750253A (zh) * | 2019-10-28 | 2020-02-04 | 深圳前海环融联易信息科技服务有限公司 | 日志规范方法、装置、计算机设备及存储介质 |
CN111177484A (zh) * | 2019-12-09 | 2020-05-19 | 贵阳语玩科技有限公司 | 不同数据源及格式字符串资源文件的加载管理系统和方法 |
CN111199423A (zh) * | 2019-12-25 | 2020-05-26 | 平安证券股份有限公司 | 用户行为轨迹生成方法、装置、设备及存储介质 |
CN111625616A (zh) * | 2020-05-11 | 2020-09-04 | 苏州盈数智能科技有限公司 | 一种能够海量存储的企业级的数据管理系统 |
CN114385396A (zh) * | 2021-12-27 | 2022-04-22 | 华青融天(北京)软件股份有限公司 | 一种日志解析方法、装置、设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192227A (zh) * | 2006-11-30 | 2008-06-04 | 阿里巴巴公司 | 一种基于分布式计算网络的日志文件分析方法和系统 |
CN101339531A (zh) * | 2008-08-12 | 2009-01-07 | 杭州华三通信技术有限公司 | 一种处理日志文件的方法及装置 |
CN101414255A (zh) * | 2007-10-19 | 2009-04-22 | 国际商业机器公司 | 日志事件处理方法与设备 |
CN101719149A (zh) * | 2009-12-03 | 2010-06-02 | 联动优势科技有限公司 | 数据同步方法及装置 |
CN101800668A (zh) * | 2010-03-23 | 2010-08-11 | 成都市华为赛门铁克科技有限公司 | 日志归并方法和装置 |
CN101931562A (zh) * | 2010-09-29 | 2010-12-29 | 杭州华三通信技术有限公司 | 网络日志的处理方法及设备 |
CN102063477A (zh) * | 2010-12-13 | 2011-05-18 | 百度在线网络技术(北京)有限公司 | 一种网站数据抓取装置及方法 |
CN102158355A (zh) * | 2011-03-11 | 2011-08-17 | 广州蓝科科技股份有限公司 | 一种可并发和断续分析的日志事件关联分析方法和装置 |
CN102768636A (zh) * | 2011-05-05 | 2012-11-07 | 阿里巴巴集团控股有限公司 | 一种日志解析方法及装置 |
-
2013
- 2013-01-15 CN CN201310014284.5A patent/CN103929321A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192227A (zh) * | 2006-11-30 | 2008-06-04 | 阿里巴巴公司 | 一种基于分布式计算网络的日志文件分析方法和系统 |
CN101414255A (zh) * | 2007-10-19 | 2009-04-22 | 国际商业机器公司 | 日志事件处理方法与设备 |
US20090106594A1 (en) * | 2007-10-19 | 2009-04-23 | International Business Machines Corporation | Method and Device for Log Events Processing |
CN101339531A (zh) * | 2008-08-12 | 2009-01-07 | 杭州华三通信技术有限公司 | 一种处理日志文件的方法及装置 |
CN101719149A (zh) * | 2009-12-03 | 2010-06-02 | 联动优势科技有限公司 | 数据同步方法及装置 |
CN101800668A (zh) * | 2010-03-23 | 2010-08-11 | 成都市华为赛门铁克科技有限公司 | 日志归并方法和装置 |
CN101931562A (zh) * | 2010-09-29 | 2010-12-29 | 杭州华三通信技术有限公司 | 网络日志的处理方法及设备 |
CN102063477A (zh) * | 2010-12-13 | 2011-05-18 | 百度在线网络技术(北京)有限公司 | 一种网站数据抓取装置及方法 |
CN102158355A (zh) * | 2011-03-11 | 2011-08-17 | 广州蓝科科技股份有限公司 | 一种可并发和断续分析的日志事件关联分析方法和装置 |
CN102768636A (zh) * | 2011-05-05 | 2012-11-07 | 阿里巴巴集团控股有限公司 | 一种日志解析方法及装置 |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105591785A (zh) * | 2014-10-24 | 2016-05-18 | 中兴通讯股份有限公司 | 分布式系统中日志报文传输及丢失检测方法与装置 |
CN105718477A (zh) * | 2014-12-03 | 2016-06-29 | 中国移动通信集团重庆有限公司 | 一种获取目标文件的方法及装置 |
CN105718477B (zh) * | 2014-12-03 | 2019-05-24 | 中国移动通信集团重庆有限公司 | 一种获取目标文件的方法及装置 |
CN105677689A (zh) * | 2015-05-27 | 2016-06-15 | 深圳Tcl数字技术有限公司 | 日志记录方法及装置 |
CN106547470A (zh) * | 2015-09-16 | 2017-03-29 | 伊姆西公司 | 日志存储优化方法和设备 |
CN106547470B (zh) * | 2015-09-16 | 2020-01-03 | 伊姆西公司 | 日志存储优化方法和设备 |
CN105447099B (zh) * | 2015-11-11 | 2018-12-14 | 中国建设银行股份有限公司 | 日志结构化信息提取方法及装置 |
CN105447099A (zh) * | 2015-11-11 | 2016-03-30 | 中国建设银行股份有限公司 | 日志结构化信息提取方法及装置 |
CN106055450A (zh) * | 2016-05-20 | 2016-10-26 | 北京神州绿盟信息安全科技股份有限公司 | 一种二进制日志解析方法及装置 |
CN106055450B (zh) * | 2016-05-20 | 2019-07-02 | 北京神州绿盟信息安全科技股份有限公司 | 一种二进制日志解析方法及装置 |
CN106201848A (zh) * | 2016-06-30 | 2016-12-07 | 北京奇虎科技有限公司 | 一种实时计算平台的日志处理方法和装置 |
CN106294732A (zh) * | 2016-08-10 | 2017-01-04 | 北京海誉动想科技股份有限公司 | 基于etl工具的日志收集方法 |
CN106815306A (zh) * | 2016-12-16 | 2017-06-09 | 中铁程科技有限责任公司 | 日志解析方法及装置 |
CN106844505A (zh) * | 2016-12-27 | 2017-06-13 | 北京五八信息技术有限公司 | 一种日志数据提取方法及装置 |
CN107025266A (zh) * | 2017-02-28 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 业务数据的处理方法和装置 |
CN107273269A (zh) * | 2017-06-12 | 2017-10-20 | 北京奇虎科技有限公司 | 日志解析方法及装置 |
CN107919981A (zh) * | 2017-10-31 | 2018-04-17 | 江苏省未来网络创新研究院 | 一种多厂商缓存日志的分析方法 |
CN109901978A (zh) * | 2017-12-08 | 2019-06-18 | 航天信息股份有限公司 | 一种Hadoop日志无损压缩方法和系统 |
CN108108288A (zh) * | 2018-01-09 | 2018-06-01 | 北京奇艺世纪科技有限公司 | 一种日志数据解析方法、装置及设备 |
CN109739821A (zh) * | 2018-12-18 | 2019-05-10 | 中国科学院计算机网络信息中心 | 日志数据分层存储方法、装置及存储介质 |
CN110032496A (zh) * | 2019-04-19 | 2019-07-19 | 杭州玳数科技有限公司 | 一种支持多样化日志合并的日志采集方法及系统 |
CN110032496B (zh) * | 2019-04-19 | 2023-10-13 | 杭州玳数科技有限公司 | 一种支持多样化日志合并的日志采集方法及系统 |
CN110750253A (zh) * | 2019-10-28 | 2020-02-04 | 深圳前海环融联易信息科技服务有限公司 | 日志规范方法、装置、计算机设备及存储介质 |
CN111177484A (zh) * | 2019-12-09 | 2020-05-19 | 贵阳语玩科技有限公司 | 不同数据源及格式字符串资源文件的加载管理系统和方法 |
CN111199423A (zh) * | 2019-12-25 | 2020-05-26 | 平安证券股份有限公司 | 用户行为轨迹生成方法、装置、设备及存储介质 |
CN111625616A (zh) * | 2020-05-11 | 2020-09-04 | 苏州盈数智能科技有限公司 | 一种能够海量存储的企业级的数据管理系统 |
CN111625616B (zh) * | 2020-05-11 | 2024-02-06 | 苏州盈数智能科技有限公司 | 一种能够海量存储的企业级的数据管理系统 |
CN114385396A (zh) * | 2021-12-27 | 2022-04-22 | 华青融天(北京)软件股份有限公司 | 一种日志解析方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103929321A (zh) | 一种日志处理方法和装置 | |
US11068439B2 (en) | Unsupervised method for enriching RDF data sources from denormalized data | |
CN103164435B (zh) | 一种网络数据的采集方法和系统 | |
Passant et al. | Meaning Of A Tag: A collaborative approach to bridge the gap between tagging and Linked Data. | |
CN101840432B (zh) | 一种基于Deep Web深层动态数据的数据挖掘装置及方法 | |
CN109299073B (zh) | 一种数据血缘的生成方法、系统、电子设备和存储介质 | |
CN106897361B (zh) | 基于树状结构的标签页分组管理系统及方法 | |
CN104516982A (zh) | 一种基于Nutch的Web信息提取方法和系统 | |
CN103902653A (zh) | 一种构建数据仓库表血缘关系图的方法和装置 | |
CN101695082B (zh) | 基于关系挖掘的服务组织方法及装置 | |
CN101154228A (zh) | 一种分段模式匹配方法及其装置 | |
Muntean et al. | Exploring the meaning behind twitter hashtags through clustering | |
CN103023714A (zh) | 基于网络话题的活跃度与集群结构分析系统及方法 | |
CN106066895A (zh) | 一种智能查询系统 | |
CN102867053A (zh) | 收集网站信息中有效信息网页的方法、装置及系统 | |
CN105550375A (zh) | 一种异构数据的整合方法及系统 | |
CN101930455A (zh) | 一种结构化数据交换方法 | |
CN102655500A (zh) | 儿童学习娱乐内容分类处理系统 | |
CN106156319A (zh) | 可伸缩的分布式的资源描述框架数据存储方法及装置 | |
CN103226599A (zh) | 一种精确提取网页内容的方法及系统 | |
CN106649498A (zh) | 一种基于爬虫和文本聚类分析的网络舆情分析系统 | |
CN102073662B (zh) | 一种解析和创建xml数据的方法及系统 | |
CN106570151A (zh) | 一种海量文件的数据收集处理方法及系统 | |
CN101882290A (zh) | 互联网环境下基于情境本体的服务集成方法 | |
CN103970865B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140716 |