两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

建立數(shù)據(jù)區(qū)塊的索引方法

文檔序號:6335870閱讀:408來源:國知局
專利名稱:建立數(shù)據(jù)區(qū)塊的索引方法
技術(shù)領(lǐng)域
本發(fā)明公開了一種建立數(shù)據(jù)區(qū)塊的索引方法,特別有關(guān)于一種應(yīng)用在重復(fù)數(shù)據(jù)刪除程序之中,將經(jīng)過重復(fù)數(shù)據(jù)刪除的切分程序后所產(chǎn)生的數(shù)據(jù)區(qū)塊相應(yīng)的建立數(shù)據(jù)區(qū)塊的索引方法。
背景技術(shù)
重復(fù)數(shù)據(jù)刪除是一種數(shù)據(jù)縮減技術(shù),通常用于基于磁盤的備份系統(tǒng),主要目的在于減少存儲系統(tǒng)中使用的存儲容量。它的工作方式是在某個時間周期內(nèi)查找不同文件中不同位置的重復(fù)可變大小數(shù)據(jù)塊。重復(fù)的數(shù)據(jù)塊用指示符取代。由于存儲系統(tǒng)中總是充斥著大量的冗余數(shù)據(jù)。為了解決這個問題,節(jié)省更多空間,“重復(fù)刪除”技術(shù)便順理成章地成了人們關(guān)注的焦點。采用“重復(fù)刪除”技術(shù)可以將存儲的數(shù)據(jù)縮減為原來的1/20,從而讓出更多的備份空間,不僅可以使存儲系統(tǒng)上的備份數(shù)據(jù)保存更長的時間,而且還可以節(jié)約離線存儲時所需的大量的帶寬。請參考圖1所示,其為現(xiàn)有技術(shù)的重復(fù)數(shù)據(jù)刪除的存取的示意圖。為能有效的掌控已儲存的文件數(shù)據(jù),因此在服務(wù)器端中會透過哈希(Hash)列表來記錄各輸入文件的數(shù)據(jù)區(qū)塊。在哈希列表中記錄了數(shù)據(jù)區(qū)塊所相應(yīng)的哈希值。由于哈希算法具有單向轉(zhuǎn)換 (One-ffay transform)的特點,所以每一個數(shù)據(jù)區(qū)塊必然只有一組唯一的哈希值。重復(fù)刪除程序也藉此特性,將相同哈希值的數(shù)據(jù)區(qū)塊視為相同的。所以在儲存設(shè)備中只要存儲一份數(shù)據(jù)區(qū)塊,并記錄不同文件中相同的數(shù)據(jù)區(qū)塊的對應(yīng)關(guān)系即可。然而,面對日益增加的數(shù)據(jù)量,也將使得哈希列表的長度也隨之增加。這樣一來, 將哈希列表加載內(nèi)存的時間與查找哈希列表的時間也會拉長。

發(fā)明內(nèi)容
鑒于以上的問題,本發(fā)明在于提供一種建立數(shù)據(jù)區(qū)塊的索引方法,應(yīng)用在重復(fù)數(shù)據(jù)刪除程序之中,將經(jīng)過重復(fù)數(shù)據(jù)刪除中的切分程序后,所產(chǎn)生的數(shù)據(jù)區(qū)塊建立相應(yīng)的索引文件。為達(dá)上述目的,本發(fā)明所公開的建立數(shù)據(jù)區(qū)塊的索引方法包括以下步驟加載索引文件,在索引文件包括多個位置區(qū)塊,每一位置區(qū)塊中更包括多個存儲字段,每一存儲字段記錄數(shù)據(jù)區(qū)塊所相應(yīng)的主哈希值;對數(shù)據(jù)區(qū)塊的一主哈希值進行第一哈希程序,計算區(qū)塊編號;對同一數(shù)據(jù)區(qū)塊的主哈希值進行第二哈希程序,計算字段編號;加載位置沖突列表;將字段編號與位置沖突列表中的字段編號進行比對,查找位置沖突列表中是否已經(jīng)存儲有相同的字段編號;若位置沖突列表中不存在字段編號時,則將主哈希值寫入相應(yīng)的區(qū)塊編號與字段編號之中。本發(fā)明所提出的階層式索引文件用以記錄數(shù)據(jù)區(qū)塊的所在位置,藉以提高重復(fù)數(shù)據(jù)刪除程序在內(nèi)存(或硬盤中)查找索引文件的存取效率。有關(guān)本發(fā)明的特征與實作,配合附圖作最佳實施例詳細(xì)說明如下。


