【技術(shù)實現(xiàn)步驟摘要】
一種日志回放方法、裝置、設(shè)備及計算機可讀存儲介質(zhì)
本申請涉及分布式存儲
,更具體地說,涉及一種日志回放方法、系統(tǒng)、設(shè)備及計算機可讀存儲介質(zhì)。
技術(shù)介紹
在分布式文件系統(tǒng)中,OSD(Object-basedStorageDevice,對象存儲設(shè)備)的主要功能是存儲數(shù)據(jù)、復(fù)制數(shù)據(jù)、平衡數(shù)據(jù)、恢復(fù)數(shù)據(jù)等。一般情況下一塊硬盤對應(yīng)一個OSD,由OSD來對硬盤存儲進行管理。當(dāng)要往OSD中寫入數(shù)據(jù)時,需先將數(shù)據(jù)寫入日志系統(tǒng),再由日志系統(tǒng)寫入OSD本地文件系統(tǒng)中,也即一份數(shù)據(jù)需經(jīng)過兩次寫操作才能寫入OSD,由于寫日志系統(tǒng)和寫OSD本地文件系統(tǒng)是異步進行的,即由兩個不同的線程進行處理,所以寫入文件系統(tǒng)的日志序號和已經(jīng)寫入OSD本地文件系統(tǒng)的序號的進度是不一樣的,為了區(qū)分兩個序號,需要在日志系統(tǒng)中設(shè)置第一條有效日志的序號,及在OSD本地文件系統(tǒng)中設(shè)置已寫入OSD本地文件系統(tǒng)的最新日志序號,當(dāng)分布式文件系統(tǒng)發(fā)生掉電等異常情況時,需按照分布式文件系統(tǒng)中有效日志及之后的日志進行日志回放。然而,在日志回放過程中,可能出現(xiàn)OSD文件系統(tǒng)中的日志序號比日志系統(tǒng)中的日志序號小至少一號,由此在對分布式存儲系統(tǒng)進行日志回放時,無法在日志系統(tǒng)中找到要回放的日志的情況,導(dǎo)致日志回放失敗。綜上所述,如何提高分布式文件系統(tǒng)的日志回放成功率是目前本領(lǐng)域技術(shù)人員亟待解決的問題。
技術(shù)實現(xiàn)思路
本申請的目的是提供一種日志回放方法,其能在一定程度上解決如何提高分布式文件系統(tǒng)的日志回放成功率的技術(shù)問題。本申請還提供了一種日志回放裝 ...
【技術(shù)保護點】
1.一種日志回放方法,其特征在于,應(yīng)用于分布式文件系統(tǒng),包括:/n獲取日志系統(tǒng)中第一條有效日志的第一序號;/n獲取OSD本地文件系統(tǒng)中已寫入日志的第二序號;/n判斷所述第一序號與所述第二序號的差值是否大于1;/n若所述第一序號與所述第二序號的差值大于1,則將比所述第二序號大一個的日志序號作為第三序號;/n判斷所述日志系統(tǒng)中是否存在所述第三序號對應(yīng)的日志;/n若所述日志系統(tǒng)中存在所述第三序號對應(yīng)的日志,則從所述第三序號對應(yīng)的日志開始,對所述OSD本地文件系統(tǒng)進行日志回放。/n
【技術(shù)特征摘要】
1.一種日志回放方法,其特征在于,應(yīng)用于分布式文件系統(tǒng),包括:
獲取日志系統(tǒng)中第一條有效日志的第一序號;
獲取OSD本地文件系統(tǒng)中已寫入日志的第二序號;
判斷所述第一序號與所述第二序號的差值是否大于1;
若所述第一序號與所述第二序號的差值大于1,則將比所述第二序號大一個的日志序號作為第三序號;
判斷所述日志系統(tǒng)中是否存在所述第三序號對應(yīng)的日志;
若所述日志系統(tǒng)中存在所述第三序號對應(yīng)的日志,則從所述第三序號對應(yīng)的日志開始,對所述OSD本地文件系統(tǒng)進行日志回放。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述日志系統(tǒng)中是否存在所述第三序號對應(yīng)的日志,包括:
將所述第一序號對應(yīng)的日志作為當(dāng)前日志;
判斷所述日志系統(tǒng)中當(dāng)前日志之前的上一日志是否為所述第三序號對應(yīng)的日志;
若上一日志并非所述第三序號對應(yīng)的日志,則判斷上一日志的序號是否小于所述第一序號,若上一日志的序號小于所述第一序號,則將上一日志作為當(dāng)前日志,返回執(zhí)行判斷所述日志系統(tǒng)中當(dāng)前日志之前的上一日志是否為所述第三序號對應(yīng)的日志的步驟,若上一日志的序號大于所述第一序號,則判定所述日志系統(tǒng)中不存在所述第三序號對應(yīng)的日志;
若當(dāng)前日志的上一日志為所述第三序號對應(yīng)的日志,則判定所述日志系統(tǒng)中存在所述第三序號對應(yīng)的日志。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述判斷所述日志系統(tǒng)中當(dāng)前日志之前的上一日志是否為所述第三序號對應(yīng)的日志,包括:
在所述日志系統(tǒng)中,讀取上一日志尾部的日志頭信息;
判斷所述日志頭信息中的日志序號是否為所述第三序號;
若所述日志頭信息中的日志序號為所述第三序號,則基于所述日志頭信息獲取上一日志的日志數(shù)據(jù),計算所述日志數(shù)據(jù)的實時校驗值,判斷所述實時校驗值是否等于所述日志頭信息中的校驗值,若所述實時校驗值等于所述日志頭信息中的校驗值,則判定所述日志系統(tǒng)中當(dāng)前日志之前的上一日志為所述第三序號對應(yīng)的日志,若所述實時校驗值不等于所述日志頭信息中的校驗值,則判定所述日志系統(tǒng)中當(dāng)前日志之前的上一日志并非所述第三序號對應(yīng)的日志;
若所述日志頭信息中的日志序號并非所述第三序號,則判定所述日志系統(tǒng)中當(dāng)前日志之前的上一日志并非所述第三序號對應(yīng)的日志。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述基于所述日志頭信息獲取上一日志的日志數(shù)據(jù),包括:
在所述日志頭信息中獲取日志數(shù)據(jù)長度、日志數(shù)據(jù)后補零長度;
基于當(dāng)前日志的偏移地址、所述日志頭信息的長度、所述日志數(shù)據(jù)長度、所述日志數(shù)據(jù)后補零長度,讀取所述日志數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述基于當(dāng)前日志的偏移地址、所述日志頭信息的長度、所述日志數(shù)據(jù)長度、所述日志數(shù)據(jù)后補零長度,讀取所述日志數(shù)據(jù),包括:
計算當(dāng)前日志的偏移地址減去所述日志頭信息的長度后得到的第一偏移地址;
計算所述第一偏移地址減去所述日志數(shù)據(jù)后補零長度后得到的第二偏移地址;
判斷所述第二偏移地址是否小于所述日志數(shù)據(jù)長度;
若所述第二偏移地址...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:王慶海,孟祥瑞,
申請(專利權(quán))人:廣東浪潮大數(shù)據(jù)研究有限公司,
類型:發(fā)明
國別省市:廣東;44
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。