欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于非易失內(nèi)存的內(nèi)核日志存儲方法及裝置與流程

文檔序號:12462677閱讀:177來源:國知局
一種基于非易失內(nèi)存的內(nèi)核日志存儲方法及裝置與流程

本發(fā)明涉及存儲技術領域,特別是涉及一種基于非易失內(nèi)存的內(nèi)核日志存儲方法及裝置。



背景技術:

當前計算機系統(tǒng)的存儲分為兩種,一種是內(nèi)部存儲,簡稱內(nèi)存,另一種是外部存儲。外部存儲主要是機械硬盤、固態(tài)硬盤、分布式存儲設備;最為常見的內(nèi)存是DRAM(Dynamic Random Access Memory),即動態(tài)隨機存儲器,DRAM只能將數(shù)據(jù)保持很短的時間。為了保持數(shù)據(jù),DRAM使用電容存儲,所以必須隔一段時間刷新一次,如果存儲單元沒有被刷新,存儲的信息就會丟失。

目前Linux操作系統(tǒng)內(nèi)核日志主要存儲于DRAM中的環(huán)形緩沖區(qū)中,日志守護進程會周期性的將環(huán)形緩沖區(qū)中的內(nèi)核日志回寫到磁盤上。但這種機制存在一個問題,當系統(tǒng)突然斷電或意外宕機,環(huán)形緩沖區(qū)中的內(nèi)核日志就不能立刻回寫到磁盤上,造成關鍵內(nèi)核日志的丟失。

由此可見,當系統(tǒng)突然斷電或意外宕機時,如何防止內(nèi)核日志丟失的問題是本領域技術人員亟待解決的問題。



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

本發(fā)明的目的是提供一種基于非易失內(nèi)存的內(nèi)核日志存儲方法及裝置,用于當系統(tǒng)突然斷電或意外宕機時,防止內(nèi)核日志丟失的問題。

為解決上述技術問題,本發(fā)明提供一種基于非易失內(nèi)存的內(nèi)核日志存儲方法,包括:

將非易失內(nèi)存中的預定容量的目標內(nèi)存空間隔離以作為內(nèi)核日志的存儲空間;

當產(chǎn)生內(nèi)核日志時,將所述內(nèi)核日志存儲于所述目標內(nèi)存空間中。

優(yōu)選地,所述將非易失內(nèi)存中的預定容量的目標內(nèi)存空間隔離以作為內(nèi)核日志的存儲空間具體包括:

在所述非易失內(nèi)存中選取所述預定容量對應的一個空間作為所述目標內(nèi)存空間,并獲取所述目標內(nèi)存空間對應的物理地址段;

將所述物理地址段重映射為內(nèi)核對應的虛擬地址;

將所述目標內(nèi)存空間格式化為靜態(tài)環(huán)形緩沖區(qū);

將所述虛擬地址作為地址指針賦值給所述靜態(tài)環(huán)形緩沖區(qū)的指針變量。

優(yōu)選地,所述當產(chǎn)生內(nèi)核日志時,將所述內(nèi)核日志存儲于所述目標內(nèi)存空間中具體包括:

獲取存儲指令,并解析所述存儲指令的存儲內(nèi)容;

判斷所述存儲內(nèi)容是否為所述內(nèi)核日志;

如果是,則將所述內(nèi)核日志存儲于所述靜態(tài)環(huán)形緩沖區(qū)中。

優(yōu)選地,還包括:當接收到正常關機信號時,將所述靜態(tài)環(huán)形緩沖區(qū)中存儲的所述內(nèi)核日志回寫至磁盤,并清空所述靜態(tài)環(huán)形緩沖區(qū)。

優(yōu)選地,還包括:當接收到開機啟動信號時,判斷所述靜態(tài)環(huán)形緩沖區(qū)是否為空;

如果否,將所述靜態(tài)環(huán)形緩沖區(qū)中保留的所述內(nèi)核日志回寫至磁盤,并清空所述靜態(tài)環(huán)形緩沖區(qū)。

優(yōu)選地,還包括:

檢測所述目標內(nèi)存空間的存儲利用率;

當所述存儲利用率達到預定值時,輸出提示信息。

優(yōu)選地,所述預定容量為128K。

優(yōu)選地,所述物理地址段的起始地址與所述目標內(nèi)存空間的起始地址相同,或所述物理地址段的結束地址與所述目標內(nèi)存空間的結束地址相同。

