CN106294351A - 日志事件处理方法和装置 - Google Patents

日志事件处理方法和装置 Download PDF

Info

Publication number
CN106294351A
CN106294351A CN201510243117.7A CN201510243117A CN106294351A CN 106294351 A CN106294351 A CN 106294351A CN 201510243117 A CN201510243117 A CN 201510243117A CN 106294351 A CN106294351 A CN 106294351A
Authority
CN
China
Prior art keywords
event
log
log event
journal file
default
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
Application number
CN201510243117.7A
Other languages
English (en)
Inventor
初永光
倪浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510243117.7A priority Critical patent/CN106294351A/zh
Priority to PCT/CN2016/081069 priority patent/WO2016180265A1/zh
Publication of CN106294351A publication Critical patent/CN106294351A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种日志事件处理方法和应用该方法的处理装置,该日志事件处理方法,包括:监听日志文件中心,获取日志文件中心中日志事件;将所述日志事件置于预设日志事件队列;对所述预设日志事件队列中所对应日志目录相同的日志文件修改事件进行去重;处理所述预设日志事件队列中日志事件。该日志事件处理方法和装置通过对日志文件修改事件进行去重,降低了该日志文件被重复处理的几率,节约了日志文件的处理资源。同时,控制了预设日志事件队列中待处理日志事件的数量,降低了日志事件的处理耗时,提高了日志文件的处理效率。

Description

