亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

日志記錄方法及日志記錄器與流程

文檔序號:11133501閱讀:782來源:國知局
日志記錄方法及日志記錄器與制造工藝

本發(fā)明涉及計算機技術領域,尤其涉及一種日志記錄方法及日志記錄器。



背景技術:

系統(tǒng)日志對于計算機的系統(tǒng)硬件、軟件、應用程序等都有著重要意義,因此系統(tǒng)日志的記錄方式受到越來多的關注。目前的系統(tǒng)日志,一般都是通過固定的記錄方式存儲在固定目錄或者固定數(shù)據(jù)庫中,或者調用固定的存儲接口存儲。

如公開號為CN 104021088 A的中國專利提出了一種日志存儲方法,包括:接收日志源發(fā)送的日志存儲請求,所述日志存儲請求包括:日志數(shù)據(jù)、包含有所述日志數(shù)據(jù)的日志的標識和日志源的IP地址;確定日志源發(fā)送日志數(shù)據(jù)的發(fā)送速率;根據(jù)日志數(shù)據(jù)的發(fā)送速率,確定包含有所述日志數(shù)據(jù)的日志的大??;根據(jù)所述日志的標識和日志源的IP地址,確定日志的存儲地址;根據(jù)所述日志的大小,采用預分配的方法,在與所述存儲地址對應的磁盤中為所述日志分配磁盤空間;將包含有所述日志數(shù)據(jù)的日志存儲到與所述磁盤空間中。

上述方法的日志存儲地址由日志源的IP地址確定,進而日志存儲的磁盤也是確定的,因此當接收到日志存儲請求時,將日志數(shù)據(jù)存儲至已經(jīng)確定好的磁盤即可。但是當環(huán)境目錄沒有權限或網(wǎng)絡故障時,就會無法記錄日志,導致后續(xù)遇到問題難以排查。



技術實現(xiàn)要素:

本發(fā)明所要解決的技術問題是:提供一種能夠根據(jù)運行環(huán)境和實際存儲空間自動調節(jié)存儲位置和存儲方式的日志記錄方法及日志記錄器。

為了解決上述技術問題,本發(fā)明采用的技術方案為:

一種日志記錄方法,包括:

在本地預設至少兩個的磁盤以及在服務器預設至少一個的磁盤;

設置所述磁盤的優(yōu)先級;

依據(jù)所述優(yōu)先級將日志數(shù)據(jù)寫入磁盤。

本發(fā)明提供的另一個技術方案為:

一種對應上述日志記錄方法的日志記錄器,包括:

磁盤預設模塊,用于在本地預設至少兩個的磁盤以及在服務器預設至少一個的磁盤;

優(yōu)先級設置模塊,用于設置所述磁盤的優(yōu)先級;

存儲模塊,用于依據(jù)所述優(yōu)先級將日志數(shù)據(jù)寫入磁盤。

本發(fā)明的有益效果在于:通過預設多個磁盤,從而日志數(shù)據(jù)能夠寫入多個磁盤,通過設置磁盤的優(yōu)先級,按照磁盤的優(yōu)先級順序寫入日志數(shù)據(jù),磁盤資源得到合理分配,提高了資源的利用率。本發(fā)明能夠在某個磁盤無法寫入該日志數(shù)據(jù)時選擇其他磁盤寫入,有效解決了現(xiàn)有技術中因運行環(huán)境和網(wǎng)絡故障導致的日志數(shù)據(jù)無法記錄的問題。

附圖說明

圖1為本發(fā)明實施例的日志記錄方法的流程圖;

圖2為本發(fā)明實施例的日志記錄器的結構示意圖;

圖3為本發(fā)明實施例一的日志記錄方法的流程圖;

圖4為本發(fā)明實施例二的日志記錄器的結構示意圖。

標號說明:

1、磁盤預設模塊;2、優(yōu)先級設置模塊;3、存儲模塊;31、第一寫入單元;32、第二寫入單元;33、第三寫入單元;34、報警單元;35、判斷單元;36、第四寫入單元;4、獲取模塊;5、查詢模塊;6、合并模塊;7、返回模塊。

具體實施方式

為詳細說明本發(fā)明的技術內(nèi)容、所實現(xiàn)目的及效果,以下結合實施方式并配合附圖予以說明。

本發(fā)明最關鍵的構思在于:預設多個磁盤,并設置所述磁盤的優(yōu)先級,依據(jù)所述優(yōu)先級將日志數(shù)據(jù)寫入磁盤。

本發(fā)明涉及的技術術語解釋:

請參照圖1,本發(fā)明提供:

一種日志記錄方法,包括:

在本地預設至少兩個的磁盤以及在服務器預設至少一個的磁盤;

設置所述磁盤的優(yōu)先級;

依據(jù)所述優(yōu)先級將日志數(shù)據(jù)寫入磁盤。

進一步的,依據(jù)所述優(yōu)先級將日志數(shù)據(jù)寫入磁盤,進一步包括:

將日志數(shù)據(jù)寫入優(yōu)先級最高的磁盤;

若寫入失敗,則將日志數(shù)據(jù)寫入下一級優(yōu)先級的磁盤;

若寫入失敗,則將日志數(shù)據(jù)繼續(xù)寫入下一級優(yōu)先級的磁盤,直至日志數(shù)據(jù)寫入磁盤成功或所述日志數(shù)據(jù)在預設的磁盤均進行過寫入操作。

從上述描述可知,按照磁盤的優(yōu)先級從高到低將日志數(shù)據(jù)寫入磁盤,如果優(yōu)先級最高的磁盤能夠寫入該日志數(shù)據(jù),則直接將日志數(shù)據(jù)寫入優(yōu)先級最高的磁盤即可,如果優(yōu)先級最高的磁盤寫入日志數(shù)據(jù)失敗,則將日志數(shù)據(jù)寫入下一級優(yōu)先級的磁盤,以此類推,直到日志寫入數(shù)據(jù)成功,或者磁盤都進行過寫入操作。這樣能夠使日志數(shù)據(jù)優(yōu)先寫入最適合的磁盤,比如一般情況下默認的寫入的磁盤,如果寫入失敗再嘗試寫入別的磁盤。既能有效利用資源,又能確保日志數(shù)據(jù)寫入成功。

進一步的,若所述日志數(shù)據(jù)在預設的磁盤均進行過寫入操作,且若所述日志數(shù)據(jù)在預設的磁盤均寫入失敗,則結束寫入操作,并返回錯誤警告。

從上述描述可知,如果日志數(shù)據(jù)在預設的磁盤均進行過寫入操作,并且寫入均失敗,則說明該日志數(shù)據(jù)無法寫入任意預設的磁盤,工作出現(xiàn)異常,因此返回錯誤警告,提醒相關用戶采取應對措施。

進一步的,將日志數(shù)據(jù)寫入磁盤,進一步包括:

判斷要寫入的磁盤的已使用空間是否大于預設值;

若是,則刪除所述要寫入的磁盤內(nèi)的最早的日志數(shù)據(jù),再寫入所述日志數(shù)據(jù);

若否,則直接寫入所述日志數(shù)據(jù)。

從上述描述可知,每一次寫入日志數(shù)據(jù)時,都要先判斷磁盤能的已使用空間是否大于預設值,如果該已使用空間大于預設值,說明該磁盤剩余空間不足,需要清理出一些空間才能寫入日志數(shù)據(jù),而通過刪除最早的日志數(shù)據(jù)來清理出磁盤空間,能夠最大程度地保留有用數(shù)據(jù)。優(yōu)選的,上述預設值為50%至80%。

進一步的,依據(jù)所述優(yōu)先級將日志數(shù)據(jù)寫入磁盤,之后進一步包括:

獲取查詢條件;

依據(jù)所述查詢條件遍歷預設的磁盤,得到查詢數(shù)據(jù);

合并所述查詢數(shù)據(jù);

返回合并的查詢數(shù)據(jù)。

從上述描述可知,由于在不同的運行環(huán)境以及不同的工作狀態(tài)下,如聯(lián)網(wǎng)或斷網(wǎng)的情況下,日志數(shù)據(jù)存儲的磁盤可能不同,因此,用戶查詢?nèi)罩緯r,先根據(jù)用戶的查詢條件遍歷所有預設的磁盤,得到所有查詢數(shù)據(jù),合并這些查詢數(shù)據(jù)即得到用戶要查詢的日志數(shù)據(jù)。并且經(jīng)過合并處理,能夠將查詢數(shù)據(jù)進行有序整合,防止返回錯亂數(shù)據(jù)。

請參照圖2,本發(fā)明的另一個技術方案為:

一種對應上述日志記錄方法的日志記錄器,包括:

磁盤預設模塊1,用于在本地預設至少兩個的磁盤以及在服務器預設至少一個的磁盤;

優(yōu)先級設置模塊2,用于設置所述磁盤的優(yōu)先級;

存儲模塊3,用于依據(jù)所述優(yōu)先級將日志數(shù)據(jù)寫入磁盤。

進一步的,所述存儲模塊3包括:

第一寫入單元31,用于將日志數(shù)據(jù)寫入優(yōu)先級最高的磁盤;

