日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

數(shù)據(jù)防掉電保護方法及系統(tǒng)的制作方法

文檔序號:10488839閱讀:451來源:國知局
數(shù)據(jù)防掉電保護方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種數(shù)據(jù)防掉電保護方法及系統(tǒng)。其中方法包括:檢測電源狀態(tài),當檢測到電源掉電時,讀取內(nèi)存;獲取內(nèi)存中的快取頁,并由快取頁中提取出存有緩存數(shù)據(jù)的快取頁,將存有緩存數(shù)據(jù)的快取頁作為第一快取頁;將第一快取頁中的緩存數(shù)據(jù)直接寫入閃存中。其每個快取頁只需訪問一次閃存就能將其內(nèi)的緩存數(shù)據(jù)寫入閃存,有效的減少了每個快取頁中的緩存數(shù)據(jù)寫入閃存的次數(shù),大大提高了快取頁的備份效率。同時,由于快取頁的備份效率提高了,因此可以避免因為快取頁備份效率低而導(dǎo)致的備份時間長剩余電力不足以完成數(shù)據(jù)備份,造成數(shù)據(jù)備份失敗的情況發(fā)生。
【專利說明】
數(shù)據(jù)防掉電保護方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計算機設(shè)備領(lǐng)域,特別是涉及一種數(shù)據(jù)防掉電保護方法及系統(tǒng)。
【背景技術(shù)】
[0002]計算機設(shè)備將平常存儲在磁盤上的數(shù)據(jù)存放在RAM(Random Access Memory,隨機存取存儲器)中,計算機設(shè)備中處理器直接對存儲在RAM中的數(shù)據(jù)進行處理,而無需存取磁盤,提高設(shè)備的效率。但是RAM是一種揮發(fā)性記憶體,當電源掉電時,其內(nèi)所儲存的數(shù)據(jù)往往無法保存而丟失。
[0003]傳統(tǒng)技術(shù)中是以塊為寫入單位寫入閃存中的,快取頁的空間并不一定會被數(shù)據(jù)寫滿,其中,快取頁指的是內(nèi)存供設(shè)備系統(tǒng)使用時被規(guī)劃的分區(qū),每個內(nèi)存可被規(guī)劃為多個快取頁,每個快取頁又被劃分為多個塊,其可看成是由一堆塊組成,數(shù)據(jù)緩存在塊中。以塊為寫入單位可以充分利用閃存的儲存空間,但當計算機設(shè)備發(fā)生非預(yù)期掉電時,以塊為寫入單位進行數(shù)據(jù)備份時,每個快取頁都需多次訪問閃存,才能將快取頁中的塊全部寫入閃存中,這樣會因?qū)懭腴W存的次數(shù)過多而導(dǎo)致快取頁寫入的效能較低,從而降低快取頁的備份效率。

【發(fā)明內(nèi)容】

