本技術(shù)涉及數(shù)據(jù)處理,特別是涉及一種日志處理方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)。
背景技術(shù):
1、存儲(chǔ)系統(tǒng)用來存放生產(chǎn)操作中的大量數(shù)據(jù),同時(shí)也會(huì)有大量的不同用戶訪問同一批數(shù)據(jù),為了數(shù)據(jù)安全的需要,實(shí)際應(yīng)用中經(jīng)常需要看到什么用戶訪問了什么數(shù)據(jù),對這些數(shù)據(jù)做了什么操作,操作的結(jié)果是什么樣的,做到用戶對數(shù)據(jù)的瀏覽訪問可追溯,以防止數(shù)據(jù)被惡意破壞或者在數(shù)據(jù)出現(xiàn)問題時(shí)可以通過追溯找到問題發(fā)生的原因,這就需要存儲(chǔ)系統(tǒng)對所有的文件訪問操作記錄日志。
2、通常的文件訪問審計(jì)日志記錄方法是在訪問后直接記錄一條包含文件名、時(shí)間、訪問結(jié)果等基本信息的日志到系統(tǒng)的日志文件中。但是由于存儲(chǔ)系統(tǒng)的數(shù)據(jù)非常多,通常讀寫負(fù)載壓力很大,短時(shí)間內(nèi)會(huì)有大量的文件訪問,這時(shí)如果對每個(gè)文件訪問請求直接在請求處理流程中記錄日志,會(huì)明顯增加請求處理的時(shí)間,使文件訪問變慢,業(yè)務(wù)訪問卡頓,嚴(yán)重的影響系統(tǒng)性能。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供一種能夠提高系統(tǒng)性能的日志處理方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)。
2、為了解決上述技術(shù)問題,第一方面,提供日志處理方法,方法包括:
3、獲取目標(biāo)隊(duì)列中的目標(biāo)日志鏈表的條目數(shù)量;
4、判斷目標(biāo)隊(duì)列中的目標(biāo)日志鏈表的條目數(shù)量是否大于預(yù)設(shè)閾值;
5、若目標(biāo)隊(duì)列中的目標(biāo)日志鏈表的條目數(shù)量小于預(yù)設(shè)閾值,則判斷目標(biāo)隊(duì)列是否包括目標(biāo)輔助線程;
6、若目標(biāo)隊(duì)列包括目標(biāo)輔助線程,對目標(biāo)輔助線程進(jìn)行標(biāo)記,并對目標(biāo)輔助線程進(jìn)行銷毀;
7、若目標(biāo)隊(duì)列中的目標(biāo)日志鏈表的條目數(shù)量大于預(yù)設(shè)閾值,則獲取系統(tǒng)負(fù)載值,判斷系統(tǒng)負(fù)載值是否大于預(yù)設(shè)負(fù)載值;
8、若系統(tǒng)負(fù)載值大于預(yù)設(shè)負(fù)載值,則計(jì)算目標(biāo)日志鏈表的條目數(shù)量與預(yù)設(shè)閾值目標(biāo)差值,根據(jù)當(dāng)目標(biāo)差值對目標(biāo)隊(duì)列中的目標(biāo)日志鏈表的條目進(jìn)行刪減操作。
9、在其中一個(gè)實(shí)施例中,獲取目標(biāo)隊(duì)列中的目標(biāo)日志鏈表的條目數(shù)量之前包括:
10、響應(yīng)于接收到文件訪問請求,文件訪問請求包括待訪問文件的名稱以及待訪問文件的類型;
11、基于待訪問文件的名稱訪問待訪問文件;
12、根據(jù)待訪問文件的類型形成目標(biāo)審計(jì)日志,并將目標(biāo)審計(jì)日志插入目標(biāo)日志鏈表中。
13、在其中一個(gè)實(shí)施例中,方法還包括:
14、根據(jù)目標(biāo)日志鏈表的條目確定目標(biāo)隊(duì)列;
15、獲取目標(biāo)日志鏈表的條目;
16、將目標(biāo)日志鏈表的條目移動(dòng)至目標(biāo)隊(duì)列中;
17、根據(jù)標(biāo)日志鏈表的條目移動(dòng)至目標(biāo)隊(duì)列的時(shí)間生成目標(biāo)時(shí)間戳;
18、獲取目標(biāo)隊(duì)列線程,目標(biāo)隊(duì)列線程基于目標(biāo)時(shí)間戳的時(shí)間順序?qū)⒛繕?biāo)日志鏈表的條目寫入數(shù)據(jù)庫。
19、在其中一個(gè)實(shí)施例中,根據(jù)目標(biāo)讀寫操作類型將目標(biāo)日志鏈表的條目移動(dòng)至目標(biāo)隊(duì)列中包括:
20、獲取與目標(biāo)讀寫操作類型對應(yīng)的目標(biāo)隊(duì)列線程;
21、遍歷目標(biāo)隊(duì)列線程中的目標(biāo)日志鏈表;
22、對目標(biāo)隊(duì)列線程中的目標(biāo)日志鏈表加鎖;
23、將目標(biāo)隊(duì)列線程中的目標(biāo)日志鏈表移動(dòng)至目標(biāo)隊(duì)列中;
24、響應(yīng)于將目標(biāo)隊(duì)列線程中的目標(biāo)日志鏈表移動(dòng)至目標(biāo)隊(duì)列中,對目標(biāo)隊(duì)列線程中的目標(biāo)日志鏈表釋放鎖。
25、在其中一個(gè)實(shí)施例中,方法還包括:
26、對目標(biāo)隊(duì)列線程進(jìn)行初始化;
27、判斷目標(biāo)隊(duì)列線程的類型,目標(biāo)隊(duì)列線程的類型包括主線程以及輔線程;
28、當(dāng)目標(biāo)隊(duì)列線程的類型為主線程時(shí),則判斷數(shù)據(jù)庫中是否存在目標(biāo)隊(duì)列線程主表;
29、若數(shù)據(jù)庫中存在目標(biāo)隊(duì)列線程主表,則目標(biāo)隊(duì)列線程從目標(biāo)隊(duì)列中讀取預(yù)設(shè)數(shù)量的目標(biāo)日志鏈表的條目,并將預(yù)設(shè)數(shù)量的目標(biāo)日志鏈表的條目寫入數(shù)據(jù)庫中的目標(biāo)隊(duì)列線程主表中。
30、在其中一個(gè)實(shí)施例中,獲取系統(tǒng)負(fù)載值包括:
31、獲取服務(wù)器的cpu配置數(shù)量以及服務(wù)器的內(nèi)存配置容量;
32、獲取服務(wù)器中的虛擬機(jī)的第一cpu需求信息以及服務(wù)器中的虛擬機(jī)的第一內(nèi)存需求信息;
33、獲取服務(wù)器中的后臺(tái)程序的第二cpu需求信息以及服務(wù)器中的后臺(tái)程序的第二內(nèi)存需求信息;
34、基于服務(wù)器cpu配置數(shù)量、第一cpu需求信息以及第二cpu需求信息,計(jì)算得到服務(wù)器的cpu負(fù)載;
35、基于內(nèi)存配置容量、第一內(nèi)存需求信息以及第二內(nèi)存需求信息計(jì)算得到服務(wù)器的內(nèi)存負(fù)載;
36、基于服務(wù)器的cpu負(fù)載,確定第一權(quán)重值;
37、基于服務(wù)器的內(nèi)存負(fù)載,確定第二權(quán)重值;
38、根據(jù)第一權(quán)重值以及第二權(quán)重值對服務(wù)器的cpu負(fù)載以及服務(wù)器的內(nèi)存負(fù)載進(jìn)行加權(quán)平均計(jì)算,得到服務(wù)器負(fù)載。
39、在其中一個(gè)實(shí)施例中,方法還包括:
40、根據(jù)目標(biāo)差值對目標(biāo)隊(duì)列中的目標(biāo)日志鏈表的條目進(jìn)行刪減操作包括:
41、計(jì)算目標(biāo)隊(duì)列中的目標(biāo)日志鏈表的優(yōu)先級;
42、基于目標(biāo)日志鏈表優(yōu)先級從大至小對目標(biāo)隊(duì)列中的目標(biāo)日志鏈表進(jìn)行排序,得到目標(biāo)日志鏈表優(yōu)先級排序表;
43、將優(yōu)先級排序表末尾的目標(biāo)差值數(shù)量的目標(biāo)日志鏈表的條目從目標(biāo)隊(duì)列中刪除;
44、響應(yīng)于目標(biāo)日志鏈表的條目從目標(biāo)隊(duì)列中刪除,生成日志標(biāo)記,并將日志標(biāo)志記錄到數(shù)據(jù)庫中。
45、為了解決上述技術(shù)問題,第二方面,提供了一種日志處理裝置,裝置包括:
46、獲取模塊,用于獲取目標(biāo)隊(duì)列中的目標(biāo)日志鏈表的條目數(shù)量;
47、判斷模塊,用于判斷目標(biāo)隊(duì)列中的目標(biāo)日志鏈表的條目數(shù)量是否大于預(yù)設(shè)閾值;若目標(biāo)隊(duì)列中的目標(biāo)日志鏈表的條目數(shù)量小于預(yù)設(shè)閾值,則判斷目標(biāo)隊(duì)列是否包括目標(biāo)輔助線程;若目標(biāo)隊(duì)列包括目標(biāo)輔助線程,對目標(biāo)輔助線程進(jìn)行標(biāo)記,并對目標(biāo)輔助線程進(jìn)行銷毀;若目標(biāo)隊(duì)列中的目標(biāo)日志鏈表的條目數(shù)量大于預(yù)設(shè)閾值,則獲取系統(tǒng)負(fù)載值,判斷系統(tǒng)負(fù)載值是否大于預(yù)設(shè)負(fù)載值;若系統(tǒng)負(fù)載值大于預(yù)設(shè)負(fù)載值,則計(jì)算目標(biāo)日志鏈表的條目數(shù)量與預(yù)設(shè)閾值目標(biāo)差值,根據(jù)當(dāng)目標(biāo)差值對目標(biāo)隊(duì)列中的日志鏈表進(jìn)行刪減操作。
48、為了解決上述技術(shù)問題,第三方面,提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,處理器執(zhí)行計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)以下步驟:所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述第一方面所述方法的步驟。
49、為了解決上述技術(shù)問題,第四方面,本技術(shù)提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述第一方面所述的方法的步驟。
50、區(qū)別于現(xiàn)有技術(shù),本技術(shù)中通過獲取目標(biāo)隊(duì)列中的目標(biāo)日志鏈表的條目數(shù)量;判斷目標(biāo)隊(duì)列中的目標(biāo)日志鏈表的條目數(shù)量是否大于預(yù)設(shè)閾值;若目標(biāo)隊(duì)列中的目標(biāo)日志鏈表的條目數(shù)量小于預(yù)設(shè)閾值,則判斷目標(biāo)隊(duì)列是否包括目標(biāo)輔助線程;若目標(biāo)隊(duì)列包括目標(biāo)輔助線程,對目標(biāo)輔助線程進(jìn)行標(biāo)記,并對目標(biāo)輔助線程進(jìn)行銷毀;若目標(biāo)隊(duì)列中的目標(biāo)日志鏈表的條目數(shù)量大于預(yù)設(shè)閾值,則獲取系統(tǒng)負(fù)載值,判斷系統(tǒng)負(fù)載值是否大于預(yù)設(shè)負(fù)載值;若系統(tǒng)負(fù)載值大于預(yù)設(shè)負(fù)載值,則計(jì)算目標(biāo)日志鏈表的條目數(shù)量與預(yù)設(shè)閾值目標(biāo)差值,根據(jù)當(dāng)目標(biāo)差值對目標(biāo)隊(duì)列中的目標(biāo)日志鏈表的條目進(jìn)行刪減操作。如此,通過目標(biāo)隊(duì)列中的日志鏈表數(shù)量、系統(tǒng)負(fù)載與預(yù)設(shè)數(shù)值進(jìn)行比較判斷,并根據(jù)判斷結(jié)果進(jìn)行相應(yīng)的處理,可以降低日志對系統(tǒng)空間的占用,能夠提高系統(tǒng)可靠性。