文|李英
層次化通信網(wǎng)絡(luò)數(shù)據(jù)庫(kù)擁有海量多維數(shù)據(jù),但進(jìn)行層次化通信網(wǎng)絡(luò)數(shù)據(jù)庫(kù)容災(zāi)備份的過(guò)程中沒(méi)有刪除重復(fù)數(shù)據(jù),導(dǎo)致數(shù)據(jù)冗長(zhǎng)占據(jù)空間,使RPO值與RTO值過(guò)高針對(duì)該問(wèn)題提出基于鏈?zhǔn)矫枋龇膶哟位ㄐ啪W(wǎng)絡(luò)數(shù)據(jù)庫(kù)容災(zāi)備份方法。通過(guò)寫(xiě)入鏈?zhǔn)矫枋龇瑑?yōu)化傳輸過(guò)程;刪除重復(fù)數(shù)據(jù),精簡(jiǎn)備份對(duì)象;根據(jù)壓縮算法,為通信網(wǎng)絡(luò)數(shù)據(jù)庫(kù)設(shè)計(jì)容災(zāi)備份方案。實(shí)驗(yàn)結(jié)果:所研究的備份方法進(jìn)行數(shù)據(jù)備份恢復(fù)的模擬實(shí)驗(yàn)中,測(cè)試值比RPO目標(biāo)值及RTO目標(biāo)值分別快出10.3min及10h,獲得較佳的數(shù)據(jù)庫(kù)容災(zāi)備份效果。
由于現(xiàn)代社會(huì)的網(wǎng)絡(luò)技術(shù)和通信技術(shù)正在迅猛發(fā)展中,信息化程度越來(lái)越高,對(duì)數(shù)據(jù)的依賴(lài)程度逐漸增加,數(shù)據(jù)丟失帶來(lái)的影響和損失也越來(lái)越大。如何削弱災(zāi)難發(fā)生帶來(lái)的影響并有效地保護(hù)數(shù)據(jù)和信息,大量研究者及相關(guān)工作人員,針對(duì)層次化通信網(wǎng)絡(luò)數(shù)據(jù)庫(kù),研究了不同類(lèi)型的容災(zāi)備案方法。目前,國(guó)內(nèi)的主要技術(shù)分為鏡像復(fù)制、快照及互聯(lián)技術(shù)。學(xué)者沈剛、陳斌等人引入粒子群算法,架構(gòu)數(shù)據(jù)儲(chǔ)存?zhèn)浞菘蚣埽瑴?zhǔn)確高效對(duì)數(shù)據(jù)信息進(jìn)行更新備份,提高通信網(wǎng)絡(luò)數(shù)據(jù)的安全性,為層次化通信網(wǎng)絡(luò)數(shù)據(jù)庫(kù)容災(zāi)備份開(kāi)辟了新的發(fā)展思路。此次研究在大量先進(jìn)的網(wǎng)絡(luò)通信技術(shù)及方法的基礎(chǔ)上,結(jié)合傳統(tǒng)方法存在的問(wèn)題引入鏈?zhǔn)矫枋龇奶幚矸椒ǎM(jìn)一步優(yōu)化備份方法。
與傳統(tǒng)的DMA不同,鏈?zhǔn)矫枋龇畲蟮膬?yōu)勢(shì)在于可以輕松處理CPU中指向地址不連續(xù)的大量數(shù)據(jù)模塊的搬移。傳統(tǒng)模式中,每發(fā)起一次數(shù)據(jù)搬移請(qǐng)求,DMA就會(huì)執(zhí)行一次操作,但寫(xiě)入鏈?zhǔn)矫枋龇螅珻PU在發(fā)起請(qǐng)求前就已經(jīng)存在多個(gè)數(shù)據(jù)段,提供下一個(gè)描述符的地址,同時(shí)包含此次操作的必要信息,當(dāng)收到發(fā)起的請(qǐng)求后,DMA讀取并解析內(nèi)存中的描述符,然后通過(guò)數(shù)據(jù)段中包含的下一個(gè)描述符的指向自動(dòng)進(jìn)行下一次的數(shù)據(jù)傳輸操作,這個(gè)過(guò)程只需要發(fā)起一次請(qǐng)求,就能令數(shù)據(jù)塊實(shí)現(xiàn)非連續(xù)性的搬移。控制字段是描述符的核心部分,指明控制器應(yīng)該如何完成當(dāng)次搬移操作;描述符還包括狀態(tài)字段,代表著描述符的完成狀態(tài)。鏈?zhǔn)矫枋龇膫鬏敺绞绞紫仁峭ㄟ^(guò)軟件將準(zhǔn)備好的描述符寫(xiě)入CPU,接下來(lái)通過(guò)鏈?zhǔn)紻MA將下一個(gè)描述符的內(nèi)存地址寫(xiě)入,并設(shè)置對(duì)接。當(dāng)搬移操作開(kāi)始時(shí),DMA控制器首先讀取第一個(gè)描述符進(jìn)行解析執(zhí)行并更新描述符狀態(tài),再讀取下一個(gè)需要執(zhí)行操作的描述符,直至最后一個(gè)才停止操作。基于鏈?zhǔn)矫枋龇木W(wǎng)絡(luò)通信數(shù)據(jù)信息傳輸模式,可以解決大量數(shù)據(jù)傳輸中地址指針不連續(xù)帶來(lái)的問(wèn)題,從而減輕整個(gè)過(guò)程中處理器承載的巨大負(fù)擔(dān),與此同時(shí)釋放了本地內(nèi)存的儲(chǔ)存空間,緩解了本地處理器的傳輸壓力,為更加便捷高效的層次化通信網(wǎng)絡(luò)數(shù)據(jù)庫(kù)容災(zāi)備份方法提供了技術(shù)前提和發(fā)展方向。
上一節(jié)運(yùn)用鏈?zhǔn)矫枋龇膬?yōu)勢(shì)后,針對(duì)通信網(wǎng)絡(luò)數(shù)據(jù)海量且多維的特點(diǎn),要依靠提取和計(jì)算數(shù)據(jù)超級(jí)指紋,定位和判斷備份數(shù)據(jù)庫(kù)中大量的重復(fù)數(shù)據(jù)信息,并進(jìn)行篩選和刪除操作,進(jìn)一步優(yōu)化容災(zāi)備份方法。也有學(xué)者提出在同一個(gè)數(shù)據(jù)庫(kù)中不可避免地存在大量重復(fù)數(shù)據(jù),如果能夠定位這些相同或相似的文件,并對(duì)它們進(jìn)行只儲(chǔ)存一次的操作,將極大地提高備份數(shù)據(jù)傳輸?shù)男剩瑫r(shí)降低傳輸過(guò)程的成本。超級(jí)指紋(Super-fingerprint,也稱(chēng)為超級(jí)特征值)的技術(shù)是通過(guò)對(duì)數(shù)據(jù)庫(kù)中的信息提取多個(gè)特征,并組合起來(lái)形成代表特征,如果兩個(gè)數(shù)據(jù)塊代表特征相同或相似,則可確定重復(fù)數(shù)據(jù)的存在。假設(shè)數(shù)據(jù)塊的長(zhǎng)度為,則可根據(jù)以下公式計(jì)算指紋:

公式中a和 b分別是預(yù)先設(shè)定好的隨機(jī)數(shù),通過(guò)計(jì)算對(duì)a和b之間數(shù)據(jù)塊的指紋集合,經(jīng)過(guò)哈希算法(mod)處理后,再總體提取最大值,n個(gè)特征值組合起來(lái)形成超級(jí)指紋,計(jì)算公式如下:

公式中組合了個(gè)指紋,即為給定數(shù)據(jù)塊的超級(jí)指紋,要判斷數(shù)據(jù)塊之間是否重復(fù),就需要對(duì)比數(shù)據(jù)塊的超級(jí)指紋。
對(duì)于重復(fù)數(shù)據(jù)的處理流程如圖1所示,相似的部分越多,代表數(shù)據(jù)塊之間相似的可能性越大,越容易形成重復(fù)數(shù)據(jù)。

圖1 比對(duì)刪除重復(fù)數(shù)據(jù)流程



RPO(Recovery Point Object)和RTO(Recovery Time Object)兩個(gè)指標(biāo)通常用于測(cè)量容災(zāi)備份方法是否有效。RPO指標(biāo)是數(shù)據(jù)恢復(fù)點(diǎn)目標(biāo),即恢復(fù)的數(shù)據(jù)庫(kù)信息與災(zāi)難發(fā)生前的差異量,它代表容忍通信數(shù)據(jù)庫(kù)信息丟失的最大限度。RTO指標(biāo)是故障后到恢復(fù)正常運(yùn)行所需的時(shí)間,也就是從宕機(jī)到正常運(yùn)行為止最大的時(shí)間限度。備份方法可行與否,在于能不能根據(jù)具體資源,找到最優(yōu)的RPO和RTO。為了應(yīng)用上述的容災(zāi)備份方法,選取通信網(wǎng)絡(luò)數(shù)據(jù)庫(kù)A模擬部分?jǐn)?shù)據(jù)丟失,通過(guò)實(shí)際的操作,驗(yàn)證此方案具體效果如何。
測(cè)試階段將數(shù)據(jù)庫(kù)A作為研究對(duì)象,模擬數(shù)據(jù)丟失,記錄RPO和RTO的實(shí)際測(cè)試值,與數(shù)據(jù)庫(kù)RPO和RTO目標(biāo)值進(jìn)行比較,備份方法的效果直觀明確。為了確保測(cè)試結(jié)果的說(shuō)服力,本次實(shí)驗(yàn)共進(jìn)行了10次,表1為本次測(cè)試階段實(shí)驗(yàn)結(jié)果。

