專利名稱:數(shù)據(jù)備份方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)備份技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)備份方法及裝置。
背景技術(shù):
隨著備份數(shù)據(jù)的日益增多,重復(fù)數(shù)據(jù)刪除(DataDe-duplication)被越來越廣泛的應(yīng)用,以降低數(shù)據(jù)存儲(chǔ)的成本。重復(fù)數(shù)據(jù)刪除也稱重刪,如字義所言就是不存儲(chǔ)重復(fù)的部分以減少空間耗用,找出相同的數(shù)據(jù),相同數(shù)據(jù)的只存儲(chǔ)一份,以索引來記錄,還原時(shí)根據(jù)索引就能回溯計(jì)算出原來文件的組成型式。重刪過程通常是這樣的首先,將數(shù)據(jù)文件分割成一組數(shù)據(jù)塊,采用哈希(Hash)算法為每個(gè)數(shù)據(jù)塊計(jì)算指紋((Fingerprint,F(xiàn)P),具有相同指紋的數(shù)據(jù)塊即可認(rèn)為是相同的數(shù)據(jù)塊,存儲(chǔ)系統(tǒng)中僅需要保留一份);在進(jìn)行數(shù)據(jù)的備份存儲(chǔ)時(shí),對(duì)每個(gè)待備份數(shù)據(jù)塊,以指紋為關(guān)鍵字在索引中進(jìn)行哈希查找,匹配則表示該數(shù)據(jù)塊為重復(fù)數(shù)據(jù)塊,僅存儲(chǔ)該數(shù)據(jù)塊的索引信息,不匹配則表示該數(shù)據(jù)塊是一個(gè)新的唯一塊,對(duì)該數(shù)據(jù)塊進(jìn)行存儲(chǔ)并創(chuàng)建相關(guān)元數(shù)據(jù)信息,元數(shù)據(jù)信息包括數(shù)據(jù)塊的指紋?,F(xiàn)有的數(shù)據(jù)的備份存儲(chǔ)中,通常使用將重刪后的數(shù)據(jù)的元數(shù)據(jù)緩存到內(nèi)存中,將重刪后的數(shù)據(jù)存儲(chǔ)到底層磁盤上的方式,完成待備份數(shù)據(jù)的備份。在進(jìn)行每個(gè)數(shù)據(jù)塊的備份時(shí),先到內(nèi)存中查找元數(shù)據(jù)以完成重刪,這樣縮短了將元數(shù)據(jù)存儲(chǔ)到底層磁盤對(duì)元數(shù)據(jù)時(shí)進(jìn)行元數(shù)據(jù)訪問的時(shí)間,一定程度上提高了訪問性能,從而提高了重刪性能。但是由于備份數(shù)據(jù)量一般很大,對(duì)應(yīng)的元數(shù)據(jù)也很大,因此需要消耗掉大量的內(nèi)存,影響系統(tǒng)性能。采用較大的內(nèi)存固然可以在提高重刪性能的前提下提高系統(tǒng)性能,但是由于內(nèi)存顆粒的價(jià)格較高,所以受到了一定的限制。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種數(shù)據(jù)備份方法及裝置,能夠在不影響系統(tǒng)性能的前提下實(shí)現(xiàn)重刪性能的提高。為了實(shí)現(xiàn)上述目的,在第一方面,本發(fā)明實(shí)施例提供了 一種數(shù)據(jù)備份方法,包括分析待備份數(shù)據(jù)塊的指紋;以所述指紋為關(guān)鍵字在緩存池中查找相同的指紋;若存在相同的指紋,則將所述指紋對(duì)應(yīng)的索引信息中虛擬卷頁的引用計(jì)數(shù)加一;若不存在相同的指紋,則將所述待備份數(shù)據(jù)塊存儲(chǔ)到虛擬卷上,將所述待備份數(shù)據(jù)塊的元數(shù)據(jù)信息存儲(chǔ)在所述緩存池中,并在索引表中為所述待備份數(shù)據(jù)塊創(chuàng)建索引信息,將所創(chuàng)建的索引信息中所述待備份數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的引用計(jì)數(shù)設(shè)為一;以及周期性查詢所述索引表,刪除所述緩存池中引用計(jì)數(shù)低于預(yù)設(shè)閾值的虛擬卷頁對(duì)應(yīng)的元數(shù)據(jù)信息,所述預(yù)設(shè)閾值是自然數(shù)。其中,所述緩存池中存儲(chǔ)有已存儲(chǔ)的各數(shù)據(jù)塊的元數(shù)據(jù)信息;所述索引表包括已存儲(chǔ)的各數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的索引信息,所述索引信息包括數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的地址、以及數(shù)據(jù)塊的元數(shù)據(jù)信息在所述緩存池中的存儲(chǔ)地址,所述元數(shù)據(jù)信息包括所述數(shù)據(jù)塊的指紋;所述引用計(jì)數(shù)用于記錄所述虛擬卷頁所對(duì)應(yīng)的數(shù)據(jù)塊被引用的次數(shù)。結(jié)合第一方面,在第二種可能的實(shí)現(xiàn)方式中,所述若不存在相同的指紋,則將所述待備份數(shù)據(jù)塊存儲(chǔ)到虛擬卷上,將所述待備份數(shù)據(jù)塊的元數(shù)據(jù)信息存儲(chǔ)在所述緩存池,并在索引表中為所述待備份數(shù)據(jù)塊創(chuàng)建索引信息,將所創(chuàng)建的索引信息中所述待備份數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的引用計(jì)數(shù)設(shè)為一的步驟具體包括為所述待備份數(shù)據(jù)塊分配虛擬卷頁以及緩存池中的存儲(chǔ)空間;在所述索引表中創(chuàng)建所述待備份數(shù)據(jù)塊的索引信息,并將所分配的虛擬卷頁的引用計(jì)數(shù)記為一;以及將所述待備份數(shù)據(jù)塊存儲(chǔ)到所述虛擬卷頁對(duì)應(yīng)的磁盤空間中,將其元數(shù)據(jù)信息存儲(chǔ)到所分配的緩存池中的存儲(chǔ)空間中。結(jié)合第一方面的或第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述索弓I信息中還包括訪問時(shí)間,用于記錄最近一次更新所述索弓I信息的時(shí)間。結(jié)合第一方面的第二種可能的實(shí)施方式,在第三種可能的實(shí)現(xiàn)方式中,所述方法還包括周期性查詢所述索引表,獲得訪問時(shí)間最近的第一預(yù)設(shè)數(shù)量的索引信息;在所述第一預(yù)設(shè)數(shù)量的索引信息中,按照虛擬卷頁的引用計(jì)數(shù)從小到大的順序,刪除所述緩存池中引用計(jì)數(shù)最小的第二預(yù)設(shè)數(shù)量的虛擬卷頁對(duì)應(yīng)的元數(shù)據(jù)信息。結(jié)合第一方面或第一方面的上述實(shí)現(xiàn)方式中的任一種,在第四種可能的實(shí)現(xiàn)方式中,所述緩存池設(shè)置在固態(tài)硬盤SSD中。在第二方面,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)備份裝置,包括分析單元,用于分析待備份數(shù)據(jù)塊的指紋;匹配單元,用于以所述分析單元所分析出的指紋為關(guān)鍵字在緩存池中查找匹配的指紋;備份單元,用于根據(jù)所述匹配單元的查找結(jié)果進(jìn)行待備份數(shù)據(jù)塊的備份若存在相同的指紋,則將所述指紋對(duì)應(yīng)的索引信息中虛擬卷頁的引用計(jì)數(shù)加一;若不存在相同的指紋,則將所述待備份數(shù)據(jù)塊存儲(chǔ)到虛擬卷上,將所述待備份數(shù)據(jù)塊的元數(shù)據(jù)信息存儲(chǔ)在所述緩存池中,并在索引表中為所述待備份數(shù)據(jù)塊創(chuàng)建索引信息,將所創(chuàng)建的索引信息中所述待備份數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的引用計(jì)數(shù)設(shè)為一;以及淘汰單元,用于周期性查詢所述索引表,刪除所述緩存池中引用計(jì)數(shù)低于預(yù)設(shè)閾值的虛擬卷頁對(duì)應(yīng)的元數(shù)據(jù)信息,所述預(yù)設(shè)閾值是自然數(shù);其中,所述緩存池中存儲(chǔ)有已存儲(chǔ)的各數(shù)據(jù)塊的元數(shù)據(jù)信息;所述索引表包括已存儲(chǔ)的各數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的索引信息,所述索引信息包括數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的地址、以及數(shù)據(jù)塊的元數(shù)據(jù)信息在所述緩存池中的存儲(chǔ)地址,所述元數(shù)據(jù)信息包括所述數(shù)據(jù)塊的指紋;所述引用計(jì)數(shù)用于記錄所述虛擬卷頁所對(duì)應(yīng)的數(shù)據(jù)塊被引用的次數(shù)。結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,所述索引信息中還包括訪問時(shí)間,用于記錄最近一次更新所述索引信息的時(shí)間;所述淘汰單元還用于周期性查詢所述索引表,獲得訪問時(shí)間最近的第一預(yù)設(shè)數(shù)量的索引信息,并在所述第一預(yù)設(shè)數(shù)量的索引信息中,按照虛擬卷頁的引用計(jì)數(shù)從小到大的順序,刪除所述緩存池中引用計(jì)數(shù)最小的第二預(yù)設(shè)數(shù)量的虛擬卷頁對(duì)應(yīng)的元數(shù)據(jù)信息。結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述緩存池設(shè)置在固態(tài)硬盤SSD中。本發(fā)明實(shí)施例提供的方法及裝置,采用了定期淘汰的機(jī)制,對(duì)緩存池中訪問頻率較低的元數(shù)據(jù)進(jìn)行淘汰,即從緩存池中刪除相關(guān)的信息,以保證容量有限的緩存池夠用,能夠在不影響系統(tǒng)性能的前提下實(shí)現(xiàn)重刪性能的提高,進(jìn)而提高了數(shù)據(jù)備份效率。根據(jù)下面參考附圖對(duì)示例性實(shí)施例的詳細(xì)說明,本發(fā)明的其它特征及方面將變得清楚。
包含在說明書中并且構(gòu)成說明書的一部分的說明書附圖與說明書一起示出了本發(fā)明的示例性實(shí)施例、特征和方面,并且用于解釋本發(fā)明的原理。圖1為本發(fā)明實(shí)施例的數(shù)據(jù)備份方法的流程圖;圖2為本發(fā)明實(shí)施例的數(shù)據(jù)備份方法中的索引表示意圖;圖3為本發(fā)明實(shí)施例的數(shù)據(jù)備份方法的部分流程圖;圖4為本發(fā)明實(shí)施例的一種數(shù)據(jù)備份裝置的結(jié)構(gòu)框圖;圖5為本發(fā)明實(shí)施例的另一種數(shù)據(jù)備份裝置的結(jié)構(gòu)框圖。
具體實(shí)施例方式以下將參考附圖詳細(xì)說明本發(fā)明的各種示例性實(shí)施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實(shí)施例的各種方面,但是除非特別指出,不必按比例繪制附圖。在這里專用的詞“示例性”意為“用作例子、實(shí)施例或說明性”。這里作為“示例性”所說明的任何實(shí)施例不必解釋為優(yōu)于或好于其它實(shí)施例。另外,為了更好的說明本發(fā)明,在下文的具體實(shí)施方式
中給出了眾多的具體細(xì)節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒有這些具體細(xì)節(jié),本發(fā)明同樣可以實(shí)施。在另外一些實(shí)例中,對(duì)于大家熟知的方法、手段、元件和電路未作詳細(xì)描述,以便于凸顯本發(fā)明的主旨?,F(xiàn)代存儲(chǔ)技術(shù)中,磁盤根據(jù)自身的管理方式,將實(shí)際存儲(chǔ)空間劃分為固定大小的磁盤塊進(jìn)行管理,然后將各個(gè)磁盤塊按一定的原則組合成虛擬卷,向用戶呈現(xiàn)為邏輯單元號(hào)LUN。每一個(gè)虛擬卷都有一個(gè)最小的組成單位,該最小的組成單位可以為一個(gè)或多個(gè)上述磁盤塊的大小,將虛擬卷的最小組成單位稱為虛擬卷頁。換言之,虛擬卷可由很多個(gè)物理空間連續(xù)或不連續(xù)的磁盤塊組成,實(shí)際實(shí)現(xiàn)中,一般由將磁盤塊映射到虛擬卷頁的映射對(duì)各個(gè)磁盤塊進(jìn)行組織,從而對(duì)系統(tǒng)以虛擬卷的形式呈現(xiàn)為一個(gè)連續(xù)的空間。如圖1所示,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)備份方法,包括S1.分析待備份數(shù)據(jù)塊的指紋;S2.以該指紋為關(guān)鍵字在緩存池中查找相同的指紋;S3.若存在相同的指紋,則將所述指紋對(duì)應(yīng)的索引信息中虛擬卷頁的引用計(jì)數(shù)(ref)加一;若不存在相同的指紋,則將所述待備份數(shù)據(jù)塊存儲(chǔ)到虛擬卷上,將所述待備份數(shù)據(jù)塊的元數(shù)據(jù)信息存儲(chǔ)在所述緩存池中,并在索引表中為所述待備份數(shù)據(jù)塊創(chuàng)建索引信息,將所創(chuàng)建的索引信息中所述待備份數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的引用計(jì)數(shù)設(shè)為一;以及S4.周期性查詢所述索引表,刪除所述緩存池中引用計(jì)數(shù)低于預(yù)設(shè)閾值的虛擬卷頁對(duì)應(yīng)的元數(shù)據(jù)信息,所述預(yù)設(shè)閾值是自然數(shù)。其中,緩存池中存儲(chǔ)有已存儲(chǔ)的各數(shù)據(jù)塊的元數(shù)據(jù)信息;所述索引表包括已存儲(chǔ)的各數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁(Container,簡(jiǎn)稱Ctn)的索引信息,每個(gè)虛擬卷頁可對(duì)應(yīng)多個(gè)數(shù)據(jù)塊,每個(gè)虛擬卷頁所對(duì)應(yīng)的元數(shù)據(jù)可由對(duì)應(yīng)的多個(gè)數(shù)據(jù)塊的元數(shù)據(jù)信息構(gòu)成,元數(shù)據(jù)信息中包括數(shù)據(jù)塊的指紋。如2圖所示,每條索引信息分別包括虛擬卷頁的ID(Ctn_ID)、虛擬卷頁的地址(Ctn_Addr)、以及該虛擬卷頁對(duì)應(yīng)的元數(shù)據(jù)(Ctn_Meta)在緩存池中的地址(Ctn_Meta_addr)。引用計(jì)數(shù)用于記錄虛擬卷頁所對(duì)應(yīng)的數(shù)據(jù)塊被引用的次數(shù),即引用該虛擬卷頁中的數(shù)據(jù)塊的文件的數(shù)量,代表著該虛擬卷頁的熱點(diǎn)特性。對(duì)文件的寫操作將引起該計(jì)數(shù)的改變?cè)黾游募臄?shù)據(jù)可能造成引用計(jì)數(shù)的增加;刪除文件的數(shù)據(jù)可能造成引用計(jì)數(shù)的減少,甚至減少為零。本發(fā)明實(shí)施例的方法采用了定期淘汰的機(jī)制,對(duì)緩存池中訪問頻率較低的元數(shù)據(jù)進(jìn)行淘汰,即從緩存池中刪除相關(guān)的信息,以保證容量有限的緩存池夠用,能夠在不影響系統(tǒng)性能的前提下實(shí)現(xiàn)重刪性能的提高。其中,可在滿足采用該預(yù)設(shè)閾值進(jìn)行元數(shù)據(jù)的淘汰能夠保證緩存池夠用的條件下,根據(jù)需要任意設(shè)置該預(yù)設(shè)閾值,,所述預(yù)設(shè)閾值是自然數(shù),例如I。且如3圖所示,在步驟S3中,將所述待備份數(shù)據(jù)塊存儲(chǔ)到虛擬卷上,將所述待備份數(shù)據(jù)塊的元數(shù)據(jù)信息存儲(chǔ)在所述緩存池中,并在索引表中為所述待備份數(shù)據(jù)塊創(chuàng)建索引信息,將所創(chuàng)建的索引信息中所述待備份數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的引用計(jì)數(shù)設(shè)為一的步驟具體包括S31.為待備份數(shù)據(jù)塊分配虛擬卷頁以及緩存池中的存儲(chǔ)空間;S32.在該索引表中創(chuàng)建該待備份數(shù)據(jù)塊的索引信息,并將所分配的虛擬卷頁的引用計(jì)數(shù)記為一;以及S33.將該待備份數(shù)據(jù)塊存儲(chǔ)到該虛擬卷頁對(duì)應(yīng)的磁盤空間中,將其元數(shù)據(jù)信息存儲(chǔ)到所分配的緩存池中的存儲(chǔ)空間中。需要說明的是,上述步驟S32和S33的順序可以調(diào)換。本發(fā)明實(shí)施例的方法中索引信息中還包括訪問時(shí)間,用于記錄最近一次更新所述索引信息的時(shí)間,本發(fā)明實(shí)施例的方法在上述步驟S1-S4的基礎(chǔ)上還可包括步驟周期性查詢?cè)撍饕恚@得訪問時(shí)間最近的第一預(yù)設(shè)數(shù)量(例如總的索引信息數(shù)量的20%)的索引信息;在該第一預(yù)設(shè)數(shù)量的索引信息中,按照虛擬卷頁的引用計(jì)數(shù)從小到大的順序,刪除所述緩存池中引用計(jì)數(shù)最小的第二預(yù)設(shè)數(shù)量(例如第一預(yù)設(shè)數(shù)量的50%)的虛擬卷頁對(duì)應(yīng)的元數(shù)據(jù)信息。通過上述步驟,本發(fā)明實(shí)施例的方法可對(duì)定期將較少被訪問且引用計(jì)數(shù)較小的虛擬卷頁淘汰掉,以進(jìn)一步保證容量有限的緩存池夠用。此外,在本發(fā)明實(shí)施例的方法中,該緩存池可在內(nèi)存中,還可在固態(tài)硬盤(SolidState Disk、IDE FLASH DISK, SSD)。SSD的成本較內(nèi)存低,可以在較低的成本的條件下實(shí)現(xiàn)重刪性能的提高。
如圖4所示,本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)備份裝置400,該裝置依照?qǐng)D1所示的方法進(jìn)行數(shù)據(jù)備份,該裝置包括分析單元401,用于分析待備份數(shù)據(jù)塊的指紋;匹配單元402,用于以分析單元401所分析出的指紋為關(guān)鍵字在緩存池中查找相同的指紋;備份單元403,用于根據(jù)匹配單元402的查找結(jié)果進(jìn)行待備份數(shù)據(jù)塊的備份若存在相同的指紋,則將所述指紋對(duì)應(yīng)的索引信息中虛擬卷頁的引用計(jì)數(shù)加一;若不存在相同的指紋,則將所述待備份數(shù)據(jù)塊存儲(chǔ)到虛擬卷上,將所述待備份數(shù)據(jù)塊的元數(shù)據(jù)信息存儲(chǔ)在所述緩存池中,并在索引表中為所述待備份數(shù)據(jù)塊創(chuàng)建索引信息,將所創(chuàng)建的索引信息中所述待備份數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的引用計(jì)數(shù)設(shè)為一;以及淘汰單元404,用于周期性查詢所述索引表,刪除所述緩存池中引用計(jì)數(shù)低于預(yù)設(shè)閾值的虛擬卷頁對(duì)應(yīng)的元數(shù)據(jù)信息,所述預(yù)設(shè)閾值是自然數(shù);或者周期性查詢所述索引表,獲得訪問時(shí)間最近的第一預(yù)設(shè)數(shù)量的索引信息,并在所述第一預(yù)設(shè)數(shù)量的索引信息中,按照虛擬卷頁的引用計(jì)數(shù)從小到大的順序,刪除引用計(jì)數(shù)最小的第二預(yù)設(shè)數(shù)量的虛擬卷頁對(duì)應(yīng)的元數(shù)據(jù)信息。如圖5所示,本發(fā)明實(shí)施例還提供了另一種數(shù)據(jù)備份裝置500,該數(shù)據(jù)備份裝置500可以包括處理器(processor)510、通信接口(CommunicationsInterface) 520、存儲(chǔ)器(memory) 530、以及通信總線540。其中處理器510、通信接口 520、以及存儲(chǔ)器530通過通信總線540完成相互間的通信。通信接口 520,用于與比如客戶端等的網(wǎng)元通信。處理器510,用于執(zhí)行程序532,具體可以執(zhí)行上述圖1所示的方法實(shí)施例中的相
關(guān)步驟。具體地,程序532可以包括程序代碼,所述程序代碼包括計(jì)算機(jī)操作指令。處理器510可能是一個(gè)中央處理器CPU,或者是特定集成電路ASIC (ApplicationSpecific Integrated Circuit),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。存儲(chǔ)器530,用于存放程序532。存儲(chǔ)器530可能包含高速RAM存儲(chǔ)器,也可能還包括非易失性存儲(chǔ)器(non-volatilememory),例如至少一個(gè)磁盤存儲(chǔ)器。程序532具體可以包括分析單元,用于分析待備份數(shù)據(jù)塊的指紋;匹配單元,用于以分析單元所分析出的指紋為關(guān)鍵字在緩存池中查找相同的指紋;備份單元,用于根據(jù)匹配單元的查找結(jié)果進(jìn)行待備份數(shù)據(jù)塊的備份若存在相同的指紋,則將所述指紋對(duì)應(yīng)的索引信息中虛擬卷頁的引用計(jì)數(shù)加一;若不存在相同的指紋,則將所述待備份數(shù)據(jù)塊存儲(chǔ)到虛擬卷上,將所述待備份數(shù)據(jù)塊的元數(shù)據(jù)信息存儲(chǔ)在所述緩存池中,并在索引表中為所述待備份數(shù)據(jù)塊創(chuàng)建索引信息,將所創(chuàng)建的索引信息中所述待備份數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的引用計(jì)數(shù)設(shè)為一;以及淘汰單元,用于周期性查詢所述索引表,刪除引用計(jì)數(shù)低于預(yù)設(shè)閾值的虛擬卷頁對(duì)應(yīng)的元數(shù)據(jù)信息;或者周期性查詢所述索引表,獲得訪問時(shí)間最近的第一預(yù)設(shè)數(shù)量的索引信息,并在所述第一預(yù)設(shè)數(shù)量的索引信息中,按照虛擬卷頁的引用計(jì)數(shù)從小到大的順序,刪除所述緩存池中引用計(jì)數(shù)最小的第二預(yù)設(shè)數(shù)量的虛擬卷頁對(duì)應(yīng)的元數(shù)據(jù)信息。程序532中各單元的具體實(shí)現(xiàn)可以參見圖4所示實(shí)施例中的相應(yīng)單元,在此不贅述。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的設(shè)備和模塊的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程描述,在此不再贅述。本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及方法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM, RandomAccess Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。以上實(shí)施方式僅用于說明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
權(quán)利要求
1.一種數(shù)據(jù)備份方法,其特征在于,包括 分析待備份數(shù)據(jù)塊的指紋; 以所述指紋為關(guān)鍵字在緩存池中查找相同的指紋; 若存在相同的指紋,則將所述指紋對(duì)應(yīng)的索引信息中虛擬卷頁的引用計(jì)數(shù)加一;若不存在相同的指紋,則將所述待備份數(shù)據(jù)塊存儲(chǔ)到虛擬卷上,將所述待備份數(shù)據(jù)塊的元數(shù)據(jù)信息存儲(chǔ)在所述緩存池中,并在索引表中為所述待備份數(shù)據(jù)塊創(chuàng)建索引信息,將所創(chuàng)建的索引信息中所述待備份數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的引用計(jì)數(shù)設(shè)為一;以及 周期性查詢所述索引表,刪除所述緩存池中引用計(jì)數(shù)低于預(yù)設(shè)閾值的虛擬卷頁對(duì)應(yīng)的元數(shù)據(jù)信息,所述預(yù)設(shè)閾值是自然數(shù); 其中,所述緩存池中存儲(chǔ)有已存儲(chǔ)的各數(shù)據(jù)塊的元數(shù)據(jù)信息;所述索引表包括已存儲(chǔ)的各數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的索引信息,所述索引信息包括數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的地址、以及數(shù)據(jù)塊的元數(shù)據(jù)信息在所述緩存池中的存儲(chǔ)地址,所述元數(shù)據(jù)信息包括所述數(shù)據(jù)塊的指紋;所述引用計(jì)數(shù)用于記錄所述虛擬卷頁所對(duì)應(yīng)的數(shù)據(jù)塊被引用的次數(shù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述若不存在相同的指紋,則將所述待備份數(shù)據(jù)塊存儲(chǔ)到虛擬卷上,將所述待備份數(shù)據(jù)塊的元數(shù)據(jù)信息存儲(chǔ)在所述緩存池,并在索引表中為所述待備份數(shù)據(jù)塊創(chuàng)建索引信息,將所創(chuàng)建的索引信息中所述待備份數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的引用計(jì)數(shù)設(shè)為一的步驟具體包括 為所述待備份數(shù)據(jù)塊分配虛擬卷頁以及緩存池中的存儲(chǔ)空間; 在所述索引表中創(chuàng)建所述待備份數(shù)據(jù)塊的索引信息,并將所分配的虛擬卷頁的引用計(jì)數(shù)記為一;以及 將所述待備份數(shù)據(jù)塊存儲(chǔ)到所述虛擬卷頁對(duì)應(yīng)的磁盤空間中,將其元數(shù)據(jù)信息存儲(chǔ)到所分配的緩存池中的存儲(chǔ)空間中。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述索引信息中還包括訪問時(shí)間,用于記錄最近一次更新所述索引信息的時(shí)間。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括 周期性查詢所述索引表,獲得訪問時(shí)間最近的第一預(yù)設(shè)數(shù)量的索引信息; 在所述第一預(yù)設(shè)數(shù)量的索引信息中,按照虛擬卷頁的引用計(jì)數(shù)從小到大的順序,刪除所述緩存池中引用計(jì)數(shù)最小的第二預(yù)設(shè)數(shù)量的虛擬卷頁對(duì)應(yīng)的元數(shù)據(jù)信息。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,所述緩存池設(shè)置在固態(tài)硬盤SSD 中。
6.一種數(shù)據(jù)備份裝置,其特征在于,包括 分析單元,用于分析待備份數(shù)據(jù)塊的指紋; 匹配單元,用于以所述分析單元所分析出的指紋為關(guān)鍵字在緩存池中查找相同的指紋; 備份單元,用于根據(jù)所述匹配單元的查找結(jié)果進(jìn)行待備份數(shù)據(jù)塊的備份 若存在相同的指紋,則將所述指紋對(duì)應(yīng)的索引信息中虛擬卷頁的引用計(jì)數(shù)加一;若不存在相同的指紋,則將所述待備份數(shù)據(jù)塊存儲(chǔ)到虛擬卷上,將所述待備份數(shù)據(jù)塊的元數(shù)據(jù)信息存儲(chǔ)在所述緩存池中,并在索引表中為所述待備份數(shù)據(jù)塊創(chuàng)建索引信息,將所創(chuàng)建的索引信息中所述待備份數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的引用計(jì)數(shù)設(shè)為一;以及淘汰單元,用于周期性查詢所述索引表,刪除所述緩存池中引用計(jì)數(shù)低于預(yù)設(shè)閾值的虛擬卷頁對(duì)應(yīng)的元數(shù)據(jù)信息,所述預(yù)設(shè)閾值是自然數(shù);其中,所述緩存池中存儲(chǔ)有已存儲(chǔ)的各數(shù)據(jù)塊的元數(shù)據(jù)信息;所述索引表包括已存儲(chǔ)的各數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的索引信息,所述索引信息包括數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的地址、以及數(shù)據(jù)塊的元數(shù)據(jù)信息在所述緩存池中的存儲(chǔ)地址,所述元數(shù)據(jù)信息包括所述數(shù)據(jù)塊的指紋;所述引用計(jì)數(shù)用于記錄所述虛擬卷頁所對(duì)應(yīng)的數(shù)據(jù)塊被引用的次數(shù)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述索引信息中還包括訪問時(shí)間,用于記錄最近一次更新所述索引信息的時(shí)間;所述淘汰單元還用于周期性查詢所述索引表,獲得訪問時(shí)間最近的第一預(yù)設(shè)數(shù)量的索引信息,并在所述第一預(yù)設(shè)數(shù)量的索引信息中,按照虛擬卷頁的引用計(jì)數(shù)從小到大的順序, 刪除所述緩存池中引用計(jì)數(shù)最小的第二預(yù)設(shè)數(shù)量的虛擬卷頁對(duì)應(yīng)的元數(shù)據(jù)信息。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述緩存池設(shè)置在固態(tài)硬盤SSD中。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)備份方法及裝置,涉及數(shù)據(jù)備份技術(shù)領(lǐng)域。該方法包括分析待備份數(shù)據(jù)塊的指紋;以所述指紋為關(guān)鍵字在緩存池中查找相同的指紋;若存在相同的指紋,則將所述指紋對(duì)應(yīng)的索引信息中虛擬卷頁的引用計(jì)數(shù)加一;若不存在相同的指紋,則將所述待備份數(shù)據(jù)塊存儲(chǔ)到虛擬卷上,將所述待備份數(shù)據(jù)塊的元數(shù)據(jù)信息存儲(chǔ)在所述緩存池中,并在索引表中為所述待備份數(shù)據(jù)塊創(chuàng)建索引信息,將所創(chuàng)建的索引信息中所述待備份數(shù)據(jù)塊對(duì)應(yīng)的虛擬卷頁的引用計(jì)數(shù)設(shè)為一;以及周期性查詢所述索引表,刪除引用計(jì)數(shù)低于預(yù)設(shè)閾值的虛擬卷頁對(duì)應(yīng)的元數(shù)據(jù)信息。本發(fā)明實(shí)施例提供的方法及裝置,能夠在不影響系統(tǒng)性能的前提下實(shí)現(xiàn)重刪性能的提高。
文檔編號(hào)G06F11/14GK103019887SQ20121053499
公開日2013年4月3日 申請(qǐng)日期2012年12月12日 優(yōu)先權(quán)日2012年12月12日
發(fā)明者夏勇, 張宗全 申請(qǐng)人:華為技術(shù)有限公司