《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 重復(fù)數(shù)據(jù)刪除算法在VTL系統(tǒng)中的應(yīng)用研究
重復(fù)數(shù)據(jù)刪除算法在VTL系統(tǒng)中的應(yīng)用研究
來源:微型機(jī)與應(yīng)用2013年第6期
孫虎威,靳嘉偉,張 晶,龔 鳴
(重慶大學(xué) 光電技術(shù)及系統(tǒng)教育部重點(diǎn)實(shí)驗(yàn)室,重慶400044)
摘要: 為了使VTL(虛擬磁帶庫)系統(tǒng)能更有效地利用磁盤空間,存儲更多的數(shù)據(jù)信息,介紹了一種帶有重復(fù)數(shù)據(jù)刪除算法的虛擬磁帶庫應(yīng)用方法。該方法從性能和效率等多方面考慮,首先把磁帶按文件級去重,再將文件切分成塊,通過Bloom Filter和MD5算法雙重計(jì)算,經(jīng)查找和存儲實(shí)現(xiàn)數(shù)據(jù)塊級的重復(fù)刪除。實(shí)驗(yàn)測試證明,該方案穩(wěn)定地實(shí)現(xiàn)了數(shù)據(jù)的去重及加密功能,能有效節(jié)省虛擬磁帶庫的存儲空間。
Abstract:
Key words :

摘  要: 為了使VTL(虛擬磁帶庫)系統(tǒng)能更有效地利用磁盤空間,存儲更多的數(shù)據(jù)信息,介紹了一種帶有重復(fù)數(shù)據(jù)刪除算法的虛擬磁帶庫應(yīng)用方法。該方法從性能和效率等多方面考慮,首先把磁帶按文件級去重,再將文件切分成塊,通過Bloom FilterMD5算法雙重計(jì)算,經(jīng)查找和存儲實(shí)現(xiàn)數(shù)據(jù)塊級的重復(fù)刪除。實(shí)驗(yàn)測試證明,該方案穩(wěn)定地實(shí)現(xiàn)了數(shù)據(jù)的去重及加密功能,能有效節(jié)省虛擬磁帶庫的存儲空間。
關(guān)鍵詞: 虛擬磁帶庫;重復(fù)數(shù)據(jù)刪除;Bloom filter;MD5

    進(jìn)入21世紀(jì)以來,在科技飛速發(fā)展的同時(shí),數(shù)據(jù)信息的產(chǎn)生也在急劇增長。據(jù)悉,企業(yè)的數(shù)據(jù)量平均年度增長率為50%左右,部分?jǐn)?shù)據(jù)的冗余率卻在60%以上。這使得備份時(shí)需消耗大量的時(shí)間和空間去存儲重復(fù)的數(shù)據(jù),資源浪費(fèi)十分嚴(yán)重。為了實(shí)時(shí)存儲大量有效的信息,針對物理磁帶庫存儲容量小和效率低等不足,人們引進(jìn)了虛擬磁帶庫技術(shù),將高速磁盤陣列仿真成磁帶格式,節(jié)省了磁帶機(jī)上帶、定位、退帶等機(jī)械動作時(shí)間,同時(shí)無需擔(dān)心機(jī)械手故障、磁頭耗損或磁帶受潮等問題。節(jié)省成本的同時(shí)提高了備份和恢復(fù)速度,實(shí)現(xiàn)了實(shí)時(shí)有效地存儲海量數(shù)據(jù)信息。
    盡管虛擬磁帶庫在應(yīng)對數(shù)據(jù)存儲時(shí)發(fā)揮了巨大作用,但是仍不能滿足市場需求。如何對存儲在虛擬磁帶庫系統(tǒng)中的數(shù)據(jù)進(jìn)行重新壓縮從而更有效地利用存儲空間,便成為了如今研究的熱門課題。而重復(fù)數(shù)據(jù)刪除技術(shù)作為目前企業(yè)熱捧的技術(shù)之一,在數(shù)據(jù)壓縮處理和存儲領(lǐng)域具有很大的應(yīng)用空間。本文提出了重復(fù)數(shù)據(jù)刪除算法在虛擬磁帶庫系統(tǒng)中的一種應(yīng)用方案。