表1 數(shù)據(jù)庫(kù)A的RPO及RTO目標(biāo)值與測(cè)試值對(duì)比表
根據(jù)表1記錄的數(shù)據(jù)可知,RPO的測(cè)試值都在60s之內(nèi),RTO的測(cè)試值都少于60m。計(jì)算RPO目標(biāo)值和測(cè)試值的平均值分別為10.9min和40.5s;RTO目標(biāo)值和測(cè)試值的平均數(shù)分別為10.5h和30.8min。觀察兩項(xiàng)數(shù)據(jù)的對(duì)比不難發(fā)現(xiàn),運(yùn)用此方案得到的RPO測(cè)試值快于目標(biāo)值10m14s,RTO測(cè)試值快于目標(biāo)值10h。
此次研究實(shí)驗(yàn)在明確傳統(tǒng)數(shù)據(jù)庫(kù)災(zāi)備方法的缺點(diǎn)后,針對(duì)性地利用寫(xiě)入鏈?zhǔn)矫枋龇募夹g(shù),為數(shù)據(jù)備份方案提供了更加有效快速選擇。但根據(jù)文中闡述的方法過(guò)程可以看出,此次備份方法較為核心的步驟是需要在數(shù)據(jù)庫(kù)中定位、篩選和刪除重復(fù)冗余的數(shù)據(jù)信息,這個(gè)過(guò)程中計(jì)算比較復(fù)雜,且數(shù)據(jù)塊與數(shù)據(jù)塊之間的相似性有高有低,較難區(qū)分,因此容易出現(xiàn)誤差,影響后續(xù)備份的操作進(jìn)行。今后可以逐步強(qiáng)化數(shù)據(jù)塊之間相似性比對(duì)算法,并進(jìn)行大量驗(yàn)證,將誤差盡量縮小,控制在最佳范圍內(nèi),優(yōu)化層次化通信網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的容災(zāi)備份方法。