一种日志的处理方法和装置与流程

文档序号:11950578阅读:286来源:国知局
一种日志的处理方法和装置与流程

本发明涉及互联网技术领域,具体涉及一种日志的处理方法和装置。



背景技术:

随着互联网技术的不断发展,互联网大数据的趋势日益显著,每一条互联网的业务线都在不断地产生新的日志数据,对产生的日志数据进行进一步地处理以对互联网业务的运行进行反馈是相当重要的工作之一。现有技术中,不同的业务线所产生的日志数据在日志打点格式上会出现较大的差异,导致日志格式的不同意,给进行日志处理的工作人员带来了极大的不便,无论是对离线计算还是实时计算来说,无论从时间开销还是资源开销的角度出发,对待处理的日志格式的统一都是亟需解决的问题。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种日志的处理方法和装置。

依据本发明的一个方面,提供了一种日志的处理方法,该方法包括:

从数据源接收实时输入的待处理日志;

对于接收到的每条待处理日志,通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据;对所述指定格式的元数据进行计算处理,得到该条待处理日志的计算处理结果。

可选地,该方法进一步包括:预存多个基本解析器,每个基本解析器适配于一种基本数据格式;

所述通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据包括:

当该条待处理日志的格式为单一基本数据格式时,从预存的多个基本解析器中查找适配于该基本数据格式的基本解析器,通过调用查找到的基本解析器将该条待处理日志中的字段解析为指定格式的元数据。

可选地,所述通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据还包括:

当该条待处理日志的格式为多种基本数据格式的组合时,对于每种基本数据格式,从预存的多个基本解析器中查找适配于该基本数据格式的基本解析器,通过调用查找到的多个基本解析器的组合将该条待处理日志中的字段解析为指定格式的元数据。

可选地,所述多个基本解析器的组合包括:多个基本解析器的层级式组合或并列式组合。

可选地,所述基本解析器包括如下一种或多种:

Apache日志解析器、Nginx日志解析器、数组日志解析器、Json日志解析器、分割符解析器。

可选地,所述通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据包括:

根据该条待处理日志的格式,确定适配于该条待处理日志的一个或多个解析函数;

创建该条待处理日志对应的解析器,在该解析器中动态注册所述一个或多个解析函数;

通过调用所创建的解析器将该条待处理日志中的字段解析为指定格式的元数据。

可选地,所述解析函数包括如下一种或多种:

Base64decode函数、base64encode函数、urldecode函数、urlencode函数、isNum函数、isVer函数、getDay函数、getHour函数、getMin函数。

可选地,在所述通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据之后,该方法进一步包括:

将所调用的解析器放入指定全局变量数据库中。

可选地,所述通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据包括:

根据该条待处理日志的格式,从所述指定全局变量数据库中查找该条待处理日志对应的解析器;

如果查找到,直接通过调用查找到的解析器将该条待处理日志中的字段解析为指定格式的元数据;

如果未查找到,创建该条待处理日志对应的解析器,通过调用所创建的解析器将该条待处理日志中的字段解析为指定格式的元数据。

可选地,所述通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据包括:

判断该条待处理日志中需要解析的字段在该条待处理日志中所占比例是否高于预设阈值;

是则,对该条待处理日志进行全局解析,将该条待处理日志中的各字段解析为指定格式的元数据;

否则,对该条待处理日志进行非全局解析,将该条待处理日志中的需要解析的字段解析为指定格式的元数据。

可选地,在所述从数据源接收实时输入的待处理日志之前,该方法进一步包括:接收日志处理任务,读取该日志处理任务的配置信息;其中,所述日志处理任务的配置信息是由用户配置输入的;

则所述从数据源接收实时输入的待处理日志包括:根据所述配置信息中的数据源信息,从相应的数据源接收实时输入的待处理日志;

该方法进一步包括:根据所述配置信息中的解析条件,确定该条待处理日志中满足所述解析条件的字段为需要解析的字段。

可选地,该方法进一步包括:预存表达式解析器;

所述根据所述配置信息中的解析条件,确定该条待处理日志中满足所述解析条件的字段为需要解析的字段包括:

当所述解析条件中包含表达式时,调用预存的表达式解析器对解析条件中的表达式进行解析,确定该条待处理日志中满足解析出的表达式的字段为需要解析的字段。

可选地,所述对所述指定格式的元数据进行计算处理包括:

根据所述配置信息中的计算规则,对所述指定格式的元数据进行相应的计算处理。

可选地,在得到该条日志的计算处理结果之后,该方法进一步包括:

根据所述配置信息中的存储规则,将计算处理结果保存到相应的存储介质中。

可选地,所述指定格式的元数据为由字段和字段取值构成的键值对形式。

依据本发明的另一个方面,提供了一种日志的处理装置,该装置包括:

日志接收单元,从数据源接收实时输入的待处理日志;

日志解析处理单元,对于接收到的每条待处理日志,通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据;适于对所述指定格式的元数据进行计算处理,得到该条待处理日志的计算处理结果。

可选地,所述日志解析处理单元,进一步适于预存多个基本解析器,每个基本解析器适配于一种基本数据格式;

所述日志解析处理单元,适于当该条待处理日志的格式为单一基本数据格式时,从预存的多个基本解析器中查找适配于该基本数据格式的基本解析器,通过调用查找到的基本解析器将该条待处理日志中的字段解析为指定格式的元数据。

可选地,所述日志解析处理单元,还适于当该条待处理日志的格式为多种基本数据格式的组合时,对于每种基本数据格式,从预存的多个基本解析器中查找适配于该基本数据格式的基本解析器,通过调用查找到的多个基本解析器的组合将该条待处理日志中的字段解析为指定格式的元数据。

可选地,所述多个基本解析器的组合包括:多个基本解析器的层级式组合或并列式组合。

可选地,所述基本解析器包括如下一种或多种:

Apache日志解析器、Nginx日志解析器、数组日志解析器、Json日志解析器、分割符解析器。

可选地,所述日志解析处理单元,适于根据该条待处理日志的格式,确定适配于该条待处理日志的一个或多个解析函数;创建该条待处理日志对应的解析器,在该解析器中动态注册所述一个或多个解析函数;通过调用所创建的解析器将该条待处理日志中的字段解析为指定格式的元数据。

可选地,所述解析函数包括如下一种或多种:

Base64decode函数、base64encode函数、urldecode函数、urlencode函数、isNum函数、isVer函数、getDay函数、getHour函数、getMin函数。

可选地,所述日志解析处理单元,进一步适于在所述通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据之后,将所调用的解析器放入指定全局变量数据库中。

可选地,所述日志解析处理单元,适于根据该条待处理日志的格式,从所述指定全局变量数据库中查找该条待处理日志对应的解析器;如果查找到,直接通过调用查找到的解析器将该条待处理日志中的字段解析为指定格式的元数据;如果未查找到,创建该条待处理日志对应的解析器,通过调用所创建的解析器将该条待处理日志中的字段解析为指定格式的元数据。

可选地,所述日志解析处理单元,适于判断该条待处理日志中需要解析的字段在该条待处理日志中所占比例是否高于预设阈值;是则,对该条待处理日志进行全局解析,将该条待处理日志中的各字段解析为指定格式的元数据;否则,对该条待处理日志进行非全局解析,将该条待处理日志中的需要解析的字段解析为指定格式的元数据。

可选地,所述日志接收单元,进一步适于接收日志处理任务,读取该日志处理任务的配置信息;适于根据所述配置信息中的数据源信息,从相应的数据源接收实时输入的待处理日志;其中,所述日志处理任务的配置信息是由用户配置输入的;

所述日志解析处理单元,进一步适于根据所述配置信息中的解析条件,确定该条待处理日志中满足所述解析条件的字段为需要解析的字段。

可选地,所述日志解析处理单元,进一步适于预存表达式解析器;以及适于当所述解析条件中包含表达式时,调用预存的表达式解析器对解析条件中的表达式进行解析,确定该条待处理日志中满足解析出的表达式的字段为需要解析的字段。

可选地,所述日志解析处理单元,适于根据所述配置信息中的计算规则,对所述指定格式的元数据进行相应的计算处理。

可选地,该装置进一步包括:

存储处理单元,适于根据所述配置信息中的存储规则,将计算处理结果保存到相应的存储介质中。