圖1為現(xiàn)有技術(shù)的重復(fù)數(shù)據(jù)刪除的存取的示意圖;圖2為本發(fā)明的架構(gòu)示意圖;圖3A為本發(fā)明的索引文件建立流程示意圖;圖;3B為本發(fā)明的索引文件架構(gòu)示意圖;圖4為本發(fā)明的查詢索引文件的流程示意圖。其中,附圖標(biāo)記客戶端210服務(wù)器端220索引文件221位置沖突列表22具體實施例方式請參考圖2所示,其為本發(fā)明的架構(gòu)示意圖。本發(fā)明包括客戶端210與服務(wù)器端 220。客戶端210可以通過因特網(wǎng)(Internet)或企業(yè)內(nèi)網(wǎng)(intranet)的方式連接于服務(wù)器端220,也可以將客戶端210與服務(wù)器端220同時運行于同一臺計算器裝置上。而客戶端210用以對所輸入的文件進行重復(fù)數(shù)據(jù)刪除程序,并透過服務(wù)器端根據(jù)本發(fā)明將產(chǎn)生相應(yīng)的輸入文件的該些數(shù)據(jù)區(qū)塊的索引文件221。在服務(wù)器端220中存儲索引文件221與位置沖突列表222。索引文件221記錄多組數(shù)據(jù)區(qū)塊的哈希值。為能提高索引文件221的查找效率,并降低索引文件221在內(nèi)存或高速緩存間的存取時間。因此提出索引文件221的建立方法,請同時參考圖3A與圖;3B所示,其分別為本發(fā)明的索引文件建立流程示意圖與索引文件架構(gòu)示意圖。步驟S310 加載索引文件,在索引文件包括多個位置區(qū)塊,每一位置區(qū)塊中更包括多個存儲字段,每一存儲字段記錄數(shù)據(jù)區(qū)塊所相應(yīng)的主哈希值;步驟S320 對數(shù)據(jù)區(qū)塊的主哈希值進行第一哈希程序,計算區(qū)塊編號;步驟S330 對同一數(shù)據(jù)區(qū)塊的主哈希值進行第二哈希程序,計算字段編號;步驟S340 建立位置沖突列表,用以記錄字段編號相同者;步驟S350 將字段編號與位置沖突列表中的字段編號進行比對,查找位置沖突列表中是否已經(jīng)存儲有相同的字段編號;以及步驟S360 若位置沖突列表中不存在字段編號時,則將主哈希值寫入相應(yīng)的區(qū)塊編號與字段編號之中。如圖;3B所示,索引文件221包括多個位置區(qū)塊,每一位置區(qū)塊中更包括多個存儲字段,每一存儲字段記錄數(shù)據(jù)區(qū)塊所相應(yīng)的主哈希值。在索引文件221中的存儲字段均是定長。在本發(fā)明中存儲字段的數(shù)量透過下式1所產(chǎn)生N=位置區(qū)塊的容量/存儲字段的容量式1N:存儲字段的數(shù)量。而位置區(qū)塊的數(shù)量由式2所產(chǎn)生M=數(shù)據(jù)區(qū)塊的數(shù)量/N式2M 位置區(qū)塊的數(shù)量。
索引文件221被劃分成多個容量為固定大小的位置區(qū)塊(以下以M個位置區(qū)塊作為說明)。數(shù)據(jù)區(qū)塊對應(yīng)的主哈希值(可透過SHA 1或SHA 256算法得到)進行第一哈希程序的處理,使區(qū)塊編號能散列于M個區(qū)塊編號的范圍之內(nèi)。為能達(dá)成散落于M個區(qū)塊編號的范圍的目的,可以將主哈希值透過模數(shù)計算(mod),使得主哈希值的余數(shù)可以確定落于 M個區(qū)塊編號的范圍之內(nèi)(如圖:3B所示,用以選擇相應(yīng)的位置區(qū)塊)。第一哈希程序所產(chǎn)生的哈希值只用于分配主哈希值的存儲分配,所以其計算結(jié)果(區(qū)塊編號)是不會占用實際的內(nèi)存和硬盤空間。接著,再對主哈希值的做第二哈希程序,用以將所產(chǎn)生的第二哈希值作為相應(yīng)數(shù)據(jù)區(qū)塊的字段編號。字段編號用以標(biāo)示在區(qū)塊編號中的特定字段。同理,為能使字段標(biāo)號散落在N個存儲字段的范圍之內(nèi)(如圖:3B所示,用以選擇相應(yīng)的存儲字段),可以將主哈希值透過模數(shù)計算(mod)。當(dāng)主哈希值經(jīng)過N的模數(shù)計算后,主哈希值的余數(shù)將僅會分布于N 個存儲字段的范圍之內(nèi)。如此一來,則完成索引文件221的建立。請參考圖4所示,其為本發(fā)明的查詢索引文件221的流程示意圖。查詢索引文件 221包括以下步驟步驟S410 客戶端接收區(qū)塊查詢請求,用以查詢索引文件中是否存在相應(yīng)的數(shù)據(jù)區(qū)塊;步驟S420 若索引文件中不存在區(qū)塊查詢請求所要查詢的數(shù)據(jù)區(qū)塊時,則在內(nèi)存中產(chǎn)生暫存索引文件,并在暫存索引文件中記錄數(shù)據(jù)區(qū)塊被查詢的次數(shù);以及步驟S430 當(dāng)數(shù)據(jù)區(qū)塊被查詢的次數(shù)符合門坎值時,則于索引文件中建立數(shù)據(jù)區(qū)塊的相應(yīng)區(qū)塊編號與字段編號。首先,客戶端210向服務(wù)器端220發(fā)出對一輸入文件的查詢要求時,服務(wù)器端220 根據(jù)索引文件221對輸入文件進行比對是否在服務(wù)器端220中已經(jīng)存在有相同的數(shù)據(jù)區(qū)塊。如果欲查詢的第二哈希值已見于索引文件221之中(意即經(jīng)過第二哈希程序的主哈希值),則把主哈希值的字段編號都保存在位置沖突列表222中。將字段編號記錄于位置沖突列表222中并且利用地址指針記錄字段編號所相應(yīng)的數(shù)據(jù)區(qū)塊。換言之,就是以鏈表的記錄方式,將每一條記錄都有一個字段記錄與主哈希值相同的下一條記錄的記錄號。如果在記錄號的后面沒有沖突的記錄這個字段值時,則可以將此一記錄號設(shè)置成無效值。當(dāng)?shù)诙V党霈F(xiàn)與之前的主哈希值重復(fù)沖突時,對主哈希值再進行一次哈希將其散列在位置沖突列表222中。在本發(fā)明中煉表的處理程序可以透過下述方式所實現(xiàn)假設(shè)對主哈希值取N的模數(shù)運算(mod),則位置沖突列表222的項次數(shù)量即為N個,并請同時參考表1。
權(quán)利要求
1.一種建立數(shù)據(jù)區(qū)塊的索引方法,應(yīng)用在一重復(fù)數(shù)據(jù)刪除程序之中,將經(jīng)過該重復(fù)數(shù)據(jù)刪除程序的一切分程序后所產(chǎn)生的一數(shù)據(jù)區(qū)塊建立相應(yīng)的索引文件,其特征在于,該建立數(shù)據(jù)區(qū)塊的索引方法包括以下步驟加載一索引文件,在該索引文件包括多個位置區(qū)塊,每一該位置區(qū)塊中更包括多個存儲字段,每一該存儲字段記錄該數(shù)據(jù)區(qū)塊所相應(yīng)的一主哈希值;對該數(shù)據(jù)區(qū)塊的該主哈希值進行一第一哈希程序,計算并產(chǎn)生一區(qū)塊編號;對同一該數(shù)據(jù)區(qū)塊的該主哈希值進行一第二哈希程序,計算并產(chǎn)生一字段編號;建立一位置沖突列表,用以記錄該字段編號相同者;將該字段編號與該位置沖突列表中的該些字段編號進行比對,查找該位置沖突列表中是否已經(jīng)存儲有相同的該字段編號;以及若該位置沖突列表中不存在該字段編號時,則將該主哈希值寫入相應(yīng)的該區(qū)塊編號與該字段編號之中。
2.如權(quán)利要求1所述的建立數(shù)據(jù)區(qū)塊的索引方法,其特征在于,若該位置沖突列表中存在該字段編號時的步驟中還包括將該字段編號記錄于該位置沖突列表中并且利用一地址指針記錄該字段編號所相應(yīng)的該數(shù)據(jù)區(qū)塊。
3.如權(quán)利要求1所述的建立數(shù)據(jù)區(qū)塊的索引方法,其特征在于,在完成該索引文件后還包括接收一區(qū)塊查詢請求,用以查詢該索引文件中是否存在相應(yīng)的該數(shù)據(jù)區(qū)塊;若該索引文件中不存在該區(qū)塊查詢請求所要查詢的該數(shù)據(jù)區(qū)塊時,則在一內(nèi)存中產(chǎn)生一暫存索引文件,并在該暫存索引文件中記錄該數(shù)據(jù)區(qū)塊被查詢的次數(shù);以及當(dāng)該數(shù)據(jù)區(qū)塊被查詢的次數(shù)符合一門坎值時,則于該索引文件中建立該數(shù)據(jù)區(qū)塊的相應(yīng)該區(qū)塊編號與該字段編號。
全文摘要
本發(fā)明公開了一種建立數(shù)據(jù)區(qū)塊的索引方法,應(yīng)用在重復(fù)數(shù)據(jù)刪除程序之中。建立索引方法包括加載索引文件,在索引文件包括多個位置區(qū)塊,每一位置區(qū)塊中更包括多個存儲字段,每一存儲字段記錄數(shù)據(jù)區(qū)塊所相應(yīng)的主哈希值;對數(shù)據(jù)區(qū)塊的一主哈希值進行第一哈希程序,計算區(qū)塊編號;對同一數(shù)據(jù)區(qū)塊的主哈希值進行第二哈希程序,計算字段編號;加載位置沖突列表;將字段編號與位置沖突列表中的字段編號進行比對,查找位置沖突列表中是否已經(jīng)存儲有相同的字段編號;若位置沖突列表中不存在字段編號時,則將主哈希值寫入相應(yīng)的區(qū)塊編號與字段編號之中。
文檔編號G06F12/06GK102467458SQ20101054437
公開日2012年5月23日 申請日期2010年11月5日 優(yōu)先權(quán)日2010年11月5日
發(fā)明者朱明勝, 王云松, 陳志豐 申請人:英業(yè)達(dá)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
舒兰市| 南川市| 罗定市| 邻水| 政和县| 阳曲县| 光山县| 买车| 保靖县| 故城县| 林口县| 东莞市| 祥云县| 沐川县| 密山市| 焉耆| 长岛县| 许昌市| 开阳县| 岱山县| 子洲县| 郎溪县| 万载县| 盐池县| 浦江县| 永州市| 邢台市| 临漳县| 柯坪县| 图木舒克市| 石屏县| 浦江县| 荣昌县| 潜江市| 华蓥市| 阜新市| 永泰县| 芦溪县| 林周县| 罗江县| 板桥市|