1 相關(guān)概念和算法介紹
1.1 重復(fù)數(shù)據(jù)刪除算法

    重復(fù)數(shù)據(jù)刪除算法又名智能壓縮算法,是一種通過消除冗余重復(fù)數(shù)據(jù)減少存儲需求的方法。
    重復(fù)數(shù)據(jù)刪除算法有多種分類方法。按照重復(fù)內(nèi)容識別方法分類可分為三種:基于內(nèi)容散列識別、基于內(nèi)容識別和基于Hyper-factor識別;而基于消除冗余執(zhí)行次序的分類則可以分為在線式消冗和后處理式消冗兩種;基于去重粒度分類可分為文件級、數(shù)據(jù)塊級和字節(jié)級消冗三種[1]。本文在虛擬磁帶庫系統(tǒng)的應(yīng)用主要采用基于散列識別方法的數(shù)據(jù)塊級后處理式消冗方案。
1.2 數(shù)據(jù)分塊算法
    基于數(shù)據(jù)塊級的分塊算法主要有定長切分、CDC切分和滑動塊切分三種[2]。
    定長分塊算法(Fixed-Size Partition)主要采用預(yù)先分配好的塊對文件進(jìn)行切分,并計(jì)算弱校驗(yàn)值和MD5強(qiáng)校驗(yàn)值。該算法的優(yōu)點(diǎn)是簡單、性能高,但它對數(shù)據(jù)插入和刪除非常敏感,處理十分低效,不能根據(jù)內(nèi)容變化作調(diào)整和優(yōu)化。
    CDC(Content-Defined Chunking)算法是一種變長分塊算法,它應(yīng)用數(shù)據(jù)指紋將文件分割成長度大小不等的分塊。CDC算法對文件內(nèi)容變化不敏感,插入或刪除數(shù)據(jù)只會影響到較少的數(shù)據(jù)塊,其余數(shù)據(jù)塊則不受影響。該算法也有缺陷,數(shù)據(jù)塊大小的確定比較困難。
    滑動塊(Sliding Block)算法結(jié)合了定長切分和CDC切分的優(yōu)點(diǎn),數(shù)據(jù)塊大小固定。它對定長數(shù)據(jù)塊先計(jì)算弱校驗(yàn)值,如果匹配則再計(jì)算MD5強(qiáng)校驗(yàn)值,兩者都匹配則認(rèn)為是一個數(shù)據(jù)塊邊界。該數(shù)據(jù)塊前面的數(shù)據(jù)碎片也是不定長的數(shù)據(jù)塊。如果滑動窗口移過一個塊大小的距離仍無法匹配,則認(rèn)定其為一個數(shù)據(jù)塊邊界。滑動塊算法對插入和刪除問題的處理非常高效,并且能夠檢測到比CDC更多的冗余數(shù)據(jù),但它容易產(chǎn)生數(shù)據(jù)碎片。
1.3 哈希查找和存儲算法
1.3.1 MD5算法

    MD5算法即消息摘要算法第5版,由MIT計(jì)算機(jī)科學(xué)實(shí)驗(yàn)室和RSA數(shù)碼保安公司聯(lián)合開發(fā),經(jīng)MD2、MD3和MD4延伸而來[3]。它將文件的任意一段內(nèi)容通過一系列算法壓縮成一段128 bit的信息摘要(哈希值)。其本質(zhì)即為一種哈希函數(shù),具有單向性、抗弱碰撞性和抗強(qiáng)碰撞性等特點(diǎn)。
    在MD5算法操作中,先對元數(shù)據(jù)信息進(jìn)行填充,使得其字節(jié)長度對512求余結(jié)果為448;接著填充64 bit數(shù)據(jù)段長度信息,湊齊為512的整數(shù)倍;然后用4個固定的鏈接變量作為參數(shù)對MD緩沖器進(jìn)行初始化;最后用4種不同的非線性函數(shù)進(jìn)行輪換計(jì)算,結(jié)果輸出4個32 bit即128 bit的哈希值[4-5]。算法過程如圖1所示。