可选地,所述指定格式的元数据为由字段和字段取值构成的键值对形式。

由上述可知,本发明提供的技术方案从数据源接收实时输入的待处理日志,对于接收到的待处理日志先进行解析,再对解析出的数据进行计算处理,得到相应的计算处理结果。依据本方案,在进行计算处理之前,将来自于不同数据源、具有不同数据格式的待处理日志均统一解析为指定格式的元数据,每条待处理日志中的所有数据参数均可以以元数据的形式来表征,极大地便捷了后续的计算处理过程,符合用户的日志处理需求。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的一种日志的处理方法的流程图;

图2示出了根据本发明一个实施例的一种日志的处理装置的示意图;

图3示出了根据本发明另一个实施例的一种日志的处理装置的示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的一种日志的处理方法的流程图。如图1所示,该方法包括:

步骤S110,从数据源接收实时输入的待处理日志。

步骤S120,对于接收到的每条待处理日志,通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据;对所指定格式的元数据进行计算处理,得到该条待处理日志的计算处理结果。

可见,图1所示的方法从数据源接收实时输入的待处理日志,对于接收到的待处理日志先进行解析,再对解析出的数据进行计算处理,得到相应的计算处理结果。依据本方案,在进行计算处理之前,将来自于不同数据源、具有不同数据格式的待处理日志均统一解析为指定格式的元数据,每条待处理日志中的所有数据参数均可以以元数据的形式来表征,极大地便捷了后续的计算处理过程,符合用户的日志处理需求。

在本发明的一个实施例中,该方法进一步包括:预存多个基本解析器,每个基本解析器适配于一种基本数据格式;具体地,基本解析器包括如下一种或多种:Apache日志解析器、Nginx日志解析器、数组日志解析器、Json日志解析器、分割符解析器,Apache日志解析器适配于Apache日志的数据格式,Nginx日志解析器适配于Nginx日志的数据格式,数组日志解析器适配于数组日志的数据格式,Json日志解析器适配于Json日志的数据格式,分割符解析器适配于以指定分割符进行字段分割的数据格式。

则步骤S120中通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据包括:当该条待处理日志的格式为单一基本数据格式时,从预存的多个基本解析器中查找适配于该基本数据格式的基本解析器,通过调用查找到的基本解析器将该条待处理日志中的字段解析为指定格式的元数据。以及,当该条待处理日志的格式为多种基本数据格式的组合时,对于每种基本数据格式,从预存的多个基本解析器中查找适配于该基本数据格式的基本解析器,通过调用查找到的多个基本解析器的组合将该条待处理日志中的字段解析为指定格式的元数据;其中,多个基本解析器的组合包括:多个基本解析器的层级式组合或并列式组合。

例如,接收到的待处理日志是Apache日志,对应于Apache日志的数据格式,是单一基本数据格式,则对接收到的待处理日志进行解析的过程是:从预存的多个基本解析器中查找到Apache日志解析器,通过调用该Apache日志解析器将待处理日志中的字段解析为指定格式的元数据。或者,接收到的待处理日志是由分割符进行字段分割的,如“字段1&字段2”,其中“&”是分割符,字段1是数组格式,字段2是Json格式,则在对接收到的待处理日志进行解析时,需要调用分割符解析器、数组日志解析器和Json日志解析器的组合将待处理日志中的字段解析为指定格式的元数据,数组日志解析器和Json日志解析器是并列式组合,分割符解析器与该并列式组合形成层级式组合,具体地,先通过调用分隔符解析器分别解析出字段1和字段2,再通过调用数组日志解析器对字段1进行解析,以及通过调用Json日志解析器对字段2进行解析。

可见,本实施例通过预设多个基本解析器,通过基本解析器的动态组合可以扩展出适配于多种待处理日志的解析方式,符合多样化的待处理日志的解析需求。

