本發(fā)明專利技術(shù)實施例提供一種系統(tǒng)日志獲取方法和裝置,包括在系統(tǒng)的當(dāng)前重啟時刻,將內(nèi)核鏡像文件加載到系統(tǒng)內(nèi)存中的鏡像文件區(qū);其中,所述內(nèi)核鏡像文件與系統(tǒng)日志之間具有關(guān)聯(lián)性;在所述當(dāng)前重啟時刻之后的預(yù)設(shè)時刻,判斷所述當(dāng)前重啟是否為非正常重啟,若是,則根據(jù)內(nèi)核鏡像文件與系統(tǒng)日志之間的關(guān)聯(lián)性獲取所述系統(tǒng)日志,并將所述系統(tǒng)日志存儲至系統(tǒng)的預(yù)留內(nèi)存。本發(fā)明專利技術(shù)實施例提供的系統(tǒng)日志獲取方法和裝置,可在當(dāng)前重啟時刻之后的預(yù)設(shè)時刻,將系統(tǒng)日志存儲至系統(tǒng)內(nèi)存的預(yù)留內(nèi)存,不用開啟專用于獲取系統(tǒng)日志的進(jìn)程便可獲取當(dāng)前重啟時刻之前詳細(xì)準(zhǔn)確的系統(tǒng)日志,減小了系統(tǒng)功耗。
【技術(shù)實現(xiàn)步驟摘要】
系統(tǒng)日志獲取方法和裝置
本專利技術(shù)實施例涉及計算機(jī)系統(tǒng)應(yīng)用
,尤其涉及一種系統(tǒng)日志獲取方法和裝置。
技術(shù)介紹
為使計算機(jī)的可靠性不斷提高,各類系統(tǒng)通常配設(shè)有記錄系統(tǒng)中硬件、軟件和系統(tǒng)問題的系統(tǒng)日志,同時該系統(tǒng)日志還可以記錄系統(tǒng)中發(fā)生的事件,則當(dāng)計算機(jī)系統(tǒng)出現(xiàn)故障,用戶可以通過系統(tǒng)日志來檢查故障原因,為了在系統(tǒng)運行時可及時記錄系統(tǒng)的運行狀況,上述用于存儲系統(tǒng)日志的存儲空間所對應(yīng)的存儲地址被配置在內(nèi)核鏡像文件中,具體的,圖1為現(xiàn)有技術(shù)中內(nèi)核鏡像文件的結(jié)構(gòu)示意圖。如圖1所示,內(nèi)核鏡像文件包括代碼段(.text),初始化數(shù)據(jù)段(.date)和未初始化的數(shù)據(jù)段(.bss),上述存儲地址在內(nèi)核鏡像文件初始配置時被編譯至內(nèi)核鏡像文件的未初始化數(shù)據(jù)段內(nèi),則系統(tǒng)運行時,可根據(jù)內(nèi)核鏡像文件中系統(tǒng)日志的存儲地址將系統(tǒng)的運行狀況,即系統(tǒng)日志存儲在存儲地址對應(yīng)的存儲空間中,由此也可以理解為系統(tǒng)日志放置在內(nèi)核鏡像文件的未初始化數(shù)據(jù)段內(nèi)。系統(tǒng)的啟動是通過加載內(nèi)核鏡像文件至系統(tǒng)內(nèi)存并運行該內(nèi)核鏡像文件,以完成系統(tǒng)的啟動。圖2為現(xiàn)有技術(shù)中系統(tǒng)內(nèi)存加載內(nèi)核鏡像文件的示意圖。如圖2所示,在由系統(tǒng)的重啟時刻開始的啟動過程中,是將內(nèi)核鏡像文件以壓縮文件的形式加載到系統(tǒng)內(nèi)存的鏡像文件區(qū),該壓縮文件中僅包括內(nèi)核鏡像文件的代碼段和初始化數(shù)據(jù)段,而內(nèi)核鏡像文件的未初始化數(shù)據(jù)段直接加載至系統(tǒng)內(nèi)存中鏡像文件區(qū)的對應(yīng)位置;在系統(tǒng)內(nèi)存中,用于加載未初始化數(shù)據(jù)段的位置之前,存在一段用于加載解壓后的內(nèi)核鏡像文件的加載空間,即解壓文件加載區(qū);該解壓文件加載區(qū)用于放置解壓后的代碼段和初始化數(shù)據(jù)段,即當(dāng)上述壓縮文件被解壓后,則在系統(tǒng)內(nèi)存中便存在如圖1所示的內(nèi)核鏡像文件,此時在系統(tǒng)內(nèi)存中完整的內(nèi)核鏡像文件占用的存儲空間為鏡像文件區(qū)。假設(shè)壓縮文件直接被加載至解壓文件加載區(qū),則解壓縮后的代碼段和初始化數(shù)據(jù)段便與壓縮文件在解壓文件加載區(qū)中發(fā)生重疊現(xiàn)象,因此在系統(tǒng)的啟動過程中,先使壓縮文件加載至未初始化數(shù)據(jù)段所在的位置處,隨后將對壓縮文件解壓后得到的代碼段和初始化數(shù)據(jù)段加載至解壓文件加載區(qū),避免了解壓縮后的代碼段和初始化數(shù)據(jù)段與壓縮文件在解壓文件加載區(qū)中發(fā)生重疊現(xiàn)象,但如此一來,未初始化數(shù)據(jù)段中的系統(tǒng)日志的存儲地址被壓縮文件覆蓋,且未初始化數(shù)據(jù)段在系統(tǒng)重啟過程中被清零處理,也就是說系統(tǒng)日志會被清除,無法獲知當(dāng)前重啟時刻之前系統(tǒng)的運行狀況。為獲取系統(tǒng)日志,現(xiàn)有技術(shù)中通常在用戶態(tài)(即系統(tǒng)啟動過程結(jié)束后進(jìn)入的面向用戶的應(yīng)用空間)時開啟守護(hù)進(jìn)程,即在系統(tǒng)正常運行中,該守護(hù)進(jìn)程從系統(tǒng)內(nèi)存中的內(nèi)核鏡像文件中讀取并保存了系統(tǒng)日志,從而即使系統(tǒng)發(fā)生重啟并且啟動過程結(jié)束后,用戶依然可以查看該守護(hù)進(jìn)程保存的、在系統(tǒng)重啟時刻之前的系統(tǒng)日志。但是在用戶態(tài)時開啟守護(hù)進(jìn)程增加了CPU(CentralProcessingUnit,中央處理器)的進(jìn)程管理負(fù)擔(dān),加大了系統(tǒng)功耗,降低了計算機(jī)的工作性能。
技術(shù)實現(xiàn)思路
本專利技術(shù)實施例提供一種系統(tǒng)日志獲取方法和裝置,用于在不增加系統(tǒng)功耗的情況下獲取系統(tǒng)日志。第一方面,本專利技術(shù)實施例提供一種系統(tǒng)日志獲取方法,在系統(tǒng)的當(dāng)前重啟時刻,將內(nèi)核鏡像文件加載到系統(tǒng)內(nèi)存中的鏡像文件區(qū);其中,所述內(nèi)核鏡像文件與系統(tǒng)日志之間具有關(guān)聯(lián)性;在所述當(dāng)前重啟時刻之后的預(yù)設(shè)時刻,判斷所述當(dāng)前重啟是否為非正常重啟,若是,則根據(jù)所述內(nèi)核鏡像文件與所述系統(tǒng)日志之間的關(guān)聯(lián)性獲取所述系統(tǒng)日志,并將所述系統(tǒng)日志存儲至系統(tǒng)的預(yù)留內(nèi)存。結(jié)合第一方面,在第一實施方式中,在所述系統(tǒng)的當(dāng)前重啟時刻之前,所述方法還包括:在配置所述內(nèi)核鏡像文件時,將所述系統(tǒng)日志的存儲地址關(guān)聯(lián)至所述內(nèi)核鏡像文件的初始化數(shù)據(jù)段;則所述根據(jù)內(nèi)核鏡像文件與系統(tǒng)日志之間的關(guān)聯(lián)性獲取所述系統(tǒng)日志,包括:從所述內(nèi)核鏡像文件的初始化數(shù)據(jù)段中獲取所述系統(tǒng)日志的存儲地址,根據(jù)所述系統(tǒng)日志的存儲地址從與所述系統(tǒng)日志的存儲地址對應(yīng)的存儲空間中獲取所述系統(tǒng)日志。結(jié)合第一方面,在第二實施方式中,所述預(yù)留內(nèi)存位于系統(tǒng)內(nèi)存中的非鏡像文件區(qū)。結(jié)合第一方面的第二實施方式,在第三實施方式中,所述判斷所述重啟是否為非正常重啟,包括:識別所述預(yù)留內(nèi)存中的復(fù)位標(biāo)識變量的值;根據(jù)所述復(fù)位標(biāo)識變量的值判斷所述當(dāng)前重啟是否為非正常重啟。結(jié)合第一方面至第一方面的第三實施方式,在第四實施方式中,所述將所述系統(tǒng)日志存儲至系統(tǒng)的預(yù)留內(nèi)存之后,所述方法還包括:運行所述內(nèi)核鏡像文件以啟動內(nèi)核空間;通過所述內(nèi)核空間啟動用戶空間,并將所述預(yù)留內(nèi)存存儲的系統(tǒng)日志導(dǎo)出至永久存儲設(shè)備。第二方面,本專利技術(shù)實施例提供一種系統(tǒng)日志獲取裝置,包括:加載模塊,用于在系統(tǒng)的當(dāng)前重啟時刻,將內(nèi)核鏡像文件加載到系統(tǒng)內(nèi)存中的鏡像文件區(qū);其中,所述內(nèi)核鏡像文件與系統(tǒng)日志之間具有關(guān)聯(lián)性;判斷模塊,用于在所述當(dāng)前重啟時刻之后的預(yù)設(shè)時刻,判斷所述重啟狀態(tài)是否為非正常重啟,若是,則觸發(fā)導(dǎo)出模塊;所述導(dǎo)出模塊用于根據(jù)內(nèi)核鏡像文件與系統(tǒng)日志之間的關(guān)聯(lián)性獲取所述系統(tǒng)日志,并將所述系統(tǒng)日志存儲至系統(tǒng)的預(yù)留內(nèi)存。結(jié)合第二方面,在第一實施方式中,所述系統(tǒng)日志獲取裝置還包括關(guān)聯(lián)模塊,用于在配置所述內(nèi)核鏡像文件時,將所述系統(tǒng)日志的存儲地址關(guān)聯(lián)至所述內(nèi)核鏡像文件的初始化數(shù)據(jù)段;則所述導(dǎo)出模塊具體用于從所述內(nèi)核鏡像文件的初始化數(shù)據(jù)段中獲取所述系統(tǒng)日志的存儲地址,根據(jù)所述系統(tǒng)日志的存儲地址從與所述系統(tǒng)日志的存儲地址對應(yīng)的存儲空間中獲取所述系統(tǒng)日志。結(jié)合第二方面,在第二實施方式中,所述預(yù)留內(nèi)存位于系統(tǒng)內(nèi)存中的非鏡像文件區(qū)。結(jié)合第二方面的第二實施方式,在第三實施方式中,所述判斷模塊具體用于識別所述預(yù)留內(nèi)存中的復(fù)位標(biāo)識變量的值;還用于根據(jù)所述復(fù)位標(biāo)識變量的值判斷所述當(dāng)前重啟是否為非正常重啟。結(jié)合第二方面至第二方面第三實施方式,在第四實施方式中,所述系統(tǒng)日志獲取裝置還包括:運行模塊,用于運行所述內(nèi)核鏡像文件以啟動內(nèi)核空間;通過所述內(nèi)核空間啟動用戶空間,觸發(fā)所述導(dǎo)出模塊將所述預(yù)留內(nèi)存存儲的系統(tǒng)日志導(dǎo)出至永久存儲設(shè)備。本專利技術(shù)各實施例中,在當(dāng)前重啟時刻之后的預(yù)設(shè)時刻,可將系統(tǒng)日志存儲至系統(tǒng)內(nèi)存的預(yù)留內(nèi)存,不用開啟專用于獲取系統(tǒng)日志的進(jìn)程便可獲取本次重啟時刻之前系統(tǒng)詳細(xì)準(zhǔn)確的系統(tǒng)日志,減小了系統(tǒng)功耗。附圖說明為了更清楚地說明本專利技術(shù)實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本專利技術(shù)的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為現(xiàn)有技術(shù)中內(nèi)核鏡像文件的結(jié)構(gòu)示意圖;圖2為現(xiàn)有技術(shù)中系統(tǒng)內(nèi)存加載內(nèi)核鏡像文件的示意圖;圖3為本專利技術(shù)系統(tǒng)日志獲取方法實施例一的流程圖;圖4為本專利技術(shù)實施例一中函數(shù)M關(guān)于α的函數(shù)曲線圖;圖5為本專利技術(shù)系統(tǒng)日志獲取方法實施例二的流程圖;圖6為本專利技術(shù)系統(tǒng)日志獲取裝置實施例一的結(jié)構(gòu)圖;圖7為本專利技術(shù)系統(tǒng)日志獲取裝置實施例二的結(jié)構(gòu)圖。具體實施方式為使本專利技術(shù)實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本專利技術(shù)實施例中的附圖,對本專利技術(shù)實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本專利技術(shù)一部分實施例,而不是全部的實施例。基于本專利技術(shù)中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,本文檔來自技高網(wǎng)...

