欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種在線備份服務(wù)軟件中的數(shù)據(jù)壓縮方法

文檔序號:6601084閱讀:240來源:國知局
專利名稱:一種在線備份服務(wù)軟件中的數(shù)據(jù)壓縮方法
技術(shù)領(lǐng)域
本發(fā)明屬于計算機備份服務(wù)技術(shù)和計算機數(shù)據(jù)壓縮領(lǐng)域,具體涉及一種在線備份服務(wù)軟件中的數(shù)據(jù)壓縮方法。
背景技術(shù)
隨著計算機等信息學科的發(fā)展壯大,人們接觸到的數(shù)字信息也越來越多。數(shù)據(jù)已 然成為一個企業(yè)甚至是一個國家寶貴的財富。但是大到自然災(zāi)害,小到病毒、電源故障乃至 操作員意外操作失誤,都會影響系統(tǒng)的正常運行,甚至造成系統(tǒng)的完全癱瘓,造成數(shù)據(jù)的大 量丟失,進而造成不可彌補的損失。在這樣的大環(huán)境下,數(shù)據(jù)備份軟件應(yīng)運而生。當前的數(shù)據(jù)備份軟件多是為資金雄厚的大型企業(yè)度身定做的專用系統(tǒng),對于很多 中小企業(yè)及個人用戶而言,由于資金短缺、技術(shù)力量薄弱等原因,不得不任由重要業(yè)務(wù)數(shù) 據(jù)處于一種不設(shè)防的狀態(tài)。隨著Saas(Software-as-a-Service,軟件即服務(wù))和Cloud Computing(云計算)的興起,在線備份服務(wù)逐漸發(fā)展成為存儲應(yīng)用領(lǐng)域的一個熱門方向。 在線備份服務(wù)通過網(wǎng)絡(luò)將本地數(shù)據(jù)備份到SSP(Storage Service Provider)提供的在線存 儲空間,與傳統(tǒng)備份軟件相比,具有更簡單、更安全、更經(jīng)濟可行等諸多優(yōu)點,能夠很好地解 決數(shù)據(jù)的異地備份及容災(zāi)問題。備份服務(wù)中,用戶通過制定備份策略將重要的數(shù)據(jù)及時地進行備份,需要的時候 可以直接從服務(wù)器端恢復。但是,對于需要處理大量數(shù)據(jù)信息的備份服務(wù)軟件來說,大量的 數(shù)據(jù)不僅占用了網(wǎng)絡(luò)帶寬,降低了傳輸效率,而且過多的冗余數(shù)據(jù)對服務(wù)器造成了巨大的 負擔,浪費了大量的存儲空間。于是,便有了對文件傳輸模式的研究。對文件傳輸進行管理的目的是提高備份服務(wù)的效率,減少數(shù)據(jù)傳輸量,降低網(wǎng)絡(luò) 帶寬占用量,同時提高存儲服務(wù)器的空間利用率。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種在線備份服務(wù)軟件中的數(shù)據(jù)壓縮方法,該方法可以有 效地減小傳輸數(shù)據(jù)量,提高傳輸效率,并且可以極大地減小服務(wù)器端的數(shù)據(jù)冗余度,提高服 務(wù)器的存儲效率。本發(fā)明提供的一種在線備份服務(wù)軟件中的數(shù)據(jù)壓縮方法,其特征在于,該方法包 括下述步驟第1步客戶端接收用戶提交的備份請求,在向控制中心認證其合法性之后,通過 控制中心得到用于連接存儲端的信息;同時在本地生成備份信息文件,用于記錄備份文件 集中各備份文件的名字以及相應(yīng)的hash列表項;第2步客戶端按順序依次取一個原始文件,將文件名添加到備份信息文件中,并 按下述過程進行處理,所有原始文件處理完畢后轉(zhuǎn)第3步;(2. 1)將原始文件按照固定大小分塊,并順序?qū)⒎謮K后的原始文件數(shù)據(jù)讀入緩沖 區(qū)中;
(2. 2)計算緩沖區(qū)中數(shù)據(jù)塊的hash值,并添加此hash值到hash列表項中;存儲端判斷hash值對應(yīng)的數(shù)據(jù)塊是否存在,將結(jié)果反饋回客戶端。如果存在轉(zhuǎn)步驟(2. 4),否則 進入步驟(2. 3);(2. 3)壓縮數(shù)據(jù)塊,然后傳輸壓縮后的數(shù)據(jù)塊到存儲端;(2. 4)判斷待處理的原始文件的全部分塊是否處理完畢,如果是,進入第3步,否 則轉(zhuǎn)入步驟(2. 1);第3步打開備份信息文件,讀取原始文件數(shù)據(jù)到緩沖區(qū),計算hash值,將hash值 傳輸?shù)娇刂浦行谋4?;?步同時傳輸此hash值到存儲端,存儲端判斷hash值對應(yīng)的數(shù)據(jù)塊是否存在, 將結(jié)果反饋回客戶端;如果存在轉(zhuǎn)入第6步,否則進入第5步;第5步通過網(wǎng)絡(luò)傳輸緩沖區(qū)數(shù)據(jù)到存儲端;第6步備份完成,發(fā)送完成信號到控制中心和存儲端。本發(fā)明方法具有以下技術(shù)特點(1)本發(fā)明提出了在備份服務(wù)系統(tǒng)中客戶端進行文件傳輸時進行兩級壓縮存儲的 策略。上層全局壓縮,下層塊級壓縮。通過這兩層壓縮處理,極大程度地提高了存儲備份的 效率。(2)本發(fā)明方法采用的上層壓縮是全局壓縮。待備份的原始文件按固定大小分塊 (不足的也作為一個單獨的塊),根據(jù)數(shù)據(jù)塊的內(nèi)容生成一個獨一無二的hash值,作為數(shù)據(jù) 塊的“身份證”,即只有完全相同的數(shù)據(jù)塊的hash值才完全相同,同時也是作為此數(shù)據(jù)塊的 “地址”使用,即根據(jù)hash值就可以獲得對應(yīng)的數(shù)據(jù)塊。全局壓縮利用此hash值來保證數(shù) 據(jù)塊在存儲端的唯一性,即每個數(shù)據(jù)塊在存儲端只存儲一份拷貝,從而消除存儲端的冗余 數(shù)據(jù)塊。每個數(shù)據(jù)塊在傳輸之前,都會檢查存儲端是否已經(jīng)存在該數(shù)據(jù)塊的hash值。對存 在的數(shù)據(jù)塊,不進行數(shù)據(jù)塊的傳輸。對于不存在的數(shù)據(jù)塊,進行下層壓縮。(3)本發(fā)明方法采用的下層壓縮是塊級壓縮。塊級壓縮采用了已有的三種壓縮算 法,分別是LZ77、LZ0和BWT,來對一個數(shù)據(jù)塊進行塊內(nèi)壓縮,目的在于消除一個數(shù)據(jù)塊中的 冗余數(shù)據(jù)。在具體實現(xiàn)中,可根據(jù)軟件所服務(wù)的數(shù)據(jù)特征和機器配置選擇合適的壓縮算法。


圖1為本發(fā)明涉及的軟件架構(gòu)圖。圖2為本發(fā)明方法的流程圖。圖3為本發(fā)明涉及的備份文件集在存儲端的組織結(jié)構(gòu)。圖4為本發(fā)明兩級壓縮實例圖。
具體實施例方式本發(fā)明描述了一種在線存儲備份服務(wù)軟件中客戶端進行文件壓縮傳輸及存儲的 設(shè)計和實現(xiàn)方法,并在一種C/S模式的備份服務(wù)系統(tǒng)中實現(xiàn)。備份服務(wù)系統(tǒng)包括三個主要的部分控制中心、存儲端和客戶端。控制中心進行用戶權(quán)限認證,并且建立備份客戶端和存儲端之間的聯(lián)系,讓客戶 端可以連接到指定存儲端。并在備份或者恢復進行的過程中,實時監(jiān)測備份或者恢復的進度狀態(tài)。存儲端的主要作用就是接受從客戶端傳輸過來的數(shù)據(jù),并按照一定的格式存放這些數(shù)據(jù),起到備份的功效。并能夠在客戶端發(fā)出恢復請求的時候,將數(shù)據(jù)塊組織起來傳輸回 客戶端,還原成原始數(shù)據(jù)。此三方可以部署在同一臺服務(wù)器或分別位于不同的服務(wù)器上。三方之間的關(guān)系如 圖1所示。如圖2所示,本發(fā)明提供的在線備份服務(wù)軟件中的數(shù)據(jù)壓縮方法包括下述步驟(1)客戶端接收用戶提交的備份請求,在向控制中心認證其合法性之后,通過控制 中心得到用于連接存儲端的信息。同時在本地生成備份信息文件,用于記錄備份文件集中 各備份文件的名字以及相應(yīng)的hash列表項??蛻舳撕涂刂浦行牡恼J證是雙向的,客戶端連接上控制中心后,控制中心會向客 戶端發(fā)送一個認證請求。認證成功之后,客戶端也會向控制中心發(fā)起同樣的認證請求,經(jīng)過 這兩輪認證之后,控制中心才認可客戶端的合法性。備份信息文件由文件名和hash列表項組成。它記錄了所有備份原始文件的文件 名以及各文件所有分塊的hash列表項。hash列表項的定義如下struct HashListItem{_int64 offset ; //此數(shù)據(jù)塊在文件中的偏移值unsigned length ;// 此數(shù)據(jù)塊的長度CString hash ;// 此數(shù)據(jù)塊的 hash 值,hash 長度為 20Bytes} ;//hash 列表項大小為 8+4+20 = 32Bytes圖3所示為備份文件集在存儲端的組織結(jié)構(gòu)。圖中D1(l、Dn、D12為文件1的三個分 塊,hash1(1、hashn、hash12分別為這三個數(shù)據(jù)塊的hash值;同樣,D2(1、D21為文件2的兩個分 塊,hash20, hash21為這兩個數(shù)據(jù)塊的hash值。備份信息文件作為存儲端的一個數(shù)據(jù)塊,它 的hash值被存儲在控制中心。這樣就可以根據(jù)控制中心的備份信息文件的hash值獲得備 份信息文件,從而得到各個備份原始文件的分塊hash值,從而得到原始文件的分塊數(shù)據(jù)。(2)客戶端按順序依次取一個原始文件,將文件名添加到備份信息文件中,并按下 述過程進行處理,所有原始文件處理完畢后轉(zhuǎn)步驟(3)。(2. 1)按照固定的塊大小順序讀取原始文件數(shù)據(jù)到緩沖區(qū)中。即將原始文件分塊。(2. 2)計算緩沖區(qū)中數(shù)據(jù)塊的hash值,并添加此hash值到hash列表項中;存儲 端判斷hash值對應(yīng)的數(shù)據(jù)塊是否存在,將結(jié)果反饋回客戶端。如果存在轉(zhuǎn)步驟(2. 4),否則 進入步驟(2. 3)。在計算數(shù)據(jù)塊的hash值的時候,使用的是安全哈希算法(Secure HashAlgorithm, SHA)。SHA是一種數(shù)據(jù)加密算法,它對一個長度不超過264 二進制位的消息 產(chǎn)生160位(20Bytes)的消息摘要輸出。(2. 3)采用數(shù)據(jù)壓縮算法壓縮數(shù)據(jù)塊,然后傳輸壓縮后的數(shù)據(jù)塊到存儲端。在塊內(nèi)壓縮使用的算法有LZ77、LZO和BWT這三種。J. ziv和A. Lempel于1977年發(fā)表題為“順序數(shù)據(jù)壓縮的一個通用算法(A universal Algorithm for Sequential Datacoopression),,白勺論文,論文中描$白勺算夕去U后人稱為LZ77算法。LZ77算法用一種極為巧妙的方式將字典技術(shù)應(yīng)用于通用數(shù)據(jù)壓縮領(lǐng)域。形象地說,即用字典中的頁碼和行號代替文章中的每個單詞。LZO算法是由以A. Lempel、J. Ziv和B. Oberhumer共同開發(fā),故命名為 LZO(Lempel-Ziv-Oberhumer),它基于變長字典式壓縮,是一種適合于需要在實時情況下的 壓縮和解壓縮算法,使用較快的速率獲得合適的壓縮比。BffT算法于1999年由M. Burrows和D. J. wheeler共同提出,核心思想是對字符串 輪轉(zhuǎn)后得到的字符矩陣進行排序和變換,類似的變換算法被稱為Burrows-wheeler變換。 BffT算法在開放源碼的壓縮工具bzip中獲得了巨大的成功,bzip對于文本文件的壓縮效果 要遠好于使用LZ系列算法的工具軟件。對于配置比較低的系統(tǒng)或者是對壓縮效果并不十分要求的應(yīng)用,可以考慮使用 LZO或者是LZ77 ;對于配置比較高或者是對壓縮效果要求也比較高的應(yīng)用,可以考慮使用 BffT算法。(2. 4)判斷待處理的原始文件的全部分塊是否處理完畢,如果是,進入步驟(2), 否則轉(zhuǎn)入步驟(2. 1)。(3)打開備份信息文件,讀取原始文件數(shù)據(jù)到緩沖區(qū),計算hash值,將hash值傳輸 到控制中心保存。針對備份信息文件的內(nèi)容,相比每個備份文件的分塊hash列表項所占用的空間 大小而言,文件名占用的空間是可以忽略不計的。設(shè)步驟(2)中塊的大小為4M,而hash列表項大小為32Bytes,那么在備份信息文 件大小< 4M的時候,最大支持的單文件備份的大小為(備份信息文件最大值/hash列表 項大小)*分塊大小,即(4M/32B)*4M = 512G也就是說,在當前情況下的備份,所產(chǎn)生的備份信息文件只需要一個數(shù)據(jù)塊就足 以裝下。(4)同時傳輸此hash值到存儲端,存儲端判斷hash值對應(yīng)的數(shù)據(jù)塊是否存在,將 結(jié)果反饋回客戶端。如果存在轉(zhuǎn)入步驟(6),否則進入步驟(5)。(5)通過網(wǎng)絡(luò)傳輸緩沖區(qū)數(shù)據(jù)到存儲端。(6)備份完成,發(fā)送完成信號到控制中心和存儲端。如圖3所示,是備份文件集在存儲端的組織結(jié)構(gòu)。總的來說,備份客戶端對于每個數(shù)據(jù)塊,在傳輸之前都會計算出它的hash值并判 斷該hash值對應(yīng)的數(shù)據(jù)塊在存儲端是否存在,對于存在的數(shù)據(jù)塊,不進行處理,繼續(xù)處理 下一塊,對于不存在的數(shù)據(jù)塊塊,采用壓縮算法進行塊級壓縮處理。將經(jīng)過這兩步處理后得 到的數(shù)據(jù)塊通過網(wǎng)絡(luò)傳輸?shù)酱鎯Χ诉M行存儲。如此便完成了文件的兩級壓縮存儲。實例下面結(jié)合一個單文件的備份實例來進行說明。假設(shè)現(xiàn)在存儲端沒有任何數(shù)據(jù)。將 待備份的原始文件以4M為單位劃分成塊,記作b1;b2,……,bn。對每個數(shù)據(jù)塊、(1彡i彡η), 根據(jù)數(shù)據(jù)塊的內(nèi)容求得它的hash值hi(l ^ i < η),然后判斷此hash值對應(yīng)數(shù)據(jù)塊是否已 經(jīng)存在。由于這些hash值對存儲端是“新”的,故這η個塊都需要進行塊級壓縮(壓縮后 的數(shù)據(jù)塊加陰影以示區(qū)別),再將壓縮之后的數(shù)據(jù)塊通過廣域網(wǎng)(WAN)或局域網(wǎng)(LAN)傳輸?shù)酱鎯Χ吮4?。接著修改原始文件,假設(shè)修改之后除了數(shù)據(jù)塊bn之外,其余的數(shù)據(jù)塊都沒有改變。還是對這個原始文件執(zhí)行備份操作,那么前n-1個數(shù)據(jù)塊是不用再傳輸?shù)模@樣需要通過 壓縮之后傳輸?shù)臄?shù)據(jù)塊就只有最后一個修改的數(shù)據(jù)塊。在這種情況下全局壓縮率為(n-1)/ η,再加上塊級壓縮,總體壓縮率是相當客觀的。塊級壓縮是第二級壓縮,在全局壓縮(第一級壓縮)之后,用來處理全局壓縮處理 后的數(shù)據(jù)。塊級壓縮的處理過程應(yīng)該在全局壓縮之后、數(shù)據(jù)傳輸之前進行。要實現(xiàn)塊級壓縮,必然要使用壓縮算法。通過對數(shù)據(jù)的壓縮,減少數(shù)據(jù)傳輸量。本 軟件選擇現(xiàn)有的幾種成熟壓縮算法進行塊級壓縮,都可以得到較好的壓縮效果。對于壓縮 算法在此不做贅述。本發(fā)明不僅局限于上述具體實施方式
,本領(lǐng)域一般技術(shù)人員根據(jù)本發(fā)明公開的內(nèi) 容,可以采用其它多種具體實施方式
實施本發(fā)明,因此,凡是采用本發(fā)明的設(shè)計結(jié)構(gòu)和思 路,做一些簡單的變化或更改的設(shè)計,都落入本發(fā)明保護的范圍。
權(quán)利要求
一種在線備份服務(wù)軟件中的數(shù)據(jù)壓縮方法,其特征在于,該方法包括下述步驟第1步客戶端接收用戶提交的備份請求,在向控制中心認證其合法性之后,通過控制中心得到用于連接存儲端的信息;同時在本地生成備份信息文件,用于記錄備份文件集中各備份文件的名字以及相應(yīng)的hash列表項;第2步客戶端按順序依次取一個原始文件,將文件名添加到備份信息文件中,并按下述過程進行處理,所有原始文件處理完畢后轉(zhuǎn)到第3步;(2.1)將原始文件按照固定大小分塊,并順序?qū)⒎謮K后的原始文件數(shù)據(jù)讀入緩沖區(qū)中;(2.2)計算緩沖區(qū)中數(shù)據(jù)塊的hash值,并添加此hash值到hash列表項中;存儲端判斷hash值對應(yīng)的數(shù)據(jù)塊是否存在,將結(jié)果反饋回客戶端。如果存在轉(zhuǎn)步驟(2.4),否則進入步驟(2.3);(2.3)壓縮數(shù)據(jù)塊,然后傳輸壓縮后的數(shù)據(jù)塊到存儲端;(2.4)判斷待處理的原始文件的全部分塊是否處理完畢,如果是,進入第2步,否則轉(zhuǎn)入步驟(2.1);第3步打開備份信息文件,讀取原始文件數(shù)據(jù)到緩沖區(qū),計算hash值,將hash值傳輸?shù)娇刂浦行谋4?;?步同時傳輸此hash值到存儲端,存儲端判斷hash值對應(yīng)的數(shù)據(jù)塊是否存在,將結(jié)果反饋回客戶端。如果存在轉(zhuǎn)入第6步,否則進入第5步;第5步通過網(wǎng)絡(luò)傳輸緩沖區(qū)數(shù)據(jù)到存儲端;第6步備份完成,發(fā)送完成信號到控制中心和存儲端。
全文摘要
本發(fā)明公開了一種備份服務(wù)軟件中的數(shù)據(jù)壓縮方法,屬于計算機存儲備份服務(wù)和計算機數(shù)據(jù)壓縮領(lǐng)域,目的在于提高存儲備份服務(wù)的效率。在本發(fā)明中,提出了在客戶端通過兩級壓縮策略來降低系統(tǒng)負載的方法。上層壓縮即為全局壓縮,對備份原始文件按照固定大小進行分塊,計算每個塊的hash值,將此hash值作為數(shù)據(jù)塊的“身份證”,從而保證每個數(shù)據(jù)塊在存儲端全局范圍內(nèi)只有一份副本。下層壓縮為塊級,即通過壓縮算法實現(xiàn)數(shù)據(jù)塊內(nèi)的壓縮,進一步地減少了需要通過網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,節(jié)省帶寬。兩級壓縮共同作用,不僅提高了備份服務(wù)的效率,減少了數(shù)據(jù)傳輸量,同時也提高了存儲端空間的利用率。
文檔編號G06F11/14GK101820426SQ20101015228
公開日2010年9月1日 申請日期2010年4月22日 優(yōu)先權(quán)日2010年4月22日
發(fā)明者周可, 王樺, 秦明康, 索念 申請人:華中科技大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宝应县| 方城县| 闽清县| 栾城县| 云霄县| 波密县| 玛沁县| 双牌县| 秦安县| 革吉县| 濮阳县| 嘉黎县| 桃园市| 尉氏县| 孝义市| 龙井市| 宜州市| 东莞市| 克东县| 宁乡县| 航空| 潼关县| 普陀区| 棋牌| 四会市| 怀远县| 鄂托克旗| 章丘市| 东平县| 达日县| 含山县| 都兰县| 大关县| 巴里| 黑山县| 穆棱市| 昌乐县| 敦化市| 江北区| 麦盖提县| 河北省|