在本发明的一个实施例中,步骤S120中通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据包括:根据该条待处理日志的格式,确定适配于该条待处理日志的一个或多个解析函数;创建该条待处理日志对应的解析器,在该解析器中动态注册所述一个或多个解析函数;通过调用所创建的解析器将该条待处理日志中的字段解析为指定格式的元数据。其中,解析函数包括如下一种或多种:Base64decode函数、base64encode函数、urldecode函数、urlencode函数、isNum函数、isVer函数、getDay函数、getHour函数、getMin函数,其中,Base64decode函数用于对Base64编码的数据进行解码,base64encode函数用于对数据进行Base64编码,urldecode函数用于还原url编码字符串,urlencode函数用于对字符串进行url编码,isNum函数用于判断是否是数字,isVer函数用于判断是否是版本,getDay函数用于获取时间的日期信息,getHour函数用于获取时间的小时信息,getMin函数用于获取时间的分钟信息。本实施例通过在创建的解析器中动态注册解析待处理日志所需的解析函数,实现了对解析器的动态定制,可以动态地适配待处理日志的形式的多样化。

在本发明的一个实施例中,在步骤S120中通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据之后,图1所示的方法进一步包括:将所调用的解析器放入指定全局变量数据库中;则步骤S120中通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据包括:根据该条待处理日志的格式,从指定全局变量数据库中查找该条待处理日志对应的解析器;如果查找到,直接通过调用查找到的解析器将该条待处理日志中的字段解析为指定格式的元数据;如果未查找到,创建该条待处理日志对应的解析器,通过调用所创建的解析器将该条待处理日志中的字段解析为指定格式的元数据。

例如,从同一数据源接收到待处理日志1和待处理日志2,待处理日志1和待处理日志2具有相同的数据格式,先对待处理日志1进行解析,创建待处理日志1对应的解析器1,将待处理日志1中的字段解析为指定格式的元数据,在解析之后,将解析器1放入指定全局变量数据库中,使得该解析器1作为全局变量存在可以被方便地调用,则在对待处理日志2进行解析时,先从指定全局变量数据库中查找是否有待处理日志2对应的解析器,由于待处理数据2与待处理数据1的数据格式相同,解析器1同样适配于待处理日志2,因此,直接通过调用指定全局变量数据库中的解析器1对待处理日志2进行解析,避免了适配于相同数据格式的解析器的重复创建,避免不必要的系统资源的使用,且直接全局地找解析器的过程比重新创建解析器的过程快得多,加快了解析过程,保证日志处理过程的实时性。

在本发明的一个实施例中,解析器提供两种解析方式,以网页日志为例,一种解析方式是全局解析,将日志中的所有内容全部解析出来,包括IP、地域、时间、url、请求返回状态、常规解析、机器标识、源信息等;另一种解析方式是非全局解析,仅按照字段所做的单字段解析;两种方式适合不同的解析场景,在本发明的一个实施例中,步骤S120中通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据包括:判断该条待处理日志中需要解析的字段在该条待处理日志中所占比例是否高于预设阈值;是则,对该条待处理日志进行全局解析,将该条待处理日志中的各字段解析为指定格式的元数据;否则,对该条待处理日志进行非全局解析,将该条待处理日志中的需要解析的字段解析为指定格式的元数据。

例如,预设阈值为1/2,一条待处理日志中包含10个字段,当该待处理日志中需要解析的字段仅为1个字段时,需要解析的字段在该条待处理日志中所扎的比例是1/10,远远小于预设阈值,没有必要对待待处理日志进行全局解析,只需将需要解析的字段解析为指定格式的元数据;当该待处理日志中需要解析的字段为8个字段时,需要解析的字段在该条待处理日志中所扎的比例是8/10,高于预设阈值,直接对该待处理日志进行全局解析;本实施例在解析内容和解析速度之间进行权衡,在满足解析需求的前提下,尽可能地支持加快解析速度的因素,以保证日志处理过程的实时性。

在本发明的一个实施例中,在步骤S110从数据源接收实时输入的待处理日志之前,图1所示的方法进一步包括:接收日志处理任务,读取该日志处理任务的配置信息;其中,日志处理任务的配置信息是由用户配置输入的;则步骤S110中从数据源接收实时输入的待处理日志包括:根据所述配置信息中的数据源信息,从相应的数据源接收实时输入的待处理日志。