【技術(shù)保護(hù)點】
一種系統(tǒng)日志獲取方法,其特征在于,包括:在系統(tǒng)的當(dāng)前重啟時刻,將內(nèi)核鏡像文件加載到系統(tǒng)內(nèi)存中的鏡像文件區(qū);其中,所述內(nèi)核鏡像文件與系統(tǒng)日志之間具有關(guān)聯(lián)性;在所述當(dāng)前重啟時刻之后的預(yù)設(shè)時刻,判斷所述當(dāng)前重啟是否為非正常重啟,若是,則根據(jù)所述內(nèi)核鏡像文件與所述系統(tǒng)日志之間的關(guān)聯(lián)性獲取所述系統(tǒng)日志,并將所述系統(tǒng)日志存儲至系統(tǒng)的預(yù)留內(nèi)存。
【技術(shù)特征摘要】
1.一種系統(tǒng)日志獲取方法,其特征在于,包括:在系統(tǒng)的當(dāng)前重啟時刻,將內(nèi)核鏡像文件加載到系統(tǒng)內(nèi)存中的鏡像文件區(qū);其中,所述內(nèi)核鏡像文件與系統(tǒng)日志之間具有關(guān)聯(lián)性;在所述當(dāng)前重啟時刻之后的預(yù)設(shè)時刻,判斷當(dāng)前重啟是否為非正常重啟,若是,則根據(jù)所述內(nèi)核鏡像文件與所述系統(tǒng)日志之間的關(guān)聯(lián)性獲取所述系統(tǒng)日志,并將所述系統(tǒng)日志存儲至系統(tǒng)的預(yù)留內(nèi)存;在所述系統(tǒng)的當(dāng)前重啟時刻之前,所述方法還包括:在配置所述內(nèi)核鏡像文件時,將所述系統(tǒng)日志的存儲地址關(guān)聯(lián)至所述內(nèi)核鏡像文件的初始化數(shù)據(jù)段。2.根據(jù)權(quán)利要求1所述的獲取方法,其特征在于,所述根據(jù)內(nèi)核鏡像文件與系統(tǒng)日志之間的關(guān)聯(lián)性獲取所述系統(tǒng)日志,包括:從所述內(nèi)核鏡像文件的初始化數(shù)據(jù)段中獲取所述系統(tǒng)日志的存儲地址,根據(jù)所述系統(tǒng)日志的存儲地址從與所述系統(tǒng)日志的存儲地址對應(yīng)的存儲空間中獲取所述系統(tǒng)日志。3.根據(jù)權(quán)利要求1所述的獲取方法,其特征在于,所述預(yù)留內(nèi)存位于系統(tǒng)內(nèi)存中的非鏡像文件區(qū)。4.根據(jù)權(quán)利要求3所述的獲取方法,其特征在于,所述判斷所述當(dāng)前重啟是否為非正常重啟,包括:識別所述預(yù)留內(nèi)存中的復(fù)位標(biāo)識變量的值;根據(jù)所述復(fù)位標(biāo)識變量的值判斷所述當(dāng)前重啟是否為非正常重啟。5.根據(jù)權(quán)利要求1~4任一項所述的獲取方法,其特征在于,所述將所述系統(tǒng)日志存儲至系統(tǒng)的預(yù)留內(nèi)存之后,所述方法還包括:運行所述內(nèi)核鏡像文件以啟動內(nèi)核空間;通過所述內(nèi)核空間啟動用戶空間,并將所述預(yù)留內(nèi)存存儲的系統(tǒng)日志導(dǎo)出至...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:楊建平,祁德春,
申請(專利權(quán))人:華為技術(shù)有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。