[发明专利]一种日志文件收集方法及装置有效
申请号: | 201310439349.0 | 申请日: | 2013-09-24 |
公开(公告)号: | CN103473169A | 公开(公告)日: | 2013-12-25 |
发明(设计)人: | 郭敏 | 申请(专利权)人: | 北京京东尚科信息技术有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34;G06F17/30 |
代理公司: | 北京邦信阳专利商标代理有限公司 11012 | 代理人: | 王昭林;金玺 |
地址: | 100080 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 日志 文件 收集 方法 装置 | ||
技术领域
本发明涉及日志文件相关技术领域,特别是一种日志文件收集方法及装置。
背景技术
在统一日志系统的架构设计中,第一个环节就是需要采集成千上万的终端设备发送的日志数据然后汇集到统一的数据转发中心。而不同的终端设备生成的日志文件(用于存储日志数据的文件)的方式不一样,有的使用开源的日志打印框架生成日志(比如:log4j),有的使用他们自定义的工具生成日志等等。不论使用那一种方式生成日志文件,其共同的特点便是:当生成的某个日志文件太大或是在时间上满足某些条件的时候,就把日志文件按相应规则重命名为其它文件,但还是让应用将日志输出到原日志文件。比如某应用使用log4j生成日志文件,生成规则是:按大小切分,每个文件最大10M,并向a.log输出日志,如果a.log文件大于10M时,a.log将被重命名为a.log.1,并且将重新创建一个a.log的文件,应用将继续向a.log输出日志。
当有多个日志文件,如图1所示,原有日志文件为a.log、a.log.1、a.log.2、a.log.3,当发生重命名时,其详细步骤如下:
1)将a.log.3重命名为a.log.4;
2)将a.log.2重命名为a.log.3;
3)将a.log.1重命名为a.log.2;
4)将a.log重命名为a.log.1;
5)创建文件a.log。
由于应用输入到a.log.3、a.log.2、a.log.1、a.log这些日志文件的日志是有时间顺序的,所以要求在采集这些日志内容的时间也能按时间顺序采集。且由于应用输入到日志文件的时间的不确定性,而且要求采集日志的及时性,所以要求在日志文件有变化(即有内容输入)的时候,就能及时响应并将日志采集转发到指定目的地。
现有技术基于监听的方式对日志文件进行收集,当日志文件发生重命名时,以文件名称作为文件区分标识进行收集。
然而,由于日志文件发生重命名是具有偶发性的,因此并不能明确日志文件什么时候会发生重命名,例如:文件超过指定大小会发生重命名、当前系统时间变化可能会发生重命名,或是一些其它原因都有可能令日志文件发生重命名。
如果文件正在被收集的时候发生了重命名,而日志文件采集装置仍然按照原来的日志文件名称进行收集,就可能造成日志内容重复收集或少收集,造成数据不准确。
考虑图1的情况,如果日志文件采集装置正在采集a.log时发生重命名,则a.log已经重命名为a.log.1,然而,日志文件采集装置仍然对a.log进行采集,则此时a.log所包括的日志数据已经被改变,因此,继续对a.log进行采集会造成数据不准确。
发明内容
基于此,有必要针对现有技术对日志文件采集时文件被重命名的情况下,容易导致采集数据不准确的技术问题,提供一种日志文件收集方法及装置。
一种日志文件收集方法,包括:
日志文件查找步骤,选择一个文件摘要,查找所述文件摘要对应的日志文件,执行日志文件匹配步骤,所述文件摘要在日志文件创建时,由日志文件中预设数量的内容所生成;
日志文件匹配步骤,读取所述文件摘要对应的日志文件中预设数量的内容,与所述文件摘要进行比较,如果所述文件摘要对应的日志文件中预设数量的内容与所述文件摘要一致,则执行日志文件读取步骤,否则执行全体日志文件查找步骤;
日志文件读取步骤,读取所述文件摘要对应的日志文件内容并发送到预设的指定位置,执行文件摘要检索步骤;
全体日志文件查找步骤,对所有日志文件进行查找:如果存在预设数量的内容与所述文件摘要一致的日志文件,则将所述预设数量的内容与所述文件摘要一致的日志文件作为所述文件摘要对应的日志文件,执行日志文件匹配步骤;否则丢弃所述文件摘要,执行文件摘要检索步骤;
文件摘要检索步骤,如果还有未选择的文件摘要,则执行所述日志文件查找步骤,否则退出。
一种日志文件收集装置,包括:
日志文件查找模块,用于选择一个文件摘要,查找所述文件摘要对应的日志文件,执行日志文件匹配模块,所述文件摘要在日志文件创建时,由日志文件中预设数量的内容所生成;
日志文件匹配模块,用于读取所述文件摘要对应的日志文件中预设数量的内容,与所述文件摘要进行比较,如果所述文件摘要对应的日志文件中预设数量的内容与所述文件摘要一致,则执行日志文件读取模块,否则执行全体日志文件查找模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司,未经北京京东尚科信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310439349.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:银行款包电子锁及银行款包
- 下一篇:简易种子数粒器