第二寫入單元32,用于若第一寫入單元31寫入失敗,則將日志數(shù)據(jù)寫入下一級優(yōu)先級的磁盤。

第三寫入單元33,用于若第二寫入單元32寫入失敗,則將日志數(shù)據(jù)繼續(xù)寫入下一級優(yōu)先級的磁盤,直至日志數(shù)據(jù)寫入磁盤成功或所述日志數(shù)據(jù)在預設的磁盤均進行過寫入操作;

報警單元34,用于若所述日志數(shù)據(jù)在預設的磁盤均進行過寫入操作,且若所述日志數(shù)據(jù)在預設的磁盤均寫入失敗,則結束寫入操作,并返回錯誤警告。

從上述描述可知,存儲模塊通3過引入第一寫入單元31、第二寫入單元32以及第三寫入單元33,存儲模塊3對第一寫入單元31、第二寫入單元32以及第三寫入單元33進行調度,實現(xiàn)日志數(shù)據(jù)寫入不同的磁盤。

進一步的,所述存儲模塊還3包括:

判斷單元35,用于判斷要寫入的磁盤的已使用空間是否大于預設值;

第四寫入單元36,用于若是,則刪除所述要寫入的磁盤內(nèi)的最早的日志數(shù)據(jù),再寫入所述日志數(shù)據(jù);

若否,則直接寫入所述日志數(shù)據(jù)。

進一步的,還包括:

獲取模塊4,用于獲取查詢條件;

查詢模塊5,用于依據(jù)所述查詢條件遍歷預設的磁盤,得到查詢數(shù)據(jù);

合并模塊6,用于合并所述查詢數(shù)據(jù);

返回模塊7,用于返回合并的查詢數(shù)據(jù)。

進一步的,所述日志數(shù)據(jù)包括應用程序的日志數(shù)據(jù);在本地預設的磁盤包括系統(tǒng)內(nèi)存、系統(tǒng)臨時文件夾以及指定文件夾,所述指定文件夾為所述應用程序所在的文件夾;在服務器預設的磁盤包括數(shù)據(jù)庫;所述磁盤的優(yōu)先級從低到高依次為:系統(tǒng)內(nèi)存、系統(tǒng)臨時文件夾、指定文件夾和數(shù)據(jù)庫。

從上述描述可知,系統(tǒng)內(nèi)存、系統(tǒng)臨時文件夾、指定文件夾以及數(shù)據(jù)庫是最常見的日志存儲磁盤,一般情況下,系統(tǒng)內(nèi)存空間較小,因此其優(yōu)先級最低,而系統(tǒng)臨時文件夾一般還會存儲系統(tǒng)數(shù)據(jù),如果占用可能影響系統(tǒng)運行,因此其優(yōu)先級也比較低,而在網(wǎng)絡正常的情況下,優(yōu)選服務器磁盤存儲日志數(shù)據(jù),因此數(shù)據(jù)庫的優(yōu)先級設為最高。

請參照圖3,本發(fā)明的實施例一為:

一種日志記錄方法,包括:

在本地預設至少兩個的磁盤以及在服務器預設至少一個的磁盤;所述日志數(shù)據(jù)包括應用程序的日志數(shù)據(jù);在本地預設的磁盤包括系統(tǒng)內(nèi)存、系統(tǒng)臨時文件夾以及指定文件夾,所述指定文件夾為所述應用程序所在的文件夾;在服務器預設的磁盤包括數(shù)據(jù)庫;

設置所述磁盤的優(yōu)先級最低到高依次為:系統(tǒng)內(nèi)存、系統(tǒng)臨時文件夾、指定文件夾和數(shù)據(jù)庫;

將日志數(shù)據(jù)寫入數(shù)據(jù)庫;

若日志數(shù)據(jù)寫入數(shù)據(jù)庫失敗,則將日志數(shù)據(jù)寫入指定文件夾;若日志數(shù)據(jù)寫入數(shù)據(jù)庫成功,則結束寫入操作;

若日志數(shù)據(jù)寫入指定文件夾失敗,則將日志數(shù)據(jù)寫入系統(tǒng)臨時文件夾;若日志數(shù)據(jù)寫入指定文件夾成功,則結束寫入操作;

若日志數(shù)據(jù)寫入系統(tǒng)臨時文件夾失敗,則將日志數(shù)據(jù)寫入系統(tǒng)內(nèi)存;若日志數(shù)據(jù)寫入系統(tǒng)臨時文件夾成功,則結束寫入操作;

若日志數(shù)據(jù)寫入系統(tǒng)內(nèi)存失敗,則結束寫入操作,并返回錯誤警告;若日志數(shù)據(jù)寫入系統(tǒng)內(nèi)存成功,則結束寫入操作;