1.3.2 Bloom Filter算法
    Bloom Filter由Howard Bloom在1970年提出。它利用位數(shù)組很簡潔地表示一個集合,并能通過一組哈希映射函數(shù)判斷一個元素是否屬于這個集合。該算法具有很好的空間效率和時(shí)間效率,但是卻有一定的誤識別率(假陽性誤判),并且刪除操作比較困難。
    該算法主要包括數(shù)據(jù)元素的查找和插入兩部分。在查找操作中,首先將目標(biāo)信息存儲到一個集合S中,接著設(shè)計(jì)多個相互獨(dú)立的哈希函數(shù)及適度大小的哈希表,并設(shè)其初始值全為0。在集合S中任取一個元素,經(jīng)哈希函數(shù)分別映射到哈希表中。如果所對應(yīng)哈希表位置的值都為1,則說明該元素可能已經(jīng)存在,但也有誤判的可能。若有任意其中一個位置不為1,則說明該元素必不存在。同樣插入操作經(jīng)哈希函數(shù)計(jì)算并映射后,把相應(yīng)位置的值都置為1。
2 方案設(shè)計(jì)及實(shí)現(xiàn)
2.1 應(yīng)用場景

    圖2所示為常見的一種應(yīng)用虛擬磁帶庫進(jìn)行數(shù)據(jù)備份的場景。各個客戶端所產(chǎn)生的數(shù)據(jù)通過網(wǎng)絡(luò)傳送到服務(wù)器端,在服務(wù)器中備份軟件的操作下,將數(shù)據(jù)備份到虛擬磁帶庫所模擬成磁帶格式的磁盤陣列中,該磁盤陣列由相應(yīng)的RAID組構(gòu)成,從而進(jìn)行容災(zāi)保護(hù)。該數(shù)據(jù)可以實(shí)時(shí)導(dǎo)入、導(dǎo)出到相應(yīng)的物理磁帶庫中。同樣,數(shù)據(jù)流的逆向即可實(shí)現(xiàn)數(shù)據(jù)恢復(fù)作業(yè)。在虛擬磁帶庫系統(tǒng)中可以對所備份的數(shù)據(jù)進(jìn)行重新掃描和重復(fù)數(shù)據(jù)刪除,并存儲壓縮后的數(shù)據(jù),選擇是否刪除原有數(shù)據(jù),進(jìn)而節(jié)省大量的磁盤空間。

2.2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
    帶有重復(fù)數(shù)據(jù)刪除功能的虛擬磁帶庫系統(tǒng)結(jié)構(gòu)設(shè)計(jì)如圖3所示。上層為包含有支持NFS/CIFS、OST及VTL等文件協(xié)議的文件協(xié)議讀取層,該層將存儲子系統(tǒng)進(jìn)行網(wǎng)絡(luò)化,實(shí)現(xiàn)存儲內(nèi)容的高速共享訪問。下一層為文件管理層,該層主要實(shí)現(xiàn)對數(shù)據(jù)存放文件及命名空間的管理和設(shè)置。文件管理層下面為重復(fù)數(shù)據(jù)刪除模塊,主要對搜尋到的數(shù)據(jù)文件進(jìn)行分塊處理、哈希計(jì)算和查找并歸類存儲等操作。下一層為磁盤管理模塊,主要負(fù)責(zé)對磁盤陣列數(shù)據(jù)元數(shù)據(jù)和哈希值的分類存放和獲取,以及磁盤訪問順序的優(yōu)化處理等。

