本發(fā)明涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,特別是涉及一種存儲(chǔ)系統(tǒng)的日志管理方法和系統(tǒng)。
背景技術(shù):
隨著科技的進(jìn)步,大數(shù)據(jù)時(shí)代逐步來臨,而存儲(chǔ)系統(tǒng)應(yīng)用越來越廣泛。在存儲(chǔ)系統(tǒng)中,應(yīng)用軟件運(yùn)行時(shí)會(huì)產(chǎn)生大量的日志數(shù)據(jù),這些日志數(shù)據(jù)對(duì)分析存儲(chǔ)系統(tǒng)的穩(wěn)定性、可靠性和性能有著至關(guān)重要的作用,而且日志分析也是解決存儲(chǔ)系統(tǒng)故障的主要手段。
目前存儲(chǔ)系統(tǒng)中日志的產(chǎn)生可以分為兩種情況:一種在日志中只是輸出極少數(shù)的錯(cuò)誤信息,這樣對(duì)存儲(chǔ)性能幾乎沒有什么影響,但是無(wú)法根據(jù)日志數(shù)據(jù)分析存儲(chǔ)系統(tǒng)的穩(wěn)定性、可靠性和性能;另一種是在日志中輸出盡可能全面的數(shù)據(jù)信息,但是由于存儲(chǔ)空間有限,當(dāng)日志達(dá)到一定大小的時(shí)候,只能循環(huán)覆蓋較早時(shí)間產(chǎn)生的日志,這時(shí)一些重復(fù)的日志數(shù)據(jù)可能會(huì)覆蓋掉之前比較重要的日志數(shù)據(jù),從而影響日志分析的準(zhǔn)確性和全面性。
因此,如何對(duì)日志進(jìn)行有效的管理,使得既能通過日志數(shù)據(jù)對(duì)存儲(chǔ)系統(tǒng)的穩(wěn)定性、可靠性及性能進(jìn)行準(zhǔn)確有效的分析,又不對(duì)存儲(chǔ)性能產(chǎn)生影響,是本領(lǐng)域技術(shù)人員目前需要解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種存儲(chǔ)系統(tǒng)的日志管理方法和系統(tǒng),能夠?qū)θ罩具M(jìn)行有效的管理,使得既能通過日志數(shù)據(jù)對(duì)存儲(chǔ)系統(tǒng)的穩(wěn)定性、可靠性及性能進(jìn)行準(zhǔn)確有效的分析,又不對(duì)存儲(chǔ)性能產(chǎn)生影響。
為解決上述技術(shù)問題,本發(fā)明提供了如下技術(shù)方案:
一種存儲(chǔ)系統(tǒng)的日志管理方法,包括:
實(shí)時(shí)獲取存儲(chǔ)系統(tǒng)中生成的日志信息;
對(duì)所述日志信息進(jìn)行分析,獲取所述日志信息中各日志的優(yōu)先級(jí);
在所述存儲(chǔ)系統(tǒng)中的歷史日志信息的存儲(chǔ)量超過預(yù)設(shè)閾值時(shí),根據(jù)各歷史日志的優(yōu)先級(jí),按照優(yōu)先級(jí)由低至高的順序依次覆蓋各所述歷史日志。
優(yōu)選地,還包括:
當(dāng)所述歷史日志信息中的至少兩個(gè)歷史日志的優(yōu)先級(jí)相同,且按照優(yōu)先級(jí)由低至高的覆蓋順序需要對(duì)該優(yōu)先級(jí)的各歷史日志進(jìn)行覆蓋時(shí),按照存儲(chǔ)時(shí)間的先后順序依次覆蓋該優(yōu)先級(jí)的各歷史日志。
優(yōu)選地,所述對(duì)所述日志信息進(jìn)行分析,獲取所述日志信息中各日志的優(yōu)先級(jí),包括:
根據(jù)所述日志信息,獲取生成各所述日志的對(duì)應(yīng)程序子模塊的信息;
根據(jù)各所述程序子模塊的特性對(duì)各自生成的日志劃分日志類型;
提取各日志類型中錯(cuò)誤日志的數(shù)量,按照錯(cuò)誤日志數(shù)量由少至多的順序定義各日志類型的優(yōu)先級(jí),其中,錯(cuò)誤日志數(shù)量越少的日志類型的優(yōu)先級(jí)越低。
優(yōu)選地,在所述獲取所述日志信息中各日志的優(yōu)先級(jí)之后,還包括:
判斷各日志的優(yōu)先級(jí)是否超過預(yù)設(shè)優(yōu)先級(jí)閾值;
若是,則控制對(duì)該優(yōu)先級(jí)超過預(yù)設(shè)優(yōu)先級(jí)閾值的日志進(jìn)行增量輸出;
若否,則控制對(duì)該優(yōu)先級(jí)未超過預(yù)設(shè)優(yōu)先級(jí)閾值的日志進(jìn)行減量輸出。
優(yōu)選地,在控制對(duì)該優(yōu)先級(jí)超過預(yù)設(shè)優(yōu)先級(jí)閾值的日志進(jìn)行增量輸出之后,還包括:
對(duì)相同日志類型的日志按照關(guān)鍵字進(jìn)行歸并。
一種存儲(chǔ)系統(tǒng)的日志管理系統(tǒng),包括:
日志生成模塊,用于生成日志信息;
日志處理模塊,用于實(shí)時(shí)獲取所述日志信息,并對(duì)所述日志信息進(jìn)行分析,提取所述日志信息中各日志的優(yōu)先級(jí);
日志覆蓋模塊,用于在存儲(chǔ)系統(tǒng)中的歷史日志信息的存儲(chǔ)量超過預(yù)設(shè)閾值時(shí),根據(jù)各歷史日志的優(yōu)先級(jí),按照優(yōu)先級(jí)由低至高的順序依次覆蓋各所述歷史日志。
優(yōu)選地,所述日志處理模塊包括:
子模塊提取單元,用于根據(jù)所述日志信息,獲取所述日志生成模塊中生成各所述日志的對(duì)應(yīng)程序子模塊的信息;
類型劃分單元,用于根據(jù)各所述程序子模塊的特性對(duì)各自生成的日志劃分日志類型;
優(yōu)先級(jí)定義單元,用于提取各日志類型中錯(cuò)誤日志的數(shù)量,按照錯(cuò)誤日志數(shù)量由少至多的順序定義各日志類型的優(yōu)先級(jí),其中,錯(cuò)誤日志數(shù)量越少的日志類型的優(yōu)先級(jí)越低。
優(yōu)選地,所述日志處理模塊還包括反饋單元,用于反饋各日志的優(yōu)先級(jí)信息至所述日志生成模塊;所述日志生成模塊還用于對(duì)優(yōu)先級(jí)達(dá)到預(yù)設(shè)優(yōu)先級(jí)閾值的日志進(jìn)行增量輸出,對(duì)優(yōu)先級(jí)低于所述預(yù)設(shè)優(yōu)先級(jí)閾值的日志進(jìn)行減量輸出。
優(yōu)選地,還包括:
日志歸并模塊,用于在所述日志生成模塊對(duì)優(yōu)先級(jí)達(dá)到預(yù)設(shè)優(yōu)先級(jí)閾值的日志進(jìn)行增量輸出時(shí),對(duì)相同日志類型的日志按照關(guān)鍵字進(jìn)行歸并。
優(yōu)選地,所述日志覆蓋模塊還用于在所述歷史日志信息中的至少兩個(gè)歷史日志的優(yōu)先級(jí)相同,且按照優(yōu)先級(jí)由低至高的覆蓋順序需要對(duì)該優(yōu)先級(jí)的各歷史日志進(jìn)行覆蓋時(shí),按照存儲(chǔ)時(shí)間的先后順序依次覆蓋該優(yōu)先級(jí)的各歷史日志。
與現(xiàn)有技術(shù)相比,上述技術(shù)方案具有以下優(yōu)點(diǎn):
本發(fā)明所提供的一種存儲(chǔ)系統(tǒng)的日志管理方法,包括:實(shí)時(shí)獲取存儲(chǔ)系統(tǒng)中生成的日志信息;對(duì)日志信息進(jìn)行分析,獲取日志信息中各日志的優(yōu)先級(jí);在存儲(chǔ)系統(tǒng)中的歷史日志信息的存儲(chǔ)量超過預(yù)設(shè)閾值時(shí),根據(jù)各歷史日志的優(yōu)先級(jí),按照優(yōu)先級(jí)由低至高的順序依次覆蓋各歷史日志。本發(fā)明所提供的日志管理方法,對(duì)大量日志信息進(jìn)行覆蓋時(shí),采用逐級(jí)覆蓋的策略,根據(jù)各歷史日志的優(yōu)先級(jí),按照優(yōu)先級(jí)由低至高的順序依次覆蓋各歷史日志,保留最有價(jià)值的日志信息,避免因日志覆蓋造成重要信息的丟失,對(duì)日志進(jìn)行了有效的管理,使得既能通過日志數(shù)據(jù)對(duì)存儲(chǔ)系統(tǒng)的穩(wěn)定性、可靠性及性能進(jìn)行準(zhǔn)確有效的分析,又不對(duì)存儲(chǔ)性能產(chǎn)生影響。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明一種具體實(shí)施方式所提供的存儲(chǔ)系統(tǒng)的日志管理方法流程圖;
圖2為本發(fā)明一種具體實(shí)施方式所提供的存儲(chǔ)系統(tǒng)的日志管理系統(tǒng)結(jié)構(gòu)示意圖;
圖3為本發(fā)明另一種具體實(shí)施方式所提供的存儲(chǔ)系統(tǒng)的日志管理系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明的核心是提供一種存儲(chǔ)系統(tǒng)的日志管理方法和系統(tǒng),能夠?qū)θ罩具M(jìn)行有效的管理,使得既能通過日志數(shù)據(jù)對(duì)存儲(chǔ)系統(tǒng)的穩(wěn)定性、可靠性及性能進(jìn)行準(zhǔn)確有效的分析,又不對(duì)存儲(chǔ)性能產(chǎn)生影響。
為了使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更為明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式做詳細(xì)的說明。
在以下描述中闡述了具體細(xì)節(jié)以便于充分理解本發(fā)明。但是本發(fā)明能夠以多種不同于在此描述的其它方式來實(shí)施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下做類似推廣。因此本發(fā)明不受下面公開的具體實(shí)施的限制。
請(qǐng)參考圖1,圖1為本發(fā)明一種具體實(shí)施方式所提供的存儲(chǔ)系統(tǒng)的日志管理方法流程圖。
本發(fā)明的一種具體實(shí)施方式提供了一種存儲(chǔ)系統(tǒng)的日志管理方法,包括:
S11:實(shí)時(shí)獲取存儲(chǔ)系統(tǒng)中生成的日志信息。
S12:對(duì)日志信息進(jìn)行分析,獲取日志信息中各日志的優(yōu)先級(jí)。
在本發(fā)明的一種實(shí)施方式中,對(duì)各日志的優(yōu)先級(jí)進(jìn)行了具體說明。即對(duì)日志信息進(jìn)行分析,獲取日志信息中各日志的優(yōu)先級(jí),包括:根據(jù)日志信息,獲取生成各日志的對(duì)應(yīng)程序子模塊的信息;根據(jù)各程序子模塊的特性對(duì)各自生成的日志劃分日志類型;提取各日志類型中錯(cuò)誤日志的數(shù)量,按照錯(cuò)誤日志數(shù)量由少至多的順序定義各日志類型的優(yōu)先級(jí),其中,錯(cuò)誤日志數(shù)量越少的日志類型的優(yōu)先級(jí)越低。
在存儲(chǔ)系統(tǒng)中,所有的日志信息都來自于不同的程序子模塊,根據(jù)生成日志的程序子模塊的不同來劃分日志類型,按照日志類型的不同定義不同的優(yōu)先級(jí)。提取錯(cuò)誤日志的數(shù)量,根據(jù)錯(cuò)誤日志的數(shù)量對(duì)日志類型設(shè)置優(yōu)先級(jí),錯(cuò)誤日志數(shù)量多的日志類型擁有較高的優(yōu)先級(jí),錯(cuò)誤日志數(shù)量相對(duì)較少的日志類型擁有較低的優(yōu)先級(jí)。
S13:在存儲(chǔ)系統(tǒng)中的歷史日志信息的存儲(chǔ)量超過預(yù)設(shè)閾值時(shí),根據(jù)各歷史日志的優(yōu)先級(jí),按照優(yōu)先級(jí)由低至高的順序依次覆蓋各歷史日志。
進(jìn)一步地,除卻按照優(yōu)先級(jí)由低至高的順序依次覆蓋各歷史日志之外,還包括:當(dāng)歷史日志信息中的至少兩個(gè)歷史日志的優(yōu)先級(jí)相同,且按照優(yōu)先級(jí)由低至高的覆蓋順序需要對(duì)該優(yōu)先級(jí)的各歷史日志進(jìn)行覆蓋時(shí),按照存儲(chǔ)時(shí)間的先后順序依次覆蓋該優(yōu)先級(jí)的各歷史日志。
在本實(shí)施方式中,對(duì)大量日志信息進(jìn)行覆蓋時(shí),通過提取各日志的優(yōu)先級(jí),采用逐級(jí)覆蓋的策略,根據(jù)各歷史日志的優(yōu)先級(jí),按照優(yōu)先級(jí)由低至高的順序依次覆蓋各歷史日志,即依次先覆蓋優(yōu)先級(jí)較低的日志信息,進(jìn)一步地,在覆蓋時(shí)覆蓋較早時(shí)間段的日志信息,從而保留最有價(jià)值的日志信息,避免因日志覆蓋造成重要信息的丟失,對(duì)日志進(jìn)行了有效的管理,使得既能通過日志數(shù)據(jù)對(duì)存儲(chǔ)系統(tǒng)的穩(wěn)定性、可靠性及性能進(jìn)行準(zhǔn)確有效的分析,又不對(duì)存儲(chǔ)性能產(chǎn)生影響。
在本發(fā)明的一種實(shí)施方式中,在獲取日志信息中各日志的優(yōu)先級(jí)之后,還包括:
判斷各日志的優(yōu)先級(jí)是否超過預(yù)設(shè)優(yōu)先級(jí)閾值;
若是,則控制對(duì)該優(yōu)先級(jí)超過預(yù)設(shè)優(yōu)先級(jí)閾值的日志進(jìn)行增量輸出;
若否,則控制對(duì)該優(yōu)先級(jí)未超過預(yù)設(shè)優(yōu)先級(jí)閾值的日志進(jìn)行減量輸出。
進(jìn)一步地,在控制對(duì)該優(yōu)先級(jí)超過預(yù)設(shè)優(yōu)先級(jí)閾值的日志進(jìn)行增量輸出之后,還包括:對(duì)相同日志類型的日志按照關(guān)鍵字進(jìn)行歸并。
在本實(shí)施方式中,對(duì)高優(yōu)先級(jí)的日志進(jìn)行增量輸出,對(duì)低優(yōu)先級(jí)的日志進(jìn)行減量輸出,這樣可以對(duì)出錯(cuò)程序模塊輸出更詳細(xì)的日志記錄。然而在對(duì)高優(yōu)先級(jí)的日志類型進(jìn)行增量輸出后,難免會(huì)生成大量的重復(fù)日志信息,因此,為了在有限的存儲(chǔ)空間存儲(chǔ)最有價(jià)值的日志,則對(duì)日志信息進(jìn)行歸并。在對(duì)日志信息進(jìn)行歸并時(shí),采取統(tǒng)一日志類型內(nèi)進(jìn)行歸并,即對(duì)相同日志類型的信息按照關(guān)鍵字進(jìn)行歸并,常用的關(guān)鍵字可以是程序模塊的函數(shù)名。通過對(duì)相同日志類型的日志進(jìn)行歸并處理,可以有效避免重復(fù)日志信息占用大量的存儲(chǔ)空間。
請(qǐng)參考圖2,圖2為本發(fā)明一種具體實(shí)施方式所提供的存儲(chǔ)系統(tǒng)的日志管理系統(tǒng)結(jié)構(gòu)示意圖。
相應(yīng)地,本發(fā)明一種實(shí)施方式還提供了一種存儲(chǔ)系統(tǒng)的日志管理系統(tǒng),包括:
日志生成模塊1,用于生成日志信息;
日志處理模塊2,用于實(shí)時(shí)獲取日志信息,并對(duì)日志信息進(jìn)行分析,提取日志信息中各日志的優(yōu)先級(jí);
日志覆蓋模塊3,用于在存儲(chǔ)系統(tǒng)中的歷史日志信息的存儲(chǔ)量超過預(yù)設(shè)閾值時(shí),根據(jù)各歷史日志的優(yōu)先級(jí),按照優(yōu)先級(jí)由低至高的順序依次覆蓋各歷史日志。
對(duì)大量日志信息進(jìn)行覆蓋時(shí),采用逐級(jí)覆蓋的策略,根據(jù)各歷史日志的優(yōu)先級(jí),按照優(yōu)先級(jí)由低至高的順序依次覆蓋各歷史日志,保留最有價(jià)值的日志信息,避免因日志覆蓋造成重要信息的丟失,對(duì)日志進(jìn)行了有效的管理,使得既能通過日志數(shù)據(jù)對(duì)存儲(chǔ)系統(tǒng)的穩(wěn)定性、可靠性及性能進(jìn)行準(zhǔn)確有效的分析,又不對(duì)存儲(chǔ)性能產(chǎn)生影響。
在上述實(shí)施方式的基礎(chǔ)上,本發(fā)明一種實(shí)施方式中,日志處理模塊包括:子模塊提取單元,用于根據(jù)日志信息,獲取日志生成模塊中生成各日志的對(duì)應(yīng)程序子模塊的信息;類型劃分單元,用于根據(jù)各程序子模塊的特性對(duì)各自生成的日志劃分日志類型;優(yōu)先級(jí)定義單元,用于提取各日志類型中錯(cuò)誤日志的數(shù)量,按照錯(cuò)誤日志數(shù)量由少至多的順序定義各日志類型的優(yōu)先級(jí),其中,錯(cuò)誤日志數(shù)量越少的日志類型的優(yōu)先級(jí)越低。
所有的日志信息都來自于不同的程序子模塊,根據(jù)生成日志的程序子模塊的不同來劃分日志類型,按照日志類型的不同定義不同的優(yōu)先級(jí)。提取錯(cuò)誤日志的數(shù)量,根據(jù)錯(cuò)誤日志的數(shù)量對(duì)日志類型設(shè)置優(yōu)先級(jí),錯(cuò)誤日志數(shù)量多的日志類型擁有較高的優(yōu)先級(jí),錯(cuò)誤日志數(shù)量相對(duì)較少的日志類型擁有較低的優(yōu)先級(jí)。
請(qǐng)參考圖3,圖3為本發(fā)明另一種具體實(shí)施方式所提供的存儲(chǔ)系統(tǒng)的日志管理系統(tǒng)結(jié)構(gòu)示意圖。
在本發(fā)明的一種實(shí)施方式中,日志處理模塊2還包括反饋單元,用于反饋各日志的優(yōu)先級(jí)信息至日志生成模塊;日志生成模塊1還用于對(duì)優(yōu)先級(jí)達(dá)到預(yù)設(shè)優(yōu)先級(jí)閾值的日志進(jìn)行增量輸出,對(duì)優(yōu)先級(jí)低于預(yù)設(shè)優(yōu)先級(jí)閾值的日志進(jìn)行減量輸出。
進(jìn)一步地,該系統(tǒng)還包括:
日志歸并模塊4,用于在日志生成模塊對(duì)優(yōu)先級(jí)達(dá)到預(yù)設(shè)優(yōu)先級(jí)閾值的日志進(jìn)行增量輸出時(shí),對(duì)相同日志類型的日志按照關(guān)鍵字進(jìn)行歸并。
在本實(shí)施方式中,對(duì)高優(yōu)先級(jí)的日志進(jìn)行增量輸出,對(duì)低優(yōu)先級(jí)的日志進(jìn)行減量輸出,這樣可以對(duì)出錯(cuò)程序模塊輸出更詳細(xì)的日志記錄。然而在對(duì)高優(yōu)先級(jí)的日志類型進(jìn)行增量輸出后,難免會(huì)生成大量的重復(fù)日志信息,因此,為了在有限的存儲(chǔ)空間存儲(chǔ)最有價(jià)值的日志,則對(duì)日志信息進(jìn)行歸并。在對(duì)日志信息進(jìn)行歸并時(shí),采取統(tǒng)一日志類型內(nèi)進(jìn)行歸并,即對(duì)相同日志類型的信息按照關(guān)鍵字進(jìn)行歸并,常用的關(guān)鍵字可以是程序模塊的函數(shù)名。通過對(duì)相同日志類型的日志進(jìn)行歸并處理,可以有效避免重復(fù)日志信息占用大量的存儲(chǔ)空間。
在上述任一實(shí)施方式的基礎(chǔ)上,日志覆蓋模塊還用于在歷史日志信息中的至少兩個(gè)歷史日志的優(yōu)先級(jí)相同,且按照優(yōu)先級(jí)由低至高的覆蓋順序需要對(duì)該優(yōu)先級(jí)的各歷史日志進(jìn)行覆蓋時(shí),按照存儲(chǔ)時(shí)間的先后順序依次覆蓋該優(yōu)先級(jí)的各歷史日志。能夠進(jìn)一步保留最有價(jià)值的日志信息,避免日志覆蓋造成重要信息的丟失。
綜上所述,本發(fā)明所提供的存儲(chǔ)系統(tǒng)的日志管理方法和系統(tǒng),通過對(duì)存儲(chǔ)系統(tǒng)中日志信息進(jìn)行自反饋調(diào)節(jié)和逐級(jí)覆蓋,不僅可以根據(jù)反饋的日志信息輸出更詳細(xì)的日志記錄,還可以通過逐級(jí)覆蓋保留最有兼職的日志信息,避免因日志覆蓋造成重要的信息的丟失。從而實(shí)現(xiàn)了對(duì)日志進(jìn)行有效的管理,使得既能通過日志數(shù)據(jù)對(duì)存儲(chǔ)系統(tǒng)的穩(wěn)定性、可靠性及性能進(jìn)行準(zhǔn)確有效的分析,又不對(duì)存儲(chǔ)性能產(chǎn)生影響。
以上對(duì)本發(fā)明所提供的一種存儲(chǔ)系統(tǒng)的日志管理方法和系統(tǒng)進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。