依据本实施例,图1所示的方案实质上描述了一个实时计算平台的工作过程,该实时计算平台的前端与用户进行交互,根据用户配置输入的配置信息创建日志处理任务,如以网页页面的形式向用户展示多个输入框,用户通过在输入框中进行输入或在与输入框关联的模板库中进行选择来完成配置信息的配置过程;前端将创建的日志处理任务提交到实时计算平台,实时计算平台接收日志处理任务,读取该日志处理任务的配置信息,根据配置信息中的数据源信息,从相应的数据源接收实时输入的待处理日志,对待处理日志进行解析,将待处理日志中的字段解析为指定格式的元数据,根据日志处理任务的配置信息,对指定格式的元数据进行计算处理,得到计算处理结果。该实时计算平台为不同的日志处理需求开设了统一的接口,用户无需为日志处理过程编写完整的程序代码,需要要将对应于日志处理需求的配置信息输入到前端创建日志处理任务即可,便于实施,十分省时省力,实时计算平台的整合性好、实时性高、效率高、与用户交互友好,且可以同时运行多个日志处理任务,符合当前的大数据发展趋势。

在本发明的一个实施例中,日志处理任务的配置信息中还包括:解析条件,则对待处理日志进行解析的过程具体为根据所述配置信息中的解析条件对待处理日志进行解析,具体地,上述待处理日志中需要解析的字段是指:该条待处理日志中满足所述解析条件的字段。

一些情况下,日志处理任务的配置信息中的解析条件包含表达式,需要将表达式从解析条件中解析出来,以判断待处理日志中的字段是否满足该表达式,则图1所示的方法进一步包括:预存表达式解析器,则根据配置信息中的解析条件,确定该条待处理日志中满足所述解析条件的字段为需要解析的字段包括:当解析条件中包含表达式时,调用预存的表达式解析器对解析条件中的表达式进行解析,确定该条待处理日志中满足解析出的表达式的字段为需要解析的字段。例如,接收到的待处理日志中包含SRC字段、PID字段和UserID字段,该待处理日志对应的日志处理任务的配置信息中的解析条件是一个表达式,则在对待处理日志进行解析之前先要通过调用表达式解析器对解析条件中的表达式进行解析,当解析出解析条件中的表达式的含义是:当待处理日志中的SRC=1且PID=a时,对待处理日志中的UserID字段进行解析。这样通过判断待处理日志中的SRC字段、PID字段的值是否满足解析条件,是则将待处理日志中的UserID字段解析为指定格式的元数据。

进一步地,在本发明的一个实施例中,日志处理任务的配置信息中还包括:计算规则,则步骤S120中对指定格式的元数据进行计算处理包括:根据配置信息中的计算规则,对指定格式的元数据进行相应的计算处理。

进一步地,在本发明的一个实施例中,日志处理任务的配置信息中还包括:存储规则,则在得到该条日志的计算处理结果之后,图1所示的方法还包括:根据所述配置信息中的存储规则,将计算处理结果保存到相应的存储介质中。

在本发明的一个实施例中,指定格式的元数据为由字段和字段取值构成的键值对形式,即key-value的形式,该形式的元数据能够反映待处理日志中的所有数据参数。

图2示出了根据本发明一个实施例的一种日志的处理装置的示意图。如图2所示,该日志的处理装置200包括:

日志接收单元210,从数据源接收实时输入的待处理日志。

日志解析处理单元220,对于接收到的每条待处理日志,通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据;适于对所述指定格式的元数据进行计算处理,得到该条待处理日志的计算处理结果。

可见,图2所示的装置从数据源接收实时输入的待处理日志,对于接收到的待处理日志先进行解析,再对解析出的数据进行计算处理,得到相应的计算处理结果。依据本方案,在进行计算处理之前,将来自于不同数据源、具有不同数据格式的待处理日志均统一解析为指定格式的元数据,每条待处理日志中的所有数据参数均可以以元数据的形式来表征,极大地便捷了后续的计算处理过程,符合用户的日志处理需求。

在本发明的一个实施例中,日志解析处理单元220,进一步适于预存多个基本解析器,每个基本解析器适配于一种基本数据格式。日志解析处理单元220,适于当该条待处理日志的格式为单一基本数据格式时,从预存的多个基本解析器中查找适配于该基本数据格式的基本解析器,通过调用查找到的基本解析器将该条待处理日志中的字段解析为指定格式的元数据。其中,基本解析器包括如下一种或多种:Apache日志解析器、Nginx日志解析器、数组日志解析器、Json日志解析器、分割符解析器。

