日志存儲管理方法及系統的制作方法
【專利摘要】本發明公開了一種日志存儲管理方法及系統,本發明首先將日志按照預定格式進行格式化,之后將格式化的日志線存入緩存,并在緩存中的日志滿足預定條件后,將緩存中的日志存儲到硬盤的文件中,相較傳統的數據庫存儲日志的方法,能夠將不同格式的日志統一按照預定格式保存在文件中,從而能夠有效的管理和存儲海量日志,避免查詢困難的技術問題。同時本發明將日志存儲做為獨立的一個模塊,修改和擴展起來方便快捷。
【專利說明】
曰志存儲管理方法及系統
技術領域
[0001 ]本發明涉及日志管理領域,更具體涉及一種日志存儲管理方法及系統。
【背景技術】
[0002]自信息時代以來,網絡安全越來越受到重視,日志做為網絡行為的文字記錄方式,對網絡安全行為的分析和判斷十分重要。而隨著互聯網技術的不斷發展,網絡攻擊在增加,安全防護功能也在完善,需要的記錄日志大幅度增加,尤其是大數據的興起,更加需要海量行為日志的支持。
[0003]目前日志存儲和管理技術大部分依賴于數據庫存儲和查詢,例如使用mongodb,mysql等。利用數據庫存儲管理日志雖然查詢起來比較便利,但是對于存儲空間十分有限的數據庫來說,日志的產生量是巨大的,使用數據庫存儲就會造成得不償失,數據庫查詢將是性能的一個瓶頸。且使用數據庫存儲日志一般來說需要統一的存儲格式和讀取方法,不易于日志的統一管理。
【發明內容】
[0004](一)要解決的技術問題
[0005]本發明要解決的技術問題是如何有效存儲和管理海量的網絡日志。
[0006](二)技術方案
[0007]為了解決上述技術問題,本發明提供了一種日志存儲管理方法,所述方法包括以下步驟:
[0008]接收日志并將日志按照預定格式進行格式化;
[0009]將格式化的日志線存入緩存,并在緩存中的日志滿足預定條件后,將緩存中的日志存儲到硬盤的文件中。
[0010]優選地,所述方法還包括以下步驟:
[0011 ]定時獲取硬盤中所述文件占用的空間;
[0012]判斷所述文件占用的空間是否大于預定空間,在所述文件占用的空間大于所述預定空間時,產生警報并根據文件保留期限清除過期的文件;在所述文件占用的空間不大于所述預定空間時,根據文件保留期限清除過期的文件。
[0013]優選地,所述根據文件保留期限清除過期的文件包括以下步驟:
[0014]設定所述文件保留期限;
[0015]遍歷硬盤中的所述文件,對于每個正在遍歷的所述文件,根據其創建時間判斷其存在時間是否超過所述文件保留期限,若是則清除該文件。
[0016]優選地,所述預定格式包括若干個公共字段以及對應于日志內容的若干非公共個字段,其中所述公共字段包括日期。
[0017]優選地,將日志進行所述格式化之后,并且在存入所述緩存之前,所述方法還包括以下步驟:
[0018]判斷是否需要對格式化的日志進行加密,若需要,則對格式化的日志進行加密。
[0019]優選地,所述預定條件為緩存區已滿或緩存超時。
[0020]優選地,所述將緩存中的日志存儲到硬盤的文件中包括以下步驟:
[0021]獲取當前要存入的文件的時間戳,并根據所述時間戳判斷當前要存入的文件的創建時間是否超過預定時間,若當前要存入的文件的創建時間超過預定時間則創建新的文件,并將緩存中的日志存入新的文件中;
[0022]若當前要存入的文件的創建時間不超過所述預定時間,則獲取當前要存入的文件中日志的數量;
[0023]判斷當前要存入的文件中日志的數量是否大于預定數量,若是則刪除當前要存入的文件中部分的日志,否則將緩存中的日志存入當前要存入的文件中。
[0024]對應于上述方法本發明還公開了一種日志存儲管理系統,所述系統包括日志處理輸出模塊、日志存儲模塊以及硬盤;
[0025]所述日志處理輸出模塊用于接收日志并將日志按照預定格式進行格式化;
[0026]所述日志存儲模塊用于將格式化的日志線存入緩存,并在緩存中的日志滿足預定條件后,將緩存中的日志存儲到所述硬盤的文件中。
[0027]優選地,所述系統還包括日志管理模塊;
[0028]所述日志管理模塊用于定時獲取硬盤中所述文件占用的空間;判斷所述文件占用的空間是否大于預定空間,在所述文件占用的空間大于所述預定空間時,產生警報并根據文件保留期限清除過期的文件;在所述文件占用的空間不大于所述預定空間時,根據文件保留期限清除過期的文件。
[0029]優選地,所述預定格式包括若干個公共字段以及對應于日志內容的若干非公共個字段,其中所述公共字段包括日期。
[0030](三)有益效果
[0031 ]本發明提供了一種日志存儲管理方法及系統,本發明首先將日志按照預定格式進行格式化,之后將格式化的日志線存入緩存,并在緩存中的日志滿足預定條件后,將緩存中的日志存儲到硬盤的文件中,相較傳統的數據庫存儲日志的方法,能夠將不同格式的日志統一按照預定格式保存在文件中,從而能夠有效的管理和存儲海量日志,避免查詢困難的技術問題。同時本發明將日志存儲做為獨立的一個模塊,修改和擴展起來方便快捷。
【附圖說明】
[0032]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0033]圖1是本發明的日志存儲管理方法流程圖;
[0034]圖2是本發明的日志存儲管理方法中步驟SI的流程圖;
[0035]圖3是本發明的日志存儲管理方法中步驟S2的流程圖;
[0036]圖4是本發明的日志存儲管理方法中步驟S3的流程圖。
【具體實施方式】
[0037]下面結合附圖和實施例對本發明作進一步詳細描述。以下實施例用于說明本發明,但不能用來限制本發明的范圍。
[0038]一種日志存儲管理方法,如圖1所示,所述方法包括以下步驟:
[0039]S1、接收日志并將日志按照預定格式進行格式化;
[0040]S2、將格式化的日志線存入緩存,并在緩存中的日志滿足預定條件后,將緩存中的日志存儲到硬盤的文件中。
[0041 ]相較傳統的數據庫存儲日志的方法,上述能夠將不同格式的日志統一按照預定格式保存在文件中,從而能夠有效的管理和存儲海量日志,避免查詢困難的技術問題。同時本發明將日志存儲做為獨立的一個模塊,修改和擴展起來方便快捷。
[0042]進一步地,上述步驟SI由日志處理輸出模塊完成,日志處理輸出模塊是日志的來源,日志根據網絡安全設備功能的不同而各不相同,例如設備在檢測到異常攻擊或非法登錄時會記錄日志,管理員的正常操作也會記錄日志。這些日志記錄的內容和側重點各不相關,因此需要有一個統一的記錄規范,也就是日志的格式化。
[0043]本發明中,日志的格式化不要求所有日志的字段完全一樣,只是對格式進行統一規定,即所述預定格式包括若干個公共字段以及對應于日志內容的若干非公共個字段,其中所述公共字段包括日期,并利用所述日期對對應的日志進行標識,在存儲進文件時利用日期進行存儲。
[0044]對于預定格式,優選地,公共字段包括日志的時間,類型,級別等,日志內容的填充必須是“字段”=“內容”的格式,這些公共字段和規范是日志管理必須的。還有一些其他的規范,如,相同的“字段”盡量使用相同的英文縮寫表示,日志中相同內容的大小寫盡量統
O
[0045]下面是格式化日志的一個實例:
[0046]2015-12-16 09: 45: 00 “FIREWALL” L0G_EXAMPLE/01: type = web user =administrator from= 1.1.1.1act1n= u1gin in”result = success.
[0047]其中冒號之前的字段就是所有日志的公共字段,按照順序依次是:時間設備名稱日志類型/日志級別
[0048]日志內容分別是:type:訪問類型;user:用戶名;from:管理員ip地址;act 1n:操作;result:操作結果。
[0049]步驟SI中,首先生成日志,再進行格式化,將日志進行所述格式化之后,并且在存入所述緩存之前,所述方法還包括以下步驟:
[0050]判斷是否需要對格式化的日志進行加密,若需要,則對格式化的日志進行加密,否則將發送日志,即將日志發送給緩存,如圖2所示。
[0051 ]為了保證日志在傳輸過程中的安全性,日志加密也是一種重要的手段。加密方法可以采用二進制流或者編碼的方式,在查看日志時需要經過相應的解密再呈現給管理員。
[0052]進一步地,上述步驟S2由日志存儲模塊完成,并且在日志緩存的過程中,所述預定條件為緩存區已滿或緩存超時,即當緩存區已滿或緩存超時時才將緩存中的日志存儲到硬件的文件中,否則緩存繼續接收日志,如圖3所示。
[0053]日志除了需要記錄網上攻擊,對管理員的操作以及設備的運行情況也要記錄,因此日志記錄的量是巨大的。如果產生一條日志就去寫磁盤,不但效率不高,磁盤頻繁操作也會影響磁盤壽命,因此本發明中增加一個內存緩沖區和緩存超時時間,收到日志時先存儲到該緩沖區中,等到緩沖區寫滿或者緩存超時再將緩沖區中的日志同步到磁盤或硬盤中。
[0054]進一步地,所述將緩存中的日志存儲到硬盤的文件中包括以下步驟,如圖3所示:
[0055]S21、獲取當前要存入的文件的時間戳,并根據所述時間戳判斷當前要存入的文件的創建時間是否超過預定時間,若當前要存入的文件的創建時間超過預定時間則創建新的文件,并將緩存中的日志存入新的文件中;其中,新的文件以當前所要存入的日志的日期為文件名,即收到的日志寫文件,根據當前日期更新日志文件名;
[0056]S22、若當前要存入的文件的創建時間不超過所述預定時間,則獲取當前要存入的文件中日志的數量;
[0057]S23、判斷當前要存入的文件中日志的數量是否大于預定數量,若是則刪除當前要存入的文件中部分的日志,否則將緩存中的日志存入當前要存入的文件中。
[0058]優選地,上述預定時間為一天。由于一般的網絡安全設備的存儲空間有限(一般掛載一個硬盤),不能無限制的存儲日志,因此對每天的日志存儲做一個最大的條數限制(這里也可以為日志文件大小)。
[0059]緩沖區中的日志同步到磁盤前,為了保證按照日志存儲且每個文件不超過最大條數限制,本發明中在日志同步到磁盤時增加時間戳和日志條數的判斷:如果當前日志文件的時間戳已經超過一天,需要按照日期重新創建新的日志文件。否則需要判斷當前日志文件中的日志條數是否達到最大值,如果達到最大值,則需要刪除部分舊的日志再將新的日志寫入磁盤。
[0060]上述方法將日志按照一定格式存儲在文件中,通過日期和存儲條數對日志文件進行限制,同時根據硬盤的大小對日志進行管理,打破了傳統的數據庫存儲日志的方式,有效利用存儲空間,智能管控日志。
[0061]進一步地,所述方法還包括以下步驟:
[0062]S3、定時獲取硬盤中所述文件占用的空間;判斷所述文件占用的空間是否大于預定空間,在所述文件占用的空間大于所述預定空間時,產生警報并根據文件保留期限清除過期的文件;在所述文件占用的空間不大于所述預定空間時,根據文件保留期限清除過期的文件。
[0063]進一步地,所述步驟S3中根據文件保留期限清除過期的文件包括以下步驟:
[0064]S31、設定所述文件保留期限;
[0065]S32、遍歷硬盤中的所述文件,對于每個正在遍歷的所述文件,根據其創建時間判斷其存在時間是否超過所述文件保留期限,若是則清除該文件,即清除過期文件。
[0066]其中,上述步驟S31可以在所述文件占用的空間大于所述預定空間的情況下設定,如圖4所示,也可以在步驟S3之前設定。
[0067]考慮到網絡安全設備存儲容量的有限性,日志不能無限制的存儲,因此本發明中公開了一種定時刪除過期日志文件的方法,即上述步驟S3,從步驟由日志管理模塊完成。該模塊與日志存儲模塊以及日志處理輸出模塊相隔離,使用定時器機制,定時獲取存儲空間使用率,若超出規定值,即預定空間,則觸發日志清理功能,并產生報警告知管理員,報警方式主要為日志報警以及郵件報警。
[0068]日志清理以日志文件創建的時間戳為判斷依據,如果文件保留時間超出設定值,即文件保留期限,則直接刪除。文件保留期限可根據存儲空間的大小以及每天的日志文件的大小相應變化,本發明不做限定。
[0069]本發明的上述方法對于不同格式的日志使用統一的方法進行存儲和管理,采用文件存儲,適合存儲容量有限的網絡安全設備。本發明相較傳統的數據庫存儲日志的方法,能夠有效控制海量日志的保留時間和存儲大小,不會出現日志文件特別大的情況,且結合文件系統增加了存儲空間管理和過期日志定時清除的功能,優化了日志的查詢性能,自動管控海量日志。
[0070]對應于上述方法本發明還公開了一種日志存儲管理系統,所述系統包括日志處理輸出模塊、日志存儲模塊以及硬盤;所述日志處理輸出模塊用于接收日志并將日志按照預定格式進行格式化;所述日志存儲模塊用于將格式化的日志線存入緩存,并在緩存中的日志滿足預定條件后,將緩存中的日志存儲到所述硬盤的文件中。
[0071 ]進一步地,所述系統還包括日志管理模塊;
[0072]所述日志管理模塊用于定時獲取硬盤中所述文件占用的空間;判斷所述文件占用的空間是否大于預定空間,在所述文件占用的空間大于所述預定空間時,產生警報并根據文件保留期限清除過期的文件;在所述文件占用的空間不大于所述預定空間時,根據文件保留期限清除過期的文件。
[0073]進一步地,所述預定格式包括若干個公共字段以及對應于日志內容的若干非公共個字段,其中所述公共字段包括日期。
[0074]上述系統對日志的處理步驟與上述方法的步驟一一對應,因此重復的部分這里不再贅述。
[0075]本發明主要針對類似于防火墻等網絡安全產品的日志存儲和管理。使用文件存儲系統,使不同格式的日志可以統一按照時間保存,且日志存儲做為獨立的一個模塊,修改和擴展起來都比較方便。
[0076]以上各實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的范圍,其均應涵蓋在本發明的權利要求和說明書的范圍當中。
【主權項】
1.一種日志存儲管理方法,其特征在于,所述方法包括以下步驟: 接收日志并將日志按照預定格式進行格式化; 將格式化的日志線存入緩存,并在緩存中的日志滿足預定條件后,將緩存中的日志存儲到硬盤的文件中。2.根據權利要求1所述的方法,其特征在于,所述方法還包括以下步驟: 定時獲取硬盤中所述文件占用的空間; 判斷所述文件占用的空間是否大于預定空間,在所述文件占用的空間大于所述預定空間時,產生警報并根據文件保留期限清除過期的文件;在所述文件占用的空間不大于所述預定空間時,根據文件保留期限清除過期的文件。3.根據權利要求2所述的方法,其特征在于,所述根據文件保留期限清除過期的文件包括以下步驟: 設定所述文件保留期限; 遍歷硬盤中的所述文件,對于每個正在遍歷的所述文件,根據其創建時間判斷其存在時間是否超過所述文件保留期限,若是則清除該文件。4.根據權利要求1至3任一項所述的方法,其特征在于,所述預定格式包括若干個公共字段以及對應于日志內容的若干非公共個字段,其中所述公共字段包括日期,并利用所述日期對對應的日志進行標識。5.根據權利要求4所述的方法,其特征在于,將日志進行所述格式化之后,并且在存入所述緩存之前,所述方法還包括以下步驟: 判斷是否需要對格式化的日志進行加密,若需要,則對格式化的日志進行加密。6.根據權利要求4所述的方法,其特征在于,所述預定條件為緩存區已滿或緩存超時。7.根據權利要求6所述的方法,其特征在于,所述將緩存中的日志存儲到硬盤的文件中包括以下步驟: 獲取當前要存入的文件的時間戳,并根據所述時間戳判斷當前要存入的文件的創建時間是否超過預定時間,若當前要存入的文件的創建時間超過預定時間則創建新的文件,并將緩存中的日志存入新的文件中;其中,新的文件以當前所要存入的日志的日期為文件名; 若當前要存入的文件的創建時間不超過所述預定時間,則獲取當前要存入的文件中日志的數量; 判斷當前要存入的文件中日志的數量是否大于預定數量,若是則刪除當前要存入的文件中部分的日志,否則將緩存中的日志存入當前要存入的文件中。8.—種日志存儲管理系統,其特征在于,所述系統包括日志處理輸出模塊、日志存儲模塊以及硬盤; 所述日志處理輸出模塊用于接收日志并將日志按照預定格式進行格式化; 所述日志存儲模塊用于將格式化的日志線存入緩存,并在緩存中的日志滿足預定條件后,將緩存中的日志存儲到所述硬盤的文件中。9.根據權利要求8所述的系統,其特征在于,所述系統還包括日志管理模塊; 所述日志管理模塊用于定時獲取硬盤中所述文件占用的空間;判斷所述文件占用的空間是否大于預定空間,在所述文件占用的空間大于所述預定空間時,產生警報并根據文件保留期限清除過期的文件;在所述文件占用的空間不大于所述預定空間時,根據文件保留期限清除過期的文件。10.根據權利要求9所述的系統,其特征在于,所述預定格式包括若干個公共字段以及對應于日志內容的若干非公共個字段,其中所述公共字段包括日期,并利用所述日期對對應的日志進行標識。
【文檔編號】G06F17/30GK105843852SQ201610150554
【公開日】2016年8月10日
【申請日】2016年3月16日
【發明人】劉仙鳳
【申請人】漢柏科技有限公司