為解決上述技術問題,本發(fā)明提供一種基于非易失內(nèi)存的內(nèi)核日志存儲裝置,包括:

隔離模塊,用于將非易失內(nèi)存中的預定容量的目標內(nèi)存空間隔離以作為內(nèi)核日志的存儲空間;

控制模塊,用于當產(chǎn)生內(nèi)核日志時,將所述內(nèi)核日志存儲于所述目標內(nèi)存空間中。

優(yōu)選地,所述隔離模塊具體包括:

獲取單元,用于在所述非易失內(nèi)存中選取所述預定容量對應的一個空間作為所述目標內(nèi)存空間,并獲取所述目標內(nèi)存空間對應的物理地址段;

映射單元,用于將所述物理地址段重映射為內(nèi)核對應的虛擬地址;

格式化單元,用于將所述目標內(nèi)存空間格式化為靜態(tài)環(huán)形緩沖區(qū);

賦值單元,用于將所述虛擬地址作為地址指針賦值給所述靜態(tài)環(huán)形緩沖區(qū)的指針變量。

本發(fā)明所提供的基于非易失內(nèi)存的內(nèi)核日志存儲方法,包括:將非易失內(nèi)存中的預定容量的目標內(nèi)存空間隔離以作為內(nèi)核日志的存儲空間;當產(chǎn)生內(nèi)核日志時,將所述內(nèi)核日志存儲于所述目標內(nèi)存空間中。由此可見,本方法通過在非易失內(nèi)存中得到一塊獨立的目標內(nèi)存空間,當產(chǎn)生內(nèi)核日志時,將內(nèi)核日志存儲于目標內(nèi)存空間即可。由于目標內(nèi)存空間是非易失內(nèi)存的一部分,因此目標內(nèi)存空間具有非易失內(nèi)存所具有的掉電數(shù)據(jù)不丟失的物理特性,即使系統(tǒng)突然宕機,內(nèi)核日志仍然能可靠恢復。此外,本發(fā)明所提供的基于非易失內(nèi)存的內(nèi)核日志存儲同樣具有上述有益效果。

附圖說明

為了更清楚地說明本發(fā)明實施例,下面將對實施例中所需要使用的附圖做簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實施例提供的一種基于非易失內(nèi)存的內(nèi)核日志存儲方法的流程圖;

圖2為本發(fā)明實施例提供的另一種基于非易失內(nèi)存的內(nèi)核日志存儲方法的流程圖;

圖3為本發(fā)明實施例提供的一種基于非易失內(nèi)存的內(nèi)核日志存儲裝置的結構圖。

具體實施方式

下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下,所獲得的所有其他實施例,都屬于本發(fā)明保護范圍。

本發(fā)明的核心是提供一種基于非易失內(nèi)存的內(nèi)核日志存儲方法及裝置,用于當系統(tǒng)突然斷電或意外宕機時,防止內(nèi)核日志丟失的問題。

為了使本技術領域的人員更好地理解本發(fā)明方案,下面結合附圖和具體實施方式對本發(fā)明作進一步的詳細說明。

在具體實施中,本發(fā)明所提供的方法的運行平臺可以為K-UX操作系統(tǒng)的服務器,但是并不局限于這一種??梢岳斫獾氖?,該運行平臺需要集成兩種系統(tǒng)內(nèi)存,一種是動態(tài)隨機存儲器,一種是非易失內(nèi)存存儲器,簡稱非易失內(nèi)存。非易失內(nèi)存面市后對改善上述問題提供了可能,它的顯著特點是能夠在完全斷電的時候依然保存完整內(nèi)存數(shù)據(jù),其訪問速度要比普通硬盤快很多。

圖1為本發(fā)明實施例提供的一種基于非易失內(nèi)存的內(nèi)核日志存儲方法的流程圖。如圖1所示,包括:

S10:將非易失內(nèi)存中的預定容量的目標內(nèi)存空間隔離以作為內(nèi)核日志的存儲空間。

在具體實施中,預定容量可以靈活選擇,但是需要根據(jù)當前非易失內(nèi)存的大小來決定,為了保證系統(tǒng)的其它性能不受影響,在具體實施中,預定容量不能太大,最好不要超過四分之一,作為優(yōu)選的實施方式,預定容量為128K。

圖2為本發(fā)明實施例提供的另一種基于非易失內(nèi)存的內(nèi)核日志存儲方法的流程圖。作為優(yōu)選地實施方式,S10具體包括:

S100:在非易失內(nèi)存中選取預定容量對應的一個空間作為目標內(nèi)存空間,并獲取目標內(nèi)存空間對應的物理地址段;

S101:將物理地址段重映射為內(nèi)核對應的虛擬地址;

S102:將目標內(nèi)存空間格式化為靜態(tài)環(huán)形緩沖區(qū);

S103:將虛擬地址作為地址指針賦值給靜態(tài)環(huán)形緩沖區(qū)的指針變量。

S11:當產(chǎn)生內(nèi)核日志時,將內(nèi)核日志存儲于目標內(nèi)存空間中。

如圖2所示,作為優(yōu)選地實施方式,S11具體包括:

S110:獲取存儲指令,并解析存儲指令的存儲內(nèi)容;

S111:判斷存儲內(nèi)容是否為內(nèi)核日志;如果是,則進入步驟S111。

S112:將內(nèi)核日志存儲于靜態(tài)環(huán)形緩沖區(qū)中。

可以理解的是,操作系統(tǒng)中除了內(nèi)核日志外,還包含有其他的日志,由于目標內(nèi)存空間有限,因此,只將內(nèi)核日志存儲至靜態(tài)環(huán)境緩沖區(qū)中。具體地是通過存儲指令來判斷待存儲的內(nèi)容的類型,如果是內(nèi)核日志,則存儲于靜態(tài)環(huán)形緩沖區(qū)中,否則按照常規(guī)存儲方式,例如存儲至DRAM中,本實施例不再贅述。

本步驟中雖然是將內(nèi)核日志存儲于靜態(tài)環(huán)形緩沖區(qū)中,但是實際上也是存儲于目標內(nèi)存空間,因為靜態(tài)環(huán)形緩沖區(qū)是通過將目標內(nèi)存空間進行了一系列轉(zhuǎn)換而得到的。

本發(fā)明實施例提供的基于非易失內(nèi)存的內(nèi)核日志存儲方法,包括:將非易失內(nèi)存中的預定容量的目標內(nèi)存空間隔離以作為內(nèi)核日志的存儲空間;當產(chǎn)生內(nèi)核日志時,將所述內(nèi)核日志存儲于所述目標內(nèi)存空間中。由此可見,本方法通過在非易失內(nèi)存中得到一塊獨立的目標內(nèi)存空間,當產(chǎn)生內(nèi)核日志時,將內(nèi)核日志存儲于目標內(nèi)存空間即可。由于目標內(nèi)存空間是非易失內(nèi)存的一部分,因此目標內(nèi)存空間具有非易失內(nèi)存所具有的掉電數(shù)據(jù)不丟失的物理特性,即使系統(tǒng)突然宕機,內(nèi)核日志仍然能可靠恢復。

在上述實施例的基礎上,還包括:當接收到正常關機信號時,將靜態(tài)環(huán)形緩沖區(qū)中存儲的內(nèi)核日志回寫至磁盤,并清空靜態(tài)環(huán)形緩沖區(qū)。

由于非易失內(nèi)存的特性,當接收到關機信號時,會將靜態(tài)環(huán)形緩沖區(qū)中存儲的內(nèi)核日志回寫至磁盤,從而實現(xiàn)防止內(nèi)核日志丟失的目的。

在上述實施例的基礎上,還包括:當接收到開機啟動信號時,判斷靜態(tài)環(huán)形緩沖區(qū)是否為空;

如果否,將靜態(tài)環(huán)形緩沖區(qū)中保留的內(nèi)核日志回寫至磁盤,并清空靜態(tài)環(huán)形緩沖區(qū)。

在具體實施中,如果出現(xiàn)宕機或者突然斷電的情況,則無法將靜態(tài)環(huán)形緩沖區(qū)中存儲的內(nèi)核日志回寫至磁盤,導致靜態(tài)環(huán)形緩沖區(qū)會仍然保留內(nèi)核日志,因此,通過判斷靜態(tài)環(huán)形緩沖區(qū)是否為空,確定上次關機是正常關機還是宕機或者意外斷電。

作為優(yōu)選地實施方式,還包括:

檢測目標內(nèi)存空間的存儲利用率;

當存儲利用率達到預定值時,輸出提示信息。