进一步地,日志解析处理单元220,还适于当该条待处理日志的格式为多种基本数据格式的组合时,对于每种基本数据格式,从预存的多个基本解析器中查找适配于该基本数据格式的基本解析器,通过调用查找到的多个基本解析器的组合将该条待处理日志中的字段解析为指定格式的元数据。其中,多个基本解析器的组合包括:多个基本解析器的层级式组合或并列式组合。

在本发明的一个实施例中,日志解析处理单元220,适于根据该条待处理日志的格式,确定适配于该条待处理日志的一个或多个解析函数;创建该条待处理日志对应的解析器,在该解析器中动态注册所述一个或多个解析函数;通过调用所创建的解析器将该条待处理日志中的字段解析为指定格式的元数据。

其中,解析函数包括如下一种或多种:Base64decode函数、base64encode函数、urlencode函数、isNum函数、isVer函数、getDay函数、getHour函数、getMin函数。

在本发明的一个实施例中,日志解析处理单元220,进一步适于在通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据之后,将所调用的解析器放入指定全局变量数据库中。

则,日志解析处理单元220,适于根据该条待处理日志的格式,从指定全局变量数据库中查找该条待处理日志对应的解析器;如果查找到,直接通过调用查找到的解析器将该条待处理日志中的字段解析为指定格式的元数据;如果未查找到,创建该条待处理日志对应的解析器,通过调用所创建的解析器将该条待处理日志中的字段解析为指定格式的元数据。

在本发明的一个实施例中,日志解析处理单元220,适于判断该条待处理日志中需要解析的字段在该条待处理日志中所占比例是否高于预设阈值;是则,对该条待处理日志进行全局解析,将该条待处理日志中的各字段解析为指定格式的元数据;否则,对该条待处理日志进行非全局解析,将该条待处理日志中的需要解析的字段解析为指定格式的元数据。

在本发明的一个实施例中,指定格式的元数据为由字段和字段取值构成的键值对形式。

在本发明的一个实施例中,210日志接收单元,进一步适于接收日志处理任务,读取该日志处理任务的配置信息;适于根据所述配置信息中的数据源信息,从相应的数据源接收实时输入的待处理日志;其中,日志处理任务的配置信息是由用户配置输入的。

则日志解析处理单元220,进一步适于根据配置信息中的解析条件,确定该条待处理日志中满足解析条件的字段为需要解析的字段。

则日志解析处理单元220,进一步适于预存表达式解析器;以及适于当解析条件中包含表达式时,调用预存的表达式解析器对解析条件中的表达式进行解析,确定该条待处理日志中满足解析出的表达式的字段为需要解析的字段。

进一步地,日志解析处理单元220,适于根据所述配置信息中的计算规则,对所述指定格式的元数据进行相应的计算处理。

图3示出了根据本发明另一个实施例的一种日志的处理装置的示意图。如图3所示,该日志的处理装置300包括:日志接收单元310、日志解析处理单元320和存储处理单元330。

其中日志接收单元310、日志解析处理单元320与图2所示的日志接收单元210、日志解析处理单元220具有对应相同的功能,相同的部分在此不再赘述。

存储处理单元330,适于根据所述配置信息中的存储规则,将计算处理结果保存到相应的存储介质中。

需要说明的是,图2-图3所示装置的各实施例与图1所示方法的各实施例对应相同,上文中已有详细说明,在此不再赘述。

综上所述,本发明提供的技术方案从数据源接收实时输入的待处理日志,对于接收到的待处理日志先进行解析,再对解析出的数据进行计算处理,得到相应的计算处理结果。依据本方案,在进行计算处理之前,将来自于不同数据源、具有不同数据格式的待处理日志均统一解析为指定格式的元数据,每条待处理日志中的所有数据参数均可以以元数据的形式来表征,极大地便捷了后续的计算处理过程,符合用户的日志处理需求。

需要说明的是:

在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种日志的处理装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了A1、一种日志的处理方法,其中,该方法包括:

从数据源接收实时输入的待处理日志;

