CN106168909A - 一种日志的处理方法和装置 - Google Patents
一种日志的处理方法和装置 Download PDFInfo
- Publication number
- CN106168909A CN106168909A CN201610512868.9A CN201610512868A CN106168909A CN 106168909 A CN106168909 A CN 106168909A CN 201610512868 A CN201610512868 A CN 201610512868A CN 106168909 A CN106168909 A CN 106168909A
- Authority
- CN
- China
- Prior art keywords
- daily record
- log processing
- rule
- field
- configuration information
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种日志的处理方法和装置。该方法包括,接收日志处理任务,读取该日志处理任务的配置信息;根据该配置信息中的数据源信息,从相应的数据源接收实时输入的待处理日志;根据该配置信息中的日志处理规则,对待处理日志进行相应处理。将处理结果保存到存储介质中。依据本方案,整个日志处理过程是依据日志处理任务的配置信息而执行的,在实际应用中,可以只通过对日志处理任务的配置信息的配置而实现对任意数据源的日志进行任意规则的处理,该日志处理过程具有相当广泛的适配性,相当于为不同的日志处理需求开设了一个统一的日志处理接口,不同的日志处理过程可以在该方案下统一实现,大幅提高日志处理效率,符合大数据发展趋势。
Description
技术领域
本发明涉及互联网技术领域,具体涉及一种日志的处理方法和装置。
背景技术
随着互联网技术的不断发展,互联网大数据的趋势日益显著,每一条互联网的业务线都在不断地产生新的数据,对产生的数据进行进一步地处理以对互联网业务的运行进行反馈是相当重要的工作之一。现有技术中,当用户希望对某一数据源输出的数据进行处理时,需要根据相应的处理需求手动编写数据处理程序,不同的数据处理需求需要重新编写不同的程序,不同的用户需要各自编写所需的程序,十分费时费力,使得数据处理效率低下,不符合大数据发展趋势。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种日志的处理方法和装置。
依据本发明的一个方面,提供了一种日志的处理方法,其中,该方法包括:
接收日志处理任务,读取该日志处理任务的配置信息;
根据该配置信息中的数据源信息,从相应的数据源接收实时输入的待处理日志;
根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理,将待处理日志的处理结果保存到存储介质中。
可选地,所述日志处理规则中包括:解析条件;
则所述根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理包括:
从每条待处理日志中解析出符合所述解析条件的字段。
可选地,所述日志处理规则中还包括:过滤规则;
则所述根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理还包括:
根据所述过滤规则,对解析出的字段进行过滤,得到过滤后的字段。
可选地,所述日志处理规则中还包括:关联信息;所述关联信息中包括:指定字段与目标信息;
则所述根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理还包括:
对于过滤后的字段中的每个指定字段,建立该指定字段与目标信息之间的关联关系,得到关联后的字段。
可选地,所述日志处理规则中还包括:计算规则;
则所述根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理还包括:
根据所述计算规则,对解析出的字段、过滤后的字段或关联后的字段进行计算,得到该条待处理日志的处理结果。
可选地,从待处理日志中解析出的字段包括:解析出的每个字段对应的元数据。
可选地,在所述将待处理日志的处理结果保存到存储介质中之前,该方法进一步包括:
对待处理日志的处理结果进行聚合,得到待处理日志的聚合结果数据;
则所述将待处理日志的处理结果保存到存储介质中包括:将待处理日志的聚合结果数据保存到存储介质中。
可选地,所述将待处理日志的聚合结果数据保存到存储介质中包括:
将每次得到的待处理日志的聚合结果数据放入缓存池中;
当缓存池中的聚合结果数据的数量达到预设阈值时,将缓存池中的聚合结果数据均写入存储介质中,并将缓存池中的聚合结果数据清除。
可选地,所述将待处理日志的聚合结果数据保存到存储介质中包括:
在得到待处理日志的聚合结果数据后,判断是否达到触发存储的条件,是则,将待处理日志的聚合结果数据保存在存储介质中。
可选地,所述判断是否达到触发存储的条件包括:
判断是否达到预设时间。
可选地,该方法进一步包括:
预设基准时间范围;
在接收到每条待处理日志后,从该待处理日志中提取时间信息;
将提取出的时间信息与基准时间范围进行比较,如果该时间信息落在基准时间范围之外,在该条待处理日志上打空标识。
可选地,所述根据该配置信息中的日志处理规则,对待处理日志进行相应处理包括:
判断每条待处理日志是否携带空标识;
是则,直接将该条待处理日志删除。
可选地,所述存储介质包括如下一种或多种:Redis数据库,Mysql数据库,HBase数据库,HDFS数据库,GreenPlum数据库。
可选地,所述数据源包括如下一种或多种:
Kafka数据源,Qbus数据源,Scribe数据源,Apache数据源,Kestrel数据源。
可选地,所述日志处理规则中还包括:计算框架;
根据该配置信息中的日志处理规则,对待处理日志进行相应处理包括:通过所述计算框架对待处理日志进行相应处理。
可选地,所述计算框架包括:Storm计算框架或Spark Streaming计算框架。
依据本发明的另一个方面,提供了一种日志的处理装置,其中,该装置包括:
任务接收单元,适于接收日志处理任务,读取该日志处理任务的配置信息;
日志获取单元,适于根据该配置信息中的数据源信息,从相应的数据源接收实时输入的待处理日志;
日志处理单元,适于根据该配置信息中的日志处理规则,对待处理日志进行相应处理。将待处理日志的处理结果保存到存储介质中。
可选地,所述日志处理规则中包括:解析条件;
所述日志处理单元,适于从每条待处理日志中解析出符合所述解析条件的字段。
可选地,所述日志处理规则中还包括:过滤规则;
所述日志处理单元,进一步适于根据所述过滤规则,对解析出的字段进行过滤,得到过滤后的字段。
可选地,所述日志处理规则中还包括:关联信息;所述关联信息中包括:指定字段与目标信息;
所述日志处理单元,进一步适于对于过滤后的字段中的每个指定字段,建立该指定字段与目标信息之间的关联关系,得到关联后的字段。
可选地,所述日志处理规则中还包括:计算规则;
所述日志处理单元,进一步适于根据所述计算规则,对解析出的字段、过滤后的字段或关联后的字段进行计算,得到该条待处理日志的处理结果。
可选地,从待处理日志中解析出的字段包括:解析出的每个字段对应的元数据。
可选地,所述日志处理单元,进一步适于在将待处理日志的处理结果保存到存储介质中之前,对待处理日志的处理结果进行聚合,得到待处理日志的聚合结果数据;将待处理日志的聚合结果数据保存到存储介质中。
可选地,所述日志处理单元,适于将每次得到的待处理日志的聚合结果数据放入缓存池中;当缓存池中的聚合结果数据的数量达到预设阈值时,将缓存池中的聚合结果数据均写入存储介质中,并将缓存池中的聚合结果数据清除。
可选地,所述日志处理单元,适于在得到待处理日志的聚合结果数据后,判断是否达到触发存储的条件,是则,将待处理日志的聚合结果数据保存在存储介质中。
可选地,所述判断是否达到触发存储的条件包括:
所述日志处理单元,适于在得到待处理日志的聚合结果数据后,判断是否达到预设时间,是则,将待处理日志的聚合结果数据保存在存储介质中。
可选地,该装置进一步包括:过期日志过滤单元;
所述过期日志过滤单元,适于预设基准时间范围;在所述日志获取单元接收到每条待处理日志后,从该待处理日志中提取时间信息;将提取出的时间信息与基准时间范围进行比较,如果该时间信息落在基准时间范围之外,在该条待处理日志上打空标识。
可选地,所述日志处理单元,适于对于经所述过期日志过滤单元处理后的每条日志,判断该条待处理日志是否携带空标识;是则,直接将该待处理日志删除。
可选地,所述存储介质包括如下一种或多种:Redis数据库,Mysql数据库,HBase数据库,HDFS数据库,GreenPlum数据库。
可选地,所述数据源包括如下一种或多种:
Kafka数据源,Qbus数据源,Scribe数据源,Apache数据源,Kestrel数据源。
可选地,所述日志处理规则中还包括:计算框架;
所述日志处理单元,适于通过所述计算框架对待处理日志进行相应处理。
可选地,所述计算框架包括:Storm计算框架或Spark Streaming计算框架。
由上述可知,本发明提供的技术方案提供了在实时计算平台上依据执行日志处理任务的过程,数据源不断地输出待处理日志,实时计算平台不断地对待处理日志进行处理,不断得到待处理日志的处理结果并保存,具体地,先接收日志处理任务并读取日志处理任务的配置信息,根据配置信息中的数据源信息从相应的数据源接收实时输入的待处理日志,再根据配置信息中的日志处理规则对待处理日志进行相应处理,最后将待处理日志的处理结果保存到存储介质中。依据本方案,整个日志处理过程是依据日志处理任务的配置信息而执行的,在实际应用中,可以只通过对日志处理任务的配置信息的配置而实现对任意数据源的日志进行任意规则的处理,该日志处理过程具有相当广泛的适配性,相当于为不同的日志处理需求开设了一个统一的日志处理接口,不同的日志处理过程可以在该方案下统一实现,无需对不同的日志处理过程再重新编写不同的日志处理程序,大幅提高日志处理效率,符合大数据发展趋势。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种日志的处理方法的流程图;
图2示出了根据本发明一个实施例的一种日志的处理装置的示意图;
图3示出了根据本发明另一个实施例的一种日志的处理装置的示意图;
图4示出了根据本发明一个实施例的实时计算平台的架构图;
图5示出了根据本发明一个实施例的实时计算平台中的数据处理层执行日志处理任务的流程示意图;
图6示出了根据本发明一个实施例的实时计算平台中的数据处理层的架构图;
图7示出了根据本发明一个实施例的实时计算平台通过Storm计算框架执行日志处理任务的流程示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种日志的处理方法的流程图,说明了在实时计算平台上的日志的处理过程。如图1所示,该方法包括:
步骤S110,接收日志处理任务,读取该日志处理任务的配置信息。
步骤S120,根据该配置信息中的数据源信息,从相应的数据源接收实时输入的待处理日志。
步骤S130,根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理,将待处理日志的处理结果保存到存储介质中。
可见,图1所示的方法提供了在实时计算平台上依据执行日志处理任务的过程,数据源不断地输出待处理日志,实时计算平台不断地对待处理日志进行处理,不断得到待处理日志的处理结果并保存,具体地,先接收日志处理任务并读取日志处理任务的配置信息,根据配置信息中的数据源信息从相应的数据源接收实时输入的待处理日志,再根据配置信息中的日志处理规则对待处理日志进行相应处理,最后将待处理日志的处理结果保存到存储介质中。依据本方案,整个日志处理过程是依据日志处理任务的配置信息而执行的,在实际应用中,可以只通过对日志处理任务的配置信息的配置而实现对任意数据源的日志进行任意规则的处理,该日志处理过程具有相当广泛的适配性,相当于为不同的日志处理需求开设了一个统一的日志处理接口,不同的日志处理过程可以在该方案下统一实现,无需对不同的日志处理过程再重新编写不同的日志处理程序,大幅提高日志处理效率,符合大数据发展趋势。
在本发明的一个实施例中,日志处理任务是依据用户的输入配置而创建的,日志处理任务的各条配置信息是由用户进行配置的,例如,实时计算平台可以向用户展示一个交互界面,供用户通过该交互界面输入配置日志处理任务,进而完成日志处理任务的创建,则步骤S110接收日志处理任务即指接收所创建的日志处理任务;其中,交互界面可以为一个网页页面,用户通过在该网页页面的各输入栏中输入相应的各项配置信息,以完成对当前日志处理任务的配置,其中,各输入栏还可以与相应的模板库关联,用户可以手动在输入栏中输入字符,也可以通过在该输入栏对应的模板库中进行选择来实现对输入栏的填写。
不同的日志处理任务配置有不同的数据源信息,对应于不同的数据源,由于不同数据源输出的待处理日志的数据格式是不相同的,为了在实时计算平台上集成实现对各种日志处理任务的运行,需要对从数据源获取到的待处理日志进行解析,解析之后待处理日志以实时计算平台可识别的数据格式存在,以进行后续的日志处理过程,则在本发明的一个实施例中,实时计算平台接收到的日志处理任务的配置信息中的日志处理规则中包括:解析条件,该解析条件指示了从数据源获取到的待处理日志中哪些内容需要解析;则步骤S130中根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理包括:从每条待处理日志中解析出符合所述解析条件的字段。具体地,从待处理日志中解析出的字段包括:解析出的每个字段对应的元数据,所述元数据是key-value形式的数据,其中key为待处理日志中的字段,value为待处理日志中的字段的取值。
进一步地,在本发明的一个实施例中,实时计算平台接收到的日志处理任务的配置信息中的日志处理规则中还包括:过滤规则,,该过滤规则指示了该日志处理任务对应的日志处理过程的处理对象是依据过滤规则从待处理日志中过滤得到的;则步骤S130中根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理还包括:根据所述过滤规则,对解析出的字段进行过滤,得到过滤后的字段。
进一步地,在本发明的一个实施例中,实时计算平台接收到的日志处理任务的配置信息中的日志处理规则中还包括:关联信息,该关联信息指示了当前日志处理任务对应的日志处理过程中的待处理日志是否需要关联操作,如果需要,需要关联的目标信息是什么;具体地,关联信息中包括:指定字段与目标信息,标示待处理日志中的指定字段需要与目标信息建立关联。则步骤S130中根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理还包括:对于过滤后的字段中的每个指定字段,建立该指定字段与目标信息之间的关联关系,得到关联后的字段。例如,一个日志处理任务对应的日志处理过程是需要按照地区信息进行统计的,而该日志处理任务的配置信息中的数据源信息对应的数据源输出的待处理日志仅仅包含IP信息而不包含地区信息,在获取到待处理日志后,如果配置信息中包含关联信息,该关联信息指示IP信息与地区信息进行关联,则根据IP对照表,找到待处理日志中的IP信息对应的地区信息,建立二者之间的关联关系。
进一步地,在本发明的一个实施例中,实时计算平台接收到的日志处理任务的配置信息中的日志处理规则中还包括:计算规则,该计算规则指示了该日志处理任务对应的日志处理过程中需要进行计算的计算规则;则步骤S130中根据该配置信息中的日志处理规则,对该条待处理日志进行相应处理还包括:根据计算规则,对解析出的字段、过滤后的字段或关联后的字段进行计算,得到该条待处理日志的处理结果。此外,由于计算规则指示了一个日志处理任务对应的日志处理过程中需要进行计算的计算规则,其中,一个日志处理任务对应的日志处理过程可以是对一条待处理日志的单独处理过程,也可以是对多条待处理日志的结合处理过程,如在进行统计计算时,需要对多条待处理日志依据计算规则进行统计。
基于上述各实施例,本方案提供的实时计算平台在接收到日志处理任务后,依据该日志处理任务的配置信息中的数据源信息从相应的数据源获取待处理日志,依据该日志处理任务的配置信息中的日志处理规则对待处理日志进行相应的处理,再依据该日志处理任务的配置信息中的存储规则将处理结果保存到相应的存储介质中;其中,该日志处理任务的配置信息中可以包括解析条件、过滤规则、关联信息、计算规则等一种或多种信息,反映了本方案的实时计算平台可以依据日志处理任务的配置信息对待处理日志进行解析操作、过滤操作、关联操作、和/或计算操作等一系列的处理过程,相当于日志处理过程是可定制的,可以尽可能地满足各种不同的日志处理需求。
在上述将处理结果保存到存储介质的过程中,如果处理结果的数据量较大的话,将这些处理结果写入到存储介质中的过程会给存储介质造成相当大的压力,因此在本发明的一个实施例中,考虑在对处理结果进行保存之前先对处理结果进行一些聚合操作,即在步骤S130将待处理日志的处理结果保存到存储介质中之前,该图1所示的方法进一步包括:对待处理日志的处理结果进行聚合,得到待处理日志的聚合结果数据;则步骤S130中将待处理日志的处理结果保存到存储介质中包括:将待处理日志的聚合结果数据保存到存储介质中。
在上述基础上,为了进一步减轻大数据量的处理结果带来的存储压力,在本发明的另一个实施例中还可以通过减少存储次数来对存储过程进行规则化,则上述将待处理日志的聚合结果数据保存到存储介质中包括:将每次聚合得到的待处理日志的聚合结果数据放入缓存池中;当缓存池中的聚合结果数据的数量达到预设阈值时,将缓存池中的聚合结果数据均写入存储介质中,并将缓存池中的聚合结果数据清除。其中,所述预设阈值可以是在相应的日志处理任务的配置信息中进行配置的。
或者,在另一个实施例中,上述将待处理日志的聚合结果数据保存到存储介质中包括:在得到待处理日志的聚合结果数据后,判断是否达到触发存储的条件,是则,将待处理日志的聚合结果数据保存在存储介质中。其中,触发存储的条件也可以是在相应的日志处理任务的配置信息中进行配置的,具体地,判断是否达到触发存储的条件可以是:判断是否达到预设时间。例如,日志处理任务的配置信息中包含了:指示每隔5s触发一次将处理结果写入到存储介质中的事件,则每隔5s将在这5s内得到的该日志处理任务对应的待处理日志的聚合结果数据保存在存储介质中。
众所周知,对于一些日志处理过程来说,作为处理对象的待处理日志是具有有效期限的,例如,一个日志处理任务对应的日志处理过程具体是:对指定网页在2016年6月18日的独立用户访问次数进行计算,则在2016年6月18日之前或之后的时间的关于独立用户访问指定网页的日志对于当前日志处理过程是无效的,如果待处理日志中混入了2016年6月18日之前或之后的时间的关于独立用户访问指定网页的日志,不仅无谓地占用了实时计算平台的资源,还将造成日志处理结果的不准确。因此,当一个日志处理任务对应的日志处理过程是对多条待处理日志进行处理时,需要预先通过时间对多条待处理日志进行筛选,即在本发明的一个实施例中,图1所示的方法进一步包括:预设基准时间范围;在接收到每条待处理日志后,从该待处理日志中提取时间信息;将提取出的时间信息与基准时间范围进行比较,如果该时间信息落在基准时间范围之外,在该条待处理日志上打空标识。则步骤S130中根据该配置信息中的日志处理规则,对该条待处理日志进行相应处理包括:判断该条待处理日志是否携带空标识;是则,直接将该待处理日志删除;则该方案再接着对筛选后剩余的待处理日志进行相应的计算处理。例如,一个日志处理任务对应的日志处理过程是统计指定网页在2016年6月18日的独立用户访问次数,实时计算平台接收该日志处理任务,读取该日志处理任务的配置信息,根据配置信息中的数据源信息从指定网页的日志输出源获取待处理日志,预设基准时间范围是2016年6月18日0点至2016年6月18日24点,则在接收到每条待处理日志时,从该待处理日志中提取时间信息,如果该时间信息落在基准时间范围之外,在该条待处理日志上打空标识none,则在步骤S130对每条待处理日志进行处理时,先根据是否带有none标识进行筛选,将带有none标识的待处理日志删除,然后再从剩余的各待处理日志中解析出关于用户访问指定网页的次数对应的字段,依据用户ID对用户访问指定网页的次数进行去重,统计去重后剩余的用户访问指定网页的次数。其中,预设的基准时间范围可以是在相应的日志处理任务的配置信息中进行配置的。
在本发明的一个实施例中,所述存储介质包括如下一种或多种:Redis数据库,大存储Redis数据库,Mysql数据库,HBase数据库,HDFS数据库,GreenPlum数据库。不同的存储介质具有不同的特性,可以根据存储需求选择合适的存储介质,如Redis数据库是基于key-value形式在内存中进行存储的,但当数据量达到一定程度时,可以采用基于磁盘进行存储的大存储Redis数据库来分担存储压力,或者也可以采用分布式存储的GreenPlum数据库来分担存储压力,使得数据处理单元120往存储介质中写数据以及后续结果展现单元130从存储介质中读取数据的过程较为快捷,保证实时计算平台的实时性、有效性和稳定性。
在本发明的一个实施例中,所述数据源包括如下一种或多种:Kafka数据源,Qbus数据源,Scribe数据源,Apache数据源,Kestrel数据源。
在本发明的一个实施例中,日志处理规则中还包括:计算框架;则步骤S130中根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理包括:通过所述计算框架对待处理日志进行相应处理。其中,所述计算框架包括:Storm计算框架或SparkStreaming计算框架。
以一个具体的例子来说明本方案的实施过程,图4示出了根据本发明一个实施例的实时计算平台的架构图,上文中所述的日志的处理过程是该实时计算平台上的一部分工作内容,如图4所示,该实时计算平台包括平台展示层、数据处理层和数据展现层三个方面的功能,上述日志的处理过程对应于数据处理层的工作过程,为了更为全面地本方案在实时计算平台的整体运行过程中所起的作用,对实时计算平台进行较为全面的说明:
如图4所示,实时计算平台的平台展示层的功能包括任务管理、数据服务、元数据配置管理、模型库配置管理、监控管理和权限管理六个方面,分别对这六个方面进行说明:
任务管理的部分体现在向用户展示交互界面供用户输入配置信息创建日志处理任务并将日志处理任务提交到数据处理层进行图1所示处理的过程,任务管理包括了创建任务,配置任务,任务提交三个部分;创建任务是指创建日志处理任务的基本信息(包括了日志处理任务的名称,所选择的计算框架(日志处理任务对应的计算框架包括:Storm计算框架或Spark Streaming计算框架)等);配置任务是指用户通交互界面可以配置日志处理任务的数据源信息、解析条件(需解析的数据满足的条件)、计算规则(该部分主要用来配置日志处理任务对应的数据处理过程的计算规则内容)、存储规则(配置日志处理任务对应的数据处理过程得到的数据处理结果的存储方式,目前应支持在Redis数据库、大存储Redis数据库、Mysql数据库、HBase数据库、HDFS数据库、GreenPlum数据库中进行存储的方式);此外,用户还可以配置日志处理任务的过滤规则、关联信息等,上文中已有说明,此外,当日志处理任务对应的日志处理过程是常见的基本计算过程时,可以直接从模型库中选择相应的计算模型来作为计算规则进行配置,例如,日志处理任务是计算指定网页的PV或UV,则可以直接从模型库中选择PV计算模型或UV计算模型,以及,上述选择计算框架也可以直接从模型库中选择,例如,要选择的计算计算框架为Storm计算框架或Spark Streaming计算框架,则可以直接从模型库中选择Storm模板或Spark Streaming模板,一些情况下,模型库中的计算模型和计算框架对应的模板是相结合的,例如,模型库中有Storm_PV模板、Storm_UV模板、Spark Streaming_PV模板、Spark Streaming_UV模板等,则当所创建的日志处理任务需要在Storm计算框架中对待处理日志进行UV计算时,用户在交互界面输入配置信息时可以直接从模型库中选择Storm_UV模板,以反映在计算规则和计算框架两个方面的配置需求;提交任务,将日志处理任务提交到数据处理层进行相应的数据处理。
元数据配置管理:因为不同的数据源输出的待处理日志均是不同的,本方案提出一个元数据的概念,把从元数据获取到的待处理日志统一转换为元数据形式(可以通过上文所述的对待处理日志进行解析的操作完成这一过程),就可以直接对元数据进行后续的相应处理,也可以说,该部分从各个数据源打点记录待处理日志的角度,以元数据的形式存储并维护各个打点的日志信息,包括每个打点下所有的日志参数的信息。
数据服务:该部分主要包括了持久化服务和数据源管理两个部分,持久化服务是指在处理结果保存到存储介质后需要经过一次转储进行的落地的服务;数据源是实时日志处理任务的输入数据流,每个数据源输出的待处理日志中可以包含多个元数据(在日志打点业务中,多个打点信息可以通过一个数据源输出)。
模型库配置管理:管理实时计算平台所用到模型,将这些模型放在模型库中进行管理,所述模型包括前文所述的PV计算模型、UV计算模型、Storm模板、Spark Streaming模板、Storm_PV模板、Storm_UV模板、Spark Streaming_PV模板、Spark Streaming_UV模板等;用户在通过交互界面进行配置时,可以直接从所述模型库选择相应模型或模板,提高日志处理任务的配置效率。
监控管理:监控管理部分包括了实时计算平台本身运行的监控(用户操作等)以及各个日志处理任务和数据服务的监控,实时监测日志处理任务的运行情况,在日志处理任务的失败率达到一定的阀值时或者其他预订的指标出现异常时触发报警,以对创建该日志处理任务的用户进行提示。
权限管理:实时计算平台包括了菜单权限和业务权限两部分,监控管理部分可以依据权限管理部分的配置对用户在交互界面输入配置创建日志处理任务的过程和/或日志处理任务的运行过程中是否存在超出权限的问题进行监控,并在出现问题时进行报警提醒。
如图4所示,实时计算平台的数据处理层对应于图1所示步骤S110-步骤S120的过程。目前实时计算平台基于两种计算框架进行数据处理过程,一种是基于Storm计算框架所进行的流式处理,用于实时处理待处理日志,另一种是基于Spark Streaming计算框架所进行的流式处理。
在基于Storm计算框架的数据处理过程中,如前文所述在模型库中提供了实时计算pv、uv的计算模板。我们从数据源QBUS、Scribe(drpc)、Kafka或者Kestrel中获取到实时的日志消息(待处理日志),经过一系列数据处理,最终将数据处理结果写入到存储介质中,提供给应用访问。在目前已有的应用中,每天的实时消息量从几百万到几亿不等,数据总量达到了TB级,数据延迟在秒级。基于不同的应用场景,我们会将Storm和不同的存储(如:Redis,Mysql,GreenPlumn,HDFS)进行配合使用,如当我们的计算结果单一时我们会采用传统的数据库存储如Mysql;当我们对存储空间需求大或者需要二次计算时,我们会配合分布式存储服务一起使用;当我们提供实时解析服务时,我们会直接写HDFS。在本发明的一个实施例中,通常计算PV时本方案的实时计算平台采用数据源(Drpc/QBUS/Kafka数据源)+计算框架(Storm计算框架)+存储介质(Mysql数据库)的架构,基于这种架构计算PV我们可以达到秒级延迟;计算UV时我们采用数据源(Drpc/QBUS/Kafka/Kestrel数据源)+计算框架(Storm计算框架)+存储介质(redis/greenplumn数据库)的架构,由于UV涉及到消重,考虑到流式计算中消重对内存的消耗,以及我们的应用通常量级是较大的,因此我们采用借助分布式存储介质进行实时消重的方式。采用这种方式由于有借助存储介质将计算结果转存储的过程,目前千万级别的UV我们的延迟可以控制在1分钟内;计算累计新增用户时,我们使用了数据源(QBUS/Kafka数据源)+计算框架(Storm计算框架)+存储介质(redis(分布式)数据库)的架构,每天处理近亿条日志数据,从用户行为产生到完成分析计算能够达到秒级延迟;此外,基于Spark Streaming计算框架的流式处理中,也同时提供了PV、UV两种计算模板,基于Spark Streaming计算框架的数据处理过程中通常采用了数据源(Kafka数据源)+计算框架(Spark Streaming计算框架)+存储介质(Mysql/Redis/Cassandra数据库)的架构来进行计算。
图5示出了根据本发明一个实施例的实时计算平台中的数据处理层执行日志处理任务的流程示意图,如图5所示,当一个日志处理任务被提交到数据处理层后,该日志处理任务配置的数据源包括:kafka数据源、qbus数据源和scribe数据源,数据源输出实时数据流,数据处理层通过实时计算框架(Storm计算框架/Spark Streaming计算框架)对数据源输出的数据进行计算,再将计算结果存储到存储介质中,存储介质包括redis、mysql、hbase、hdfs、Greenplum。
图6示出了根据本发明一个实施例的实时计算平台中的数据处理层的架构图。如图6所示,数据处理层包括解析器、过滤器、关联器、分析器,当一个日志处理任务被提交到数据处理层后,数据处理层读取该日志处理任务的配置信息,该日志处理任务配置的数据源输出的数据流在数据处理层的具体处理计算过程如下图所示:首先由解析器依据日志处理任务的配置信息中的解析条件从接收到的待处理日志中解析出需要的字段,然后由过滤器依据日志处理任务的配置信息中的过滤规则对解析出的字段进行过滤,再依据日志处理任务的配置信息中的关联信息判断各字段是否需要进行关联,如果需要关联,则由关联器将数据与其他信息建立关联,如IP地址数据与地区分布信息的关联等,然后将关联好的数据发送给分析器,由分析器依据日志处理任务的配置信息中的计算规则进行计算,如果不需要关联,则直接由分析器进行计算,最后计算完成后,写入到需要持久化的存储介质。
图7示出了根据本发明一个实施例的实时计算平台通过Storm计算框架执行日志处理任务的流程示意图。如图7所示,在接受到日志处理任务后,启动该任务,即对该任务进行初始化,读取该任务的配置信息,根据配置信息中的数据源信息生成输入源spout(spout是Storm计算框架中用于从数据源读取待处理日志的接口),一个日志处理任务的配置信息中可以包含多个数据源信息,即对应于多个数据源,支持Qbus、Kafka、drpc、kestrel等多种数据源;再根据配置信息中对Storm计算框架中的ParseBolt(解析组件)进行初始化,包括对解析参数、解析规则、计算规则、关联信息、过滤规则等信息的初始化;再根据配置信息中的存储规则对Storm计算框架中的PersistentBolt(持久化组件)进行初始化,包括对入库参数、入库时机的初始化。
读取日志处理任务的配置信息并依据该配置信息完成初始化之后,通过Spout接收从数据源实时输入的待处理日志,将待处理日志发送到解析bolt进行处理,处理过程包括:判断待处理日志中的每个元数据是否满足配置信息中的解析条件中,是则直接调用解析器对该元数据进行解析,否则抛弃该元数据;对于解析出的元数据,再判断是否需要地域计算(相当于判断元数据是否需要关联地域信息),是则解析相应的地域信息,否则直接判断是否满足计算规则,根据相应的计算规则对元数据进行计算,得到计算结果,对计算结果做聚合处理,处理完一个数据单元(tuple)(相当于聚合结果数据达到一定数量时),向持久化bolt发送聚合数据,持久化bolt在接收到数据后可以进一步对接收到的数据做聚合集散,判断是否达到触发写存储的条件,是则调用存储服务写存储。
需要补充说明的是,基于Storm计算框架的实时计算平台是基于内存的数据流计算,为了适应大数据流计算时对内存的压力(如UV计算),采取借助外部大存储来进行UV计算,比如采用redis、Greemplum进行二次计算,在数据量不超过2KW时redis的处理延迟是可以控制在2min内的,而Greenplum是分布式存储目前对大于5KW的数据延迟大概在2min内。
如图4所示,实时计算平台还包括数据展现层,数据展现层的部分对应于对待处理日志的处理结果进行展示的过程,数据展现层包括实时在线查询和页面展示,在页面中展示数据处理层得到的处理结果,且支持用户对该展示的处理结果的在线查询,使得用户可以方便地使用通过实时计算平台得到的处理结果,符合用户需求。
图2示出了根据本发明一个实施例的一种日志的处理装置的示意图。如图2所示,该日志的处理装置200包括:
任务接收单元210,适于接收日志处理任务,读取该日志处理任务的配置信息。
日志获取单元220,适于根据该配置信息中的数据源信息,从相应的数据源接收实时输入的待处理日志。
日志处理单元230,适于根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理,将待处理日志的处理结果保存到存储介质中。
可见,图2所示的装置通过各单元的相互配合,提供了在实时计算平台上依据执行日志处理任务的过程,数据源不断地输出待处理日志,实时计算平台不断地对待处理日志进行处理,不断得到待处理日志的处理结果并保存,具体地,先接收日志处理任务并读取日志处理任务的配置信息,根据配置信息中的数据源信息从相应的数据源接收实时输入的待处理日志,再根据配置信息中的日志处理规则对待处理日志进行相应处理,最后将待处理日志的处理结果保存到存储介质中。依据本方案,整个日志处理过程是依据日志处理任务的配置信息而执行的,在实际应用中,可以只通过对日志处理任务的配置信息的配置而实现对任意数据源的日志进行任意规则的处理,该日志处理过程具有相当广泛的适配性,相当于为不同的日志处理需求开设了一个统一的日志处理接口,不同的日志处理过程可以在该方案下统一实现,无需对不同的日志处理过程再重新编写不同的日志处理程序,大幅提高日志处理效率,符合大数据发展趋势。
在本发明的一个实施例中,日志处理规则中包括:解析条件;日志处理单元230,适于从每条待处理日志中解析出符合解析条件的字段。具体地,从待处理日志中解析出的字段包括:解析出的每个字段对应的元数据。
在本发明的一个实施例中,日志处理规则中还包括:过滤规则;日志处理单元230,进一步适于根据过滤规则,对解析出的字段进行过滤,得到过滤后的字段。
进一步地,在本发明的一个实施例中,所述日志处理规则中还包括:关联信息;所述关联信息中包括:指定字段与目标信息;日志处理单元230,进一步适于对于过滤后的字段中的每个指定字段,建立该指定字段与目标信息之间的关联关系,得到关联后的字段。
在本发明的一个实施例中,日志处理规则中还包括:计算规则;日志处理单元230,进一步适于根据计算规则,对解析出的字段、过滤后的字段或关联后的字段进行计算,得到待处理日志的处理结果。
在本发明的一个实施例中,日志处理单元230,进一步适于在将待处理日志的处理结果保存到存储介质中之前,对待处理日志的处理结果进行聚合,得到待处理日志的聚合结果数据;再将待处理日志的聚合结果数据保存到存储介质中;则日志处理单元230,适于将每次得到的待处理日志的聚合结果数据放入缓存池中;当缓存池中的聚合结果数据的数量达到预设阈值时,将缓存池中的聚合结果数据均写入存储介质中,并将缓存池中的聚合结果数据清除。
在本发明的另一个实施例中,日志处理单元230,适于在得到待处理日志的聚合结果数据后,判断是否达到触发存储的条件,是则,将该条待处理日志的聚合结果数据保存在存储介质中。其中,判断是否达到触发存储的条件包括:日志处理单元230,适于在得到该条待处理日志的聚合结果数据后,判断是否达到预设时间,是则,将该条待处理日志的聚合结果数据保存在存储介质中。
在本发明的一个实施例中,存储介质包括如下一种或多种:Redis数据库,Mysql数据库,HBase数据库,HDFS数据库,GreenPlum数据库。
在本发明的一个实施例中,所述数据源包括如下一种或多种:Kafka数据源,Qbus数据源,Scribe数据源,Apache数据源,Kestrel数据源。
在本发明的一个实施例中,所述日志处理规则中还包括:计算框架;则日志处理单元230,适于通过所述计算框架对待处理日志进行相应处理。其中,所述计算框架包括:Storm计算框架或Spark Streaming计算框架。
图3示出了根据本发明另一个实施例的一种日志的处理装置的示意图。如图3所示,该日志的处理装置300包括:任务接收单元310、日志获取单元320、日志处理单元330和过期日志过滤单元340。
其中,任务接收单元310、日志获取单元320、日志处理单元330和图2所示的任务接收单元210、日志获取单元220、日志处理单元230具有对应相同的功能,相同的部分在此不再赘述。
过期日志过滤单元340,适于预设基准时间范围;在日志获取单元320接收到每条待处理日志后,从该待处理日志中提取时间信息;将提取出的时间信息与基准时间范围进行比较,如果该时间信息落在基准时间范围之外,在该条待处理日志上打空标识。
则日志处理单元330,适于对于经过期日志过滤单元340处理后的每条日志,判断该条待处理日志是否携带空标识;是则,直接将该待处理日志删除,不再对该条待处理日志进行处理。
需要说明的是,图2-图3所示装置的各实施例与图1所示方法的各实施例对应相同,上文中已有详细说明,在此不再赘述。
综上所述,本发明提供的技术方案提供了在实时计算平台上依据执行日志处理任务的过程,数据源不断地输出待处理日志,实时计算平台不断地对待处理日志进行处理,不断得到待处理日志的处理结果并保存,具体地,先接收日志处理任务并读取日志处理任务的配置信息,根据配置信息中的数据源信息从相应的数据源接收实时输入的待处理日志,再根据配置信息中的日志处理规则对待处理日志进行相应处理,最后将待处理日志的处理结果保存到存储介质中。依据本方案,整个日志处理过程是依据日志处理任务的配置信息而执行的,在实际应用中,可以只通过对日志处理任务的配置信息的配置而实现对任意数据源的日志进行任意规则的处理,该日志处理过程具有相当广泛的适配性,相当于为不同的日志处理需求开设了一个统一的日志处理接口,不同的日志处理过程可以在该方案下统一实现,无需对不同的日志处理过程再重新编写不同的日志处理程序,大幅提高日志处理效率,符合大数据发展趋势。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种日志的处理装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种日志的处理方法,其中,该方法包括:
接收日志处理任务,读取该日志处理任务的配置信息;
根据该配置信息中的数据源信息,从相应的数据源接收实时输入的待处理日志;
根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理,将待处理日志的处理结果保存到存储介质中。
A2、如A1所述的方法,其中,所述日志处理规则中包括:解析条件;
则所述根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理包括:
从每条待处理日志中解析出符合所述解析条件的字段。
A3、如A2所述的方法,其中,所述日志处理规则中还包括:过滤规则;
则所述根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理还包括:
根据所述过滤规则,对解析出的字段进行过滤,得到过滤后的字段。
A4、如A3所述的方法,其中,所述日志处理规则中还包括:关联信息;所述关联信息中包括:指定字段与目标信息;
则所述根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理还包括:
对于过滤后的字段中的每个指定字段,建立该指定字段与目标信息之间的关联关系,得到关联后的字段。
A5、如A2-A4中任一项所述的方法,其中,所述日志处理规则中还包括:计算规则;
则所述根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理还包括:
根据所述计算规则,对解析出的字段、过滤后的字段或关联后的字段进行计算,得到该条待处理日志的处理结果。
A6、如A2所述的方法,其中,从待处理日志中解析出的字段包括:解析出的每个字段对应的元数据。
A7、如A1所述的方法,其中,在所述将待处理日志的处理结果保存到存储介质中之前,该方法进一步包括:
对待处理日志的处理结果进行聚合,得到待处理日志的聚合结果数据;
则所述将待处理日志的处理结果保存到存储介质中包括:将待处理日志的聚合结果数据保存到存储介质中。
A8、如A7所述的方法,其中,所述将待处理日志的聚合结果数据保存到存储介质中包括:
将每次得到的待处理日志的聚合结果数据放入缓存池中;
当缓存池中的聚合结果数据的数量达到预设阈值时,将缓存池中的聚合结果数据均写入存储介质中,并将缓存池中的聚合结果数据清除。
A9、如A7所述的方法,其中,所述将待处理日志的聚合结果数据保存到存储介质中包括:
在得到待处理日志的聚合结果数据后,判断是否达到触发存储的条件,是则,将待处理日志的聚合结果数据保存在存储介质中。
A10、如A9所述的方法,其中,所述判断是否达到触发存储的条件包括:
判断是否达到预设时间。
A11、如A1所述的方法,其中,该方法进一步包括:
预设基准时间范围;
在接收到每条待处理日志后,从该待处理日志中提取时间信息;
将提取出的时间信息与基准时间范围进行比较,如果该时间信息落在基准时间范围之外,在该条待处理日志上打空标识。
A12、如A11所述的方法,其中,所述根据该配置信息中的日志处理规则,对待处理日志进行相应处理包括:
判断每条待处理日志是否携带空标识;
是则,直接将该条待处理日志删除。
A13、如A1所述的方法,其中,所述存储介质包括如下一种或多种:Redis数据库,Mysql数据库,HBase数据库,HDFS数据库,GreenPlum数据库。
A14、如A1所述的方法,其中,所述数据源包括如下一种或多种:
Kafka数据源,Qbus数据源,Scribe数据源,Apache数据源,Kestrel数据源。
A15、如A1所述的方法,其中,所述日志处理规则中还包括:计算框架;
根据该配置信息中的日志处理规则,对待处理日志进行相应处理包括:通过所述计算框架对待处理日志进行相应处理。
A16、如A15所述的方法,其中,所述计算框架包括:Storm计算框架或SparkStreaming计算框架。
本发明还公开了B17、一种日志的处理装置,其中,该装置包括:
任务接收单元,适于接收日志处理任务,读取该日志处理任务的配置信息;
日志获取单元,适于根据该配置信息中的数据源信息,从相应的数据源接收实时输入的待处理日志;
日志处理单元,适于根据该配置信息中的日志处理规则,对待处理日志进行相应处理。将待处理日志的处理结果保存到存储介质中。
B18、如B17所述的装置,其中,所述日志处理规则中包括:解析条件;
所述日志处理单元,适于从每条待处理日志中解析出符合所述解析条件的字段。
B19、如B18所述的装置,其中,所述日志处理规则中还包括:过滤规则;
所述日志处理单元,进一步适于根据所述过滤规则,对解析出的字段进行过滤,得到过滤后的字段。
B20、如B19所述的装置,其中,所述日志处理规则中还包括:关联信息;所述关联信息中包括:指定字段与目标信息;
所述日志处理单元,进一步适于对于过滤后的字段中的每个指定字段,建立该指定字段与目标信息之间的关联关系,得到关联后的字段。
B21、如B18-B20中任一项所述的装置,其中,所述日志处理规则中还包括:计算规则;
所述日志处理单元,进一步适于根据所述计算规则,对解析出的字段、过滤后的字段或关联后的字段进行计算,得到该条待处理日志的处理结果。
B22、如B18所述的装置,其中,从待处理日志中解析出的字段包括:解析出的每个字段对应的元数据。
B23、如B17所述的装置,其中,
所述日志处理单元,进一步适于在将待处理日志的处理结果保存到存储介质中之前,对待处理日志的处理结果进行聚合,得到待处理日志的聚合结果数据;将待处理日志的聚合结果数据保存到存储介质中。
B24、如B23所述的装置,其中,
所述日志处理单元,适于将每次得到的待处理日志的聚合结果数据放入缓存池中;当缓存池中的聚合结果数据的数量达到预设阈值时,将缓存池中的聚合结果数据均写入存储介质中,并将缓存池中的聚合结果数据清除。
B25、如B23所述的装置,其中,
所述日志处理单元,适于在得到待处理日志的聚合结果数据后,判断是否达到触发存储的条件,是则,将待处理日志的聚合结果数据保存在存储介质中。
B26、如B25所述的装置,其中,所述判断是否达到触发存储的条件包括:
所述日志处理单元,适于在得到待处理日志的聚合结果数据后,判断是否达到预设时间,是则,将待处理日志的聚合结果数据保存在存储介质中。
B27、如B17所述的装置,其中,该装置进一步包括:过期日志过滤单元;
所述过期日志过滤单元,适于预设基准时间范围;在所述日志获取单元接收到每条待处理日志后,从该待处理日志中提取时间信息;将提取出的时间信息与基准时间范围进行比较,如果该时间信息落在基准时间范围之外,在该条待处理日志上打空标识。
B28、如B27所述的装置,其中,
所述日志处理单元,适于对于经所述过期日志过滤单元处理后的每条日志,判断该条待处理日志是否携带空标识;是则,直接将该待处理日志删除。
B29、如B17所述的装置,其中,所述存储介质包括如下一种或多种:Redis数据库,Mysql数据库,HBase数据库,HDFS数据库,GreenPlum数据库。
B30、如B17所述的装置,其中,所述数据源包括如下一种或多种:
Kafka数据源,Qbus数据源,Scribe数据源,Apache数据源,Kestrel数据源。
B31、如B17所述的装置,其中,所述日志处理规则中还包括:计算框架;
所述日志处理单元,适于通过所述计算框架对待处理日志进行相应处理。
B32、如B31所述的装置,其中,所述计算框架包括:Storm计算框架或SparkStreaming计算框架。
Claims (10)
1.一种日志的处理方法,其中,该方法包括:
接收日志处理任务,读取该日志处理任务的配置信息;
根据该配置信息中的数据源信息,从相应的数据源接收实时输入的待处理日志;
根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理,将待处理日志的处理结果保存到存储介质中。
2.如权利要求1所述的方法,其中,所述日志处理规则中包括:解析条件;
则所述根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理包括:
从每条待处理日志中解析出符合所述解析条件的字段。
3.如权利要求2所述的方法,其中,所述日志处理规则中还包括:过滤规则;
则所述根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理还包括:
根据所述过滤规则,对解析出的字段进行过滤,得到过滤后的字段。
4.如权利要求3所述的方法,其中,所述日志处理规则中还包括:关联信息;所述关联信息中包括:指定字段与目标信息;
则所述根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理还包括:
对于过滤后的字段中的每个指定字段,建立该指定字段与目标信息之间的关联关系,得到关联后的字段。
5.如权利要求2-4中任一项所述的方法,其中,所述日志处理规则中还包括:计算规则;
则所述根据该配置信息中的日志处理规则,对接收到的待处理日志进行相应处理还包括:
根据所述计算规则,对解析出的字段、过滤后的字段或关联后的字段进行计算,得到该条待处理日志的处理结果。
6.一种日志的处理装置,其中,该装置包括:
任务接收单元,适于接收日志处理任务,读取该日志处理任务的配置信息;
日志获取单元,适于根据该配置信息中的数据源信息,从相应的数据源接收实时输入的待处理日志;
日志处理单元,适于根据该配置信息中的日志处理规则,对待处理日志进行相应处理。将待处理日志的处理结果保存到存储介质中。
7.如权利要求6所述的装置,其中,所述日志处理规则中包括:解析条件;
所述日志处理单元,适于从每条待处理日志中解析出符合所述解析条件的字段。
8.如权利要求7所述的装置,其中,所述日志处理规则中还包括:过滤规则;
所述日志处理单元,进一步适于根据所述过滤规则,对解析出的字段进行过滤,得到过滤后的字段。
9.如权利要求8所述的装置,其中,所述日志处理规则中还包括:关联信息;所述关联信息中包括:指定字段与目标信息;
所述日志处理单元,进一步适于对于过滤后的字段中的每个指定字段,建立该指定字段与目标信息之间的关联关系,得到关联后的字段。
10.如权利要求7-9中任一项所述的装置,其中,所述日志处理规则中还包括:计算规则;
所述日志处理单元,进一步适于根据所述计算规则,对解析出的字段、过滤后的字段或关联后的字段进行计算,得到该条待处理日志的处理结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610512868.9A CN106168909A (zh) | 2016-06-30 | 2016-06-30 | 一种日志的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610512868.9A CN106168909A (zh) | 2016-06-30 | 2016-06-30 | 一种日志的处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106168909A true CN106168909A (zh) | 2016-11-30 |
Family
ID=58066132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610512868.9A Pending CN106168909A (zh) | 2016-06-30 | 2016-06-30 | 一种日志的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106168909A (zh) |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599120A (zh) * | 2016-12-01 | 2017-04-26 | 中国联合网络通信集团有限公司 | 基于流处理框架的数据处理方法及装置 |
CN106649670A (zh) * | 2016-12-14 | 2017-05-10 | 北京五八信息技术有限公司 | 基于流式计算的数据监控方法及装置 |
CN106708965A (zh) * | 2016-12-01 | 2017-05-24 | 北京奇虎科技有限公司 | 一种数据的处理方法和装置 |
CN106844147A (zh) * | 2016-12-30 | 2017-06-13 | 杭州东方通信软件技术有限公司 | 一种监控系统及方法 |
CN106874354A (zh) * | 2016-12-28 | 2017-06-20 | 北京五八信息技术有限公司 | 一种日志数据筛选方法及装置 |
CN106878092A (zh) * | 2017-03-28 | 2017-06-20 | 上海以弈信息技术有限公司 | 一种多源异构数据融合的网络运维实时监控与分析呈现平台 |
CN107070890A (zh) * | 2017-03-10 | 2017-08-18 | 北京市天元网络技术股份有限公司 | 一种通信网优系统中的流数据处理装置及通信网优系统 |
CN107171873A (zh) * | 2017-07-21 | 2017-09-15 | 北京微影时代科技有限公司 | 一种消息处理的方法和装置 |
CN107273269A (zh) * | 2017-06-12 | 2017-10-20 | 北京奇虎科技有限公司 | 日志解析方法及装置 |
CN107506422A (zh) * | 2017-08-17 | 2017-12-22 | 北京理工大学 | 一种多数据源的分布式日志处理系统及方法 |
CN107689999A (zh) * | 2017-09-14 | 2018-02-13 | 北纬通信科技南京有限责任公司 | 一种云平台全自动计算方法及装置 |
CN107704594A (zh) * | 2017-10-13 | 2018-02-16 | 东南大学 | 基于SparkStreaming的电力系统日志数据实时处理方法 |
CN108108288A (zh) * | 2018-01-09 | 2018-06-01 | 北京奇艺世纪科技有限公司 | 一种日志数据解析方法、装置及设备 |
CN108123840A (zh) * | 2017-12-22 | 2018-06-05 | 中国联合网络通信集团有限公司 | 日志处理方法及系统 |
CN108235069A (zh) * | 2016-12-22 | 2018-06-29 | 北京国双科技有限公司 | 网络电视日志的处理方法及装置 |
CN108228561A (zh) * | 2017-12-07 | 2018-06-29 | 中国航空工业集团公司西安航空计算技术研究所 | 一种配置处理文本流的方法 |
CN108234233A (zh) * | 2016-12-22 | 2018-06-29 | 阿里巴巴集团控股有限公司 | 日志处理方法及装置 |
CN108228417A (zh) * | 2017-11-30 | 2018-06-29 | 北京九五智驾信息技术股份有限公司 | 车联网日志处理方法及处理装置 |
CN108255819A (zh) * | 2016-12-27 | 2018-07-06 | 航天信息股份有限公司 | 一种基于分析工具spark的增值税数据整合方法及系统 |
CN108345528A (zh) * | 2018-02-13 | 2018-07-31 | 北京天元创新科技有限公司 | 一种后台服务器监控方法、装置和设备 |
CN108460126A (zh) * | 2018-02-28 | 2018-08-28 | 郑州云海信息技术有限公司 | 一种机柜服务器存储分配单元的日志的获取方法及装置 |
CN108733469A (zh) * | 2017-04-24 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种分布式系统任务执行的方法和装置 |
CN108763044A (zh) * | 2018-05-30 | 2018-11-06 | 中国建设银行股份有限公司 | 一种日志处理方法及装置 |
CN109241112A (zh) * | 2018-08-28 | 2019-01-18 | 北京明朝万达科技股份有限公司 | 一种数据处理方法及装置 |
CN109271349A (zh) * | 2018-09-29 | 2019-01-25 | 四川长虹电器股份有限公司 | 一种基于日志通用性规则引擎的规则处理方法 |
CN109800259A (zh) * | 2018-12-11 | 2019-05-24 | 深圳市金证科技股份有限公司 | 数据采集方法、装置及终端设备 |
CN109918429A (zh) * | 2019-01-21 | 2019-06-21 | 武汉烽火众智智慧之星科技有限公司 | 基于Redis的Spark数据处理方法及系统 |
CN110019318A (zh) * | 2017-09-11 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种日志匹配处理方法、装置以及电子设备 |
CN110113257A (zh) * | 2019-05-14 | 2019-08-09 | 北京京投亿雅捷交通科技有限公司 | 一种基于大数据的统一数据接入网关及实现方法 |
CN110134659A (zh) * | 2019-05-08 | 2019-08-16 | 厦门欢乐逛科技股份有限公司 | 运行程序的日志监控系统、方法、介质及设备 |
CN110362561A (zh) * | 2019-07-15 | 2019-10-22 | 北京明朝万达科技股份有限公司 | 一种日志处理方法和装置 |
CN110597777A (zh) * | 2019-09-18 | 2019-12-20 | 金瓜子科技发展(北京)有限公司 | 一种日志处理方法和装置 |
CN110704290A (zh) * | 2019-09-27 | 2020-01-17 | 百度在线网络技术(北京)有限公司 | 日志分析方法及装置 |
CN110750727A (zh) * | 2019-10-28 | 2020-02-04 | 京东数字科技控股有限公司 | 数据处理方法、装置、系统和计算机可读存储介质 |
CN111143310A (zh) * | 2018-11-06 | 2020-05-12 | 海通证券股份有限公司 | 日志记录方法及装置、可读存储介质 |
US10728111B2 (en) | 2018-03-09 | 2020-07-28 | Accenture Global Solutions Limited | Data module management and interface for pipeline data processing by a data processing system |
CN111767197A (zh) * | 2020-06-22 | 2020-10-13 | 郑州阿帕斯数云信息科技有限公司 | 日志处理方法和装置 |
CN111881153A (zh) * | 2020-07-24 | 2020-11-03 | 北京金山云网络技术有限公司 | 数据处理方法、装置、电子设备和机器可读存储介质 |
CN116566789A (zh) * | 2023-04-13 | 2023-08-08 | 南京优玛软件科技有限公司 | 商机引擎实时流处理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978256A (zh) * | 2014-04-10 | 2015-10-14 | 阿里巴巴集团控股有限公司 | 一种日志输出方法和设备 |
CN105426292A (zh) * | 2015-10-29 | 2016-03-23 | 网易(杭州)网络有限公司 | 一种游戏日志实时处理系统及方法 |
-
2016
- 2016-06-30 CN CN201610512868.9A patent/CN106168909A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978256A (zh) * | 2014-04-10 | 2015-10-14 | 阿里巴巴集团控股有限公司 | 一种日志输出方法和设备 |
CN105426292A (zh) * | 2015-10-29 | 2016-03-23 | 网易(杭州)网络有限公司 | 一种游戏日志实时处理系统及方法 |
Cited By (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708965A (zh) * | 2016-12-01 | 2017-05-24 | 北京奇虎科技有限公司 | 一种数据的处理方法和装置 |
CN106599120A (zh) * | 2016-12-01 | 2017-04-26 | 中国联合网络通信集团有限公司 | 基于流处理框架的数据处理方法及装置 |
CN106649670B (zh) * | 2016-12-14 | 2020-07-17 | 北京五八信息技术有限公司 | 基于流式计算的数据监控方法及装置 |
CN106649670A (zh) * | 2016-12-14 | 2017-05-10 | 北京五八信息技术有限公司 | 基于流式计算的数据监控方法及装置 |
CN108234233B (zh) * | 2016-12-22 | 2021-09-24 | 阿里巴巴集团控股有限公司 | 日志处理方法及装置 |
CN108234233A (zh) * | 2016-12-22 | 2018-06-29 | 阿里巴巴集团控股有限公司 | 日志处理方法及装置 |
CN108235069A (zh) * | 2016-12-22 | 2018-06-29 | 北京国双科技有限公司 | 网络电视日志的处理方法及装置 |
CN108255819A (zh) * | 2016-12-27 | 2018-07-06 | 航天信息股份有限公司 | 一种基于分析工具spark的增值税数据整合方法及系统 |
CN106874354A (zh) * | 2016-12-28 | 2017-06-20 | 北京五八信息技术有限公司 | 一种日志数据筛选方法及装置 |
CN106844147A (zh) * | 2016-12-30 | 2017-06-13 | 杭州东方通信软件技术有限公司 | 一种监控系统及方法 |
CN106844147B (zh) * | 2016-12-30 | 2020-12-18 | 杭州东方通信软件技术有限公司 | 一种监控系统及方法 |
CN107070890A (zh) * | 2017-03-10 | 2017-08-18 | 北京市天元网络技术股份有限公司 | 一种通信网优系统中的流数据处理装置及通信网优系统 |
CN106878092A (zh) * | 2017-03-28 | 2017-06-20 | 上海以弈信息技术有限公司 | 一种多源异构数据融合的网络运维实时监控与分析呈现平台 |
CN108733469A (zh) * | 2017-04-24 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 一种分布式系统任务执行的方法和装置 |
CN108733469B (zh) * | 2017-04-24 | 2021-09-03 | 北京京东尚科信息技术有限公司 | 一种分布式系统任务执行的方法和装置 |
CN107273269A (zh) * | 2017-06-12 | 2017-10-20 | 北京奇虎科技有限公司 | 日志解析方法及装置 |
CN107273269B (zh) * | 2017-06-12 | 2021-04-23 | 北京奇虎科技有限公司 | 日志解析方法及装置 |
CN107171873A (zh) * | 2017-07-21 | 2017-09-15 | 北京微影时代科技有限公司 | 一种消息处理的方法和装置 |
CN107506422A (zh) * | 2017-08-17 | 2017-12-22 | 北京理工大学 | 一种多数据源的分布式日志处理系统及方法 |
CN110019318A (zh) * | 2017-09-11 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种日志匹配处理方法、装置以及电子设备 |
CN107689999A (zh) * | 2017-09-14 | 2018-02-13 | 北纬通信科技南京有限责任公司 | 一种云平台全自动计算方法及装置 |
CN107704594A (zh) * | 2017-10-13 | 2018-02-16 | 东南大学 | 基于SparkStreaming的电力系统日志数据实时处理方法 |
CN107704594B (zh) * | 2017-10-13 | 2021-02-09 | 东南大学 | 基于SparkStreaming的电力系统日志数据实时处理方法 |
CN108228417A (zh) * | 2017-11-30 | 2018-06-29 | 北京九五智驾信息技术股份有限公司 | 车联网日志处理方法及处理装置 |
CN108228417B (zh) * | 2017-11-30 | 2022-01-28 | 北京九五智驾信息技术股份有限公司 | 车联网日志处理方法及处理装置 |
CN108228561A (zh) * | 2017-12-07 | 2018-06-29 | 中国航空工业集团公司西安航空计算技术研究所 | 一种配置处理文本流的方法 |
CN108123840A (zh) * | 2017-12-22 | 2018-06-05 | 中国联合网络通信集团有限公司 | 日志处理方法及系统 |
CN108108288A (zh) * | 2018-01-09 | 2018-06-01 | 北京奇艺世纪科技有限公司 | 一种日志数据解析方法、装置及设备 |
CN108345528A (zh) * | 2018-02-13 | 2018-07-31 | 北京天元创新科技有限公司 | 一种后台服务器监控方法、装置和设备 |
CN108460126A (zh) * | 2018-02-28 | 2018-08-28 | 郑州云海信息技术有限公司 | 一种机柜服务器存储分配单元的日志的获取方法及装置 |
US10728111B2 (en) | 2018-03-09 | 2020-07-28 | Accenture Global Solutions Limited | Data module management and interface for pipeline data processing by a data processing system |
CN108763044A (zh) * | 2018-05-30 | 2018-11-06 | 中国建设银行股份有限公司 | 一种日志处理方法及装置 |
CN109241112B (zh) * | 2018-08-28 | 2020-11-17 | 北京明朝万达科技股份有限公司 | 一种数据处理方法及装置 |
CN109241112A (zh) * | 2018-08-28 | 2019-01-18 | 北京明朝万达科技股份有限公司 | 一种数据处理方法及装置 |
CN109271349A (zh) * | 2018-09-29 | 2019-01-25 | 四川长虹电器股份有限公司 | 一种基于日志通用性规则引擎的规则处理方法 |
CN111143310A (zh) * | 2018-11-06 | 2020-05-12 | 海通证券股份有限公司 | 日志记录方法及装置、可读存储介质 |
CN111143310B (zh) * | 2018-11-06 | 2021-05-14 | 海通证券股份有限公司 | 日志记录方法及装置、可读存储介质 |
CN109800259A (zh) * | 2018-12-11 | 2019-05-24 | 深圳市金证科技股份有限公司 | 数据采集方法、装置及终端设备 |
CN109800259B (zh) * | 2018-12-11 | 2021-08-10 | 深圳市金证科技股份有限公司 | 数据采集方法、装置及终端设备 |
CN109918429A (zh) * | 2019-01-21 | 2019-06-21 | 武汉烽火众智智慧之星科技有限公司 | 基于Redis的Spark数据处理方法及系统 |
CN110134659A (zh) * | 2019-05-08 | 2019-08-16 | 厦门欢乐逛科技股份有限公司 | 运行程序的日志监控系统、方法、介质及设备 |
CN110113257A (zh) * | 2019-05-14 | 2019-08-09 | 北京京投亿雅捷交通科技有限公司 | 一种基于大数据的统一数据接入网关及实现方法 |
CN110113257B (zh) * | 2019-05-14 | 2021-06-08 | 北京京投亿雅捷交通科技有限公司 | 一种基于大数据的统一数据接入网关及实现方法 |
CN110362561A (zh) * | 2019-07-15 | 2019-10-22 | 北京明朝万达科技股份有限公司 | 一种日志处理方法和装置 |
CN110597777A (zh) * | 2019-09-18 | 2019-12-20 | 金瓜子科技发展(北京)有限公司 | 一种日志处理方法和装置 |
CN110704290A (zh) * | 2019-09-27 | 2020-01-17 | 百度在线网络技术(北京)有限公司 | 日志分析方法及装置 |
CN110704290B (zh) * | 2019-09-27 | 2024-02-13 | 百度在线网络技术(北京)有限公司 | 日志分析方法及装置 |
CN110750727A (zh) * | 2019-10-28 | 2020-02-04 | 京东数字科技控股有限公司 | 数据处理方法、装置、系统和计算机可读存储介质 |
CN111767197A (zh) * | 2020-06-22 | 2020-10-13 | 郑州阿帕斯数云信息科技有限公司 | 日志处理方法和装置 |
CN111881153A (zh) * | 2020-07-24 | 2020-11-03 | 北京金山云网络技术有限公司 | 数据处理方法、装置、电子设备和机器可读存储介质 |
CN116566789A (zh) * | 2023-04-13 | 2023-08-08 | 南京优玛软件科技有限公司 | 商机引擎实时流处理方法 |
CN116566789B (zh) * | 2023-04-13 | 2024-05-10 | 南京优玛软件科技有限公司 | 商机引擎实时流处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106168909A (zh) | 一种日志的处理方法和装置 | |
CN106156307A (zh) | 一种实时计算平台的数据处理系统和方法 | |
US10824697B2 (en) | Detecting and tracking virtual containers | |
Dunn | Software defect removal | |
US8468120B2 (en) | Systems and methods for tracking and reporting provenance of data used in a massively distributed analytics cloud | |
CN103701906B (zh) | 分布式实时计算系统及其数据处理方法 | |
US20120278275A1 (en) | Generating a predictive model from multiple data sources | |
US20130073515A1 (en) | Column based data transfer in extract transform and load (etl) systems | |
US8996925B2 (en) | Managing error logs in a distributed network fabric | |
US9703821B2 (en) | Database auditing for bulk operations | |
US20150350045A1 (en) | Method and system for processing browser crash information | |
US9256518B2 (en) | Automated data collection, computation and reporting of content space coverage metrics for software products | |
US20110099431A1 (en) | Relocatable interrupt handler for test generation and execution | |
GB2545068A (en) | Method to reduce reactivation time of cloud based services | |
CN110555038A (zh) | 一种数据处理系统、方法及装置 | |
US20230137436A1 (en) | Data privacy preservation in object storage | |
US20150186297A1 (en) | Building an undo log for in-memory blocks of data | |
CN104461741B (zh) | 基于图形设备接口的计算设备优化方法及装置 | |
US10671509B1 (en) | Simulating storage server configurations | |
Bhagattjee | Emergence and taxonomy of big data as a service | |
US8868485B2 (en) | Data flow cost modeling | |
CN109769027A (zh) | 一种消息推送方法、装置及设备 | |
CN115033574A (zh) | 信息生成方法、信息生成装置、电子设备及存储介质 | |
US11651281B2 (en) | Feature catalog enhancement through automated feature correlation | |
CN114168624A (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 |
Application publication date: 20161130 |
|
RJ01 | Rejection of invention patent application after publication |