一種日志備份方法及裝置制造方法
【專利摘要】本發(fā)明的實(shí)施例公開(kāi)了一種日志備份方法及裝置,涉及信息【技術(shù)領(lǐng)域】,解決了Linux文件系統(tǒng)下文件恢復(fù)性差的問(wèn)題。具體方案為:解析日志文件內(nèi)容中的事務(wù)日志,如果事務(wù)日志中包含新建操作信息或者更改操作信息,則在該事務(wù)日志中提取對(duì)應(yīng)的節(jié)點(diǎn)信息及目錄項(xiàng)信息,并將提取出的節(jié)點(diǎn)信息和目錄項(xiàng)信息寫(xiě)入預(yù)設(shè)的日志存儲(chǔ)空間,然后解析下一事務(wù)日志,直至日志文件內(nèi)容中的所有事務(wù)日志解析完。
【專利說(shuō)明】一種日志備份方法及裝置
[0001]本申請(qǐng)要求于2013年10月21日提交中國(guó)專利局、申請(qǐng)?zhí)枮?01310495537.5發(fā)明名稱為“一種日志備份方法及裝置”的中國(guó)專利申請(qǐng)的優(yōu)先權(quán),其全部?jī)?nèi)容通過(guò)引用結(jié)合在本申請(qǐng)中。
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及信息【技術(shù)領(lǐng)域】,尤其涉及一種日志備份方法及裝置。
【背景技術(shù)】
[0003]文件系統(tǒng)是操作系統(tǒng)用于明確磁盤(pán)分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu);即在磁盤(pán)上組織文件的系統(tǒng)。Linux文件系統(tǒng)是當(dāng)前應(yīng)用最廣泛的文件系統(tǒng),Linux文件系統(tǒng)給用戶提供了對(duì)用戶文件存放和訪問(wèn)的有效管理,Linux文件系統(tǒng)中的文件是數(shù)據(jù)的集合,文件系統(tǒng)不僅包含著文件中的數(shù)據(jù)而且還有文件系統(tǒng)的結(jié)構(gòu),所有Linux用戶的文件、目錄、軟連接及文件保護(hù)信息等都存儲(chǔ)在其中。常見(jiàn)的Linux文件系統(tǒng)包括:EXT3 (Third ExtendedFile System,第三擴(kuò)展文件系統(tǒng))、XFS (ExtendedFile System,擴(kuò)展文件系統(tǒng))、ReiserFS(Reiser File System, Reiser 文件系統(tǒng))。
[0004]用戶在使用過(guò)程中,因?yàn)榇疟P(pán)壞道、意外篡改、誤刪除文件等各種原因,會(huì)導(dǎo)致用戶文件丟失或者Linux文件系統(tǒng)無(wú)法正常使用,這就需要對(duì)數(shù)據(jù)進(jìn)行恢復(fù)。
[0005]但是,現(xiàn)有技術(shù)中,無(wú)法對(duì)數(shù)據(jù)進(jìn)行徹底恢復(fù),只能恢復(fù)近期誤刪除的文件或者部分丟失文件,數(shù)據(jù)恢復(fù)效果不佳,對(duì)用戶的使用造成了阻礙。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的實(shí)施例提供一種日志備份方法及裝置,涉及信息【技術(shù)領(lǐng)域】,能夠解決Linux文件系統(tǒng)下文件恢復(fù)性差的問(wèn)題。
[0007]為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0008]第一方面,一種日志備份方法,應(yīng)用于Linux文件系統(tǒng),包括:
[0009]獲取日志文件內(nèi)容,所述日志文件內(nèi)容包括至少一個(gè)事務(wù)日志;
[0010]在所述至少一個(gè)事務(wù)日志中獲取第一事務(wù)日志,并解析所述第一事務(wù)日志;
[0011]如果所述第一事務(wù)日志中包含新建操作信息或者更改操作信息,則在所述第一事務(wù)日志中提取對(duì)應(yīng)的節(jié)點(diǎn)信息及目錄項(xiàng)信息;
[0012]將所述提取出的節(jié)點(diǎn)信息及目錄項(xiàng)信息寫(xiě)入預(yù)設(shè)的日志存儲(chǔ)空間。
[0013]結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述日志文件內(nèi)容還包括:日志超級(jí)塊;
[0014]在所述至少一個(gè)事務(wù)日志中獲取第一事務(wù)日志,并解析所述第一事務(wù)日志,包括:
[0015]在所述日志文件內(nèi)容的第一扇區(qū)讀取所述日志超級(jí)塊;
[0016]在所述日志超級(jí)塊中獲取第一事務(wù)序列號(hào)和第一事務(wù)起始?jí)K號(hào);[0017]根據(jù)所述第一事務(wù)序列號(hào)和所述第一事務(wù)起始?jí)K號(hào)讀取第一事務(wù)起始?jí)K;
[0018]解析所述第一事務(wù)起始?jí)K。
[0019]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述將所述提取出的節(jié)點(diǎn)信息及目錄項(xiàng)信息寫(xiě)入預(yù)設(shè)的日志存儲(chǔ)空間,包括:
[0020]在所述第一事務(wù)起始?jí)K中獲取第一事務(wù)源地址,所述第一事務(wù)源地址為所述第一事務(wù)的操作對(duì)象的存儲(chǔ)地址;
[0021 ] 根據(jù)所述第一事務(wù)源地址將所述提取出的節(jié)點(diǎn)信息及目錄項(xiàng)信息寫(xiě)入所述日志存儲(chǔ)空間中對(duì)應(yīng)的第一事務(wù)備份地址。
[0022]結(jié)合第一方面,在第三種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0023]如果所述第一事務(wù)日志中包含刪除操作信息,則直接跳過(guò)該事務(wù)。
[0024]結(jié)合第一方面,在第四種可能的實(shí)現(xiàn)方式中,所述獲取日志文件內(nèi)容,包括:
[0025]在文件系統(tǒng)存儲(chǔ)空間中獲取文件系統(tǒng)超級(jí)塊;
[0026]在所述文件系統(tǒng)超級(jí)塊中獲取日志數(shù)據(jù)塊大小及日志數(shù)據(jù)塊編號(hào);
[0027]根據(jù)所述日志數(shù)據(jù)塊大小及所述日志數(shù)據(jù)塊編號(hào)獲取所述文件系統(tǒng)的日志數(shù)據(jù)塊地址;
[0028]根據(jù)所述日志數(shù)據(jù)塊地址獲取日志數(shù)據(jù)塊中存儲(chǔ)的所述日志文件內(nèi)容。
[0029]結(jié)合第一方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述日志數(shù)據(jù)塊地址獲取日志數(shù)據(jù)塊中存儲(chǔ)的所述日志文件內(nèi)容,包括:
[0030]根據(jù)所述日志數(shù)據(jù)塊地址將所述日志數(shù)據(jù)塊中存儲(chǔ)的所述日志文件內(nèi)容復(fù)制到預(yù)設(shè)的日志備份區(qū);
[0031]在所述日志備份區(qū)獲取所述日志文件內(nèi)容。
[0032]結(jié)合第一方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述日志數(shù)據(jù)塊地址將所述日志數(shù)據(jù)塊中存儲(chǔ)的所述日志文件內(nèi)容復(fù)制到預(yù)設(shè)的日志備份區(qū),包括:
[0033]根據(jù)所述日志數(shù)據(jù)塊地址獲取日志數(shù)據(jù)塊末尾區(qū)域的地址;
[0034]檢測(cè)寫(xiě)命令中是否包含所述日志數(shù)據(jù)塊末尾區(qū)域的地址;
[0035]若是,則暫停寫(xiě)操作,并根據(jù)所述日志數(shù)據(jù)塊地址將所述日志數(shù)據(jù)塊中存儲(chǔ)的所述日志文件內(nèi)容復(fù)制到所述日志備份區(qū);
[0036]復(fù)制完成后,恢復(fù)寫(xiě)操作。
[0037]結(jié)合第一方面的第四種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,所述在所述文件系統(tǒng)超級(jí)塊中獲取日志數(shù)據(jù)塊大小及日志數(shù)據(jù)塊編號(hào),包括:
[0038]在所述文件系統(tǒng)超級(jí)塊中獲取文件系統(tǒng)類型;
[0039]判斷所述文件系統(tǒng)類型是否為預(yù)設(shè)的類型;
[0040]若是,則在所述文件系統(tǒng)超級(jí)塊中獲取所述日志數(shù)據(jù)塊大小及所述日志數(shù)據(jù)塊編號(hào)。
[0041]第二方面,一種日志備份裝置,應(yīng)用于Linux文件系統(tǒng),其特征在于,包括:
[0042]獲取單元,用于獲取日志文件內(nèi)容,所述日志文件內(nèi)容包括至少一個(gè)事務(wù)日志,在所述至少一個(gè)事務(wù)日志中獲取第一事務(wù)日志;
[0043]解析單元,用于解析所述獲取單元獲取的所述第一事務(wù)日志;[0044]所述獲取單元,還用于當(dāng)所述第一事務(wù)日志中包含新建操作信息或者更改操作信息時(shí),在所述第一事務(wù)日志中提取對(duì)應(yīng)的節(jié)點(diǎn)信息及目錄項(xiàng)信息;
[0045]讀寫(xiě)單元,用于將所述獲取單元提取出的節(jié)點(diǎn)信息及目錄項(xiàng)信息寫(xiě)入預(yù)設(shè)的日志存儲(chǔ)空間。
[0046]結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,
[0047]所述日志文件內(nèi)容還包括:日志超級(jí)塊;
[0048]所述獲取單元,還用于在所述日志文件內(nèi)容的第一扇區(qū)讀取所述日志超級(jí)塊,在所述日志超級(jí)塊中獲取第一事務(wù)序列號(hào)和第一事務(wù)起始?jí)K號(hào),并根據(jù)所述第一事務(wù)序列號(hào)和所述第一事務(wù)起始?jí)K號(hào)讀取第一事務(wù)起始?jí)K;
[0049]所述解析單元,還用于解析所述獲取單元讀取的所述第一事務(wù)起始?jí)K。
[0050]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,
[0051]所述獲取單元,還用于在所述第一事務(wù)起始?jí)K中獲取第一事務(wù)源地址,所述第一事務(wù)源地址為所述第一事務(wù)的操作對(duì)象的存儲(chǔ)地址;
[0052]所述讀寫(xiě)單元,還用于根據(jù)所述獲取單元獲取的所述第一事務(wù)源地址將所述提取出的節(jié)點(diǎn)信息及目錄項(xiàng)信息寫(xiě)入所述日志存儲(chǔ)空間中對(duì)應(yīng)的第一事務(wù)備份地址。
[0053]結(jié)合第二方面,在第三種可能的實(shí)現(xiàn)方式中,
[0054]所述解析單元,還用于當(dāng)所述第一事務(wù)日志中包含刪除操作信息時(shí),直接跳過(guò)該事務(wù)。
[0055]結(jié)合第二方面,在第四種可能的實(shí)現(xiàn)方式中,
[0056]所述獲取單元,還用于在文件系統(tǒng)存儲(chǔ)空間中獲取文件系統(tǒng)超級(jí)塊,在所述文件系統(tǒng)超級(jí)塊中獲取日志數(shù)據(jù)塊大小及日志數(shù)據(jù)塊編號(hào),根據(jù)所述日志數(shù)據(jù)塊大小及所述日志數(shù)據(jù)塊編號(hào)獲取所述文件系統(tǒng)的日志塊地址,并根據(jù)所述日志數(shù)據(jù)塊地址獲取日志數(shù)據(jù)塊中存儲(chǔ)的所述日志文件內(nèi)容。
[0057]結(jié)合第二方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,
[0058]所述讀寫(xiě)單元,還用于根據(jù)所述日志數(shù)據(jù)塊地址將所述日志數(shù)據(jù)塊中存儲(chǔ)的所述日志文件內(nèi)容復(fù)制到預(yù)設(shè)的日志備份區(qū);
[0059]所述獲取單元,還用于在所述日志備份區(qū)獲取所述日志文件內(nèi)容。
[0060]結(jié)合第二方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,
[0061]所述獲取單元,還用于根據(jù)所述日志數(shù)據(jù)塊地址獲取日志數(shù)據(jù)塊末尾區(qū)域的地址;
[0062]所述讀寫(xiě)單元,還用于檢測(cè)寫(xiě)命令中是否包含所述日志數(shù)據(jù)塊末尾區(qū)域的地址;
[0063]若是,則暫停寫(xiě)操作,并根據(jù)所述日志數(shù)據(jù)塊地址將所述日志數(shù)據(jù)塊中存儲(chǔ)的所述日志文件內(nèi)容復(fù)制到所述日志備份區(qū);
[0064]復(fù)制完成后,恢復(fù)寫(xiě)操作。
[0065]結(jié)合第二方面的第四種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,
[0066]所述獲取單元,還用于在所述文件系統(tǒng)超級(jí)塊中獲取文件系統(tǒng)類型;
[0067]所述日志備份裝置還包括判斷單元,
[0068]所述判斷單元,用于判斷所述獲取單元獲取的所述文件系統(tǒng)類型是否為預(yù)設(shè)的類型;[0069]所述獲取單元,還用于當(dāng)所述判斷單元的判斷結(jié)果為是,在所述文件系統(tǒng)超級(jí)塊中獲取所述日志數(shù)據(jù)塊大小及所述日志數(shù)據(jù)塊編號(hào)。
[0070]本發(fā)明的實(shí)施例提供的日志備份方法及裝置,通過(guò)解析日志文件內(nèi)容中的事務(wù)日志,如果事務(wù)日志中包含新建操作信息或者更改操作信息,則在該事務(wù)日志中提取對(duì)應(yīng)的節(jié)點(diǎn)信息及目錄項(xiàng)信息,并將提取出的節(jié)點(diǎn)信息和目錄項(xiàng)信息寫(xiě)入預(yù)設(shè)的日志存儲(chǔ)空間,然后解析下一事務(wù)日志,直至日志文件內(nèi)容中的所有事務(wù)日志解析完,解決了 Linux文件系統(tǒng)下文件恢復(fù)性差的問(wèn)題,提高了 Linux文件系統(tǒng)下用戶數(shù)據(jù)的可恢復(fù)性。
【專利附圖】
【附圖說(shuō)明】
[0071]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0072]圖1為本發(fā)明的實(shí)施例提供的一種日志備份方法流程示意圖;
[0073]圖2為本發(fā)明的另一實(shí)施例提供的一種日志備份方法流程示意圖;
[0074]圖3為本發(fā)明的實(shí)施例提供的一種日志文件數(shù)據(jù)結(jié)構(gòu)示意圖;
[0075]圖4為本發(fā)明的實(shí)施例提供的一種日志備份裝置結(jié)構(gòu)示意圖;
[0076]圖5為本發(fā)明的另一實(shí)施例提供的一種日志備份裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0077]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0078]本發(fā)明的實(shí)施例提供一種日志備份方法,應(yīng)用于Linux文件系統(tǒng),參照?qǐng)D1所示,該方法包括:
[0079]101、獲取日志文件內(nèi)容。
[0080]其中,該日志文件內(nèi)容包括至少一個(gè)事務(wù)日志。
[0081]102、在至少一個(gè)事務(wù)日志中獲取第一事務(wù)日志,并解析第一事務(wù)日志。
[0082]具體可選的,該日志文件內(nèi)容還包括日志超級(jí)塊,該日志超級(jí)塊在日志文件內(nèi)容的第一扇區(qū),在日志超級(jí)塊中讀取第一事務(wù)序列號(hào)和第一事務(wù)起始?jí)K號(hào),并根據(jù)第一事務(wù)序列號(hào)和第一事務(wù)起始?jí)K號(hào)讀取第一事務(wù)起始?jí)K,然后解析第一事務(wù)起始?jí)K。
[0083]103、如果第一事務(wù)日志中包含新建操作信息或者更改操作信息,則在第一事務(wù)日志中提取對(duì)應(yīng)的節(jié)點(diǎn)信息及目錄項(xiàng)信息。
[0084]可選的,當(dāng)?shù)谝皇聞?wù)日志中包含刪除操作信息時(shí),直接跳過(guò)該事物日志。
[0085]104、將提取出的節(jié)點(diǎn)信息及目錄項(xiàng)信息寫(xiě)入預(yù)設(shè)的日志存儲(chǔ)空間。
[0086]可選的,重復(fù)步驟102-104,將日志文件內(nèi)容中的所有事務(wù)日志解析完,就完成了日志文件內(nèi)容的備份。
[0087]這樣,通過(guò)解析可以不記錄刪除文件的操作,只記錄更改操作和新建操作,并且能夠及時(shí)記錄最新的操作信息,使得用戶在恢復(fù)文件的時(shí)候,能夠更準(zhǔn)確,快速的恢復(fù)文件,并且,由于記錄了全部的日志文件內(nèi)容,也使得長(zhǎng)期損壞的文件可以恢復(fù),提高了 Linux文件系統(tǒng)下用戶數(shù)據(jù)的可恢復(fù)性。
[0088]本發(fā)明的實(shí)施例提供的日志備份方法,通過(guò)解析日志文件內(nèi)容中的事務(wù)日志,如果事務(wù)日志中包含新建操作信息或者更改操作信息,則在該事務(wù)日志中提取對(duì)應(yīng)的節(jié)點(diǎn)信息及目錄項(xiàng)信息,并將提取出的節(jié)點(diǎn)信息和目錄項(xiàng)信息寫(xiě)入預(yù)設(shè)的日志存儲(chǔ)空間,然后解析下一事務(wù)日志,直至日志文件內(nèi)容中的所有事務(wù)日志解析完,解決了 Linux文件系統(tǒng)下文件恢復(fù)性差的問(wèn)題,提高了 Linux文件系統(tǒng)下用戶數(shù)據(jù)的可恢復(fù)性。
[0089]本發(fā)明的另一實(shí)施例提供一種日志備份方法,應(yīng)用于Linux文件系統(tǒng),本實(shí)施例以Linux文件系統(tǒng)中EXT3文件系統(tǒng)為例,可選的,本實(shí)施例結(jié)合自動(dòng)精簡(jiǎn)配置技術(shù)進(jìn)行說(shuō)明,但這不代表本發(fā)明只適用于EXT3文件系統(tǒng)和自動(dòng)精簡(jiǎn)配置技術(shù)。參照?qǐng)D2所示,該方法包括:
[0090]201、進(jìn)行分區(qū)信息檢測(cè)。
[0091]可選的,在Linux系統(tǒng)中,對(duì)LUN(Logical Unit Number,邏輯單元號(hào))進(jìn)行檢測(cè),此處,因?yàn)楝F(xiàn)有的Linux系統(tǒng)只有兩種分區(qū)形式,所以只需要檢測(cè)MBR(Master Boot Record,主引導(dǎo)記錄)和 GPT (GloballyUnique Identifier Partition Table Format,全局唯一標(biāo)示磁盤(pán)分區(qū)表格式)兩種分區(qū),如果識(shí)別到MBR或者GPT分區(qū),則將分區(qū)的信息分解析出來(lái),記錄各個(gè)分區(qū)的起始位置。
[0092]202、在文件系統(tǒng)存儲(chǔ)空間中獲取文件系統(tǒng)超級(jí)塊,在文件系統(tǒng)超級(jí)塊中獲取文件系統(tǒng)類型,判斷文件系統(tǒng)類型是否為預(yù)設(shè)的類型。
[0093]此處,對(duì)各個(gè)分區(qū)分別進(jìn)行文件系統(tǒng)識(shí)別,本發(fā)明以EXT3文件系統(tǒng)為例,所以預(yù)設(shè)的類型為EXT3文件系統(tǒng)。具體的,EXT3文件系統(tǒng)的文件系統(tǒng)超級(jí)塊數(shù)據(jù)結(jié)構(gòu)如表一所示,具體判斷方法為在文件系統(tǒng)超級(jí)塊中偏移量為0x38-0x39處的值是否為53EF,且0xE0-0xE3處的值為08,如果兩個(gè)判斷結(jié)果都為是,則證明該LUN為EXT3文件系統(tǒng),可以執(zhí)行步驟203,若判斷結(jié)果為否,則終止操作。
[0094]表一
【權(quán)利要求】
1.一種日志備份方法,其特征在于,所述方法應(yīng)用于Linux文件系統(tǒng),包括: 獲取日志文件內(nèi)容,所述日志文件內(nèi)容包括至少一個(gè)事務(wù)日志; 在所述至少一個(gè)事務(wù)日志中獲 取第一事務(wù)日志,并解析所述第一事務(wù)日志; 如果所述第一事務(wù)日志中包含新建操作信息或者更改操作信息,則在所述第一事務(wù)日志中提取對(duì)應(yīng)的節(jié)點(diǎn)信息及目錄項(xiàng)信息; 將所述提取出的節(jié)點(diǎn)信息及目錄項(xiàng)信息寫(xiě)入預(yù)設(shè)的日志存儲(chǔ)空間。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述日志文件內(nèi)容還包括:日志超級(jí)塊; 在所述至少一個(gè)事務(wù)日志中獲取第一事務(wù)日志,并解析所述第一事務(wù)日志,包括: 在所述日志文件內(nèi)容的第一扇區(qū)讀取所述日志超級(jí)塊; 在所述日志超級(jí)塊中獲取第一事務(wù)序列號(hào)和第一事務(wù)起始?jí)K號(hào); 根據(jù)所述第一事務(wù)序列號(hào)和所述第一事務(wù)起始?jí)K號(hào)讀取第一事務(wù)起始?jí)K; 解析所述第一事務(wù)起始?jí)K。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將所述提取出的節(jié)點(diǎn)信息及目錄項(xiàng)信息寫(xiě)入預(yù)設(shè)的日志存儲(chǔ)空間,包括: 在所述第一事務(wù)起始?jí)K中獲取第一事務(wù)源地址,所述第一事務(wù)源地址為所述第一事務(wù)的操作對(duì)象的存儲(chǔ)地址; 根據(jù)所述第一事務(wù)源地址將所述提取出的節(jié)點(diǎn)信息及目錄項(xiàng)信息寫(xiě)入所述日志存儲(chǔ)空間中對(duì)應(yīng)的第一事務(wù)備份地址。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 如果所述第一事務(wù)日志中包含刪除操作信息,則直接跳過(guò)該事務(wù)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取日志文件內(nèi)容,包括: 在文件系統(tǒng)存儲(chǔ)空間中獲取文件系統(tǒng)超級(jí)塊; 在所述文件系統(tǒng)超級(jí)塊中獲取日志數(shù)據(jù)塊大小及日志數(shù)據(jù)塊編號(hào); 根據(jù)所述日志數(shù)據(jù)塊大小及所述日志數(shù)據(jù)塊編號(hào)獲取所述文件系統(tǒng)的日志數(shù)據(jù)塊地址; 根據(jù)所述日志數(shù)據(jù)塊地址獲取日志數(shù)據(jù)塊中存儲(chǔ)的所述日志文件內(nèi)容。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述根據(jù)所述日志數(shù)據(jù)塊地址獲取日志數(shù)據(jù)塊中存儲(chǔ)的所述日志文件內(nèi)容,包括: 根據(jù)所述日志數(shù)據(jù)塊地址將所述日志數(shù)據(jù)塊中存儲(chǔ)的所述日志文件內(nèi)容復(fù)制到預(yù)設(shè)的日志備份區(qū); 在所述日志備份區(qū)獲取所述日志文件內(nèi)容。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述根據(jù)所述日志數(shù)據(jù)塊地址將所述日志數(shù)據(jù)塊中存儲(chǔ)的所述日志文件內(nèi)容復(fù)制到預(yù)設(shè)的日志備份區(qū),包括: 根據(jù)所述日志數(shù)據(jù)塊地址獲取日志數(shù)據(jù)塊末尾區(qū)域的地址; 檢測(cè)寫(xiě)命令中是否包含所述日志數(shù)據(jù)塊末尾區(qū)域的地址; 若是,則暫停寫(xiě)操作,并根據(jù)所述日志數(shù)據(jù)塊地址將所述日志數(shù)據(jù)塊中存儲(chǔ)的所述日志文件內(nèi)容復(fù)制到所述日志備份區(qū); 復(fù)制完成后,恢復(fù)寫(xiě)操作。
8.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述在所述文件系統(tǒng)超級(jí)塊中獲取日志數(shù)據(jù)塊大小及日志數(shù)據(jù)塊編號(hào),包括: 在所述文件系統(tǒng)超級(jí)塊中獲取文件系統(tǒng)類型; 判斷所述文件系統(tǒng)類型是否為預(yù)設(shè)的類型; 若是,則在所述文件系統(tǒng)超級(jí)塊中獲取所述日志數(shù)據(jù)塊大小及所述日志數(shù)據(jù)塊編號(hào)。
9.一種日志備份裝置,其特征在于,所述裝置應(yīng)用于Linux文件系統(tǒng),包括: 獲取單元,用于獲取日志文件內(nèi)容,所述日志文件內(nèi)容包括至少一個(gè)事務(wù)日志,在所述至少一個(gè)事務(wù)日志中獲取第一事務(wù)日志; 解析單元,用于解析所述獲取單元獲取的所述第一事務(wù)日志; 所述獲取單元,還用于當(dāng)所述第一事務(wù)日志中包含新建操作信息或者更改操作信息時(shí),在所述第一事務(wù)日志中提取對(duì)應(yīng)的節(jié)點(diǎn)信息及目錄項(xiàng)信息; 讀寫(xiě)單元,用于將所述獲取單元提取出的節(jié)點(diǎn)信息及目錄項(xiàng)信息寫(xiě)入預(yù)設(shè)的日志存儲(chǔ)空間。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于, 所述日志文件內(nèi)容還包括:日志超級(jí)塊; 所述獲取單元,還用于在所述日志文件內(nèi)容的第一扇區(qū)讀取所述日志超級(jí)塊,在所述日志超級(jí)塊中獲取第一事務(wù)序列號(hào)和第一事務(wù)起始?jí)K號(hào),并根據(jù)所述第一事務(wù)序列號(hào)和所述第一事務(wù)起始?jí)K號(hào)讀取第一事務(wù)起始?jí)K; 所述解析單元,還用于解析所述獲取單元讀取的所述第一事務(wù)起始?jí)K。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,包括: 所述獲取單元,還用于在所述第一事務(wù)起始?jí)K中獲取第一事務(wù)源地址,所述第一事務(wù)源地址為所述第一事務(wù)的操作對(duì)象的存儲(chǔ)地址; 所述讀寫(xiě)單元,還用于根據(jù)所述獲取單元獲取的所述第一事務(wù)源地址將所述提取出的節(jié)點(diǎn)信息及目錄項(xiàng)信息寫(xiě)入所述日志存儲(chǔ)空間中對(duì)應(yīng)的第一事務(wù)備份地址。
12.根據(jù)權(quán)利要求9所述的裝置,其特征在于,包括: 所述解析單元,還用于當(dāng)所述第一事務(wù)日志中包含刪除操作信息時(shí),直接跳過(guò)該事務(wù)。
13.根據(jù)權(quán)利要求9所述的裝置,其特征在于,包括: 所述獲取單元,還用于在文件系統(tǒng)存儲(chǔ)空間中獲取文件系統(tǒng)超級(jí)塊,在所述文件系統(tǒng)超級(jí)塊中獲取日志數(shù)據(jù)塊大小及日志數(shù)據(jù)塊編號(hào),根據(jù)所述日志數(shù)據(jù)塊大小及所述日志數(shù)據(jù)塊編號(hào)獲取所述文件系統(tǒng)的日志塊地址,并根據(jù)所述日志數(shù)據(jù)塊地址獲取日志數(shù)據(jù)塊中存儲(chǔ)的所述日志文件內(nèi)容。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,包括: 所述讀寫(xiě)單元,還用于根據(jù)所述日志數(shù)據(jù)塊地址將所述日志數(shù)據(jù)塊中存儲(chǔ)的所述日志文件內(nèi)容復(fù)制到預(yù)設(shè)的日志備份區(qū); 所述獲取單元,還用于在所述日志備份區(qū)獲取所述日志文件內(nèi)容。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,包括: 所述獲取單元,還用于根據(jù)所述日志數(shù)據(jù)塊地址獲取日志數(shù)據(jù)塊末尾區(qū)域的地址; 所述讀寫(xiě)單元,還用于檢測(cè)寫(xiě)命令中是否包含所述日志數(shù)據(jù)塊末尾區(qū)域的地址; 若是,則暫停寫(xiě)操作,并根據(jù)所述日志數(shù)據(jù)塊地址將所述日志數(shù)據(jù)塊中存儲(chǔ)的所述日志文件內(nèi)容復(fù)制到所述日志備份區(qū); 復(fù)制完成后,恢復(fù)寫(xiě)操作。
16.根據(jù)權(quán)利要求13所述的裝置,其特征在于, 所述獲取單元,還用于在所述文件系統(tǒng)超級(jí)塊中獲取文件系統(tǒng)類型; 所述日志備份裝置還包括判斷單元, 所述判斷單元,用于判斷所述獲取單元獲取的所述文件系統(tǒng)類型是否為預(yù)設(shè)的類型;所述獲取單元,還用于當(dāng)所述判斷單元的判斷結(jié)果為是,在所述文件系統(tǒng)超級(jí)塊中獲取所述日志數(shù)據(jù)塊大 小及所述日志數(shù)據(jù)塊編號(hào)。
【文檔編號(hào)】G06F12/02GK103902409SQ201410116472
【公開(kāi)日】2014年7月2日 申請(qǐng)日期:2014年3月26日 優(yōu)先權(quán)日:2013年10月21日
【發(fā)明者】周釗, 趙瑋 申請(qǐng)人:華為技術(shù)有限公司