2.3 重復(fù)數(shù)據(jù)刪除功能詳細(xì)設(shè)計(jì)
    為實(shí)現(xiàn)文件中重復(fù)數(shù)據(jù)的刪除功能,本文進(jìn)行了如圖4所示的詳細(xì)設(shè)計(jì)。首先該模塊對虛擬磁帶庫中需處理的磁帶文件進(jìn)行查找和獲取,然后計(jì)算出相應(yīng)的哈希值,先用Bloom Filter 算法進(jìn)行快速計(jì)算和查找,如果位數(shù)組A中已存在相關(guān)的文件,則再次進(jìn)行MD5算法計(jì)算和查找,如果位數(shù)組A中的確存在該文件,則只存儲該文件相關(guān)哈希值,接著進(jìn)行下個文件的處理。如果在Bloom Filter算法的位數(shù)組A中不存在該數(shù)據(jù)的信息,則進(jìn)行添加和更新,接著完成對該文件哈希值的存儲,然后對該文件進(jìn)行數(shù)據(jù)塊級的處理。由于在Bloom Filter中可能出現(xiàn)誤判,故而當(dāng)MD5再次校驗(yàn)不存在時(shí),同樣也會進(jìn)入數(shù)據(jù)塊級處理中。

    本文應(yīng)用可以根據(jù)需要選擇定長、CDC、滑動塊任意一種切分方式來進(jìn)行數(shù)據(jù)塊劃分。接著對所切分的數(shù)據(jù)塊進(jìn)行如同文件級別的Bloom Filter和MD5雙重驗(yàn)證。首先對數(shù)據(jù)塊進(jìn)行Bloom Filter計(jì)算,當(dāng)結(jié)果不匹配位數(shù)組B中相關(guān)位時(shí),則表明該數(shù)據(jù)塊必不存在,對位數(shù)組中相關(guān)位進(jìn)行插入和更新,并分別存儲該數(shù)據(jù)塊和相關(guān)的哈希值;如果該數(shù)據(jù)塊匹配該位數(shù)組B時(shí),則再次進(jìn)行MD5計(jì)算和校驗(yàn)。如果仍然匹配,則說明該數(shù)據(jù)塊重復(fù),只存儲該數(shù)據(jù)塊的哈希值;如果出現(xiàn)不匹配情況,則說明前面計(jì)算出現(xiàn)誤判,分別存儲該數(shù)據(jù)塊和相應(yīng)的哈希值。
    數(shù)據(jù)塊及相應(yīng)哈希值存儲及檢索如圖5所示。當(dāng)文件A進(jìn)入計(jì)算時(shí),會生成相應(yīng)哈希值并指向?qū)?yīng)數(shù)據(jù)塊。當(dāng)首次查找數(shù)據(jù)塊N不存在時(shí),則先存入數(shù)據(jù)塊,然后再把數(shù)據(jù)塊N的索引指向該數(shù)據(jù)塊所在位置,當(dāng)再次查找時(shí),僅存儲對應(yīng)哈希值。文件A檢索完畢后同樣對文件B進(jìn)行相關(guān)操作。而當(dāng)A’經(jīng)計(jì)算與文件A內(nèi)容相同時(shí),則文件A’的索引會指向文件A的索引,當(dāng)文件A’數(shù)據(jù)恢復(fù)時(shí),通過指引直接檢索調(diào)用文件A中的索引值,從而進(jìn)一步加快效率,節(jié)省存儲空間。

    若使f≤0.01,則需m≥9.567n,此時(shí)取k=7[6]。表1中所示數(shù)據(jù)可獲得不同k值和m/n下對應(yīng)的誤判率的大小以及m/n固定時(shí)取得最小誤判率的最佳k值。

    

    實(shí)驗(yàn)中采用分塊大小為4 KB,共對5組大小及內(nèi)容不同的文件進(jìn)行了數(shù)據(jù)的重復(fù)刪除處理。由表2可知,文件1中TXT文件和文件3中PDF文件存在相當(dāng)數(shù)量的重復(fù)塊;而照片、音頻和視頻等文件存在較少重復(fù)數(shù)據(jù)塊。由于測試環(huán)境限制,本次測試的子文件都不相同,且數(shù)據(jù)量小,所以重刪率較低,甚至出現(xiàn)小于1的情況。不過數(shù)據(jù)經(jīng)還原處理后,與原始數(shù)據(jù)相比完全相同,安全性能有保障,當(dāng)出現(xiàn)大量重復(fù)文件時(shí),效果更好。
    本文主要介紹了一種重復(fù)數(shù)據(jù)刪除算法在虛擬磁帶庫系統(tǒng)中的應(yīng)用方法。該應(yīng)用采用后處理式的數(shù)據(jù)分塊哈希計(jì)算方法來進(jìn)行數(shù)據(jù)的重復(fù)刪除。數(shù)據(jù)分塊可選擇使用任一種常用的3種分塊方法,數(shù)據(jù)查找和存儲采用Bloom Filter和MD5算法雙重計(jì)算,經(jīng)過設(shè)置參數(shù)有效地降低了Bloom Filter的誤判率和MD5算法的碰撞率。有效提高了存儲的時(shí)間效率和空間效率,并獲得良好的重刪率,同時(shí)完成了數(shù)據(jù)的壓縮和加密雙重功能。
