[发明专利]日志采集方法和装置有效
申请号: | 202010127438.1 | 申请日: | 2020-02-28 |
公开(公告)号: | CN111240952B | 公开(公告)日: | 2023-07-21 |
发明(设计)人: | 刘宇 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34;G06F16/18;G06F16/17;G06F16/172 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 日志 采集 方法 装置 | ||
本公开的实施例公开了日志采集方法和装置。该方法的一具体实施方式包括:响应于接收到日志采集请求,触发按照第一时间间隔更新采集队列的扫描程序和如下的监听程序:按照第二时间间隔在所述采集队列中检测待采集的日志文件,其中,所述第二时间间隔不同于所述第一时间间隔;响应于检测到所述待采集的日志文件,按照所述待采集的日志文件在采集队列中的顺序,从所述采集队列中提取日志文件作为当前采集日志文件;该方法还包括:读取当前采集日志文件的日志内容。该实施方式通过扫描程序和监听程序分开进行使采集队列中待采集的日志文件的写入和读取分工协作,扫描程序的时间间隔不会影响采集程序的启动时机,保证了日志文件的实时采集,实现了日志文件的快速采集工作。
技术领域
本公开的实施例涉及计算机技术领域,具体涉及日志采集方法和装置。
背景技术
随着云计算与大数据的发展,在日志服务过程中需要实现日志的采集、聚合与传输。现有技术的日志采集过程是启动扫描协程对生成的已匹配的文件列表进行扫描更新,并按文件修改时间遍历文件列表以启动相应文件的采集协程。通过给日志文件设置退出时间,使采集过程每次只启动一个采集协程,实现日志文件有序采集。在采集过程中,扫描协程的扫描间隔影响着采集协程的启动时机,使采集协程的启动间隔得不到保证,同时如果采集协程的退出时间设置小了会出现实时写入的文件反复关闭再打开的情况,如果采集协程的退出时间设置大了则会影响待采集文件间的切换速率,降低日志文件处理的效率。
发明内容
本公开的实施例提出了日志采集方法和装置。
第一方面,本公开的实施例提供了一种日志采集方法,包括:响应于接收到日志采集请求,触发按照第一时间间隔更新采集队列的扫描程序和如下的监听程序:按照第二时间间隔在采集队列中检测待采集的日志文件,其中,第二时间间隔不同于第一时间间隔;响应于检测到待采集的日志文件,按照待采集的日志文件在采集队列中的顺序,从采集队列中提取日志文件作为当前采集日志文件;该方法还包括:读取当前采集日志文件的日志内容。
在一些实施例中,按照第一时间间隔更新采集队列,包括:按照第一时间间隔,获取日志采集请求对应的日志文件;依据日志采集请求对应的日志文件,判断采集队列中是否存在变更;若采集队列中存在变更且变更为采集队列中日志文件偏移量的更新,则更新采集队列中的日志文件的偏移量;若采集队列中存在变更且变更为采集队列中日志文件的增加,则将新增的日志文件存入采集队列队尾。
在一些实施例中,日志采集请求对应的日志文件包括:创建后内容不再变化的日志文件和创建后内容会变化的日志文件。
在一些实施例中,监听程序还包括:监听当前采集日志文件是否停止读取;若当前采集日志文件已停止读取,按照待采集的日志文件在采集队列中的顺序,从采集队列中再次提取日志文件作为当前采集日志文件。
在一些实施例中,读取当前采集日志文件的日志内容,包括:若读取到当前采集日志文件的内容为空,判断当前采集日志文件是否采集完成;若确认当前采集日志文件已采集完成,检查采集队列中是否存在除当前采集日志文件以外的其他待采集的日志文件;若采集队列中存在除当前采集日志文件以外的其他待采集的日志文件,按照设定的退出时间,停止读取当前采集日志文件并将当前采集日志文件从采集队列中删除;若采集队列中不存在除当前采集日志文件以外的其他待采集的日志文件,在预设的时间范围内循环读取当前采集日志文件,直到采集队列中存在除当前采集日志文件以外的其他待采集的日志文件,停止读取当前采集日志文件并将当前采集日志文件从采集队列中删除。
在一些实施例中,在若采集队列中不存在除当前采集日志文件以外的其他待采集的日志文件,在预设的时间范围内循环读取当前采集日志文件,直到采集队列中存在除当前采集日志文件以外的其他待采集的日志文件,停止读取当前采集日志文件并将当前采集日志文件从采集队列中删除之后,还包括:若在设定的时间范围内,采集队列中不存在除当前采集日志文件以外的其他待采集的日志文件,停止读取当前采集日志文件并将当前采集日志文件从采集队列中删除。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010127438.1/2.html,转载请声明来源钻瓜专利网。