為了防止目標內(nèi)存空間的存儲利用率達到100%而導致內(nèi)核日志不能存儲的問題,本實施例中增加了檢測目標內(nèi)存空間的存儲利用率,可以理解的是,該步驟可以實時執(zhí)行,也可以定期執(zhí)行,周期不作限定。另外,預定值可以靈活設置,需要根據(jù)內(nèi)核日志的產(chǎn)生頻率,如果是周期性的檢測的話,如果頻率較高的話,則預定值可以設置的小一些,周期設置的短一些。

作為優(yōu)選地實施方式,物理地址段的起始地址與目標內(nèi)存空間的起始地址相同,或物理地址段的結束地址與目標內(nèi)存空間的結束地址相同。

在上述實施例中,對于目標內(nèi)存空間的地址并沒有嚴格的限定,可以是非易失內(nèi)存中的最前的一段,或者是非易失內(nèi)存中最后的一段,或者是非易失內(nèi)存的中間一段。但是考慮到,非易失內(nèi)存的存儲方式,本實施例中,優(yōu)選的是將非易失內(nèi)存中的最前的一段作為目標內(nèi)存空間,則目標內(nèi)存空間的物理地址段的起始地址與非易失內(nèi)存的起始地址就是相同的,相對應地,還可以將非易失內(nèi)存中的最后的一段作為目標內(nèi)存空間,則目標內(nèi)存空間的物理地址段的結束地址與非易失內(nèi)存的結束地址就是相同的。

本發(fā)明實施例還提供與上述方法對應的裝置部分的實施例,圖3為本發(fā)明實施例提供的一種基于非易失內(nèi)存的內(nèi)核日志存儲裝置的結構圖。如圖3所示,包括:

隔離模塊10,用于將非易失內(nèi)存中的預定容量的目標內(nèi)存空間隔離以作為內(nèi)核日志的存儲空間;

控制模塊11,用于當產(chǎn)生內(nèi)核日志時,將內(nèi)核日志存儲于目標內(nèi)存空間中。

作為優(yōu)選地實施方式,隔離模塊具體包括:

獲取單元,用于在非易失內(nèi)存中選取預定容量對應的一個空間作為目標內(nèi)存空間,并獲取目標內(nèi)存空間對應的物理地址段;

映射單元,用于將物理地址段重映射為內(nèi)核對應的虛擬地址;

格式化單元,用于將目標內(nèi)存空間格式化為靜態(tài)環(huán)形緩沖區(qū);

賦值單元,用于將虛擬地址作為地址指針賦值給靜態(tài)環(huán)形緩沖區(qū)的指針變量。

由于裝置部分的實施例與方法部分的實施例相互對應,因此裝置部分的實施例請參見方法部分的實施例的描述,這里暫不贅述。

基于非易失內(nèi)存的內(nèi)核日志存儲裝置,包括:隔離模塊,用于將非易失內(nèi)存中的預定容量的目標內(nèi)存空間隔離以作為內(nèi)核日志的存儲空間;控制模塊,用于當產(chǎn)生內(nèi)核日志時,將內(nèi)核日志存儲于目標內(nèi)存空間中。由此可見,本裝置通過在非易失內(nèi)存中得到一塊獨立的目標內(nèi)存空間,當產(chǎn)生內(nèi)核日志時,將內(nèi)核日志存儲于目標內(nèi)存空間即可。由于目標內(nèi)存空間是非易失內(nèi)存的一部分,因此目標內(nèi)存空間具有非易失內(nèi)存所具有的掉電數(shù)據(jù)不丟失的物理特性,即使系統(tǒng)突然宕機,內(nèi)核日志仍然能可靠恢復。

以上對本發(fā)明所提供的基于非易失內(nèi)存的內(nèi)核日志存儲方法及裝置進行了詳細介紹。說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權利要求的保護范圍內(nèi)。

還需要說明的是,在本說明書中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
临泉县| 衡山县| 昭通市| 莲花县| 诏安县| 巴林左旗| 老河口市| 安西县| 柘荣县| 屏山县| 靖边县| 浏阳市| 米泉市| 永修县| 大安市| 金堂县| 阳曲县| 凌云县| 太仆寺旗| 故城县| 湘乡市| 鲜城| 宁海县| 新田县| 封开县| 东乡| 关岭| 九寨沟县| 太保市| 永胜县| 江阴市| 大埔区| 石棉县| 汤原县| 兰坪| 米脂县| 仲巴县| 敖汉旗| 平谷区| 永城市| 建宁县|