獲取查詢條件;

依據(jù)所述查詢條件遍歷所述數(shù)據(jù)庫、指定文件夾、系統(tǒng)臨時文件夾以及系統(tǒng)內(nèi)存,得到查詢數(shù)據(jù);

合并所述查詢數(shù)據(jù);

返回合并的查詢數(shù)據(jù)。

上述過程中,每一次將日志數(shù)據(jù)寫入磁盤,均包括:

判斷要寫入的磁盤的已使用空間是否大于預設值;所述預設值為50%至80%;

若是,則刪除所述要寫入的磁盤內(nèi)的最早的日志數(shù)據(jù),直至所述要寫入的磁盤的已使用空間小于預設值,再將所述日志數(shù)據(jù)采用gzip壓縮后寫入所述要寫入的磁盤;

若否,則直接將所述日志數(shù)據(jù)采用gzip壓縮后寫入所述要寫入的磁盤。如,判斷系統(tǒng)內(nèi)存的已使用空間是否大于80%,若大于,則刪除系統(tǒng)內(nèi)存中最早的日志數(shù)據(jù),當系統(tǒng)內(nèi)存的已使用空間小于80%,再將該日志數(shù)據(jù)采用gzip壓縮后寫入系統(tǒng)內(nèi)存。

下面是上述實施例一的一個具體應用場景:

QQ日志數(shù)據(jù)存儲時,先寫入服務器的數(shù)據(jù)庫,寫入失敗時再寫入本地的QQ程序安裝所在的指定文件夾,若在指定文件夾也寫入失敗,則寫入系統(tǒng)臨時文件夾,若還是寫入失敗,則寫入系統(tǒng)內(nèi)存。

請參照圖4,本發(fā)明的實施例二為:

一種對應上述日志記錄方法的日志記錄器,包括:

磁盤預設模塊1,用于在本地預設至少兩個的磁盤以及在服務器預設至少一個的磁盤;所述日志數(shù)據(jù)包括應用程序的日志數(shù)據(jù);在本地預設的磁盤包括系統(tǒng)內(nèi)存、系統(tǒng)臨時文件夾以及指定文件夾,所述指定文件夾為所述應用程序所在的文件夾;在服務器預設的磁盤包括數(shù)據(jù)庫;

優(yōu)先級設置模塊2,用于設置所述磁盤的優(yōu)先級;所述磁盤的優(yōu)先級從低到高依次為:系統(tǒng)內(nèi)存、系統(tǒng)臨時文件夾、指定文件夾和數(shù)據(jù)庫;

存儲模塊3,用于依據(jù)所述優(yōu)先級將日志數(shù)據(jù)寫入磁盤;

獲取模塊4,用于獲取查詢條件;

查詢模塊5,用于依據(jù)所述查詢條件遍歷預設的磁盤,得到查詢數(shù)據(jù);

合并模塊6,用于合并所述查詢數(shù)據(jù);

返回模塊7,用于返回合并的查詢數(shù)據(jù);

所述存儲模塊包括:

第一寫入單元31,用于將日志數(shù)據(jù)寫入優(yōu)先級最高的磁盤;

第二寫入單元32,用于若第一寫入單元31寫入失敗,則將日志數(shù)據(jù)寫入下一級優(yōu)先級的磁盤,

第三寫入單元33,用于若第二寫入單元32寫入失敗,則將日志數(shù)據(jù)繼續(xù)寫入下一級優(yōu)先級的磁盤,直至日志數(shù)據(jù)寫入磁盤成功或所述日志數(shù)據(jù)在預設的磁盤均進行過寫入操作;

報警單元34,用于若所述日志數(shù)據(jù)在預設的磁盤均進行過寫入操作,且若所述日志數(shù)據(jù)在預設的磁盤均寫入失敗,則結束寫入操作,并返回錯誤警告;

判斷單元35,用于判斷要寫入的磁盤的已使用空間是否大于預設值;所述預設值為50%至80%。

第四寫入單元36,用于若是,則刪除所述要寫入的磁盤內(nèi)的最早的日志數(shù)據(jù),再寫入所述日志數(shù)據(jù);

若否,則直接寫入所述日志數(shù)據(jù)。

綜上所述,本發(fā)明提供的日志記錄方法及日志記錄器,能夠解決運行環(huán)境目錄沒有權限或網(wǎng)絡故障導致無法記錄日志的問題,提高了系統(tǒng)日志記錄的自適應性,提高了問題排查效率。

以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等同變換,或直接或間接運用在相關的技術領域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1