[0004]鑒于此,有必要針對傳統(tǒng)技術(shù)快取頁掉電備份時效率較低的問題,提供一種數(shù)據(jù)防掉電保護方法及系統(tǒng),能夠有效減少快取頁掉電備份時寫入閃存的次數(shù),提高快取頁的備份效率。
[0005]為達到發(fā)明目的,提供一種數(shù)據(jù)防掉電保護方法,所述方法包括:
[0006]檢測電源狀態(tài),當檢測到所述電源掉電時,讀取內(nèi)存;
[0007]獲取所述內(nèi)存中的快取頁,并由所述快取頁中提取出存有緩存數(shù)據(jù)的快取頁,將存有所述緩存數(shù)據(jù)的快取頁作為第一快取頁;
[0008]將所述第一快取頁中的所述緩存數(shù)據(jù)直接寫入閃存中。
[0009]在其中一個實施例中,所述獲取所述內(nèi)存中的快取頁,并由所述快取頁中提取出存有緩存數(shù)據(jù)的快取頁,將存有所述緩存數(shù)據(jù)的快取頁作為第一快取頁,包括如下步驟:
[0010]獲取所述內(nèi)存的邏輯卷,并判斷所述邏輯卷中是否存在包含有所述第一快取頁的邏輯卷,所述第一快取頁為邏輯卷中存有所述緩存數(shù)據(jù)的快取頁,并將包含有所述第一快取頁的邏輯卷作為第一邏輯卷;
[0011]若是,則提取出所述第一邏輯卷,并由所述第一邏輯卷中提取所述第一快取頁;若否,則寫入結(jié)尾標志。
[0012]在其中一個實施例中,所述由所述第一邏輯卷中提取出所述第一快取頁的步驟包括:
[0013]判斷所述第一邏輯卷中的每個快取頁是否存有所述緩存數(shù)據(jù);
[0014]若是,則提取出存有所述緩存數(shù)據(jù)的快取頁作為所述第一快取頁;若否,則寫入所述結(jié)尾標志。
[0015]在其中一個實施例中,在寫入所述結(jié)尾標志之前,還包括:
[0016]開啟所述閃存;
[0017]更新所述閃存中寫入的第一快取頁的數(shù)量;
[0018]關(guān)閉所述閃存;
[0019]在將所述第一快取頁中的所述緩存數(shù)據(jù)直接寫入閃存中的步驟之前,還包括:
[0020]開啟所述閃存
[0021]在將所述第一快取頁中的所述緩存數(shù)據(jù)直接寫入閃存中的步驟之后,還包括:
[0022]關(guān)閉所述閃存。
[0023]在其中一個實施例中,所述將所述第一快取頁中的所述緩存數(shù)據(jù)直接寫入閃存中的步驟包括:
[0024]將所述第一快取頁中的所述緩存數(shù)據(jù)以VFS的方式直接寫入所述閃存中。
[0025]本發(fā)明還提供一種數(shù)據(jù)防掉電保護系統(tǒng),所述系統(tǒng)包括:
[0026]檢測模塊,用于檢測電源狀態(tài),當檢測到所述電源掉電時,讀取內(nèi)存;
[0027]獲取提取模塊,所述獲取提取模塊與所述檢測模塊電性連接,用于獲取所述內(nèi)存中的快取頁,并由所述快取頁中提取出存有緩存數(shù)據(jù)的快取頁,將存有所述緩存數(shù)據(jù)的快取頁作為第一快取頁;
[0028]寫入模塊,所述寫入模塊與所述獲取提取模塊電性連接,用于將所述第一快取頁中的所述緩存數(shù)據(jù)直接寫入閃存中。
[0029]在其中一個實施例中,所述數(shù)據(jù)防掉電保護系統(tǒng)還包括:
[0030]寫入結(jié)尾標志模塊,用于寫入結(jié)尾標志。
[0031 ]在其中一個實施例中,所述獲取提取模塊包括:
[0032]獲取判斷單元,用于獲取所述內(nèi)存的邏輯卷,并判斷所述邏輯卷中是否存在包含有所述第一快取頁的邏輯卷,所述寫入模塊與所述獲取提取模塊電性連接,并將包含有所述第一快取頁的邏輯卷作為第一邏輯卷;若是,則進入邏輯卷提取單元;若否,則進入寫入結(jié)尾標志模塊;
[0033]所述邏輯卷提取單元,用于提取出所述第一邏輯卷,并由所述第一邏輯卷中獲提所述第一快取頁。
[0034]在其中一個實施例中,所述邏輯卷提取單元包括:
[0035]判斷子單元,用于判斷所述第一邏輯卷中的每個快取頁是否存有所述緩存數(shù)據(jù);若是,則進入快取頁提取子單元;若否,則進入所述寫入結(jié)尾標志模塊;
[0036]所述快取頁提取子單元,用于提取出存有所述緩存數(shù)據(jù)的快取頁作為所述第一快取頁。
[0037]在其中一個實施例中,還包括:
[0038]開啟閃存模塊,用于在寫入所述結(jié)尾標志之前,開啟所述閃存;
[0039]更新模塊,用于在開啟所述閃存之后,更新所述閃存中寫入的第一快取頁的數(shù)量;
[0040]關(guān)閉閃存模塊,用于在寫入所述結(jié)尾標志之后,關(guān)閉所述閃存;
[0041]所述開啟閃存模塊,還用于在將所述第一快取頁中的所述緩存數(shù)據(jù)直接寫入閃存中之前,開啟所述閃存;
[0042]所述關(guān)閉閃存模塊,還用于在將所述第一快取頁中的所述緩存數(shù)據(jù)直接寫入閃存中之后,關(guān)閉所述閃存。
[0043]在其中一個實施例中,所述寫入模塊包括:
[0044]寫入單元,用于將所述第一快取頁中的所述緩存數(shù)據(jù)以VFS的方式直接寫入所述閃存中。
[0045]本發(fā)明的有益效果包括:
[0046]上述數(shù)據(jù)防掉電保護方法及系統(tǒng),當檢測到電源發(fā)生掉電時,讀取內(nèi)存并獲取內(nèi)存中的快取頁,由快取頁中提取存有緩存數(shù)據(jù)的第一快取頁,沒有存有緩存數(shù)據(jù)的快取頁無需進行數(shù)據(jù)備份,避免對緩存數(shù)據(jù)為空的快取頁進行存取而浪費時間及剩余電力,將第一快取頁中的緩存數(shù)據(jù)直接寫入閃存中,每個快取頁只需訪問一次閃存就能將其內(nèi)的緩存數(shù)據(jù)寫入閃存,有效的減少了每個快取頁中的緩存數(shù)據(jù)寫入閃存的次數(shù),大大提高了快取頁的備份效率。同時,由于快取頁的備份效率提高了,因此可以避免因為快取頁備份效率低而導(dǎo)致的備份時間長剩余電力不足以完成數(shù)據(jù)備份,造成數(shù)據(jù)備份失敗的情況發(fā)生。
【附圖說明】
[0047]圖1為一個實施例中的數(shù)據(jù)防掉電保護方法的流程示意圖;
[0048]圖2為另一個實施例中的數(shù)據(jù)防掉電保護方法的流程示意圖;
[0049]圖3為又一個實施例中的數(shù)據(jù)防掉電保護方法的流程示意圖;
[0050]圖4為一個實施例中的數(shù)據(jù)防掉電保護系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0051]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例對本發(fā)明數(shù)據(jù)防掉電保護方法及系統(tǒng)進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0052]在一個實施例中,如圖1所示,提供了一種數(shù)據(jù)防掉電保護方法,該方法包括以下步驟:
[0053]SlOO,檢測電源狀態(tài),當檢測到電源掉電時,讀取內(nèi)存;
[0054]S200,獲取內(nèi)存中的快取頁,并由快取頁中提取出存有緩存數(shù)據(jù)的快取頁,將存有緩存數(shù)據(jù)的快取頁作為第一快取頁。
[0055]S200,將第一快取頁中的緩存數(shù)據(jù)直接寫入閃存中。
[0056]實時檢測計算機設(shè)備的電源狀態(tài),在電源發(fā)生掉電之前,計算機設(shè)備將平常存儲在磁盤上的數(shù)據(jù)緩存在內(nèi)存中,計算機設(shè)備中的中央處理器直接對緩存在內(nèi)存中的數(shù)據(jù)進行處理,無需存取磁盤,從而提高設(shè)備的處理效率。當電源發(fā)生掉電時,包括非預(yù)期和預(yù)期的掉電,由于內(nèi)存為揮發(fā)性記憶體,其內(nèi)存儲的數(shù)據(jù)往往無法保存而丟失,因此,需要在設(shè)備關(guān)機之前,利用設(shè)備的剩余電力將內(nèi)存中的緩存數(shù)據(jù)存入非揮發(fā)性記憶體的閃存中,從而防止緩存數(shù)據(jù)因為電源突然掉電而遺失。傳統(tǒng)的防止數(shù)據(jù)因電源突然中斷而遺失的方法是先查找出存有緩存數(shù)據(jù)的快取頁,然后從存有緩存數(shù)據(jù)的快取頁中提取存有緩存數(shù)據(jù)的塊,最后將塊中的緩存數(shù)據(jù)直接以塊為寫入單元寫入閃存中,直至將該快取頁中所有緩存有緩存數(shù)據(jù)的塊都寫入閃存中,按照上述方法直至將內(nèi)存中所有存有緩存數(shù)據(jù)的快取頁中的緩存數(shù)據(jù)都寫入閃存中,從而完成內(nèi)存中緩存數(shù)據(jù)的備份。但每次將快取頁中的緩存數(shù)據(jù)以塊為寫入單位寫入閃存時,每個快取頁都需要多次訪問閃存才能將快取頁中的所有緩存數(shù)據(jù)都寫入閃存中,這樣勢必會造成寫入效率的低落,拖累快取頁的備份效率。在設(shè)備剩余電力不足時,快取頁備份效率低落可能會出現(xiàn)無法將內(nèi)存中所有的緩存數(shù)據(jù)及時備份的情況,仍然會造成數(shù)據(jù)的丟失。
[0057]需要說明的是,快取頁可看成為內(nèi)存供設(shè)備使用時而劃分的分區(qū),一個內(nèi)存中可劃分為多個快取頁,每個快取頁又被劃分為多個塊,可看作為由許多塊組成。內(nèi)存指的是能夠與計算機設(shè)備中的中央處理器直接進行數(shù)據(jù)交互的存儲器,它可以隨時讀寫,并且讀寫速度很快,通常作為操作系統(tǒng)或其他正在運行中的程序的臨時數(shù)據(jù)的存儲介質(zhì),但在電源掉電后將丟失其存儲的內(nèi)容。例如:RAM(random access memory,隨機存取存儲器)。閃存是一種長壽命的非易失性的存儲器,其在斷電的情況下仍能保持所存儲的數(shù)據(jù)信息。例如:閃存卡。
[0058]當檢測到電源掉電時,包括預(yù)期的和非預(yù)期的掉電,需要盡量快的將內(nèi)存中的緩存數(shù)據(jù)備份到閃存中,以避免發(fā)生較長時間的數(shù)據(jù)備份由于電力不足而導(dǎo)致數(shù)據(jù)丟失的情況。本實施例中獲取內(nèi)存中的快取頁,此時獲取的是內(nèi)存中的所有快取頁,但這些快取頁中可能存在沒有存有緩存數(shù)據(jù)的快取頁,這些沒有存有緩存數(shù)據(jù)的快取頁無需進行數(shù)據(jù)備份,以避免備份數(shù)據(jù)為空的快取頁浪費時間及設(shè)備剩余電力。同時,從內(nèi)存的快取頁中提取存有緩存數(shù)據(jù)的快取頁,作為第一快取頁,并將快取頁中的緩存數(shù)據(jù)直接寫入閃存中,即每個快取頁僅需訪問一次閃存就能將其內(nèi)的緩存數(shù)據(jù)寫入閃存,無需再將快取頁中的緩存數(shù)據(jù)以塊為寫入單位一個一個的寫入閃存,有效的減少了每個快取頁中的緩存數(shù)據(jù)寫入閃存的次數(shù),大大提高了快取頁的備份效率。同時,由于快取頁的備份效率提高了,因此可以避免因為快取頁備份效率低而導(dǎo)致的備份時間長剩余電力不足以完成數(shù)據(jù)備份,造成數(shù)據(jù)備份失敗的情況發(fā)生。
[0059]其中,值得說明的是,每次將內(nèi)存中的緩存數(shù)據(jù)寫入閃存之前,需要開啟一次閃存,在每次將內(nèi)存中的緩存數(shù)據(jù)寫入閃存之后,都需將閃存關(guān)閉。若設(shè)備剩余電力不足或緩存數(shù)據(jù)備份時間較長時,每次向閃存中備份緩存數(shù)據(jù)時都開啟和關(guān)閉一次閃存,可以避免閃存一直持續(xù)開啟時浪費電能,導(dǎo)致設(shè)備強行關(guān)機,數(shù)據(jù)備份失敗。
[0060]在一個實施例中,參見圖2,步驟S200包括:
[0061]S210,獲取內(nèi)存的邏輯卷,并判斷邏輯卷中是否存在包含有第一快取頁的邏輯卷,所述第一快取頁為邏輯卷中存有所述緩存數(shù)據(jù)的快取頁,并將包含有第一快取頁的邏輯卷作為第一邏輯卷;若是,則執(zhí)行步驟S211;若否,則執(zhí)行步驟S212。
[0062]S211,提取出第一邏輯卷,并由第一邏輯卷中提取所述第一快取頁。
[0063]S212,寫入結(jié)尾標志。
[0064]邏輯卷(LogicalVolume,LV)可視為實體磁盤經(jīng)過邏輯規(guī)劃后的可供存取的空間,其是一種磁盤管理方式,目的是把磁盤從物理磁盤的管理方式中跳出來,進行方便的統(tǒng)一管理分配,每個邏輯卷可以為一個磁盤形成的可供存取的空間,也可以為多個磁盤或多個磁盤的部分空間組成RAID(Redundant Arrays of Independent Disks,磁盤陣列)。
[0065]本實施例中的邏輯卷為內(nèi)存經(jīng)過邏輯規(guī)劃后的可供存取的空間,每個邏輯卷可包括多個快取頁,要寫入邏輯卷這個空間的數(shù)據(jù)都會直接寫入到快取頁上。想要獲取內(nèi)存中存有緩存數(shù)據(jù)的第一快取頁時,可以先獲取內(nèi)存的所有邏輯卷,然后再找出這些邏輯卷中包含有第一快取頁的第一邏輯卷,即存有緩存數(shù)據(jù)的第一邏輯卷,對于沒有儲存緩存數(shù)據(jù)的邏輯卷,可以不對其進行備份,對于找出的存有緩存數(shù)據(jù)的第一邏輯卷,由于緩存數(shù)據(jù)是直接寫入在邏輯卷的快取頁上的,因此可從第一邏輯卷中提取存有緩存數(shù)據(jù)的第一快取頁,進而將第一快取頁中的緩存數(shù)據(jù)直接備份至閃存中。上述實施方式可以避免沒有存有緩存數(shù)據(jù)的邏輯卷進行數(shù)據(jù)備份,在一定程度上提高備份效率。并且,在將緩存數(shù)據(jù)備份至閃存時,快取頁上的緩存數(shù)據(jù)實際上仍是存儲在內(nèi)存中的,由于對內(nèi)存進行了邏輯劃分,因此每個快取頁上的緩存數(shù)據(jù)可能存儲在不同的內(nèi)存中或存儲在內(nèi)存的不同區(qū)域內(nèi),這樣在將緩存數(shù)據(jù)備份至閃存中時,可以將一個緩存數(shù)據(jù)分散的從內(nèi)存的多個存儲區(qū)域或多個內(nèi)存中同時讀取,然后將讀取的分散數(shù)據(jù)重新組成緩存數(shù)據(jù)寫入閃存中,提高了緩存數(shù)據(jù)從內(nèi)存中的讀取效率,進而有效地提高了快取頁中緩存數(shù)據(jù)的備份效率。
[0066]如果判斷邏輯卷中沒有包含有第一快取頁的第一邏輯卷,則說明內(nèi)存中已經(jīng)沒有緩存數(shù)據(jù)了,即已找出所有的存有緩存數(shù)據(jù)的邏輯卷,將找出的第一邏輯卷中的緩存數(shù)據(jù)備份至閃存,完成內(nèi)存中緩存數(shù)據(jù)的備份。若內(nèi)存中不能再找出包含有第一快取頁的第一邏輯卷,則在閃存中寫入結(jié)尾標志,以告知計算機設(shè)備的操作系統(tǒng)已完成內(nèi)存中緩存數(shù)據(jù)的備份,可以執(zhí)行關(guān)機動作。操作系統(tǒng)只有在接收到結(jié)尾標志之后才執(zhí)行關(guān)機動作,避免在沒有完成緩存數(shù)據(jù)備份之前就發(fā)生關(guān)機的情況。
[0067]在一個實施例中,參見圖3,步驟S211包括:
[0068]S2110,判斷第一邏輯卷中的每個快取頁是否存有緩存數(shù)據(jù);若是,則執(zhí)行步驟S2111;若否,則執(zhí)行步驟S212。
[0069]S2111,提取出存有緩存數(shù)據(jù)的快取頁作為第一快取頁。
[0070]本實施例是由第一邏輯卷中獲取第一快取頁的具體步驟,每個邏輯卷可能存在多個快取頁,但并不是每個快取頁中都緩存有緩存數(shù)據(jù),需要判斷每個快取頁上是否存有緩存數(shù)據(jù),并提取存有緩存數(shù)據(jù)的快取頁作為第一快取頁,并將第一快取頁中的緩存數(shù)據(jù)寫入閃存中,完成緩存數(shù)據(jù)的備份。若快取頁上沒有緩存有緩存數(shù)據(jù),則不對這些快取頁進行備份,避免備份數(shù)據(jù)為空的快取頁降低備份效率。
[0071]需要說明的是,在具體的實現(xiàn)過程中,上述步驟S210和步驟S2110可以采用如下方式實現(xiàn)。在步驟S2110中,依次判斷第一邏輯卷中的第一個快取頁中是否存有緩存數(shù)據(jù),若是,則將該第一個快取頁中的緩存數(shù)據(jù)寫入閃存中,若否,則返回繼續(xù)判斷該第一邏輯卷中的第二個快取頁中是否存有緩存數(shù)據(jù),若是,則將該第二個快取頁中的緩存數(shù)據(jù)寫入閃存中,若否,則返回繼續(xù)判斷該第一邏輯卷中的第三個快取頁中是否存有緩存數(shù)據(jù),以此類推,直至判斷出該第一邏輯卷中最后一個快取頁中是否存有緩存數(shù)據(jù)。然后返回步驟S210繼續(xù)判斷內(nèi)存中是否還有存有緩存數(shù)據(jù)的第一邏輯卷,若是,則執(zhí)行步驟S2110,若否,則執(zhí)行寫入結(jié)尾標志的步驟,直至判斷出內(nèi)存中所有存有緩存數(shù)據(jù)的第一邏輯卷。
[0072]在一個實施例中,在步驟S212之前,還包括:
[0073]S2120,開啟閃存。
[0074]S2121,更新閃存中寫入的第一快取頁的數(shù)量。
[0075]在步驟S212之后,還包括:
[0076]S2122,關(guān)閉閃存。
[0077]在操作系統(tǒng)關(guān)機之前,需要更新寫入閃存中的第一快取頁的數(shù)量,以便于在設(shè)備恢復(fù)電力還原備份數(shù)據(jù)時根據(jù)更新的第一快取頁的數(shù)量還原所有的緩存數(shù)據(jù),避免備份的緩存數(shù)據(jù)沒有還原的情況。由于每次將第一快取頁中的緩存數(shù)據(jù)寫入閃存時,都需開啟和關(guān)閉閃存,以避免閃存一直持續(xù)開啟消耗電能,因此在更新寫入閃存中的第一快取頁的數(shù)量時,需要開啟閃存,以實現(xiàn)在閃存中更新寫入的第一快取頁的數(shù)量的目的,在更新寫入閃存中的第一快取頁的數(shù)量之后,寫入結(jié)尾標志,并關(guān)閉閃存,讓閃存中的數(shù)據(jù)得以保存,系統(tǒng)執(zhí)行關(guān)機動作。
[0078]在一個實施例中,在步驟S310之前,還包括:S301,開啟閃存。在步驟S310之后,還包括,執(zhí)行步驟S2122,關(guān)閉閃存??梢杂行П苊忾W存一直持續(xù)開啟時浪費電能,導(dǎo)致設(shè)備強行關(guān)機,數(shù)據(jù)備份失敗。
[0079]在一個實施例中,步驟S300包括:
[0080]S310,將第一快取頁中的緩存數(shù)據(jù)以VFS(Virtual File System,虛擬文件系統(tǒng))的方式直接寫入閃存中。
[0081]VFS的作用是采用標準的Unix系統(tǒng)調(diào)用讀寫位于不同物理介質(zhì)上的不同文件系統(tǒng),即為各類文件系統(tǒng)提供了一個統(tǒng)一的操作界面和應(yīng)用編程接口。預(yù)先對閃存進行邏輯規(guī)劃,即讓閃存也在邏輯上劃分為多個可供存取的虛擬空間,每個虛擬空間命名為邏輯卷,在將第一快取頁中的緩存數(shù)據(jù)寫入閃存中時,緩存數(shù)據(jù)以VFS的方式寫入閃存的邏輯卷中,由于每個邏輯卷可能對應(yīng)閃存的多個不同存儲區(qū)域,因此在將緩存數(shù)據(jù)寫入閃存的邏輯卷中時,相當于將同一緩存數(shù)據(jù)分散寫入閃存的多個不同存儲區(qū)域中,這樣顯然能夠提高緩存數(shù)據(jù)寫入閃存的效率。采用VFS的方式在緩存數(shù)據(jù)寫入閃存中時,提高與邏輯分區(qū)的閃存的相容性,實現(xiàn)緩存數(shù)據(jù)寫入閃存的邏輯卷中。
[0082]值得說明的是,當計算機設(shè)備上電恢復(fù)電力之后,將備份在閃存中的緩存數(shù)據(jù)還原至相應(yīng)的磁盤中,操作系統(tǒng)執(zhí)行相應(yīng)的處理操作時,可以從相應(yīng)的磁盤中讀取緩存數(shù)據(jù)至內(nèi)存中,供計算機設(shè)備的中央處理器進行處理。之所以在發(fā)生非預(yù)期掉電時,將內(nèi)存中的緩存數(shù)據(jù)備份到閃存中,而不是直接備份到相應(yīng)的磁盤中,是因為閃存的讀寫速度要快于磁盤,可以達到進一步提高快取頁備份效率的效果。
[0083]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random AccessMemory,RAM)等。
[0084]在一個實施例中,如圖4所示,還提供了一種數(shù)據(jù)防掉電保護系統(tǒng),該系統(tǒng)包括:檢測模塊100,用于檢測電源狀態(tài),當檢測到所述電源掉電時,讀取內(nèi)存。獲取提取模塊200,獲取提取模塊200與檢測模塊100電性連接,用于獲取內(nèi)存中的快取頁,并由快取頁中提取出存有緩存數(shù)據(jù)的快取頁,將存有緩存數(shù)據(jù)的快取頁作為第一快取頁。寫入模塊300,寫入模塊300與獲取提取模塊200電性連接,用于將第一快取頁中的所述緩存數(shù)據(jù)直接寫入閃存中。
[0085]本實施例中的數(shù)據(jù)防掉電保護系統(tǒng),當檢測到電源發(fā)生掉電時,讀取內(nèi)存并獲取內(nèi)存中的快取頁,由快取頁中提取存有緩存數(shù)據(jù)的第一快取頁,沒有存有緩存數(shù)據(jù)的快取頁無需進行數(shù)據(jù)備份,避免備份數(shù)據(jù)為空的快取頁浪費時間及剩余電力,將第一快取頁中的緩存數(shù)據(jù)直接寫入閃存中,每個快取頁只需訪問一次閃存就能將其內(nèi)的緩存數(shù)據(jù)寫入閃存,有效的減少了每個快取頁中的緩存數(shù)據(jù)寫入閃存的次數(shù),大大提高了快取頁的備份效率。同時,由于快取頁的備份效率提高了,因此可以避免因為快取頁備份效率低而導(dǎo)致的備份時間長剩余電力不足以完成數(shù)據(jù)備份,造成數(shù)據(jù)備份失敗的情況發(fā)生。
[0086]其中,掉電包括預(yù)期的掉電和非預(yù)期的掉電。
[0087]在一個實施例中,還包括:寫入結(jié)尾標志模塊230,用于寫入結(jié)尾標志。結(jié)尾標志在判定內(nèi)存中沒有第一快取頁時,即判定內(nèi)存中沒有緩存數(shù)據(jù)時寫入閃存,告知計算機設(shè)備的操作系統(tǒng)已完成內(nèi)存中緩存數(shù)據(jù)的備份,可以執(zhí)行關(guān)機動作,避免在沒有完成緩存數(shù)據(jù)備份之前就發(fā)生關(guān)機的情況。
[0088]在一個實施例中,獲取提取模塊200包括:獲取判斷單元210,用于獲取內(nèi)存的邏輯卷,并判斷邏輯卷中是否存在包含有第一快取頁的邏輯卷,第一快取頁為邏輯卷中存有緩存數(shù)據(jù)的快取頁,并將包含有第一快取頁的邏輯卷作為第一邏輯卷;若是,進入邏輯卷提取單元220;若否,則進入寫入結(jié)尾標志模塊230。邏輯卷提取單元220,用于提取出第一邏輯卷,并由第一邏輯卷中提取第一快取頁。
[0089]在一個實施例中,邏輯卷提取單元220包括:判斷子單元221,用于判斷第一邏輯卷中的每個快取頁是否存有所述緩存數(shù)據(jù);若是,則進入快取頁提取子單元222;若否,則進入寫入結(jié)尾標志模塊230。快取頁提取子單元222,用于提取出存有緩存數(shù)據(jù)的快取頁作為第一1決取頁。
[0090]在一個實施例中,還包括:開啟閃存模塊240,用于在寫入結(jié)尾標志之前,開啟閃存。更新模塊250,用于更新閃存中寫入的第一快取頁的數(shù)量。關(guān)閉閃存模塊260,用于在寫入結(jié)尾標志之后,關(guān)閉內(nèi)存。
[0091]在一個實施例中,開啟閃存模塊240,還用于在將第一快取頁中的緩存數(shù)據(jù)直接寫入閃存中之前,開啟閃存;關(guān)閉閃存模塊260,還用于在將第一快取頁中的緩存數(shù)據(jù)直接寫入閃存中之后,關(guān)閉閃存
[0092]在一個實施例中,寫入模塊300包括:寫入單元310,用于將第一快取頁中的緩存數(shù)據(jù)以VFS的方式直接寫入閃存中。
[0093]由于此系統(tǒng)解決問題的原理與前述一種數(shù)據(jù)防掉電保護方法相似,因此該系統(tǒng)的實施可以參見前述方法的實施,重復(fù)之處不再贅述。
[0094]以上所述實施例的各技術(shù)特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術(shù)特征所有可能的組合都進行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當認為是本說明書記載的范圍。
[0095]以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應(yīng)當指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準。
【主權(quán)項】
1.一種數(shù)據(jù)防掉電保護方法,其特征在于,所述方法包括: 檢測電源狀態(tài),當檢測到所述電源掉電時,讀取內(nèi)存; 獲取所述內(nèi)存中的快取頁,并由所述快取頁中提取出存有緩存數(shù)據(jù)的快取頁,將存有所述緩存數(shù)據(jù)的快取頁作為第一快取頁; 將所述第一快取頁中的所述緩存數(shù)據(jù)直接寫入閃存中。2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)防掉電保護方法,其特征在于,所述獲取所述內(nèi)存中的快取頁,并由所述快取頁中提取出存有緩存數(shù)據(jù)的快取頁,將存有所述緩存數(shù)據(jù)的快取頁作為第一快取頁,包括如下步驟: 獲取所述內(nèi)存的邏輯卷,并判斷所述邏輯卷中是否存在包含有所述第一快取頁的邏輯卷,所述第一快取頁為邏輯卷中存有所述緩存數(shù)據(jù)的快取頁,并將包含有所述第一快取頁的邏輯卷作為第一邏輯卷; 若是,則提取出所述第一邏輯卷,并由所述第一邏輯卷中提取所述第一快取頁;若否,則寫入結(jié)尾標志。3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)防掉電保護方法,其特征在于,所述由所述第一邏輯卷中提取出所述第一快取頁的步驟包括: 判斷所述第一邏輯卷中的每個快取頁是否存有所述緩存數(shù)據(jù); 若是,則提取出存有所述緩存數(shù)據(jù)的快取頁作為所述第一快取頁;若否,則寫入所述結(jié) V 1、1、O4.根據(jù)權(quán)利要求2或3所述的數(shù)據(jù)防掉電保護方法,其特征在于,在寫入所述結(jié)尾標志之前,還包括: 開啟所述閃存; 更新所述閃存中寫入的第一快取頁的數(shù)量; 在寫入所述結(jié)尾標志之后,還包括: 關(guān)閉所述閃存; 在將所述第一快取頁中的所述緩存數(shù)據(jù)直接寫入閃存中的步驟之前,還包括: 開啟所述閃存; 在將所述第一快取頁中的所述緩存數(shù)據(jù)直接寫入閃存中的步驟之后,還包括: 關(guān)閉所述閃存。5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)防掉電保護方法,其特征在于,所述將所述第一快取頁中的所述緩存數(shù)據(jù)直接寫入閃存中的步驟包括: 將所述第一快取頁中的所述緩存數(shù)據(jù)以VFS的方式直接寫入所述閃存中。6.一種數(shù)據(jù)防掉電保護系統(tǒng),其特征在于,所述系統(tǒng)包括: 檢測模塊,用于檢測電源狀態(tài),當檢測到所述電源掉電時,讀取內(nèi)存; 獲取提取模塊,所述獲取提取模塊與所述檢測模塊電性連接,用于獲取所述內(nèi)存中的快取頁,并由所述快取頁中提取出存有緩存數(shù)據(jù)的快取頁,將存有所述緩存數(shù)據(jù)的快取頁作為第一快取頁; 寫入模塊,所述寫入模塊與所述獲取提取模塊電性連接,用于將所述第一快取頁中的所述緩存數(shù)據(jù)直接寫入閃存中。7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)防掉電保護系統(tǒng),其特征在于,所述數(shù)據(jù)防掉電保護系統(tǒng)還包括: 寫入結(jié)尾標志模塊,用于寫入結(jié)尾標志。8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)防掉電保護系統(tǒng),其特征在于,所述獲取提取模塊包括: 獲取判斷單元,用于獲取所述內(nèi)存的邏輯卷,并判斷所述邏輯卷中是否存在包含有所述第一快取頁的邏輯卷,所述第一快取頁為邏輯卷中存有所述緩存數(shù)據(jù)的快取頁,并將包含有所述第一快取頁的邏輯卷作為第一邏輯卷;若是,則進入邏輯卷提取單元;若否,則進入寫入結(jié)尾標志模塊; 所述邏輯卷提取單元,用于提取出所述第一邏輯卷,并由所述第一邏輯卷中提取所述第一快取頁。9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)防掉電保護系統(tǒng),其特征在于,所述邏輯卷提取單元包括: 判斷子單元,用于判斷所述第一邏輯卷中的每個快取頁是否存有所述緩存數(shù)據(jù);若是,則進入快取頁提取子單元;若否,則進入所述寫入結(jié)尾標志模塊; 所述快取頁提取子單元,用于提取出存有所述緩存數(shù)據(jù)的快取頁作為所述第一快取頁。10.根據(jù)權(quán)利要求8或9所述的數(shù)據(jù)防掉電保護系統(tǒng),其特征在于,還包括: 開啟閃存模塊,用于在寫入所述結(jié)尾標志之前,開啟所述閃存; 更新模塊,用于在開啟所述閃存之后,更新所述閃存中寫入的第一快取頁的數(shù)量; 關(guān)閉閃存模塊,用于在寫入所述結(jié)尾標志之后,關(guān)閉所述閃存; 所述開啟閃存模塊,還用于在將所述第一快取頁中的所述緩存數(shù)據(jù)直接寫入閃存中之前,開啟所述閃存; 所述關(guān)閉閃存模塊,還用于在將所述第一快取頁中的所述緩存數(shù)據(jù)直接寫入閃存中之后,關(guān)閉所述閃存。11.根據(jù)權(quán)利要求7所述的數(shù)據(jù)防掉電保護系統(tǒng),其特征在于,所述寫入模塊包括: 寫入單元,用于將所述第一快取頁中的所述緩存數(shù)據(jù)以VFS的方式直接寫入所述閃存中。
【文檔編號】G06F3/06GK105843711SQ201610451110
【公開日】2016年8月10日
【申請日】2016年6月21日
【發(fā)明人】陳杰, 沈偉亮
【申請人】北京飛杰信息技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1