日志事件处理方法和装置
技术领域
本申请涉互联网技术领域,尤其涉及一种日志事件处理方法和装置。
背景技术
随着互联网技术的快速发展,用户操作互联网设备所产生的访问日志或***日志也成爆发式增长。如何统计、分析这些日志信息,从这些日志信息中提取有效的用户行为信息,进而提高用户体验已经成为了业内的关注点。
在对日志信息进行统计、分析前,首先需从日志文件中心获取访问日志或***日志文件。现有技术中,一般通过对日志文件中心进行周期性轮询的方式来得到所需的日志文件,再将每次轮询所得日志文件进行处理。其中,每次轮询均包括如下步骤:在日志文件中心中所有日志目录进行逐一筛查,若有子目录中日志文件增加或被修改,则将该日志文件上传至日志文件处理队列。
然而,在实现本申请过程中,现有技术中至少存在如下问题:
随着互联网技术的快速发展,每次轮询所上传日志文件处理队列的日志文件的数量越来越大,受限于当前对日志文件的处理能力,难以在一个轮询周期内完成对日志文件处理队列中所有日志文件的处理。若同一日志文件发生多次修改,则该日志文件在轮询过程中均会被重复上传至日志文件处理队列,后续对这些重复的日志文件的处理,浪费的日志文件的处理资源并增加了日志文件的处理耗时。
发明内容
本申请实施例的目的在于提供一种日志事件处理方法和装置,节约了日志文件处理资源的利用率并降低了处理耗时。
本申请实施例提供一种日志事件处理方法,其包括:
监听日志文件中心,获取日志文件中心中日志事件;
将所述日志事件置于预设日志事件队列;
对所述预设日志事件队列中所对应日志目录相同的日志文件修改事件进行去重;
处理所述预设日志事件队列中日志事件。
本申请实施例还提供一种日志事件处理装置,其包括:
事件监听模块,监听日志文件中心,获取日志文件中心中日志事件;
事件安置模块,将所述日志事件置于预设日志事件队列;
队列去重模块,对所述预设日志事件队列中所对应日志目录相同的日志文件修改事件进行去重;
队列处理模块,处理所述预设日志事件队列中日志事件。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过对日志文件修改事件进行去重,降低了该日志文件被重复处理的几率,节约了日志文件的处理资源。同时,控制了预设日志事件队列中待处理日志事件的数量,降低了日志事件的处理耗时,提高了日志文件的处理效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图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具体包括如下步骤。
S41、获取预设日志事件队列中一日志事件。
S42、在所获取日志事件为日志文件修改事件时,判断预设日志事件队列中是否存在与当前所处理的日志文件修改事件所对应日志目录相同的预设日志事件,若是,执行步骤S43,若否,执行步骤S44。
其中,预设日志事件为日志目录新增事件、日志目录删除事件、日志文件新增事件及日志文件删除之间中任意一种。
S43、处理预设日志事件。
S44、处理日志文件修改事件。
其中,处理日志文件修改事件具体包括:将日志文件修改事件或日志文件增加事件所对应的日志文件上传至预设服务器。
本申请实施例中,步骤S43具体包括如下步骤:
在预设日志事件为日志目录增加事件时,将所增加日志目录加入监听;
在预设日志事件为日志目录删除事件时,取消对所删除日志目录的监听;
在预设日志事件为日志文件增加事件时,将日志文件增加事件对应的日志文件上传至预设服务器;
在预设日志事件为日志文件删除事件时,直接返回该预设日志事件处理结束。
本申请实施例中,通过设定预设日志事件,并将该预设日志事件的优先级设定高于日志文件修改事件,每次在处理日志文件修改事件时,均判断是否有相同该日志目录的预设日志事件存在,优先处理预设日志事件。
优先处理预设日志事件的设定,对于日志文件中心的监听效率有较大提升。以预设日志事件为日志目录删除事件为例,处理该日志目录删除事件能够限缩对于日志文件中心的监听范围,实现动态调整预设日志目录范围,避免被删除的日志目录仍处于预设日志目录范围之中,造成预设日志目录范围的监视资源浪费;当然,处理日志目录新增事件时,也能及时获取所增加日志目录上的日志文件。
参图5所示,本申请实施例中,该步骤S43和S44中将日志文件上传至预设服务器具体包括如下步骤。
S441、按块读取日志文件中字节数据,得到字节数据块。
S442、判断字节数据块最后一个字节是否为换行符,若是,执行步骤S443,若否,执行步骤S444。
S443、将读取到的字节数据上传至服务器。
S444、定位字节数据块中距离最后一个字节最近的换行符,将该换行符及该换行符之前的字节数据上传至服务器。
随着互联网技术的快速发展,日志文件越来越大,通过按块读取日志文件,能够大幅提高日志文件的上传效率。
当然,本申请其他实施例中,还可通过按行读取的方式来读取日志文件,在此不做赘述。
本申请实施例中,日志事件处理方法还包括位于步骤S4之后的将日志事件的处理进度保存至预设内存文件池的步骤,具体如下。
在当前所处理的当前所处理的日志事件为日志目录增加事件时,将所增加日志目录和日志文件加入至预设内存文件池。
在当前所处理的日志事件为日志目录删除事件时,将所删除日志目录从预设内存文件池之中删除。
在当前所处理的日志事件为日志文件增加事件时,将所增加日志文件加入至预设内存文件池。
在当前所处理的日志事件为日志文件删除事件时,将所删除日志文件从预设内存文件池之中删除。
在当前所处理的日志事件为日志文件修改事件时,按照日志文件的上传至预设服务器的进度,对预设内存文件池中对应日志文件做更新。
通过预设内存文件池来记录日志事件的处理进度,使得在日志事件处理程序出现异常时,能够根据内存文件池中日志事件存档记录,明确日志事件处理发生异常时,在预设日志事件队列中的处理进度。
本申请实施例中,日志事件处理方法还包括:以预设时间间隔,将预设内存文件池中日志目录和日志文件刷入预设磁盘。
本申请实施例中,预设文件池位于计算机设备的缓存层内,该缓存层即进行数据交互的缓冲区Cache,初期利用缓冲区Cache的高速访问特性,大幅提高了将日志目录和日志文件存储至预设内存文件池的效率;后续将敏感信息和信息标识保存至该可掉电式存储的磁盘之中,提高了日志目录和日志文件存储的稳定性。
参图6所示,本申请实施例中,日志事件处理方法还包括对日志事件处理进程设置进程锁,具体包括如下步骤。
S51、获取日志事件处理请求。
S52、,判断是否已启动针对相同预设日志目录范围的日志事件处理进程,若是,执行步骤S53,若否,执行步骤S54。
当然,若日志处理仅仅针对日志文件中心,则直接判断是否针对该日志文件中心的日志事件处理进程是否已存在即可,在此不做赘述。
S53、启动该新获取的日志事件处理进程。
S54、仅保留启动时间最早的、针对相同预设日志目录范围的日志事件处理进程。
通过对日志事件处理进程设置进程锁,避免多个日志事件处理进程对同一个预设日志目录范围内日志事件进行处理,保证日志事件处理不会重复,避免日志事件处理结果的紊乱。
参图7所示,本申请实施例中,日志事件处理方法还包括日志事件处理异常后的重启步骤,具体如下。
S71、在日志事件处理进程重启时,从预设内存文件池获取时间最晚的日志事件。
S72、在预设日志事件队列中定位与预设内存文件池中时间最晚的日志事件相同的日志事件。
S73、将预设日志事件队列中定位到的日志事件所在位置作为重启位置。
由于预设内存文件池实时更新预设日志事件队列中日志事件的处理进度,并以时间先后顺序将该日志事件存储至预设内存文件池之中,预设内存文件池获取时间最晚的日志事件即为日志事件队列处理异常时所处理的日志事件。
通过预设内存文件池即可明确之前日志事件处理异常时所针对的日志事件,在此基础上重启日志事件处理步骤,能够大幅提高预设日志事件队列中日志事件的处理效率。
参图8所示,本申请实施例中,日志事件处理方法还包括停止日志事件处理时对剩余日志事件进行处理的步骤,具体如下。
S81、在获取日志事件处理停止请求时,停止获取日志文件中心中日志事件。
S82、判断预设日志事件队列中是否还有日志事件,若是,继续执行步骤S4,若否,执行步骤S83。
S83、返回请求者日志事件处理已停止。
在有停止日志事件处理进程时,预先停止获取新的日志事件,仍然会将预设日志事件队列中剩余日志事件处理完毕,避免日志事件被搁置过久,导致其所体现用户行为信息无法被及时获悉而造成用户体验提升效果较差。
图9为本申请实施例中日志事件处理装置的结构示意图,该处理装置是基于以上处理方法,故该装置的具体细节可参照以上处理方法,本文不再予以赘述。
前述日志事件处理装置30,包括:
事件监听模块31,监听日志文件中心,获取日志文件中心中日志事件;
事件安置模块32,将日志事件置于预设日志事件队列;
队列去重模块33,对预设日志事件队列中所对应日志目录相同的日志文件修改事件进行去重;
队列处理模块34,处理预设日志事件队列中日志事件。
本申请实施例中,事件监听模块31,具体用于:
获取位于日志文件中心中预设日志目录范围上的日志事件。
本申请实施例中,事件监听模块31,具体用于:
对日志文件中心中所有日志目录进行正则表达式配置,获取每个日志目录的正则表达式;
在日志文件中心发生日志事件时,获取日志事件所在日志目录的正则表达式;
判断所获取日志事件所在日志目录的正则表达式与预设日志目录范围的正则表达式是否匹配;
若是,获取该日志事件。
本申请实施例中,事件安置模块32,具体用于:
根据日志事件的获取时间顺序,将日志事件置于预设日志事件队列。
本申请实施例中,队列去重模块33,具体用于:
仅保留获取时间最早的日志文件修改事件。
本申请实施例中,队列处理模块34,具体用于:
逐一处理预设日志事件队列中日志事件,并清除已完成处理的日志事件。
本申请实施例中,队列处理模块34,具体用于:
在当前处理的日志事件为日志文件修改事件时,判断预设日志事件队列中是否存在与当前所处理的日志文件修改事件所对应日志目录相同的预设日志事件;
若是,处理预设日志事件;
若否,处理日志文件修改事件;
其中,预设日志事件为日志目录新增事件、日志目录删除事件、日志文件新增事件及日志文件删除之间中任意一种。
本申请实施例中,队列处理模块34,具体用于:
将日志事件队列中日志文件修改事件所对应的日志文件上传至预设服务器。
本申请实施例中,队列处理模块34,具体用于:
在预设日志事件为日志目录增加事件时,将所增加日志目录加入监听;
在预设日志事件为日志目录删除事件时,取消对所删除日志目录的监听;
在预设日志事件为日志文件增加事件时,将日志文件增加事件对应的日志文件上传至预设服务器;
在预设日志事件为日志文件删除事件时,直接返回该预设日志事件处理结束。
本申请实施例中,队列处理模块34,具体用于:
按块读取日志文件中字节数据,得到字节数据块;
判断字节数据块最后一个字节是否为换行符,若是,将读取到的字节数据上传至服务器,若否,定位字节数据块中距离最后一个字节最近的换行符,将该换行符及该换行符之前的字节数据上传至服务器。
本申请实施例中,日志事件处理装置还包括进度记录模块,具体用于:
在当前所处理的日志事件为日志目录增加事件时,将所增加日志目录和日志文件加入至预设内存文件池;
在当前所处理的日志事件为日志目录删除事件时,将所删除日志目录从预设内存文件池之中删除;
在当前所处理的日志事件为日志文件增加事件时,将所增加日志文件加入至预设内存文件池;
在当前所处理的日志事件为日志文件删除事件时,将所删除日志文件从预设内存文件池之中删除;
在当前所处理的日志事件为日志文件修改事件时,对预设内存文件池中对应日志文件做更新。
本申请实施例中,进度记录模块,还用于:
以预设时间间隔,将预设内存文件池中日志目录和日志文件刷入预设磁盘。
本申请实施例中,日志事件处理装置还包括进程重启模块,具体用于:
在日志事件处理进程重启时,从预设内存文件池获取时间最晚的日志事件;
在预设日志事件队列中定位与预设内存文件池中时间最晚的日志事件相同的日志事件;
将预设日志事件队列中定位到的日志事件所在位置作为重启位置;
队列处理模块34,具体用于:
处理预设日志事件队列中位于重启位置上的日志事件。
本申请实施例中,日志事件处理装置还包括进程锁定模块,具体用于:
设置进程锁,仅保留启动时间最早的、针对相同预设日志目录范围的日志事件处理进程。
本申请实施例中,日志事件处理装置还包括中断处理模块,具体用于:
在获取日志事件处理停止请求时,停止获取日志文件中心中日志事件;
判断预设日志事件队列中是否还有日志事件,若是,逐一处理预设日志事件队列中日志事件。
本申请实施例中的日志处理装置30,通过对日志文件修改事件进行去重,降低了该日志文件被重复处理的几率,节约了日志文件的处理资源。同时,控制了预设日志事件队列中待处理日志事件的数量,降低了日志事件的处理耗时,提高了日志文件的处理效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(FlashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (30)

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

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510243117.7A CN106294351A (zh) 2015-05-13 2015-05-13 日志事件处理方法和装置
PCT/CN2016/081069 WO2016180265A1 (zh) 2015-05-13 2016-05-05 日志事件处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510243117.7A CN106294351A (zh) 2015-05-13 2015-05-13 日志事件处理方法和装置

Publications (1)

Publication Number Publication Date
CN106294351A true CN106294351A (zh) 2017-01-04

Family

ID=57248568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510243117.7A Pending CN106294351A (zh) 2015-05-13 2015-05-13 日志事件处理方法和装置

Country Status (2)

Country Link
CN (1) CN106294351A (zh)
WO (1) WO2016180265A1 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874160A (zh) * 2017-01-23 2017-06-20 上海斐讯数据通信技术有限公司 日志服务器及其管理方法
CN107832406A (zh) * 2017-11-03 2018-03-23 北京锐安科技有限公司 海量日志数据的去重入库方法、装置、设备及存储介质
CN108012031A (zh) * 2017-11-30 2018-05-08 努比亚技术有限公司 移动终端重启定位方法、移动终端及计算机可读存储介质
CN108108257A (zh) * 2017-12-28 2018-06-01 努比亚技术有限公司 基于mdss的重启定位方法、移动终端及可读存储介质
CN108182133A (zh) * 2017-12-28 2018-06-19 努比亚技术有限公司 移动终端重启定位方法、移动终端及计算机可读存储介质
CN108733546A (zh) * 2018-04-02 2018-11-02 阿里巴巴集团控股有限公司 一种日志采集方法、装置及设备
CN108763454A (zh) * 2018-05-28 2018-11-06 郑州云海信息技术有限公司 分布式文件***日志更新方法、***、装置及存储介质
CN108923967A (zh) * 2018-06-27 2018-11-30 平安科技(深圳)有限公司 一种去重流量记录方法、装置、服务器及存储介质
CN109165057A (zh) * 2017-06-28 2019-01-08 华为技术有限公司 一种智能设备执行任务的方法和装置
CN109508446A (zh) * 2017-09-14 2019-03-22 北京国双科技有限公司 一种日志处理方法和装置
CN109739738A (zh) * 2018-12-26 2019-05-10 深圳市网心科技有限公司 基于html5的事件日志管理方法、***及相关装置
US11595249B2 (en) 2020-06-30 2023-02-28 Hewlett Packard Enterprise Development Lp Adaptive time window-based log message deduplication

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106919499B (zh) * 2017-02-27 2021-06-11 郑州云海信息技术有限公司 一种采集日志消息的方法和装置
CN108388478B (zh) * 2018-02-07 2020-10-27 平安普惠企业管理有限公司 日志数据处理方法和***
GB2570925B (en) 2018-02-12 2021-07-07 Edwards Ltd Reinforced vacuum system component
CN109460389B (zh) * 2018-11-29 2021-08-06 四川长虹电器股份有限公司 一种基于openresty的日志记录方法
CN112579639A (zh) * 2019-09-29 2021-03-30 北京国双科技有限公司 数据处理方法、装置、电子设备及存储介质
CN111124830B (zh) * 2019-12-24 2024-01-19 个体化细胞治疗技术国家地方联合工程实验室(深圳) 一种微服务的监控方法及装置
CN114257502B (zh) * 2020-09-21 2023-08-22 华为终端有限公司 一种日志上报方法及装置
CN112306980A (zh) * 2020-10-30 2021-02-02 深圳市元征科技股份有限公司 日志处理方法及终端设备
CN115269531B (zh) * 2022-09-29 2023-01-31 杭州玳数科技有限公司 一种基于akka框架的云原生日志收集方法和***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080126441A1 (en) * 2006-08-04 2008-05-29 Dominic Giampaolo Event notification management
CN101833489A (zh) * 2010-05-06 2010-09-15 北京邮电大学 一种文件实时监控和智能备份的方法
CN102810073A (zh) * 2012-06-13 2012-12-05 天津大学 数据后台实时监控处理方法
CN102946411A (zh) * 2012-10-15 2013-02-27 北京奇虎科技有限公司 网络同步***
CN102946410A (zh) * 2012-10-15 2013-02-27 北京奇虎科技有限公司 网络同步方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101370032B (zh) * 2008-09-09 2011-08-10 中兴通讯股份有限公司 数据同步中的修改日志维护方法和装置
CN101763421A (zh) * 2009-12-24 2010-06-30 山东中创软件商用中间件股份有限公司 一种文件同步方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080126441A1 (en) * 2006-08-04 2008-05-29 Dominic Giampaolo Event notification management
CN101833489A (zh) * 2010-05-06 2010-09-15 北京邮电大学 一种文件实时监控和智能备份的方法
CN102810073A (zh) * 2012-06-13 2012-12-05 天津大学 数据后台实时监控处理方法
CN102946411A (zh) * 2012-10-15 2013-02-27 北京奇虎科技有限公司 网络同步***
CN102946410A (zh) * 2012-10-15 2013-02-27 北京奇虎科技有限公司 网络同步方法和装置

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874160A (zh) * 2017-01-23 2017-06-20 上海斐讯数据通信技术有限公司 日志服务器及其管理方法
CN109165057A (zh) * 2017-06-28 2019-01-08 华为技术有限公司 一种智能设备执行任务的方法和装置
CN109165057B (zh) * 2017-06-28 2021-03-30 华为技术有限公司 一种智能设备执行任务的方法和装置
CN109508446A (zh) * 2017-09-14 2019-03-22 北京国双科技有限公司 一种日志处理方法和装置
CN107832406B (zh) * 2017-11-03 2020-09-11 北京锐安科技有限公司 海量日志数据的去重入库方法、装置、设备及存储介质
CN107832406A (zh) * 2017-11-03 2018-03-23 北京锐安科技有限公司 海量日志数据的去重入库方法、装置、设备及存储介质
CN108012031A (zh) * 2017-11-30 2018-05-08 努比亚技术有限公司 移动终端重启定位方法、移动终端及计算机可读存储介质
CN108012031B (zh) * 2017-11-30 2021-03-26 努比亚技术有限公司 移动终端重启定位方法、移动终端及计算机可读存储介质
CN108182133A (zh) * 2017-12-28 2018-06-19 努比亚技术有限公司 移动终端重启定位方法、移动终端及计算机可读存储介质
CN108108257A (zh) * 2017-12-28 2018-06-01 努比亚技术有限公司 基于mdss的重启定位方法、移动终端及可读存储介质
CN108182133B (zh) * 2017-12-28 2022-01-14 努比亚技术有限公司 移动终端重启定位方法、移动终端及计算机可读存储介质
CN108733546A (zh) * 2018-04-02 2018-11-02 阿里巴巴集团控股有限公司 一种日志采集方法、装置及设备
CN108763454A (zh) * 2018-05-28 2018-11-06 郑州云海信息技术有限公司 分布式文件***日志更新方法、***、装置及存储介质
WO2020000742A1 (zh) * 2018-06-27 2020-01-02 平安科技(深圳)有限公司 一种去重流量记录方法、装置、服务器及存储介质
CN108923967A (zh) * 2018-06-27 2018-11-30 平安科技(深圳)有限公司 一种去重流量记录方法、装置、服务器及存储介质
CN108923967B (zh) * 2018-06-27 2021-07-02 平安科技(深圳)有限公司 一种去重流量记录方法、装置、服务器及存储介质
CN109739738A (zh) * 2018-12-26 2019-05-10 深圳市网心科技有限公司 基于html5的事件日志管理方法、***及相关装置
US11595249B2 (en) 2020-06-30 2023-02-28 Hewlett Packard Enterprise Development Lp Adaptive time window-based log message deduplication
US11855837B2 (en) 2020-06-30 2023-12-26 Hewlett Packard Enterprise Development Lp Adaptive time window-based log message deduplication

Also Published As

Publication number Publication date
WO2016180265A1 (zh) 2016-11-17

Similar Documents

Publication Publication Date Title
CN106294351A (zh) 日志事件处理方法和装置
US9311326B2 (en) Virtual file system for automated data replication and review
US8555018B1 (en) Techniques for storing data
CN104142844A (zh) 一种清理移动终端进程的方法及装置
CN105955843B (zh) 一种用于数据库恢复的方法与设备
CN107229649B (zh) 数据更新***及方法
JP2020107347A (ja) ファイルパスを記憶し、ローカルファイルにアクセスする方法及び装置
CN107844402A (zh) 一种基于超融合存储***的资源监控方法、装置及终端
CN103677978A (zh) 一种对进程进行保护的方法和电子设备
CN109213824B (zh) 数据抓取***、方法和装置
CN116450287A (zh) 业务容器存储容量的管理方法、装置、设备及可读介质
CN106657182A (zh) 云端文件处理方法和装置
JP2004110290A (ja) データストレージシステム
CN112559118A (zh) 应用数据迁移方法、装置、电子设备及存储介质
CN115952238A (zh) 一种数据同步的方法及装置
US10712951B2 (en) System and method for backing up social network data
CN112597112B (zh) 数据处理方法及装置、电子设备和存储介质
CN115080309A (zh) 数据备份***、方法、存储介质以及电子设备
WO2016141700A1 (zh) 一种实现参数配置的方法和装置
US11531642B2 (en) Synchronous object placement for information lifecycle management
KR102008827B1 (ko) 케이블 데이터 관리 서비스 제공 시스템 및 방법, 상기 방법을 수행하기 위한 기록 매체
CN110011832B (zh) 一种计划任务的配置下发方法及装置
CN106909832A (zh) 一种应用程序的安装方法及装置
WO2019179050A1 (zh) 录音记录管控方法、***、计算机设备和存储介质
CN111563064A (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: 20170104