參考文獻(xiàn)
[1] 付印芳,肖儂,劉芳.重復(fù)數(shù)據(jù)刪除關(guān)鍵技術(shù)研究進(jìn)展[J].計(jì)算機(jī)研究與發(fā)展,2012,49(1):12-20.
[2] 敖莉,舒繼武,李明強(qiáng).重復(fù)數(shù)據(jù)刪除技術(shù)[J].軟件學(xué)報(bào),2010,21(5):916-929.
[3] RIVEST R.The MD5 message digest algorithm[M].RFC 1321,1992.
[4] 陳少暉,翟曉寧,閻娜,等.MD5算法破譯過程解析[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(19):109-112.
[5] 張裔智,趙毅,湯小斌.MD5算法研究[J].計(jì)算機(jī)科學(xué),2008,35(7):295-297.
[6] HOROWITZ E,SAHNI S,MEHTA D.Fundamentals of data  structures in C++[M].Computer Science Press,1995.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
免费在线观看精品| 欧美视频一区二区在线观看| av72成人在线| 亚洲黄色在线看| 久久国产天堂福利天堂| 亚洲一区在线视频| 一区二区三区四区精品| 一本色道综合亚洲| 亚洲毛片av| 亚洲精品在线电影| 日韩视频在线一区二区三区| 亚洲精品美女在线观看| 亚洲国产日韩欧美在线99| 在线观看成人av| 国产亚洲欧美一区在线观看| 国产亚洲福利社区一区| 国产日韩欧美在线一区| 国产欧美日韩综合一区在线播放| 国产精品一区二区在线观看| 国产精品午夜久久| 欧美性淫爽ww久久久久无| 欧美777四色影视在线| 免费在线成人| 欧美激情久久久| 欧美高清视频| 欧美乱大交xxxxx| 欧美日韩亚洲一区在线观看| 欧美日韩午夜视频在线观看| 欧美日韩在线综合| 国产精品swag| 国产欧美精品久久| 狠狠色丁香婷婷综合| 狠狠色狠狠色综合| 亚洲国产精品va在看黑人| 亚洲激情电影在线| 日韩视频免费观看高清在线视频 | 国产精品乱码妇女bbbb| 国产精品青草综合久久久久99 | 亚洲国产婷婷香蕉久久久久久99| 亚洲第一久久影院| 亚洲精品视频在线播放| 日韩视频在线一区二区| 亚洲一区二区三区免费视频| 亚洲女人小视频在线观看| 欧美一区三区二区在线观看| 久热精品视频| 欧美日韩视频在线第一区| 国产伦精品一区二区| 黑丝一区二区| 99在线精品观看| 亚洲欧美三级在线| 亚洲国产另类精品专区| 在线一区观看| 久久不射中文字幕| 欧美精品福利| 国产女主播一区二区| 在线看一区二区| 一区二区三区日韩| 欧美综合激情网| 一区二区成人精品| 久久国产一区二区| 欧美精品一区二区三区很污很色的 | 亚洲精品久久久蜜桃| 亚洲午夜精品17c| 亚洲第一免费播放区| 在线视频精品| 久久米奇亚洲| 欧美揉bbbbb揉bbbbb| 国产欧美欧洲在线观看| 亚洲国产精品黑人久久久| 亚洲一级黄色片| 亚洲国产成人av| 亚洲欧美www| 欧美成人第一页| 国产精品视频1区| 亚洲黄色免费| 性色av香蕉一区二区| 99视频精品| 久久精品日产第一区二区三区| 欧美日本精品| 一区二区三区在线看| 国产精品99久久久久久久女警| 久久国产婷婷国产香蕉| 午夜国产精品视频| 欧美精品日韩一区| 狠狠色综合色综合网络| 亚洲视频视频在线| 日韩午夜精品视频| 久久青草久久| 国产精品一二| 99精品免费视频| 亚洲日韩中文字幕在线播放| 欧美一二三视频| 欧美日韩精品一区二区在线播放 | 伊人久久大香线蕉综合热线| 亚洲一区二区三区在线观看视频| 99热在这里有精品免费| 裸体丰满少妇做受久久99精品| 国产精品捆绑调教| 日韩视频不卡中文| 亚洲另类黄色| 鲁大师成人一区二区三区| 国产午夜精品久久久久久免费视| 一区二区三区.www| 一区二区激情视频| 欧美激情a∨在线视频播放| 狠狠色丁香婷婷综合| 先锋亚洲精品| 性做久久久久久久久| 欧美日韩专区| 亚洲精品在线视频观看| 亚洲精品乱码久久久久久按摩观| 久久婷婷麻豆| 国语自产偷拍精品视频偷| 午夜激情综合网| 欧美亚洲一区在线| 国产精品久久夜| 狠狠入ady亚洲精品| 欧美在线视频全部完| 欧美在线视频一区二区| 国产精品捆绑调教| 亚洲视频专区在线| 亚洲欧美综合一区| 国产精品一区二区在线| 亚洲欧美日韩中文播放| 午夜视频在线观看一区| 国产精品久久久久77777| 中文精品一区二区三区| 亚洲欧美日本视频在线观看| 欧美亚一区二区| 在线一区日本视频| 午夜精品久久久久久久99黑人| 国产精品久久波多野结衣| 一区二区三区国产盗摄| 亚洲一区二区三区午夜| 国产精品成人一区二区网站软件| 一区二区三区日韩精品视频| 亚洲欧美电影在线观看| 国产精品午夜久久| 欧美中文字幕在线| 老鸭窝毛片一区二区三区| 在线看无码的免费网站| 日韩亚洲视频| 欧美亚洲成人免费| 亚洲欧美春色| 久久久蜜桃一区二区人| 在线成人免费观看| 亚洲免费高清| 国产精品高潮粉嫩av| 午夜精品亚洲一区二区三区嫩草| 久久久久国产精品一区三寸 | 亚洲已满18点击进入久久| 久久精品伊人| 亚洲高清久久久| 亚洲视频二区| 国产精品免费网站| 久久精品视频网| 欧美精品一区二区三区很污很色的| 99国产精品久久久久久久成人热 | 免费久久99精品国产| 亚洲欧洲精品一区二区三区| 亚洲调教视频在线观看| 国产欧美精品va在线观看| 亚洲国产综合在线| 欧美三日本三级三级在线播放| 亚洲欧美国产日韩中文字幕| 久久五月婷婷丁香社区| 91久久久在线| 欧美一区二区视频在线观看| 狠狠入ady亚洲精品经典电影| 日韩视频一区二区三区在线播放 | 国产精品中文字幕欧美| 亚洲黄色精品| 国产精品第三页| 亚洲国产欧美日韩精品| 欧美日韩直播| 欧美资源在线| 欧美色区777第一页| 欧美亚洲免费高清在线观看| 欧美成黄导航| 亚洲一区二区三区精品在线| 久久久久久久久久久久久久一区| 亚洲人体大胆视频| 久久精品国产2020观看福利| 最新国产成人在线观看| 性欧美xxxx视频在线观看| 依依成人综合视频| 午夜精彩视频在线观看不卡| 一区二区在线观看av| 亚洲午夜精品久久久久久浪潮| 国模吧视频一区| 亚洲一区二区三区色| 狠狠色2019综合网| 亚洲欧美区自拍先锋| 亚洲第一在线视频| 欧美综合国产精品久久丁香| 亚洲精品日韩综合观看成人91| 久久国内精品视频| 日韩一级二级三级| 美国成人毛片|