孔燦, 于洋, 姜林彤
(深圳供電局有限公司, 廣東,深圳 51800)
檔案數(shù)字化已經(jīng)成為現(xiàn)今數(shù)據(jù)存儲(chǔ)的主要形式,數(shù)字化檔案的存儲(chǔ)數(shù)量也呈現(xiàn)爆發(fā)式增長(zhǎng)的趨勢(shì)。不同于傳統(tǒng)的紙質(zhì)檔案,數(shù)字檔案具有檢索速度快、查找文件準(zhǔn)確、信息資源共享等特點(diǎn)[1]。但是由于網(wǎng)絡(luò)數(shù)據(jù)傳輸負(fù)載不均衡,造成異質(zhì)異地?cái)?shù)字檔案的備份數(shù)據(jù)分配能力較弱,備份系統(tǒng)的響應(yīng)時(shí)間較長(zhǎng),如何提高數(shù)字化檔案的備份性能成為了現(xiàn)今網(wǎng)絡(luò)存儲(chǔ)領(lǐng)域研究的重點(diǎn)。NAS作為一種網(wǎng)絡(luò)附加存儲(chǔ)類型,可以在數(shù)據(jù)存儲(chǔ)服務(wù)器上應(yīng)用。NAS以數(shù)據(jù)作為工作核心,使得服務(wù)器和存儲(chǔ)設(shè)備成為各自獨(dú)立的存在,實(shí)現(xiàn)數(shù)據(jù)的集中管理。伴隨著現(xiàn)代科技的進(jìn)步,NAS技術(shù)得到了發(fā)展,促進(jìn)其得到廣泛推廣應(yīng)用的是千兆以太網(wǎng)的出現(xiàn)與使用[2]。存儲(chǔ)網(wǎng)絡(luò)帶寬將NAS存儲(chǔ)的性能大幅度提升。并且,在NAS中,具有專門(mén)管理文件的功能。通過(guò)一個(gè)文件系統(tǒng)管理磁盤(pán)陣列。對(duì)存儲(chǔ)、備份的文件進(jìn)行管理,設(shè)置相應(yīng)的網(wǎng)絡(luò)安全和訪問(wèn)授權(quán)[3]。在工作過(guò)程中,NAS可以根據(jù)服務(wù)器或客戶端的指令,對(duì)相關(guān)數(shù)據(jù)文件進(jìn)行優(yōu)化管理。降低數(shù)據(jù)備份過(guò)程中,數(shù)據(jù)傳輸時(shí)間,同時(shí)還可以提升日后的數(shù)據(jù)運(yùn)行效率[4]。作為企業(yè)的核心信息資源,檔案是業(yè)務(wù)活動(dòng)的重要工具,也是憑證性信息記錄。隨著企業(yè)檔案的復(fù)雜化,其數(shù)字化管理變得越來(lái)越重要。尤其是一些不可缺少的信息,為了保證其安全性,數(shù)字化檔案異質(zhì)異地備份被提上日程[5]。本文以NAS架構(gòu)為基礎(chǔ),完成數(shù)字化檔案異質(zhì)異地備份系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)檔案異質(zhì)異地完美備份。
對(duì)于網(wǎng)絡(luò)附加存儲(chǔ)設(shè)備,也就是NAS架構(gòu)的設(shè)計(jì),其具體結(jié)構(gòu)如圖1所示。其中包括存儲(chǔ)器件,例如: CD/DVD驅(qū)動(dòng)器、可移動(dòng)的存儲(chǔ)介質(zhì)等[6],以及內(nèi)嵌系統(tǒng)軟件,可提供跨平臺(tái)文件共享功能。
圖1 NAS結(jié)構(gòu)示意圖
在備份系統(tǒng)設(shè)計(jì)過(guò)程中,一般情況下,將NAS設(shè)備配置為文件服務(wù)器,通過(guò)工作站或服務(wù)器[7],進(jìn)行網(wǎng)絡(luò)協(xié)議、應(yīng)用程序的操作,實(shí)現(xiàn)文件訪問(wèn)的效果。通過(guò)客戶端和 NAS文件共享設(shè)備進(jìn)行NAS連接,依靠企業(yè)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,來(lái)保障設(shè)備的正常運(yùn)行。
系統(tǒng)設(shè)計(jì)中,另外一個(gè)不可或缺的硬件,就是磁盤(pán)列陣。一般磁盤(pán)陣列包括三種樣式,分別是外接式磁盤(pán)陣列柜、內(nèi)接式磁盤(pán)陣列卡、軟件仿真[8]。文中設(shè)計(jì)的數(shù)字化檔案異質(zhì)異地備份系統(tǒng),需要的是內(nèi)接式磁盤(pán)陣列卡,可以為數(shù)據(jù)提供保護(hù)性、可靠性、可管理性[9]。由于磁盤(pán)陣列在整個(gè)系統(tǒng)中,作為數(shù)據(jù)存儲(chǔ)的主要工具,對(duì)其技術(shù)上的領(lǐng)先性作出考量,并結(jié)合本單位的實(shí)際應(yīng)用數(shù)據(jù)規(guī)劃合理安排[10]。其主要內(nèi)部結(jié)構(gòu)如圖2所示。
圖2 磁盤(pán)列陣結(jié)構(gòu)圖
網(wǎng)絡(luò)附加存儲(chǔ)設(shè)備、磁盤(pán)列陣的設(shè)計(jì),作為備份系統(tǒng)的硬件設(shè)施,支撐著系統(tǒng)軟件的開(kāi)發(fā)與設(shè)計(jì)。
數(shù)字化檔案異質(zhì)異地備份系統(tǒng)軟件的設(shè)計(jì),主要包括幾個(gè)方面,首先對(duì)需要備份的數(shù)字化檔案進(jìn)行預(yù)處理,然后對(duì)備份數(shù)據(jù)進(jìn)行均衡負(fù)載處理。最終實(shí)現(xiàn)數(shù)字化檔案異質(zhì)異地備份。
在數(shù)字化檔案異質(zhì)異地備份工作進(jìn)行前,需要預(yù)先將數(shù)據(jù)進(jìn)行處理,對(duì)文件中包含的重復(fù)數(shù)據(jù)進(jìn)行剔除,從而加強(qiáng)對(duì)備份數(shù)據(jù)的管理。文件分塊是數(shù)據(jù)預(yù)處理的重點(diǎn),通過(guò)對(duì)數(shù)據(jù)塊的單實(shí)例化存儲(chǔ),實(shí)現(xiàn)重復(fù)數(shù)據(jù)刪除的目標(biāo)。首先,將需要備份的源文件進(jìn)行分塊,數(shù)據(jù)塊的邊界,通過(guò)字節(jié)區(qū)域產(chǎn)生的hash值確定。分塊方式主要包括固定分塊、變長(zhǎng)分塊兩種。其中,由于變長(zhǎng)分塊對(duì)數(shù)據(jù)變化的敏感性比較低,并且該方式是以內(nèi)容為基礎(chǔ),所以該方式成為主要手段。此外,在進(jìn)行重復(fù)數(shù)據(jù)刪除的過(guò)程中,可以對(duì)Rabin Figerprint算法進(jìn)行應(yīng)用。該算法的思想內(nèi)容是當(dāng)A([b1,b2, …,bm])中,包含m個(gè)二進(jìn)制字符,而t作為不定元,那么,通過(guò)A可得出關(guān)于m-1度的多項(xiàng)式,如式(1):
A(t)=b1tm-1+b1tm-2+…+bm-1t+bm
(1)
隨后,形成一個(gè)k次多項(xiàng)式P(t),如式(2):
P(t)=a1tk+a1tk-1+…+ak-1t+ak
(2)
將A(t)處P(t)的余數(shù)用f(t)來(lái)表示,則其度數(shù)為k-1。并且,以給定的字符串A作為依據(jù),可以得出關(guān)于f(A)的公式:
f(A)=A(t)modP(t)
(3)
但是該算法有一個(gè)特殊點(diǎn),就是當(dāng)字符串A與字符串B的指紋不同時(shí),字符串A和字符串B也不同。但是當(dāng)字符串A和B的指紋相等時(shí),不能代表字符串A一定等于字符串B。所以,該算法滿足了弱哈希的性質(zhì),在重復(fù)數(shù)據(jù)刪除技術(shù)中,作為基于內(nèi)容的變長(zhǎng)分塊算法,受到了廣泛應(yīng)用。但是在重復(fù)數(shù)據(jù)的判斷過(guò)程中,總會(huì)存在小部分誤判的情況。這種時(shí)候,可以根據(jù)數(shù)據(jù)塊位數(shù)組的大小,進(jìn)行數(shù)據(jù)誤判率的計(jì)算。當(dāng)用n代表元素?cái)?shù)量,ε表示允許的最大誤判值,m為位數(shù)組的位數(shù),現(xiàn)在使誤判率f小于ε,可得到式(4):
(4)
通過(guò)式(4),可以使得哈希函數(shù)取得最優(yōu)個(gè)數(shù)。此外,在對(duì)數(shù)據(jù)進(jìn)行預(yù)處理的過(guò)程中,可以建立目錄層級(jí)哈希樹(shù),用以作為預(yù)處理的數(shù)據(jù)結(jié)構(gòu)。在哈希樹(shù)建立完成后,在備份服務(wù)器中,利用哈希樹(shù)查找相應(yīng)的已備份文件。若存在相同數(shù)據(jù),則進(jìn)行該哈希樹(shù)的剪枝,減少備份的目錄結(jié)構(gòu)和文件個(gè)數(shù),完成重復(fù)數(shù)據(jù)的刪除。在節(jié)約帶寬同時(shí),降低服務(wù)器壓力。
在數(shù)據(jù)預(yù)處理完成后,經(jīng)由網(wǎng)絡(luò)附加存儲(chǔ)設(shè)備進(jìn)行存儲(chǔ)。但是,由于NAS的特點(diǎn)是文件保存,對(duì)于存儲(chǔ)的數(shù)據(jù)不能進(jìn)行處理。因此基于NAS架構(gòu),通過(guò)客戶端程序的輔助,完成了NAS集群管理,如圖3所示。在這個(gè)過(guò)程中,打破傳統(tǒng)想法,使用戶發(fā)送請(qǐng)求時(shí)處于分散發(fā)送的情況,并且直接將請(qǐng)求發(fā)送給管理NAS服務(wù)器。這樣對(duì)NAS服務(wù)器的并行度有所增強(qiáng),也就提升了整個(gè)備份系統(tǒng)的工作性能。此外,由于對(duì)NAS服務(wù)器數(shù)據(jù)進(jìn)行了統(tǒng)一的管理,有效提升了管理源數(shù)據(jù)安全性、高效性。
圖3 NAS集群用戶請(qǐng)求處理流程
根據(jù)圖3所示,在客戶端發(fā)送備份請(qǐng)求后NAS服務(wù)器進(jìn)行接收,并且查看該數(shù)據(jù)種類。如果適合該服務(wù)器存放則直接返回?cái)?shù)據(jù)。相反,則會(huì)將數(shù)據(jù)應(yīng)該存放的NAS服務(wù)器地址返回。經(jīng)由負(fù)載均衡設(shè)備,將數(shù)據(jù)向正確存儲(chǔ)服務(wù)器發(fā)送。在這個(gè)過(guò)程中,每個(gè)NAS服務(wù)器對(duì)自己存儲(chǔ)數(shù)據(jù)負(fù)責(zé)。對(duì)于其他數(shù)據(jù),直接告訴客戶端對(duì)應(yīng)NAS服務(wù)器IP地址,實(shí)現(xiàn)了負(fù)載平衡,達(dá)到很好的并行訪問(wèn)性。并且根據(jù)負(fù)載均衡的特點(diǎn),設(shè)計(jì)備份系統(tǒng)的負(fù)載均衡模型。用以計(jì)算分配站點(diǎn)數(shù),實(shí)現(xiàn)備份任務(wù)最短時(shí)間內(nèi)完成。假設(shè),某一備份任務(wù)有k個(gè)站點(diǎn),其觸發(fā)時(shí),通過(guò)預(yù)測(cè)機(jī),對(duì)每一個(gè)MOSS代理和存儲(chǔ)服務(wù)器的負(fù)載情況進(jìn)行預(yù)測(cè),并將信息發(fā)送給調(diào)度機(jī),調(diào)度算法將備份任務(wù)進(jìn)行分配,則每個(gè)MOSS分配到的站點(diǎn)數(shù)為
θi=(βi/Σβi)*k
(5)
式中,βi表示第i個(gè)MOSS代理空閑度。當(dāng)我們將第i個(gè)存儲(chǔ)器的空閑度用pi表示時(shí),可以得到:
ζi=(pk/Σpi)*k
(6)
則每個(gè)存儲(chǔ)器分配的站點(diǎn)個(gè)數(shù)為ζi(1≤i≤n)。至此,完成了關(guān)于NAS集群的數(shù)據(jù)分配,以及數(shù)據(jù)的分布式均衡負(fù)載處理。加快了數(shù)據(jù)備份處理時(shí)間。
在數(shù)字化檔案異質(zhì)異地備份過(guò)程中,每一個(gè)集群的NAS服務(wù)器都有可能成為數(shù)據(jù)源。因此,在融合備份源和備份目的的功能后,對(duì)備份代理程序進(jìn)行設(shè)計(jì),達(dá)到備份功能的靈活化。由于集群NAS中的NAS服務(wù)器,都可以執(zhí)行多對(duì)多的關(guān)系。因此,每一個(gè)NAS服務(wù)器,可以提高備份源數(shù)量,并且完成多個(gè)備份目的。該程序包含的有兩個(gè)任務(wù)列,負(fù)責(zé)記錄NAS服務(wù)器中包含的備份源,如圖4所示。
圖4 備份代理程序結(jié)構(gòu)圖
如圖4所示,每個(gè)節(jié)點(diǎn)與兩個(gè)線程相連接,其中備份源引擎響應(yīng)線程的作用,在于響應(yīng)備份過(guò)程中引擎的命令。輔助備份過(guò)程中,管理員對(duì)備份過(guò)程的管理。除此之外,可以通過(guò)NBP協(xié)議的定義,實(shí)現(xiàn)數(shù)據(jù)備份。該協(xié)議規(guī)定了整個(gè)備份過(guò)程的各個(gè)步驟,并對(duì)備份管理器、備份源、備份目的進(jìn)行定義。最終,實(shí)現(xiàn)基于NAS架構(gòu)的數(shù)字化檔案異質(zhì)異地備份。
為了驗(yàn)證該系統(tǒng)的運(yùn)行效果,進(jìn)行實(shí)驗(yàn)測(cè)試。實(shí)驗(yàn)所需硬件、軟件需求如表1、表2所示。
表1 硬件需求表
表2 軟件需求表
完成對(duì)實(shí)驗(yàn)所需軟件和硬件的準(zhǔn)備后,進(jìn)行運(yùn)行環(huán)境的搭建。首先確定其以太網(wǎng)為100 Mb,實(shí)驗(yàn)測(cè)試通過(guò)四臺(tái)IP交換機(jī)相連接,其中一臺(tái)作為客戶機(jī)存在,其余的是NAS服務(wù)器。然后,進(jìn)行網(wǎng)絡(luò)化的管理,在控制器中完成IP地址更改,將現(xiàn)有局域網(wǎng)和磁盤(pán)陣列管理相連接。為了保證實(shí)驗(yàn)的科學(xué)性,選擇兩種傳統(tǒng)系統(tǒng),作為對(duì)照組,進(jìn)行數(shù)字化檔案異質(zhì)異地備份測(cè)試,并對(duì)三種系統(tǒng)性能進(jìn)行分析。
基于上述實(shí)驗(yàn)準(zhǔn)備,在實(shí)驗(yàn)中,選擇分別為10 GB,50 GB,100 GB,150 GB,200 GB大小的備份文件,進(jìn)行系統(tǒng)備份速度的測(cè)試,其結(jié)果如表3所示。
表3 三種系統(tǒng)備份速度變化表
通過(guò)表3可以看出,隨著文件的增大,三種系統(tǒng)的備份速度都在降低。相比兩種傳統(tǒng)系統(tǒng),文中系統(tǒng)速度下降最低,從7.5 kB/ms降到了6.0 kB/ms,而兩種傳統(tǒng)系統(tǒng),在文件大小為200 GB時(shí),備份速度已經(jīng)分別降到了4.8 kB/ms與4.5 kB/ms,足可以看出文中系統(tǒng)的優(yōu)勢(shì)。
此外,對(duì)于系統(tǒng)實(shí)現(xiàn)備份工作的響應(yīng)時(shí)間做出具體測(cè)試,設(shè)置備份數(shù)據(jù)任務(wù)量逐漸上漲,三種備份系統(tǒng)的數(shù)據(jù)響應(yīng)時(shí)間如圖5所示。這個(gè)過(guò)程中所謂的響應(yīng)時(shí)間,表示系統(tǒng)從接收備份請(qǐng)求開(kāi)始,直到完成備份工作的時(shí)間,以此來(lái)驗(yàn)證系統(tǒng)性能。
(a) 文中系統(tǒng)
通過(guò)圖5我們可以明顯看出,三種備份系統(tǒng)隨著備份數(shù)據(jù)量的不斷增加,其響應(yīng)時(shí)間也在逐漸延長(zhǎng)。但是文中設(shè)計(jì)系統(tǒng)還是占據(jù)優(yōu)勢(shì)的。文中設(shè)計(jì)備份系統(tǒng)從數(shù)據(jù)量增加開(kāi)始,其響應(yīng)時(shí)間增長(zhǎng)速度一開(kāi)始比較緩慢,直到數(shù)據(jù)量達(dá)到256 kB時(shí),上升幅度才開(kāi)始增加,直到數(shù)據(jù)量達(dá)到1 024 kB時(shí),系統(tǒng)響應(yīng)時(shí)間為80 ms左右。傳統(tǒng)系統(tǒng)2也是前期響應(yīng)時(shí)間增長(zhǎng)緩慢的,但是到達(dá)數(shù)據(jù)量增至256 kB時(shí),響應(yīng)時(shí)間開(kāi)始急速增長(zhǎng)。直到數(shù)據(jù)量為1 024 kB時(shí)增加到了190 ms左右。而此時(shí),傳統(tǒng)系統(tǒng)1,其響應(yīng)時(shí)間大概為150 ms。綜上所述,文中設(shè)計(jì)的系統(tǒng),通過(guò)對(duì)備份數(shù)據(jù)的優(yōu)化管理,將系統(tǒng)的響應(yīng)時(shí)間降低了50%左右。
依托于NAS架構(gòu),進(jìn)行了數(shù)字化檔案異質(zhì)異地備份系統(tǒng)的設(shè)計(jì)。設(shè)計(jì)軟件與硬件部分,首先進(jìn)行數(shù)字化檔案預(yù)處理,并優(yōu)化管理群集 NAS中的備份數(shù)據(jù),減少備份數(shù)據(jù)響應(yīng)時(shí)間。通過(guò)本文的設(shè)計(jì),在保證數(shù)據(jù)安全性的情況下,提升了企業(yè)備份數(shù)據(jù)的速度。但是由于一些條件約束,文中設(shè)計(jì)系統(tǒng)雖然可以產(chǎn)生良好的應(yīng)用效果,但是還不夠完善,將來(lái)可以向這方面深入研究。