[發明專利]日志文件合并方法、系統、設備及介質在審
| 申請號: | 202110195748.1 | 申請日: | 2021-02-19 |
| 公開(公告)號: | CN112905555A | 公開(公告)日: | 2021-06-04 |
| 發明(設計)人: | 馬聰 | 申請(專利權)人: | 廣東云智安信科技有限公司 |
| 主分類號: | G06F16/18 | 分類號: | G06F16/18;G06F16/16;G06F16/13;G06F16/182 |
| 代理公司: | 北京捷誠信通專利事務所(普通合伙) 11221 | 代理人: | 萬善書 |
| 地址: | 510000 廣東省廣州市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 日志 文件 合并 方法 系統 設備 介質 | ||
本發明公開了一種日志文件合并方法、系統、設備及介質。日志文件合并方法,包括:掃描待處理目錄下的所有文件,若掃描到新的文件,對該文件進行預處理;將預處理后的文件數據按類型和時間段寫入到不同目錄下的新建文件;在目錄下新建合并線程,將新建文件合并,并將合并后的文件上傳到hdfs上。日志文件合并系統,包括:掃描預處理模塊;目錄寫入模塊;合并上傳模塊。本發明還進一步提供了一種日志文件合并設備及介質。
技術領域
本發明涉及計算機技術領域,特別是涉及一種日志文件合并方法、系統、設備及介質。
背景技術
在大數據處理中,比較流行通過ftp服務收集各個節點的海量日志文件,來作為數據源。這些日志文件的大小一般比較隨機,可能比較大,也可能比較小。大數據中,一般是將這些日志數據以文件的形式存儲在hdfs上,來提供給后續的業務處理。如果直接將這些大小隨機的日志文件存儲到hdfs上,不僅會極大的占用hdfs集群中NameNode節點的內存空間,而且會嚴重影響后期MR任務的處理效率。
通過ftp上傳日志文件,一般是有固定時間周期的。為了保證數據的實時性,同時又不至于上傳次數太多,一般是1分鐘上傳一次這一分鐘內的日志文件。而一分鐘內,日志的條數也不是穩定的,所以日志文件大小會時大時小。另外,日志文件不會是單一類型,會有多種類型。大數據處理時,同類型的數據,對應相同的業務處理邏輯;不同類型的數據,對應不同類型的業務處理邏輯。
綜合上面內容,可以看出日志文件的兩個特性,類型繁雜且大小不一,但是為了方便設計大數據業務處理邏輯和處理效率。需要將日志按類型的不同,抽取合并到一起,同時,最終的文件大小有需要對齊hdfs的塊大小。
所以,高效地將若干個日志文件合并成固定大小的文件,在大數據處理中是非常有現實價值的方式。
發明內容
基于此,本發明的目的在于,提供一種日志文件合并方法、系統、設備及介質。
第一方面,本發明提供一種日志文件合并方法,包括:
掃描待處理目錄下的所有文件,若掃描到新的文件,對該文件進行預處理;
將預處理后的文件數據按類型和時間段寫入到不同目錄下的新建文件;
在目錄下新建合并線程,將新建文件合并,并將合并后的文件上傳到hdfs上。
上述技術方案在一種實施方式中,所述掃描待處理目錄下的所有文件,包括:利用Files.walkFileTree對整個ftp根目錄下所有文件進行掃描。
上述技術方案在一種實施方式中,所述若掃描到新的文件,對該文件進行預處理,包括:若當某一目錄下出現新的文件且在hashset中查詢不到當前目錄,則創建線程合并當前目錄下的文件。
上述技術方案在一種實施方式中,所述創建線程,包括:線程創建時,在hashset中寫入當前目錄。
上述技術方案在一種實施方式中,所述線程創建前,檢測hashset中是否存放此目錄,若不存在此目錄,則創建線程。
上述技術方案在一種實施方式中,所述將新建文件合并,包括:將合并后的文件寫入到merging目錄下,當文件大小達到255M時,將文件移動到merged目錄。
上述技術方案在一種實施方式中,所述將合并后的文件上傳到hdfs上,包括:當前目錄下文件合并完成后,當文件大小達到255M時,將合并后的文件上傳到hdfs上,在hashset中刪除當前目錄,然后退出當前線程。
第二方面,本發明提供一種日志文件合并系統,包括:
掃描預處理模塊,配置用于掃描待處理目錄下的所有文件,若掃描到新的文件,對該文件進行預處理;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣東云智安信科技有限公司,未經廣東云智安信科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110195748.1/2.html,轉載請聲明來源鉆瓜專利網。





