面向分布式文件系統(tǒng)的可擴(kuò)展數(shù)據(jù)快照科技論文
引言
隨著信息的全球化,互聯(lián)網(wǎng)產(chǎn)業(yè)得到迅速地發(fā)展,其在科學(xué)研究、數(shù)據(jù)挖掘和信息獲取等方面的廣泛應(yīng)用,使人類(lèi)需要存儲(chǔ)和管理越來(lái)越多的數(shù)據(jù),進(jìn)而出現(xiàn)數(shù)據(jù)爆炸的現(xiàn)象。2012年12月,IDC公司的全球數(shù)據(jù)分析報(bào)告如圖1,預(yù)計(jì)2020年全球數(shù)據(jù)總量將由2012年的2.72ZB增長(zhǎng)至40ZB,并且40%的數(shù)據(jù)需要保證其安全性。然而,受硬件設(shè)備失效、火災(zāi)、地震自然災(zāi)害等因素的影響,數(shù)據(jù)的安全性和可靠性受到嚴(yán)重威脅。在這個(gè)數(shù)據(jù)即信息,數(shù)據(jù)即價(jià)值的大數(shù)據(jù)時(shí)代,如何保證數(shù)據(jù)的安全性和完整性成為當(dāng)前存儲(chǔ)領(lǐng)域越來(lái)越重要的問(wèn)題。
1 目前主流快照技術(shù)
本章首先介紹目前主流的快照創(chuàng)建技術(shù),包括鏡像分裂、按需復(fù)制、指針重映射和增量快照技術(shù),并分別分析其優(yōu)缺點(diǎn);然后介紹目前基于增量快照的快照恢復(fù)方法;最后為了降低空間、時(shí)間開(kāi)銷(xiāo)和提高系統(tǒng)可擴(kuò)展性,提出快照創(chuàng)建和快照恢復(fù)需要改進(jìn)的問(wèn)題。
1.1 快照創(chuàng)建1.1.1 鏡像分裂快照技術(shù)鏡像分裂技術(shù)在快照時(shí)間點(diǎn)到來(lái)之前需要為源數(shù)據(jù)卷創(chuàng)建并維護(hù)一個(gè)完整的物理鏡像卷,同一數(shù)據(jù)的兩個(gè)副本分別保存在由源數(shù)據(jù)卷和鏡像卷組成的鏡像對(duì)上?煺詹僮鞯絹(lái)時(shí),鏡像操作停止,鏡像卷轉(zhuǎn)化為快照卷,得到一份數(shù)據(jù)快照,快照卷在完成數(shù)據(jù)備份后,與源數(shù)據(jù)卷再次同步,重新成為鏡像卷。鏡像分裂技術(shù)雖然在短時(shí)間內(nèi)(斷開(kāi)鏡像對(duì)所需的時(shí)間)就可以得到一個(gè)完整的物理副本,但其缺乏靈活性,需要預(yù)先為源數(shù)據(jù)卷創(chuàng)建鏡像卷,無(wú)法在任意時(shí)間點(diǎn)為任意的數(shù)據(jù)卷創(chuàng)建快照,并且其占用大量的存儲(chǔ)資源,會(huì)造成存儲(chǔ)空間的浪費(fèi)。
1.1.2 按需復(fù)制快照技術(shù)[12-14]按需復(fù)制技術(shù)在快照時(shí)間點(diǎn)之后開(kāi)始建立源數(shù)據(jù)卷的完整物理副本。系統(tǒng)接收到快照請(qǐng)求,暫停上層應(yīng)用,接著為源數(shù)據(jù)卷創(chuàng)建快照卷,并為其分配大于或等于源數(shù)據(jù)卷容量的存儲(chǔ)空間,同時(shí)建立一個(gè)控制位圖,該控制位圖的每一個(gè)控制位表示源數(shù)據(jù)卷的一個(gè)單位(通常為數(shù)據(jù)塊)是否已經(jīng)復(fù)制到快照卷,快照操作完成,恢復(fù)上層應(yīng)用?煺战⒅螅笈_(tái)復(fù)制程序開(kāi)始運(yùn)行,將源數(shù)據(jù)卷的數(shù)據(jù)塊復(fù)制到快照卷,并將對(duì)應(yīng)的控制位圖位置1,表示該數(shù)據(jù)塊完成復(fù)制。在此過(guò)程中,當(dāng)源數(shù)據(jù)卷上某數(shù)據(jù)要被更新時(shí),若該數(shù)據(jù)塊尚未完成復(fù)制,則這些塊將執(zhí)行寫(xiě)前復(fù)制COW(首先被復(fù)制到快照卷,同時(shí)將對(duì)應(yīng)的控制位圖置1,然后才能更新源數(shù)據(jù)卷的數(shù)據(jù));若該塊已完成復(fù)制,則直接更新數(shù)據(jù)。按需復(fù)制快照技術(shù)的工作原理如圖2所示: 圖2 按需復(fù)制快照技術(shù)工作原理寫(xiě)前復(fù)制技術(shù)確保復(fù)制操作發(fā)生在更新操作之前,使快照時(shí)間點(diǎn)之后的數(shù)據(jù)更新不會(huì)出現(xiàn)在快照卷上,保證了數(shù)據(jù)的完整性。通過(guò)后臺(tái)復(fù)制和寫(xiě)前復(fù)制技術(shù),最終源數(shù)據(jù)卷的數(shù)據(jù)會(huì)被復(fù)制到快照卷,得到源數(shù)據(jù)卷的完整物理副本。
1.1.3 指針重映射技術(shù)[12-14]指針重映射技術(shù)建立一份快照時(shí)刻源數(shù)據(jù)卷的邏輯副本,不會(huì)產(chǎn)生完整的物理副本。該技術(shù)只需分配少量的快照空間,存儲(chǔ)快照時(shí)間點(diǎn)之后被更新的數(shù)據(jù),每個(gè)源數(shù)據(jù)卷都有一個(gè)數(shù)據(jù)指針表,該指針表中記錄的`數(shù)量等于源數(shù)據(jù)卷的數(shù)據(jù)塊數(shù)量,每條記錄保存著指向?qū)?yīng)數(shù)據(jù)塊的指針?煺談(chuàng)建時(shí),為源數(shù)據(jù)卷的指針表建立一個(gè)副本,作為快照卷的數(shù)據(jù)指針表,快照時(shí)間點(diǎn)結(jié)束時(shí),快照卷和源數(shù)據(jù)卷通過(guò)各自的指針表共享同一份物理數(shù)據(jù)。 圖3 指針重映射技術(shù)工作原理快照創(chuàng)建之后,當(dāng)源數(shù)據(jù)卷中的某數(shù)據(jù)將要被更新時(shí),使用寫(xiě)前復(fù)制技術(shù),將要更新的數(shù)據(jù)寫(xiě)至預(yù)先分配的存儲(chǔ)空間,然后修改快照卷的數(shù)據(jù)指針表使其指向該存儲(chǔ)空間的數(shù)據(jù)塊。指針重映射技術(shù)工作原理如圖3所示:指針重映射技術(shù)的備份窗口只需幾秒鐘,為快照卷分配的存儲(chǔ)空間卻大大減小。
但因?yàn)榭煺站韮H僅保存了源數(shù)據(jù)卷中被更新的數(shù)據(jù),快照技術(shù)無(wú)法得到完整的物理副本,且若更新的數(shù)據(jù)數(shù)量超過(guò)預(yù)先分配的存儲(chǔ)空間,快照將失效。
1.1.4 增量快照技術(shù)增量快照是基于按需復(fù)制的快照技術(shù),因此能夠產(chǎn)生各個(gè)連續(xù)時(shí)間點(diǎn)的完整物理副本,同時(shí)結(jié)合重映射技術(shù)只復(fù)制更改數(shù)據(jù)塊的思想,減少了數(shù)據(jù)的物理復(fù)制工作量。在第一個(gè)快照時(shí)間點(diǎn),除了分配一個(gè)大于或等于源數(shù)據(jù)容量的快照卷并建立控制位圖之外,同時(shí)還建立一個(gè)增量位圖,增量位圖用于記錄自上次時(shí)間點(diǎn)的快照創(chuàng)建之后,源數(shù)據(jù)卷上被更新的數(shù)據(jù)塊的位置。通過(guò)查詢(xún)控制位圖,執(zhí)行后臺(tái)復(fù)制和寫(xiě)時(shí)復(fù)制,同時(shí)利用增量位圖記錄快照時(shí)間點(diǎn)之后源數(shù)據(jù)卷上被更新的數(shù)據(jù)塊位置。當(dāng)需要?jiǎng)?chuàng)建B時(shí)間點(diǎn)的快照時(shí),用前一快照時(shí)間點(diǎn)的控制位圖與此時(shí)的增量位圖進(jìn)行XOR操作,產(chǎn)生快照時(shí)間點(diǎn)B的控制位圖,同時(shí)將增量位圖置0,開(kāi)始記錄時(shí)間點(diǎn)B之后被更新的數(shù)據(jù)塊,其工作原理如圖4所示: 圖4 增量快照工作原理快照時(shí)間點(diǎn)A時(shí)一部分?jǐn)?shù)據(jù)已經(jīng)拷貝至快照卷,同時(shí)增量位圖記錄了自快照時(shí)間點(diǎn)A后源數(shù)據(jù)卷被修改的數(shù)據(jù)塊,當(dāng)創(chuàng)建時(shí)間點(diǎn)B的快照時(shí),可以通過(guò)查看增量位圖,然后與A的控制位圖XOR,即得B處的控制位圖,即B時(shí)間點(diǎn)需要存儲(chǔ)的數(shù)據(jù),同時(shí)增量位圖置0,記錄時(shí)間點(diǎn)B后被更新的數(shù)據(jù)塊。
1.1.5 快照技術(shù)總結(jié)如表1所示,鏡像分裂技術(shù)雖然備份窗口僅為斷開(kāi)鏡像對(duì)的時(shí)間,但每次需要完全復(fù)制數(shù)據(jù),浪費(fèi)存儲(chǔ)空間,且缺乏靈活性。按需復(fù)制技術(shù)雖然可得到完整的數(shù)據(jù)副本,但空間開(kāi)銷(xiāo)大并且后臺(tái)復(fù)制影響系統(tǒng)性能。指針重映射技術(shù)雖然只復(fù)制被更新的數(shù)據(jù)塊,但無(wú)法得到完整的物理副本。增量快照技術(shù)可以實(shí)現(xiàn)連續(xù)時(shí)間點(diǎn)的快照,并且在快照時(shí)間點(diǎn)只需要復(fù)制更改的數(shù)據(jù)塊,從時(shí)間和空間的角度綜合考慮,明顯優(yōu)于其他快照技術(shù)。然而,在分布式文件系統(tǒng)中,增量快照的空間開(kāi)銷(xiāo)隨著系統(tǒng)規(guī)模的增大,仍然會(huì)比較大,因此需要進(jìn)一步改進(jìn),以節(jié)約空間開(kāi)銷(xiāo),提高系統(tǒng)可擴(kuò)展性。表1 快照技術(shù)總結(jié)
1.2 快照恢復(fù)快照恢復(fù)與快照創(chuàng)建具有一一對(duì)應(yīng)關(guān)系,對(duì)主流在分布式文件系統(tǒng)中,隨著數(shù)據(jù)量的增大和快照版本的增多,需要恢復(fù)的數(shù)據(jù)塊數(shù)也急劇增多,因此,遞進(jìn)式地恢復(fù)特定時(shí)間點(diǎn)快照所需要的時(shí)間也會(huì)相應(yīng)增多。為了提高數(shù)據(jù)失效時(shí)快照的恢復(fù)效率,對(duì)增量快照恢復(fù)方法的研究也是十分必要的。
2 基于數(shù)據(jù)壓縮的增量快照技術(shù)
2.1 增量快照的空間開(kāi)銷(xiāo)問(wèn)題數(shù)據(jù)快照的創(chuàng)建主要包括兩方面:第一,決定需要備份的數(shù)據(jù)塊;第二,將需備份的數(shù)據(jù)塊快速寫(xiě)入快照空間。其中決定需要備份的數(shù)據(jù)塊有兩種情況,全部備份或者部分備份,目前的數(shù)據(jù)總量急劇增長(zhǎng),如果全部備份,所需的快照空間將隨數(shù)據(jù)總量的增加急劇增加,因此我們采取部分備份,即只備份更新的數(shù)據(jù)塊。傳統(tǒng)的創(chuàng)建數(shù)據(jù)快照的技術(shù)鏡像分裂、按需備份、指針重映射和增量備份技術(shù)中,在空間和時(shí)間方面,增量備份有相對(duì)低的開(kāi)銷(xiāo),并且可以創(chuàng)建連續(xù)時(shí)間點(diǎn)的快照。
2.2 基于數(shù)據(jù)壓縮的增量快照技術(shù)隨著系統(tǒng)規(guī)模的增大,被更新的數(shù)據(jù)塊逐漸增多,快照所占的存儲(chǔ)空間仍然比較大,因此需要對(duì)增量快照作進(jìn)一步的改進(jìn),使其在大規(guī)模的分布式文件系統(tǒng)中具有較小的空間開(kāi)銷(xiāo)和較高的可擴(kuò)展性。壓縮技術(shù)是按照一定的算法對(duì)數(shù)據(jù)進(jìn)行重新組織,以減少數(shù)據(jù)的冗余性和存儲(chǔ)空間開(kāi)銷(xiāo),因此本文將增量快照和壓縮技術(shù)相結(jié)合,實(shí)現(xiàn)了基于數(shù)據(jù)壓縮的增量快照技術(shù),即在將需要備份的數(shù)據(jù)塊復(fù)制于快照空間之前,首先將這些數(shù)據(jù)塊進(jìn)行一定的壓縮,然后再將其存入快照空間。本文擬采用Huffman壓縮算法[16-17],并對(duì)其做進(jìn)一步改進(jìn),Huffman壓縮算法的流程如圖6:圖6 Huffman壓縮算法Huffman壓縮算法首次遍歷數(shù)據(jù)塊,分別統(tǒng)計(jì)每個(gè)字符出現(xiàn)的次數(shù),按字符出現(xiàn)次數(shù)進(jìn)行降序排序并構(gòu)造二叉樹(shù),出現(xiàn)次數(shù)較多的數(shù)據(jù)在樹(shù)的最頂層,較少的數(shù)據(jù)在樹(shù)的最底層,然后從根節(jié)點(diǎn)到每個(gè)數(shù)據(jù)的路徑來(lái)對(duì)其進(jìn)行相應(yīng)的編碼得到編碼位,最后用編碼位替換原數(shù)據(jù)塊中的字符,即可得到壓縮后的數(shù)據(jù)。但是,源數(shù)據(jù)塊中可能存在多個(gè)連續(xù)的相同字符,如果用編碼位將相同的字符都進(jìn)行替換,會(huì)出現(xiàn)一定程度的空間浪費(fèi),可以考慮將連續(xù)出現(xiàn)的相同的字符只替換一次,然后增加標(biāo)志位,用于記錄該字符連續(xù)出現(xiàn)的次數(shù),以此節(jié)約更多的存儲(chǔ)空間。
2.3 基于數(shù)據(jù)壓縮的增量快照開(kāi)銷(xiāo)分析因?yàn)樵隽靠煺罩皇菑?fù)制更改的數(shù)據(jù)塊,當(dāng)數(shù)據(jù)塊較大時(shí),每次雖然只更新了數(shù)據(jù)塊中的小部分?jǐn)?shù)據(jù),仍然需要將整個(gè)數(shù)據(jù)塊復(fù)制至快照空間,造成存儲(chǔ)空間的浪費(fèi)。而當(dāng)數(shù)據(jù)塊較小時(shí),若更改的數(shù)據(jù)較多,則每次需要復(fù)制多個(gè)數(shù)據(jù)塊,導(dǎo)致快照創(chuàng)建和恢復(fù)的操作復(fù)雜。因此,數(shù)據(jù)塊大小的選擇也是一個(gè)比較關(guān)鍵的問(wèn)題,還需要做更多的測(cè)試來(lái)比較驗(yàn)證,以選擇合適的大小
3 恢復(fù)鏈路縮減技術(shù)
3.1 快照恢復(fù)的開(kāi)銷(xiāo)問(wèn)題在采用增量快照的基礎(chǔ)上進(jìn)行研究,增量快照在首次創(chuàng)建快照時(shí)完全備份,之后僅備份自上次快照時(shí)間點(diǎn)之后更改的數(shù)據(jù)塊。因此,當(dāng)恢復(fù)指定時(shí)間點(diǎn)的快照時(shí),需采用遞進(jìn)式的恢復(fù)方法,當(dāng)快照版本增多時(shí),恢復(fù)快照的開(kāi)銷(xiāo)也會(huì)相應(yīng)的增大,因此,需要在原有快照恢復(fù)方法的基礎(chǔ)上作進(jìn)一步的改進(jìn),以控制快照的恢復(fù)開(kāi)銷(xiāo)。
3.2 恢復(fù)鏈路縮減算法針對(duì)上述問(wèn)題,本文在已有的基于增量快照的快照恢復(fù)方法基礎(chǔ)上,提出了恢復(fù)鏈路縮減的快照恢復(fù)技術(shù),即在從特定時(shí)間點(diǎn)至首次快照時(shí)間點(diǎn)之間的快照鏈路上,將對(duì)同一數(shù)據(jù)塊的多次遞進(jìn)式恢復(fù)縮減為一次。在首次創(chuàng)建快照時(shí),同時(shí)建立一個(gè)日志文件,該文件包括快照創(chuàng)建時(shí)間、需備份的數(shù)據(jù)塊地址和該數(shù)據(jù)塊在快照空間的地址三個(gè)字段
4 總結(jié)語(yǔ)
在大數(shù)據(jù)時(shí)代,保證數(shù)據(jù)的安全性和完整性具有重要意義,因此,越來(lái)越多的存儲(chǔ)系統(tǒng)采用快照技術(shù)來(lái)保證數(shù)據(jù)的安全性。然而在分布式文件系統(tǒng)中,快照創(chuàng)建的空間開(kāi)銷(xiāo)隨著系統(tǒng)數(shù)據(jù)量的增大急劇增大。并且隨著快照數(shù)量的增多,存儲(chǔ)快照所占用的空間和系統(tǒng)失效時(shí)恢復(fù)快照的開(kāi)銷(xiāo)也會(huì)增大,從而嚴(yán)重影響分布式文件系統(tǒng)的性能和可擴(kuò)展性。
【面向分布式文件系統(tǒng)的可擴(kuò)展數(shù)據(jù)快照科技論文】相關(guān)文章:
基于知識(shí)網(wǎng)格的分布式數(shù)據(jù)挖掘論文04-25
論面向?qū)ο蟮臄?shù)據(jù)庫(kù)技術(shù)論文06-26
基于可擴(kuò)展的網(wǎng)頁(yè)關(guān)鍵信息抽取研究論文04-14
可擴(kuò)展集成化云平臺(tái)監(jiān)控機(jī)制的設(shè)計(jì)論文04-20
淺析基于云計(jì)算的分布式數(shù)據(jù)挖掘系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)論文04-20
AT24C512中數(shù)據(jù)的文件系統(tǒng)化管理論文07-01
基于Java RMI的分布式數(shù)據(jù)庫(kù)系統(tǒng)的應(yīng)用與研究的論文04-14