对于接收到的每条待处理日志,通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据;对所述指定格式的元数据进行计算处理,得到该条待处理日志的计算处理结果。

A2、如A1所述的方法,其中,该方法进一步包括:预存多个基本解析器,每个基本解析器适配于一种基本数据格式;

所述通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据包括:

当该条待处理日志的格式为单一基本数据格式时,从预存的多个基本解析器中查找适配于该基本数据格式的基本解析器,通过调用查找到的基本解析器将该条待处理日志中的字段解析为指定格式的元数据。

A3、如A2所述的方法,其中,所述通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据还包括:

当该条待处理日志的格式为多种基本数据格式的组合时,对于每种基本数据格式,从预存的多个基本解析器中查找适配于该基本数据格式的基本解析器,通过调用查找到的多个基本解析器的组合将该条待处理日志中的字段解析为指定格式的元数据。

A4、如A3所述的方法,其中,所述多个基本解析器的组合包括:多个基本解析器的层级式组合或并列式组合。

A5、如A2所述的方法,其中,所述基本解析器包括如下一种或多种:

Apache日志解析器、Nginx日志解析器、数组日志解析器、Json日志解析器、分割符解析器。

A6、如A1所述的方法,其中,所述通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据包括:

根据该条待处理日志的格式,确定适配于该条待处理日志的一个或多个解析函数;

创建该条待处理日志对应的解析器,在该解析器中动态注册所述一个或多个解析函数;

通过调用所创建的解析器将该条待处理日志中的字段解析为指定格式的元数据。

A7、如A6所述的方法,其中,所述解析函数包括如下一种或多种:

Base64decode函数、base64encode函数、urldecode函数、urlencode函数、isNum函数、isVer函数、getDay函数、getHour函数、getMin函数。

A8、如A1所述的方法,其中,在所述通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据之后,该方法进一步包括:

将所调用的解析器放入指定全局变量数据库中。

A9、如A8所述的方法,其中,所述通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据包括:

根据该条待处理日志的格式,从所述指定全局变量数据库中查找该条待处理日志对应的解析器;

如果查找到,直接通过调用查找到的解析器将该条待处理日志中的字段解析为指定格式的元数据;

如果未查找到,创建该条待处理日志对应的解析器,通过调用所创建的解析器将该条待处理日志中的字段解析为指定格式的元数据。

A10、如A1所述的方法,其中,所述通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据包括:

判断该条待处理日志中需要解析的字段在该条待处理日志中所占比例是否高于预设阈值;

是则,对该条待处理日志进行全局解析,将该条待处理日志中的各字段解析为指定格式的元数据;

否则,对该条待处理日志进行非全局解析,将该条待处理日志中的需要解析的字段解析为指定格式的元数据。

A11、如A1所述的方法,其中,在所述从数据源接收实时输入的待处理日志之前,该方法进一步包括:接收日志处理任务,读取该日志处理任务的配置信息;其中,所述日志处理任务的配置信息是由用户配置输入的;

则所述从数据源接收实时输入的待处理日志包括:根据所述配置信息中的数据源信息,从相应的数据源接收实时输入的待处理日志;

该方法进一步包括:根据所述配置信息中的解析条件,确定该条待处理日志中满足所述解析条件的字段为需要解析的字段。

A12、如A11所述的方法,其中,该方法进一步包括:预存表达式解析器;

所述根据所述配置信息中的解析条件,确定该条待处理日志中满足所述解析条件的字段为需要解析的字段包括:

当所述解析条件中包含表达式时,调用预存的表达式解析器对解析条件中的表达式进行解析,确定该条待处理日志中满足解析出的表达式的字段为需要解析的字段。

A13、如A11所述的方法,其中,所述对所述指定格式的元数据进行计算处理包括:

根据所述配置信息中的计算规则,对所述指定格式的元数据进行相应的计算处理。

A14、如A13所述的方法,其中,在得到该条日志的计算处理结果之后,该方法进一步包括:

根据所述配置信息中的存储规则,将计算处理结果保存到相应的存储介质中。

A15、如A1所述的方法,其中,所述指定格式的元数据为由字段和字段取值构成的键值对形式。

本发明还公开了B16、一种日志的处理装置,其中,该装置包括:

日志接收单元,从数据源接收实时输入的待处理日志;

日志解析处理单元,对于接收到的每条待处理日志,通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据;适于对所述指定格式的元数据进行计算处理,得到该条待处理日志的计算处理结果。

B17、如B16所述的装置,其中,

所述日志解析处理单元,进一步适于预存多个基本解析器,每个基本解析器适配于一种基本数据格式;

所述日志解析处理单元,适于当该条待处理日志的格式为单一基本数据格式时,从预存的多个基本解析器中查找适配于该基本数据格式的基本解析器,通过调用查找到的基本解析器将该条待处理日志中的字段解析为指定格式的元数据。

B18、如B17所述的装置,其中,

所述日志解析处理单元,还适于当该条待处理日志的格式为多种基本数据格式的组合时,对于每种基本数据格式,从预存的多个基本解析器中查找适配于该基本数据格式的基本解析器,通过调用查找到的多个基本解析器的组合将该条待处理日志中的字段解析为指定格式的元数据。

B19、如B18所述的装置,其中,所述多个基本解析器的组合包括:多个基本解析器的层级式组合或并列式组合。

B20、如B17所述的装置,其中,所述基本解析器包括如下一种或多种:

Apache日志解析器、Nginx日志解析器、数组日志解析器、Json日志解析器、分割符解析器。

B21、如B16所述的装置,其中,

所述日志解析处理单元,适于根据该条待处理日志的格式,确定适配于该条待处理日志的一个或多个解析函数;创建该条待处理日志对应的解析器,在该解析器中动态注册所述一个或多个解析函数;通过调用所创建的解析器将该条待处理日志中的字段解析为指定格式的元数据。

B22、如B21所述的装置,其中,所述解析函数包括如下一种或多种:

Base64decode函数、base64encode函数、urldecode函数、urlencode函数、isNum函数、isVer函数、getDay函数、getHour函数、getMin函数。

B23、如B16所述的装置,其中,

所述日志解析处理单元,进一步适于在所述通过调用该条待处理日志对应的解析器将该条待处理日志中的字段解析为指定格式的元数据之后,将所调用的解析器放入指定全局变量数据库中。

B24、如B23所述的装置,其中,

所述日志解析处理单元,适于根据该条待处理日志的格式,从所述指定全局变量数据库中查找该条待处理日志对应的解析器;如果查找到,直接通过调用查找到的解析器将该条待处理日志中的字段解析为指定格式的元数据;如果未查找到,创建该条待处理日志对应的解析器,通过调用所创建的解析器将该条待处理日志中的字段解析为指定格式的元数据。

B25、如B16所述的装置,其中,

所述日志解析处理单元,适于判断该条待处理日志中需要解析的字段在该条待处理日志中所占比例是否高于预设阈值;是则,对该条待处理日志进行全局解析,将该条待处理日志中的各字段解析为指定格式的元数据;否则,对该条待处理日志进行非全局解析,将该条待处理日志中的需要解析的字段解析为指定格式的元数据。

B26、如B16所述的装置,其中,

所述日志接收单元,进一步适于接收日志处理任务,读取该日志处理任务的配置信息;适于根据所述配置信息中的数据源信息,从相应的数据源接收实时输入的待处理日志;其中,所述日志处理任务的配置信息是由用户配置输入的;

所述日志解析处理单元,进一步适于根据所述配置信息中的解析条件,确定该条待处理日志中满足所述解析条件的字段为需要解析的字段。

B27、如B26所述的装置,其中,

所述日志解析处理单元,进一步适于预存表达式解析器;以及适于当所述解析条件中包含表达式时,调用预存的表达式解析器对解析条件中的表达式进行解析,确定该条待处理日志中满足解析出的表达式的字段为需要解析的字段。

B28、如B26所述的装置,其中,

所述日志解析处理单元,适于根据所述配置信息中的计算规则,对所述指定格式的元数据进行相应的计算处理。

B29、如B28所述的装置,其中,该装置进一步包括:

存储处理单元,适于根据所述配置信息中的存储规则,将计算处理结果保存到相应的存储介质中。

B30、如B16所述的装置,其中,所述指定格式的元数据为由字段和字段取值构成的键值对形式。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1