王 曦
(中南大學(xué),長沙 410000)
冗余數(shù)據(jù)是目前我國計算機使用者需要面對的重要問題,冗余數(shù)據(jù)不僅會對計算機的使用過程產(chǎn)生影響,同時也會損害計算機,導(dǎo)致計算機使用者在日后無法正常的使用計算機,因此計算機的刪冗技術(shù)是目前我國計算機工作者需要著重關(guān)注的問題。但是由于冗余數(shù)據(jù)的特殊性,在實際的刪冗過程中,往往無法較好的進行,甚至?xí)M一步加大對計算機的影響。但是隨著我國計算機技術(shù)的發(fā)展,目前透明計算技術(shù)已經(jīng)開始普及,由于透明計算能夠提高系統(tǒng)安全性以及降低使用復(fù)雜性的特點,使用透明計算技術(shù)來進行冗余數(shù)據(jù)的刪除往往可以取得較好的效果。文章主要從透明計算技術(shù)的特點以及刪冗技術(shù)過程中的難點入手,討論了基于透明計算的刪冗技術(shù)的可靠性,并且提出了相應(yīng)的刪冗技術(shù)的方法。
透明計算是一種用戶無須感知的計算機支撐工具、應(yīng)用程序以及操作系統(tǒng),并且透明計算也能夠根據(jù)客戶自身的需要來將各種設(shè)備進行檢查,并且找到用戶需要的各種服務(wù)。由此可見,透明計算中必須應(yīng)該包括三個部分,即整合了例如數(shù)字電器、智能手機以及個人電腦等透明客戶端,也需要包括互聯(lián)網(wǎng)設(shè)備以及網(wǎng)絡(luò)設(shè)備的透明網(wǎng)絡(luò),同時也必須包含有著較強計算能力的服務(wù)器、大型機器或是個人計算機。在這樣的狀態(tài)下,在透明計算系統(tǒng)中使用的終端設(shè)備就叫做透明客戶機或是透明客戶端,其中的服務(wù)器叫做透明服務(wù)器,而透明服務(wù)器和透明終端連接的網(wǎng)絡(luò)叫做透明網(wǎng)絡(luò)。
透明計算主要有如下4種特點:
(1)用戶可以在終端上自行選擇任何可以在客戶及上使用的系統(tǒng),也可以選擇人何在終端上使用的應(yīng)用程序以及相關(guān)的工具,同時也不需要對應(yīng)用程序作出改動,也就能夠保證到程序的操作性以及兼容性。
(2)在透明計算的客戶機上,是沒有任何操作系統(tǒng)、應(yīng)用程序以及支撐工具的,因此用戶在使用客戶機的過程中,是需要需要使用客戶機所提供的界面來提交自身所需要進行的計算或是服務(wù),而客戶機上所包含的通信協(xié)議以及任務(wù)管理程序可以從服務(wù)器上下載。
(3)用戶在使用透明計算技術(shù)的過程中,可以任意選擇在硬件平臺上將多個操作系統(tǒng)進行運行,這種方式改變了傳統(tǒng)軟件廠商使用一個操作系統(tǒng)使用不同硬件的情況。
(4)在用戶使用透明計算的過程中,所有的應(yīng)用計算都可以在客戶機上完成,相比其他的計算技術(shù)中在服務(wù)器上完成的情況不僅響應(yīng)更快,同時如果服務(wù)器中所存儲的支持工具、操作系統(tǒng)以及應(yīng)用程序越多,用戶能夠使用的計算服務(wù)也就越多。
由于透明計算擁有所有計算在客戶機上完成、用戶能夠選擇系統(tǒng)和工具等特點,因此在進行刪除冗余的過程中,也可以使用透明計算來進行完成,而使用透明計算的方法主要有如下幾種:
滑動塊檢測技術(shù)主要是結(jié)合了可變塊大小檢測技術(shù)以及固定塊大小檢測技術(shù)的優(yōu)點,由于在這種方法下的塊大小是固定的,因此在使用過程中的管理十分簡單。在實際的使用過程中,對于較大的簇,可以使用CDC重復(fù)數(shù)據(jù)監(jiān)測,而滑動塊技術(shù)在使用的過程中能夠?qū)毩6冗M行更好地匹配。
在使用這種技術(shù)的過程中,首先需要使用一個文件,并且通過rsync來進行校驗函數(shù)的求和,然后在對于每一個塊,將校驗值以及先前存儲的值進行比較求和,在此工作完成后如果發(fā)現(xiàn)能夠進行匹配,就可以使用SHA-1算法來對塊進行hash計算,并且在計算后和之前存儲的值進行比較。最后如果校驗值和hash值無法匹配,則可以滑動窗口繼續(xù)向前移動,而如果滑動窗接口已經(jīng)移動一個塊的距離仍然無法匹配,就需要存儲在表中,并且作為日后塊的比較對象。而在使用這種方法的過程中,由于透明計算技術(shù)能夠?qū)⒏鞣N工具進行使用,因此在進行檢測的過程中往往可以幫助用戶使用服務(wù)器中更加精確的工具進行檢測,從而保證檢測后的數(shù)據(jù)準確度更高,也能夠幫助使用者使用滑動塊檢測技術(shù)后更好地檢測出重復(fù)冗余的數(shù)據(jù)。
CDC算法的基本含義就是使用Rabin技術(shù)將文件分割為不用大小的塊,相比固定分塊技術(shù),CDC分塊的過程中是基于文件的內(nèi)容進行分塊的,因此在進行分塊的過程中,往往是可以將塊大小進行變動的,CDC算法的基本過程如圖所示:

由圖我們可以看出,在使用CDC算法的過程中,首先需要從文件頭開始,將固定大小的滑動窗口的數(shù)據(jù)看作是組成文件的各個部分,同時使用窗口數(shù)據(jù)中的指紋來進行分割,由于Rabin指紋計算有著較好的高效性,因此分割能夠更快、更準確。而如果使用透明計算來進行CDC算法,不僅用戶不需重新加裝系統(tǒng),同時也可以使用服務(wù)器中更加高效的工具,從而讓CDC算法的效果更好。
透明計算能夠為刪冗技術(shù)提供許多便利,文章就透明計算的概念入手,討論了基于透明計算的刪冗技術(shù)的方法,表明基于透明計算的刪冗技術(shù)切實有效,并且也擁有較好的可靠性。
[1]張堯?qū)W,周悅芝.一種云計算操作系統(tǒng)TransOS:基于透明計算的設(shè)計與實現(xiàn)[J].電子學(xué)報,2011,39(05):985-990.
[2]冉祿純.基于源端重復(fù)數(shù)據(jù)刪除的文件備份系統(tǒng)設(shè)計與實現(xiàn)[D].華中科技大學(xué),2012.