[發明專利]日志采集方法和裝置有效
| 申請號: | 202010127438.1 | 申請日: | 2020-02-28 |
| 公開(公告)號: | CN111240952B | 公開(公告)日: | 2023-07-21 |
| 發明(設計)人: | 劉宇 | 申請(專利權)人: | 北京百度網訊科技有限公司 |
| 主分類號: | G06F11/34 | 分類號: | G06F11/34;G06F16/18;G06F16/17;G06F16/172 |
| 代理公司: | 北京英賽嘉華知識產權代理有限責任公司 11204 | 代理人: | 王達佐;馬曉亞 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 日志 采集 方法 裝置 | ||
本公開的實施例公開了日志采集方法和裝置。該方法的一具體實施方式包括:響應于接收到日志采集請求,觸發按照第一時間間隔更新采集隊列的掃描程序和如下的監聽程序:按照第二時間間隔在所述采集隊列中檢測待采集的日志文件,其中,所述第二時間間隔不同于所述第一時間間隔;響應于檢測到所述待采集的日志文件,按照所述待采集的日志文件在采集隊列中的順序,從所述采集隊列中提取日志文件作為當前采集日志文件;該方法還包括:讀取當前采集日志文件的日志內容。該實施方式通過掃描程序和監聽程序分開進行使采集隊列中待采集的日志文件的寫入和讀取分工協作,掃描程序的時間間隔不會影響采集程序的啟動時機,保證了日志文件的實時采集,實現了日志文件的快速采集工作。
技術領域
本公開的實施例涉及計算機技術領域,具體涉及日志采集方法和裝置。
背景技術
隨著云計算與大數據的發展,在日志服務過程中需要實現日志的采集、聚合與傳輸?,F有技術的日志采集過程是啟動掃描協程對生成的已匹配的文件列表進行掃描更新,并按文件修改時間遍歷文件列表以啟動相應文件的采集協程。通過給日志文件設置退出時間,使采集過程每次只啟動一個采集協程,實現日志文件有序采集。在采集過程中,掃描協程的掃描間隔影響著采集協程的啟動時機,使采集協程的啟動間隔得不到保證,同時如果采集協程的退出時間設置小了會出現實時寫入的文件反復關閉再打開的情況,如果采集協程的退出時間設置大了則會影響待采集文件間的切換速率,降低日志文件處理的效率。
發明內容
本公開的實施例提出了日志采集方法和裝置。
第一方面,本公開的實施例提供了一種日志采集方法,包括:響應于接收到日志采集請求,觸發按照第一時間間隔更新采集隊列的掃描程序和如下的監聽程序:按照第二時間間隔在采集隊列中檢測待采集的日志文件,其中,第二時間間隔不同于第一時間間隔;響應于檢測到待采集的日志文件,按照待采集的日志文件在采集隊列中的順序,從采集隊列中提取日志文件作為當前采集日志文件;該方法還包括:讀取當前采集日志文件的日志內容。
在一些實施例中,按照第一時間間隔更新采集隊列,包括:按照第一時間間隔,獲取日志采集請求對應的日志文件;依據日志采集請求對應的日志文件,判斷采集隊列中是否存在變更;若采集隊列中存在變更且變更為采集隊列中日志文件偏移量的更新,則更新采集隊列中的日志文件的偏移量;若采集隊列中存在變更且變更為采集隊列中日志文件的增加,則將新增的日志文件存入采集隊列隊尾。
在一些實施例中,日志采集請求對應的日志文件包括:創建后內容不再變化的日志文件和創建后內容會變化的日志文件。
在一些實施例中,監聽程序還包括:監聽當前采集日志文件是否停止讀取;若當前采集日志文件已停止讀取,按照待采集的日志文件在采集隊列中的順序,從采集隊列中再次提取日志文件作為當前采集日志文件。
在一些實施例中,讀取當前采集日志文件的日志內容,包括:若讀取到當前采集日志文件的內容為空,判斷當前采集日志文件是否采集完成;若確認當前采集日志文件已采集完成,檢查采集隊列中是否存在除當前采集日志文件以外的其他待采集的日志文件;若采集隊列中存在除當前采集日志文件以外的其他待采集的日志文件,按照設定的退出時間,停止讀取當前采集日志文件并將當前采集日志文件從采集隊列中刪除;若采集隊列中不存在除當前采集日志文件以外的其他待采集的日志文件,在預設的時間范圍內循環讀取當前采集日志文件,直到采集隊列中存在除當前采集日志文件以外的其他待采集的日志文件,停止讀取當前采集日志文件并將當前采集日志文件從采集隊列中刪除。
在一些實施例中,在若采集隊列中不存在除當前采集日志文件以外的其他待采集的日志文件,在預設的時間范圍內循環讀取當前采集日志文件,直到采集隊列中存在除當前采集日志文件以外的其他待采集的日志文件,停止讀取當前采集日志文件并將當前采集日志文件從采集隊列中刪除之后,還包括:若在設定的時間范圍內,采集隊列中不存在除當前采集日志文件以外的其他待采集的日志文件,停止讀取當前采集日志文件并將當前采集日志文件從采集隊列中刪除。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京百度網訊科技有限公司,未經北京百度網訊科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010127438.1/2.html,轉載請聲明來源鉆瓜專利網。





