本發(fā)明涉及云計算技術(shù)領(lǐng)域,尤其涉及一種云備份方法及裝置。
背景技術(shù):
云備份是通過集群應(yīng)用、網(wǎng)格技術(shù)、分布式文件系統(tǒng)等功能,將各種不同類型的存儲設(shè)備通過應(yīng)用軟件集合起來協(xié)同工作,共同對外提供數(shù)據(jù)存儲備份的功能服務(wù)。云備份技術(shù)依賴于網(wǎng)絡(luò)技術(shù)的傳輸。在現(xiàn)有的備份方案中,每改變一個備份集的文件時,就需進行一次文件的備份操作。而此備份操作包含網(wǎng)絡(luò)傳輸,以及本地或者云存儲的文件讀寫操作,頻繁的網(wǎng)絡(luò)傳輸導(dǎo)致網(wǎng)絡(luò)帶寬的占用率高,各類大小文件的頻繁讀寫操作導(dǎo)致備份系統(tǒng)性能的嚴重下降。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提出一種云備份方法及裝置,能夠提高網(wǎng)絡(luò)利用率及系統(tǒng)性能。
本發(fā)明實施例提供一種云備份方法,包括:
接收客戶端發(fā)送的待備份的文件數(shù)據(jù);
將所述文件數(shù)據(jù)進行緩存;
在檢測到緩存的文件數(shù)據(jù)的數(shù)據(jù)量達到預(yù)設(shè)的閾值時,將所述緩存的文件數(shù)據(jù)寫入云存儲端進行備份。
進一步地,所述將所述文件數(shù)據(jù)進行緩存,具體包括:
為所述文件數(shù)據(jù)分配唯一的文件標識值;
根據(jù)所述文件標識值為所述文件數(shù)據(jù)分配緩存系統(tǒng);
將所述文件數(shù)據(jù)及其對應(yīng)的文件標識值緩存在所述緩存系統(tǒng)中。
進一步地,所述根據(jù)所述文件標識值為所述文件數(shù)據(jù)分配緩存系統(tǒng),具體包括:
采用哈希算法計算獲得所述文件標識值的哈希值;
計算所述哈希值對緩存系統(tǒng)的總個數(shù)取余的余數(shù)值;
為所述文件數(shù)據(jù)分配編號為所述余數(shù)值的緩存系統(tǒng)。
進一步地,所述在檢測到緩存的文件數(shù)據(jù)的數(shù)據(jù)量達到預(yù)設(shè)的閾值時,將所述緩存的文件數(shù)據(jù)寫入云存儲端進行備份,具體包括:
在檢測到所有緩存系統(tǒng)中緩存的文件數(shù)據(jù)的數(shù)據(jù)量達到預(yù)設(shè)的閾值時,將所有緩存系統(tǒng)中緩存的文件數(shù)據(jù)及其對應(yīng)的文件標識值寫入云存儲端進行備份。
進一步地,在所述將所有緩存系統(tǒng)中緩存的文件數(shù)據(jù)及其對應(yīng)的文件標識值寫入云端進行備份之后,還包括:
清除所有緩存系統(tǒng)中緩存的文件數(shù)據(jù),并向所述客戶端反饋文件列表,使所述客戶端根據(jù)所述文件列表中的文件標識值向所述云存儲端發(fā)送讀取指令,以讀取所述云存儲端中所述文件標識值所對應(yīng)的文件數(shù)據(jù)。
相應(yīng)地,本發(fā)明實施例還提供一種云備份裝置,包括:
接收模塊,用于接收客戶端發(fā)送的待備份的文件數(shù)據(jù);
緩存模塊,用于將所述文件數(shù)據(jù)進行緩存;以及,
備份模塊,用于在檢測到緩存的文件數(shù)據(jù)的數(shù)據(jù)量達到預(yù)設(shè)的閾值時,將所述緩存的文件數(shù)據(jù)寫入云存儲端進行備份。
進一步地,所述緩存模塊具體包括:
標識值分配單元,用于為所述文件數(shù)據(jù)分配唯一的文件標識值;
緩存系統(tǒng)分配單元,用于根據(jù)所述文件標識值為所述文件數(shù)據(jù)分配緩存系統(tǒng);以及,
緩存單元,用于將所述文件數(shù)據(jù)及其對應(yīng)的文件標識值緩存在所述緩存系統(tǒng)中。
進一步地,所述緩存系統(tǒng)分配單元具體包括:
哈希值計算子單元,用于采用哈希算法計算獲得所述文件標識值的哈希值;
數(shù)值計算單元,用于計算所述哈希值對緩存系統(tǒng)的總個數(shù)取余的余數(shù)值;以及,
分配子單元,用于為所述文件數(shù)據(jù)分配編號為所述余數(shù)值的緩存系統(tǒng)。
進一步地,所述備份模塊具體用于在檢測到所有緩存系統(tǒng)中緩存的文件數(shù)據(jù)的數(shù)據(jù)量達到預(yù)設(shè)的閾值時,將所有緩存系統(tǒng)中緩存的文件數(shù)據(jù)及其對應(yīng)的文件標識值寫入云存儲端進行備份。
進一步地,所述云備份裝置還包括:
反饋模塊,用于清除所有緩存系統(tǒng)中緩存的文件數(shù)據(jù),并向所述客戶端反饋文件列表,使所述客戶端根據(jù)所述文件列表中的文件標識值向所述云存儲端發(fā)送讀取指令,以讀取所述云存儲端中所述文件標識值所對應(yīng)的文件數(shù)據(jù)。
實施本發(fā)明實施例,具有如下有益效果:
本發(fā)明實施例提供的云備份方法及裝置,能夠?qū)蛻舳税l(fā)送過來的文件數(shù)據(jù)進行緩存,并在緩存的數(shù)據(jù)量達到預(yù)設(shè)的閾值時,將緩存的所有文件數(shù)據(jù)一并寫入云存儲端進行備份,從而大大減少網(wǎng)絡(luò)傳輸?shù)拇螖?shù)和讀寫操作的次數(shù),提高網(wǎng)絡(luò)帶寬的利用率及備份系統(tǒng)的性能;采用分布式的緩存系統(tǒng)來緩存客戶端發(fā)送的文件數(shù)據(jù),可以避免單臺緩存系統(tǒng)性能上的瓶頸,從而提高緩存性能。
附圖說明
圖1是本發(fā)明提供的云備份方法的一個實施例的流程示意圖;
圖2是本發(fā)明提供的云備份裝置的一個實施例的結(jié)構(gòu)示意圖;
圖3是本發(fā)明提供的云備份系統(tǒng)的一個實施例的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
參見圖1,本發(fā)明提供的云備份方法的一個實施例的流程示意圖,包括:
S1、接收客戶端發(fā)送的待備份的文件數(shù)據(jù);
S2、將所述文件數(shù)據(jù)進行緩存;
S3、在檢測到緩存的文件數(shù)據(jù)的數(shù)據(jù)量達到預(yù)設(shè)的閾值時,將所述緩存的文件數(shù)據(jù)寫入云存儲端進行備份。
需要說明的是,本發(fā)明實施例是從云備份服務(wù)端這一側(cè)進行描述的。云備份服務(wù)端為每一個備份新建備份集,填寫客戶端地址和備份目錄后,向客戶端發(fā)送指令以使客戶端進行備份??蛻舳嗽诮邮盏皆撝噶詈螅瑢⒋齻浞莸奈募?shù)據(jù)上傳至云備份服務(wù)端,云備份服務(wù)端緩存上傳的文件數(shù)據(jù),并在緩存的數(shù)據(jù)量,如文件數(shù)量、文件大小,達到預(yù)設(shè)的閾值時,將緩存的所有文件數(shù)據(jù)一并推送寫入到包括本地磁盤、云存儲等存儲后端。云備份服務(wù)端在接收到客戶端發(fā)送的文件數(shù)據(jù)時不會馬上將文件數(shù)據(jù)寫入云存儲端,而是先緩存起來,緩存到一定數(shù)量后再一并推送寫入到云存儲端,從而大大減少網(wǎng)絡(luò)傳輸?shù)拇螖?shù)和讀寫操作的次數(shù),提高網(wǎng)絡(luò)帶寬的利用率及備份系統(tǒng)的性能。
進一步地,所述將所述文件數(shù)據(jù)進行緩存,具體包括:
為所述文件數(shù)據(jù)分配唯一的文件標識值;
根據(jù)所述文件標識值為所述文件數(shù)據(jù)分配緩存系統(tǒng);
將所述文件數(shù)據(jù)及其對應(yīng)的文件標識值緩存在所述緩存系統(tǒng)中。
需要說明的是,云備份服務(wù)端具有N個緩存系統(tǒng),其中,N≥1。云備份服務(wù)端在接收到客戶端上傳的文件數(shù)據(jù)后,需將文件數(shù)據(jù)緩存到緩存系統(tǒng)中。云備份服務(wù)端先對文件數(shù)據(jù)分配一個唯一的文件標識值,再對文件標識值進行處理獲得該文件數(shù)據(jù)所對應(yīng)的緩存服務(wù)器,從而將該文件數(shù)據(jù)及其對應(yīng)的文件標識值以鍵值對的形式緩存到相應(yīng)的緩存服務(wù)器中。其中,采用分布式的架構(gòu)來設(shè)計緩存系統(tǒng),可以避免單臺緩存系統(tǒng)性能上的瓶頸,從而提高緩存性能。
進一步地,所述根據(jù)所述文件標識值為所述文件數(shù)據(jù)分配緩存系統(tǒng),具體包括:
采用哈希算法計算獲得所述文件標識值的哈希值;
計算所述哈希值對緩存系統(tǒng)的總個數(shù)取余的余數(shù)值;
為所述文件數(shù)據(jù)分配編號為所述余數(shù)值的緩存系統(tǒng)。
需要說明的是,云備份服務(wù)端中的N個緩存系統(tǒng)均具有一個編號,其編號依次為0~N-1。在為文件數(shù)據(jù)分配緩存系統(tǒng)時,先采用哈希算法對該文件數(shù)據(jù)的唯一的文件標識值進行計算,獲得哈希值,再用哈希值對N取余,獲得一個位于緩存系統(tǒng)編號區(qū)間的余數(shù)值,從而將編號為該余數(shù)值的緩存系統(tǒng)分配給該文件數(shù)據(jù),以便文件數(shù)據(jù)及其對應(yīng)的文件數(shù)據(jù)緩存到分配的緩存系統(tǒng)中。
另外,在文件數(shù)據(jù)還緩存在云備份服務(wù)端中時,客戶端可根據(jù)云備份服務(wù)端反饋的文件列表來向云備份服務(wù)端發(fā)送文件讀取請求,其中,文件讀取請求包括文件標識值。云備份服務(wù)端在接收到該文件讀取請求后,對文件標識值進行處理,先采用哈希算法對該文件標志值進行計算,獲得哈希值,再用哈希值對N取余,獲得的余數(shù)值,進而從編號為該余數(shù)值的緩存系統(tǒng)中讀取出文件標識值所對應(yīng)的文件數(shù)據(jù),并反饋給客戶端。
進一步地,所述在檢測到緩存的文件數(shù)據(jù)的數(shù)據(jù)量達到預(yù)設(shè)的閾值時,將所述緩存的文件數(shù)據(jù)寫入云存儲端進行備份,具體包括:
在檢測到所有緩存系統(tǒng)中緩存的文件數(shù)據(jù)的數(shù)據(jù)量達到預(yù)設(shè)的閾值時,將所有緩存系統(tǒng)中緩存的文件數(shù)據(jù)及其對應(yīng)的文件標識值寫入云存儲端進行備份。
需要說明的是,云備份服務(wù)端實時對所有緩存系統(tǒng)中緩存的數(shù)據(jù)量進行檢測,當檢測到緩存的所有文件數(shù)據(jù)的數(shù)據(jù)量達到預(yù)設(shè)的閾值時,將緩存的所有文件數(shù)據(jù)寫入到云存儲端進行備份。
進一步地,在所述將所有緩存系統(tǒng)中緩存的文件數(shù)據(jù)及其對應(yīng)的文件標識值寫入云存儲端進行備份之后,還包括:
清除所有緩存系統(tǒng)中緩存的文件數(shù)據(jù),并向所述客戶端反饋文件列表,使所述客戶端根據(jù)所述文件列表中的文件標識值向所述云存儲端發(fā)送讀取指令,以讀取所述云存儲端中所述文件標識值所對應(yīng)的文件數(shù)據(jù)。
需要說明的是,在將云備份服務(wù)端中緩存的所有文件數(shù)據(jù)寫入到云存儲端后,云備份服務(wù)端清除緩存的所有文件數(shù)據(jù)。另外,云備份服務(wù)端向客戶端反饋文件列表,其中,文件列表包括各個文件數(shù)據(jù)所對應(yīng)的文件標識值。客戶端可根據(jù)文件標識值向云存儲端發(fā)送讀取指令,以讀取相應(yīng)的文件數(shù)據(jù)。另外,客戶端還可根據(jù)文件標志值來獲取相應(yīng)文件數(shù)據(jù)的索引記錄等信息。
本發(fā)明實施例提供的云備份方法,能夠?qū)蛻舳税l(fā)送過來的文件數(shù)據(jù)進行緩存,并在緩存的數(shù)據(jù)量達到預(yù)設(shè)的閾值時,將緩存的所有文件數(shù)據(jù)一并寫入云存儲端進行備份,從而大大減少網(wǎng)絡(luò)傳輸?shù)拇螖?shù)和讀寫操作的次數(shù),提高網(wǎng)絡(luò)帶寬的利用率及備份系統(tǒng)的性能;采用分布式的緩存系統(tǒng)來緩存客戶端發(fā)送的文件數(shù)據(jù),可以避免單臺緩存系統(tǒng)性能上的瓶頸,從而提高緩存性能。
相應(yīng)的,本發(fā)明還提供一種云備份裝置及系統(tǒng),能夠?qū)崿F(xiàn)上述實施例中的云備份方法的所有流程。
參見圖2,是本發(fā)明提供的云備份方法的一個實施例的結(jié)構(gòu)示意圖,包括:
接收模塊1,用于接收客戶端發(fā)送的待備份的文件數(shù)據(jù);
緩存模塊2,用于將所述文件數(shù)據(jù)進行緩存;以及,
備份模塊3,用于在檢測到緩存的文件數(shù)據(jù)的數(shù)據(jù)量達到預(yù)設(shè)的閾值時,將所述緩存的文件數(shù)據(jù)寫入云存儲端進行備份。
進一步地,所述緩存模塊具體包括:
標識值分配單元,用于為所述文件數(shù)據(jù)分配唯一的文件標識值;
緩存系統(tǒng)分配單元,用于根據(jù)所述文件標識值為所述文件數(shù)據(jù)分配緩存系統(tǒng);以及,
緩存單元,用于將所述文件數(shù)據(jù)及其對應(yīng)的文件標識值緩存在所述緩存系統(tǒng)中。
進一步地,所述緩存系統(tǒng)分配單元具體包括:
哈希值計算子單元,用于采用哈希算法計算獲得所述文件標識值的哈希值;
數(shù)值計算單元,用于計算所述哈希值對緩存系統(tǒng)的總個數(shù)取余的余數(shù)值;以及,
分配子單元,用于為所述文件數(shù)據(jù)分配編號為所述余數(shù)值的緩存系統(tǒng)。
進一步地,所述備份模塊具體用于在檢測到所有緩存系統(tǒng)中緩存的文件數(shù)據(jù)的數(shù)據(jù)量達到預(yù)設(shè)的閾值時,將所有緩存系統(tǒng)中緩存的文件數(shù)據(jù)及其對應(yīng)的文件標識值寫入云存儲端進行備份。
進一步地,所述云備份裝置還包括:
反饋模塊,用于清除所有緩存系統(tǒng)中緩存的文件數(shù)據(jù),并向所述客戶端反饋文件列表,使所述客戶端根據(jù)所述文件列表中的文件標識值向所述云存儲端發(fā)送讀取指令,以讀取所述云存儲端中所述文件標識值所對應(yīng)的文件數(shù)據(jù)。
參見圖3,是本發(fā)明提供的云備份方法的一個實施例的結(jié)構(gòu)示意圖,包括客戶端31、云備份服務(wù)端32、云備份服務(wù)端本地磁盤33和云存儲端34。其中,客戶端31將需要備份的文件數(shù)據(jù)上傳至云備份服務(wù)端32,云備份服務(wù)端32將文件數(shù)據(jù)緩存起來,當緩存的文件數(shù)據(jù)的數(shù)據(jù)量達到預(yù)設(shè)的閾值時,再將緩存的文件數(shù)據(jù)一并推送寫入到云備份服務(wù)端本地磁盤33或云存儲端34等存儲后端。
本發(fā)明實施例提供的云備份裝置及系統(tǒng),能夠?qū)蛻舳税l(fā)送過來的文件數(shù)據(jù)進行緩存,并在緩存的數(shù)據(jù)量達到預(yù)設(shè)的閾值時,將緩存的所有文件數(shù)據(jù)一并寫入云存儲端進行備份,從而大大減少網(wǎng)絡(luò)傳輸?shù)拇螖?shù)和讀寫操作的次數(shù),提高網(wǎng)絡(luò)帶寬的利用率及備份系統(tǒng)的性能;采用分布式的緩存系統(tǒng)來緩存客戶端發(fā)送的文件數(shù)據(jù),可以避免單臺緩存系統(tǒng)性能上的瓶頸,從而提高緩存性能。
以上所述是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍。