日志事件处理方法和装置制造方法及图纸

技术编号:14410322 阅读:68 留言:0更新日期:2017-01-11 20:47
本申请公开了一种日志事件处理方法和应用该方法的处理装置,该日志事件处理方法,包括:监听日志文件中心,获取日志文件中心中日志事件;将所述日志事件置于预设日志事件队列;对所述预设日志事件队列中所对应日志目录相同的日志文件修改事件进行去重;处理所述预设日志事件队列中日志事件。该日志事件处理方法和装置通过对日志文件修改事件进行去重,降低了该日志文件被重复处理的几率,节约了日志文件的处理资源。同时,控制了预设日志事件队列中待处理日志事件的数量,降低了日志事件的处理耗时,提高了日志文件的处理效率。

【技术实现步骤摘要】

本申请涉互联网
,尤其涉及一种日志事件处理方法和装置
技术介绍
随着互联网技术的快速发展,用户操作互联网设备所产生的访问日志或系统日志也成爆发式增长。如何统计、分析这些日志信息,从这些日志信息中提取有效的用户行为信息,进而提高用户体验已经成为了业内的关注点。在对日志信息进行统计、分析前,首先需从日志文件中心获取访问日志或系统日志文件。现有技术中,一般通过对日志文件中心进行周期性轮询的方式来得到所需的日志文件,再将每次轮询所得日志文件进行处理。其中,每次轮询均包括如下步骤:在日志文件中心中所有日志目录进行逐一筛查,若有子目录中日志文件增加或被修改,则将该日志文件上传至日志文件处理队列。然而,在实现本申请过程中,现有技术中至少存在如下问题:随着互联网技术的快速发展,每次轮询所上传日志文件处理队列的日志文件的数量越来越大,受限于当前对日志文件的处理能力,难以在一个轮询周期内完成对日志文件处理队列中所有日志文件的处理。若同一日志文件发生多次修改,则该日志文件在轮询过程中均会被重复上传至日志文件处理队列,后续对这些重复的日志文件的处理,浪费的日志文件的处理资源并增加了日志文件的处理耗时。
技术实现思路
本申请实施例的目的在于提供一种日志事件处理方法和装置,节约了日志文件处理资源的利用率并降低了处理耗时。本申请实施例提供一种日志事件处理方法,其包括:监听日志文件中心,获取日志文件中心中日志事件;将所述日志事件置于预设日志事件队列;对所述预设日志事件队列中所对应日志目录相同的日志文件修改事件进行去重;处理所述预设日志事件队列中日志事件。本申请实施例还提供一种日志事件处理装置,其包括:事件监听模块,监听日志文件中心,获取日志文件中心中日志事件;事件安置模块,将所述日志事件置于预设日志事件队列;队列去重模块,对所述预设日志事件队列中所对应日志目录相同的日志文件修改事件进行去重;队列处理模块,处理所述预设日志事件队列中日志事件。本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:通过对日志文件修改事件进行去重,降低了该日志文件被重复处理的几率,节约了日志文件的处理资源。同时,控制了预设日志事件队列中待处理日志事件的数量,降低了日志事件的处理耗时,提高了日志文件的处理效率。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请实施例中日志文件中心、预设日志事件队列和日志处理装置的系统结构图。图2为本申请实施例中日志事件处理方法的过程。图3为本申请实施例中日志事件处理方法内监听日志文件中心,获取日志文件中心中日志事件的具体过程。图4为本申请实施例中日志事件处理方法内处理所述预设日志事件队列中日志事件的具体过程。图5为本申请实施例中日志事件处理方法内将日志文件上传至预设服务器的具体过程。图6为本申请实施例中日志事件处理方法内设置进程锁的具体过程。图7为本申请实施例中日志事件处理方法内日志事件处理异常后的重启步骤的具体过程。图8为本申请实施例中日志事件处理方法内停止日志事件处理时对剩余日志事件进行处理步骤的具体过程。图9为本申请实施例中日志事件处理装置的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。现有通过对日志文件中心进行轮询来得到所需日志文件的过程中,可能存在获取效率低的问题,本申请提供一种解决前述问题的日志事件处理方法,以下结合附图详细描述本方法。图1为本申请实施例中日志文件中心、预设日志事件队列和日志处理装置的系统结构图。其中,日志文件中心10和预设日志事件队列20之间建立信息传输链路,实现信息互通。前述日志处理方法的执行主体可以是一个与前述日志文件中心10和预设日志事件队列20均连接的处理装置30,该处理装置30能够对日志文件中心10和预设日志事件队列20进行操作,以实现日志处理。图2为本申请实施例中日志事件处理方法的过程,该方法包括如下步骤。S1、监听日志文件中心,获取日志文件中心中日志事件。前述日志事件可以是日志目录增加事件、日志目录删除事件、日志文件增加事件、日志文件修改事件或日志文件删除事件。本申请实施例中,监听日志文件中心内预设日志目录范围,预设日志目录范围可以为日志文件中心下一个子目录范围,从而获取在该预设日志目录范围内的日志事件。结合图3所示,该步骤S1具体包括如下步骤:S11、对日志文件中心中所有日志的目录进行正则表达式配置,获取每个日志目录的正则表达式。经过正则表达式配置后,日志文件中心内日志目录名称统一,便于后续查询预设日志目录范围。本申请实施例中,以计算机内D盘中D:/logs作为日志文件中心经过正则表达式配置后所在目录节点,D:/logs下设有D:/logs/1、D:/logs/2共计2个目录节点,D:/logs/1下设有D:/logs/11、D:/logs/12、D:/logs/13共计3个目录节点。S12、获取日志文件中心内日志事件以及日志事件所在日志目录的正则表达式。S13、判断所获取日志事件所在日志目录的正则表达式与预设日志目录范围的正则表达式是否匹配,若是,执行步骤S2,若否,返回步骤S12。本申请实施例中,以D:/logs/1及其下设目录节点范围作为预设日志目录范围为例,则预设日志目录范围的正则表达式为D:/logs/1*。若所获取的日志事件为D:/logs/11内日志文件的修改事件,D:/logs/11和D:/logs/1*匹配,则表明该日志事件所对应的日志目录在预设日志目录范围内;若所获取的日志事件为D:/logs/2内日志文件的修改事件,D:/logs/2和D:/logs/1*不匹配,则表明该日志事件所对应的日志目录不在预设日志目录范围内。S2、将日志事件置于预设日志事件队列。本申请实施例中,可以根据日志事件的获取时间顺序,将日志事件排列在预设日志事件队列。S3、对预设日志事件队列中所对应日志目录相同的日志文件修改事件进行去重。本申请实施例中,可以在预设日志事件队列有所对应日志目录相同的日志文件修改事件时,仅保留获取时间最早的日志文件修改事件,实现对该类日志文件修改事件进行去重。当然,本申请其他实施例中,也可保留其他获取时间的日志文件修改事件,同样能实现对该类日志文件修改事件的去重,在此不做赘述。通过对日志文件修改事件进行去重,降低了该日志文件被重复处理的几率,节约了日志文件的处理资源。同时,控制了预设日志事件队列中待处理日志事件的数量,降低了日志事件的处理耗时,提高了日志文件的处理效率。S4、处理预设日志事件队列中日志事件。本申请实施例中,逐一处理预设日志事件队列中日志事件,并清除已完成处理的日志事件,控制预设日志事件队列的存储空间以备新的日志事件增加进来。参图4所示,步骤S4具体包括如下步骤本文档来自技高网...
日志事件处理方法和装置

【技术保护点】
一种日志事件处理方法,其特征在于,包括:监听日志文件中心,获取日志文件中心中日志事件;将所述日志事件置于预设日志事件队列;对所述预设日志事件队列中所对应日志目录相同的日志文件修改事件进行去重;处理所述预设日志事件队列中日志事件。

【技术特征摘要】
1.一种日志事件处理方法,其特征在于,包括:监听日志文件中心,获取日志文件中心中日志事件;将所述日志事件置于预设日志事件队列;对所述预设日志事件队列中所对应日志目录相同的日志文件修改事件进行去重;处理所述预设日志事件队列中日志事件。2.如权利要求1所述的日志事件处理方法,其特征在于,获取日志文件中心中日志事件,具体包括:获取位于日志文件中心中预设日志目录范围上的日志事件。3.如权利要求2所述的日志事件处理方法,其特征在于,获取位于日志文件中心中预设日志目录范围上的日志事件,具体包括:对日志文件中心中所有日志目录进行正则表达式配置,获取每个日志目录的正则表达式;在日志文件中心发生日志事件时,获取所述日志事件所在日志目录的正则表达式;判断所获取日志事件所在日志目录的正则表达式与预设日志目录范围的正则表达式是否匹配;若是,获取该日志事件。4.如权利要求1所述的日志事件处理方法,其特征在于,将所述日志事件置于预设日志事件队列,具体包括:根据所述日志事件的获取时间顺序,将所述日志事件置于预设日志事件队列。5.如权利要求1所述的日志事件处理方法,其特征在于,对所述预设日志事件队列中所对应日志目录相同的日志修改事件进行去重,具体包括:仅保留获取时间最早的日志文件修改事件。6.如权利要求1所述的日志事件处理方法,其特征在于,处理所述预设日志事件队列中日志事件,具体包括:逐一处理所述预设日志事件队列中日志事件,并清除已完成处理的日志事件。7.如权利要求1所述的日志事件处理方法,其特征在于,处理所述预设日志事件队列中日志事件,具体包括:在当前处理的日志事件为日志文件修改事件时,判断所述预设日志事件队列中是否存在与当前所处理的日志文件修改事件所对应日志目录相同的预设日志事件;若是,处理所述预设日志事件;若否,处理所述日志文件修改事件;其中,所述预设日志事件为日志目录新增事件、日志目录删除事件、日志文件新增事件及日志文件删除之间中任意一种。8.如权利要求7所述的日志事件处理方法,其特征在于,处理所述日志文件修改事件,具体包括:将所述日志事件队列中日志文件修改事件所对应的日志文件上传至预设服务器。9.如权利要求7所述的日志事件处理方法,其特征在于,处理所述预设日志事件,具体包括:在所述预设日志事件为日志目录增加事件时,将所增加日志目录加入监听;在所述预设日志事件为日志目录删除事件时,取消对所删除日志目录的监听;在所述预设日志事件为日志文件增加事件时,将所述日志文件增加事件对应的日志文件上传至预设服务器;在所述预设日志事件为日志文件删除事件时,直接返回该预设日志事件处
\t理结束。10.如权利要求8或9所述的日志事件处理方法,其特征在于,将所述日志文件上传至预设服务器,具体包括:按块读取所述日志文件中字节数据,得到字节数据块;判断所述字节数据块最后一个字节是否为换行符,若是,将读取到的字节数据上传至服务器,若否,定位字节数据块中距离最后一个字节最近的换行符,将该换行符及该换行符之前的字节数据上传至服务器。11.如权利要求1所述的日志事件处理方法,其特征在于,所述日志事件处理方法还包括:记录日志事件处理进度,具体包括:在当前所处理的日志事件为日志目录增加事件时,将所增加日志目录和日志文件加入至预设内存文件池;在当前所处理的日志事件为日志目录删除事件时,将所删除日志目录从预设内存文件池之中删除;在当前所处理的日志事件为日志文件增加事件时,将所增加日志文件加入至预设内存文件池;在当前所处理的日志事件为日志文件删除事件时,将所删除日志文件从预设内存文件池之中删除;在当前所处理的日志事件为日志文件修改事件时,对预设内存文件池中对应日志文件做更新。12.如权利要求11所述的日志事件处理方法,其特征在于,所述日志事件处理方法还包括:以预设时间间隔,将预设内存文件池中日志目录和日志文件刷入预设磁盘。13.如权利要求1所述的日志事件处理方法,其特征在于,所述日志事件处理方法还包括:在日志事件处理进程重启时,从预设内存文件池获取时间最晚的日志事件;在所述预设日志事件队列中定位与所述预设内存文件池中时间最晚的日志事件相同的日志事件;将所述预设日志事件队列中定位到的日志事件所在位置作为所述重启位置;处理所述预设日志事件队列中日志事件,具体包括:处理所述预设日志事件队列中位于重启位置上的日志事件。14.如权利要求1所述的日志事件处理方法,其特征在于,所述日志事件处理方法还包括:设置进程锁,仅保留启动时间最早的、针对相同预设日志目录范围的日志事件处理进程。15.如权利要求1所述的日志事件处理方法,其特征在于,所述日志事件处理方法还包括:在获取日志事件处理停止请求时,停止获取日志文件中心中日志事件;判断预设日志事件队列中是否还有日志事件,若是,逐一处理...

【专利技术属性】
技术研发人员:初永光倪浩
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1