專利名稱:一種云備份服務(wù)的本地緩存設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及云計算存儲服務(wù)領(lǐng)域,尤其涉及一種云在線備份服務(wù)管理的方法和系統(tǒng),能有效的提高在線備份服務(wù)的用戶體驗。
背景技術(shù):
隨著云服務(wù)的興起,云在線備份服務(wù)得以逐漸普及,其是一種通過互聯(lián)網(wǎng)提供給用戶來備份和儲存電腦檔案的服務(wù)。通常情況下,在線備份系統(tǒng)總是包括客戶端軟件和在線備份服務(wù),允許用戶運行并配置客戶端軟件來定時(比如每天一次)搜集 、壓縮、加密并傳送變化的數(shù)據(jù)到互聯(lián)網(wǎng)上的存儲服務(wù)端。有了在線備份服務(wù),用戶可以不再擔(dān)心電腦或移動設(shè)備中數(shù)據(jù)的丟失,并可以在不同電腦中恢復(fù)文件,解決了用戶的后顧之憂。這也是當(dāng)前SaaS面向服務(wù)的理念。但在線備份服務(wù)使用也不盡完美,由于數(shù)據(jù)在互聯(lián)網(wǎng)上傳輸速率慢(相比于局域網(wǎng)內(nèi)的網(wǎng)絡(luò)存儲),因此在線備份和還原文件也顯得緩慢,需要用戶在一個帶寬富裕的時間段進(jìn)行。特別是最初的備份可能需要一天或更長的時間,隨后的增量備份會用少得多的時間,但也必須保證電腦始終在線;有些備份服務(wù)支持壓縮,但對于像圖像、視頻和音頻文件,由于這些文件的壓縮比都已經(jīng)很高,壓縮也很難減少備份的時間;這些都極大的影響了用戶體驗。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種具有本地緩存功能的設(shè)備來加速在線備份的速度,對于用戶來說也并沒有引入本地緩存設(shè)備而帶來更復(fù)雜的操作,從而使用戶體驗得到提升,減少計算機(jī)備份時的開機(jī)時間,提供工作效率。如圖I所示,本發(fā)明公開了一種存儲設(shè)備100,它介于個人電腦和云在線備份服務(wù)之間,可作為云在線備份服務(wù)110的本地緩存設(shè)備,本發(fā)明涉及的本地緩存設(shè)備有以下特征·本地存儲設(shè)備作為一個高速緩存,介于個人電腦/移動設(shè)備和在線云備份存儲服務(wù)之間;個人電腦或移動設(shè)備上運行的備份客戶端可以自動檢測局域網(wǎng)中的本地存儲設(shè)備,并以局域網(wǎng)的速度備份文件到本地緩存設(shè)備中;本地存儲設(shè)備可自動去除重復(fù)文件,并將文件定時備份到云備份存儲服務(wù)中;備份客戶端可從本地緩存設(shè)備或云備份存儲服務(wù)直接恢復(fù)文件到個人電腦或移動設(shè)備中?!け镜鼐彺嬖O(shè)備可以按預(yù)定設(shè)置,每天、每周、或在一天的任何指定的時間執(zhí)行備份操作,將緩存中的文件備份到云存儲服務(wù)中?!と绻钟蚓W(wǎng)中沒有本地緩存設(shè)備,個人電腦或移動設(shè)備上的備份客戶端可以直接備份到云備份存儲服務(wù)中?!け镜鼐彺嬖O(shè)備可以保存快照及快照中文件的元數(shù)據(jù)信息,滿足備份客戶端讀取快照信息及文件請求。
本地緩存設(shè)備根據(jù)備份快照增量備份文件到云存儲服務(wù)中,減少網(wǎng)絡(luò)帶寬?!け镜鼐彺嬖O(shè)備中的文件在同步到云備份存儲服務(wù)中后,會自動根據(jù)磁盤的容量來決定是否刪除本地緩存中的文件?!浞菘蛻舳丝梢圆榭幢镜鼐彺嬖O(shè)備中在不同時刻的快照?!け镜鼐彺嬖趥浞菘蛻舳苏埱笞x取備份快照信息 時,如果發(fā)現(xiàn)沒有客戶端請求的指定時間的快照,則在云存儲備份服務(wù)中查找快照,并將快照從云備份服務(wù)中拷貝到本地緩存設(shè)備中,更新本地快照信息?!け镜鼐彺嬖趥浞菘蛻舳苏埱蠡謴?fù)備份快照中的文件時,如果發(fā)現(xiàn)沒有客戶端請求的快照對應(yīng)的文件,則在云存儲服務(wù)中查找文件,并將文件從云備份服務(wù)中拷貝到本地緩存設(shè)備中。下面結(jié)合附圖進(jìn)一步詳細(xì)說明本發(fā)明的具體實施方式
。
圖I是本地緩存設(shè)備在整個云在線備份系統(tǒng)中的位置2是本地緩存設(shè)備管理軟件模塊3是備份動作描述示意4是恢復(fù)動作描述示意圖
具體實施例方式本發(fā)明主要是針對通過互聯(lián)網(wǎng)在線備份慢而提出來的一種本地存儲緩存設(shè)備,包括硬件、操作系統(tǒng)軟件和在它們之上的設(shè)備管理軟件。其中硬件和操作系統(tǒng)是可采用通用的x86兼容設(shè)備及Linux操作系統(tǒng),而設(shè)備管理軟件則是本發(fā)明的主要內(nèi)容,也是整個緩存設(shè)備實現(xiàn)備份緩存邏輯的基礎(chǔ),如圖2所示,主要包括以下幾個主要模塊連接管理模塊200 :同時負(fù)責(zé)管理緩存設(shè)備和備份客戶端及在線云備份服務(wù)的網(wǎng)絡(luò)連接,當(dāng)網(wǎng)絡(luò)連接長時間無數(shù)據(jù)交互時,將自動斷開網(wǎng)絡(luò)。連接管理模塊分別綁定不同的端口來實現(xiàn)對管理API210和存儲API215的調(diào)用,支持SSL加密傳輸協(xié)議;管理API 210 :主要提供設(shè)備管理和控制用的API調(diào)用,比如讀取設(shè)備狀態(tài)、設(shè)置參數(shù)、管理備份快照、重啟和關(guān)機(jī)等;存儲API 215 :主要提供存儲相關(guān)的API調(diào)用,如文件備份和恢復(fù)等;指令執(zhí)行220 :解析通過管理API和存儲API傳遞過來的參數(shù),打包成執(zhí)行指令,并轉(zhuǎn)化成為內(nèi)部子指令,調(diào)用其它子模塊來完成業(yè)務(wù)功能,它是整個設(shè)備執(zhí)行邏輯的調(diào)度和分發(fā)中心。快照管理230 :緩存設(shè)備對每一次備份操作都將保留一份快照的元數(shù)據(jù)信息,包括備份時間,備份涉及的文件等信息;在一個快照內(nèi),將為每個文件進(jìn)行版本管理;在快照對應(yīng)的文件在本地緩存中刪除后,這些快照元數(shù)據(jù)信息也都將保留,供以后版本比對和恢復(fù)文件操作用;存儲緩存管理240 :可管理多個磁盤上的文件及未用的磁盤空間列表,并利用緩存管理算法來決定哪些文件該保留在磁盤上,如MRU算法,指的是最近經(jīng)常使用的文件會保留在磁盤上;
加密250 :利用加密算法(AES 256位)來保證數(shù)據(jù)備份的私密性;備份引擎260 :通過分發(fā)管理模塊270和連接管理模塊200將本地緩沖區(qū)中的未備份文件數(shù)據(jù)備份到在線備份到遠(yuǎn)端服務(wù)器,一旦文件備份成功,將標(biāo)記其為可替換狀態(tài),并交給存儲緩存管理模塊來管理。備份的時機(jī)可以根據(jù)用戶的設(shè)置定時周期性(每小時,每天、每周或任意指定時間)的備份或在存儲緩沖區(qū)不夠用的情況下自動促發(fā)執(zhí)行;分發(fā)管理270 :主要起兩個作用,一是將根據(jù)不同的數(shù)據(jù)包映射到不同的網(wǎng)絡(luò)連接,并通過這些連接發(fā)送數(shù)據(jù),網(wǎng)絡(luò)連接可以是備份客戶端或在線備份服務(wù),二是將實現(xiàn)非阻塞的異步調(diào)用,其它模塊在發(fā)送數(shù)據(jù)后將立即返回,分發(fā)管理模塊負(fù)責(zé)接受從網(wǎng)絡(luò)連接傳過來的數(shù)據(jù)包,并調(diào)用響應(yīng)的回調(diào)函數(shù)來處理數(shù)據(jù)包。通用模塊280 :由一些通用的功能庫組成,包括異步10(利用/dev/epoll接口來實現(xiàn)),異步調(diào)用管理器(包括線程池管理、消息隊列管理和消息隊列事件促發(fā)等),異步磁盤操作(對操作系統(tǒng)同步磁盤操作包裝,實現(xiàn)異步功能),IO緩存管理(基于引用計數(shù)的·緩存管理,用于在不同的模塊及不同的線程間傳遞數(shù)據(jù)),配置管理(對多個配置源統(tǒng)一管理,如環(huán)境變量、配置文件和命令行參數(shù)等,配置變更可在運行時生效,修改配置的方式包括網(wǎng)絡(luò)API和直接修改配置文檔兩種方式),日志管理(可定義日志格式及文件溢出控制等)對于備份客戶端發(fā)起的備份文擋請求,如圖3描述,備份設(shè)備整個處理步驟如下步驟301,備份客戶端發(fā)起SSL鏈接請求,建立和緩存設(shè)備間的通訊鏈路;步驟302,通過步驟301建立起來的通訊鏈路,調(diào)用管理API接口模塊,并請求執(zhí)行創(chuàng)建快照SNAPSHOT指令;步驟303,管理API模塊解析SNAPSHOT指令,驗證相關(guān)參數(shù),并調(diào)用指令執(zhí)行模塊來執(zhí)行指令;步驟304,執(zhí)行指令模塊分析SNAPSHOT指令,并調(diào)用快照管理模塊來創(chuàng)建快照;步驟305,返回快照基本信息給備份客戶端;步驟306,備份客戶端根據(jù)創(chuàng)建的快照信息,啟動備份會話,開始調(diào)用存儲API接口模塊;步驟307,存儲API接口模塊解析備份指令,驗證相關(guān)參數(shù),調(diào)用指令執(zhí)行模塊來執(zhí)行備份BACKUP指令;步驟308,返回創(chuàng)建的備份會話信息給備份客戶端;步驟309,備份客戶端根據(jù)存儲緩存設(shè)備返回的備份會話信息,開始執(zhí)行備份會話,創(chuàng)建多個線程,生成多個鏈接請求將此次備份會話中涉及的備份快照中的所有文件上傳到存儲緩存設(shè)備;步驟310,對于每個線程,通過會話鏈接將包含文件、快照及會話等信息的PUT數(shù)據(jù)包傳遞到備份設(shè)備端,由存儲API模塊接口來解析數(shù)據(jù)包;步驟311,API接口模塊調(diào)用指令執(zhí)行模塊來執(zhí)行PUT指令來存儲從備份客戶端傳過來的要備份的文件;步驟312,指令執(zhí)行模塊調(diào)用緩存管理模塊來分配存儲緩存空間來存儲要備份的文件,其為每個文件都要生成MD5代碼,用于自動去重處理,如有相同的MD5代碼則認(rèn)為兩個文件相同;
步驟313,備份的同時,將文件加密保存;步驟314,存儲緩沖設(shè)備發(fā)現(xiàn)如果文件存儲空間不夠,備份引擎就會啟動云端備份進(jìn)程來將本地緩存中的文件備份到云存儲服務(wù)中,這里的緩存替換算法常用的如MRU算法(最近經(jīng)常使用的會保留);步驟315,云端備份進(jìn)程在備份單個文件時,將備份信息轉(zhuǎn)換成多個備份請求數(shù)據(jù)包,并通過分發(fā)管理模塊傳到云端服務(wù)中;步驟316,指令執(zhí)行模塊在PUT指令執(zhí)行結(jié)束后,將狀態(tài)信息返回給備份客戶端,完成單個文件備份請求;步驟317,在本次備份會話中涉及的快照的所有文件備份完畢后,結(jié)束備份會話。
對于備份客戶端發(fā)起的恢復(fù)文件請求,如圖4描述,備份設(shè)備整個處理步驟如下步驟401,備份客戶端發(fā)起SSL鏈接請求,建立和緩存設(shè)備間的通訊鏈路;步驟402,創(chuàng)建讀取快照SNAPSHOT指令數(shù)據(jù)包,通過步驟401建立起來的通訊鏈路傳遞到備份緩存設(shè)備端,并由管理API接口模塊來解析數(shù)據(jù)包;步驟403,管理API模塊解析讀取快照指令,驗證相關(guān)參數(shù),并調(diào)用指令執(zhí)行模塊來讀取快照信息指令;步驟404,執(zhí)行指令模塊調(diào)用快照管理模塊來讀取快照信息;步驟405,返回快照信息給備份客戶端;步驟406,備份客戶端分析快照信息,并根據(jù)用戶需要恢復(fù)的文件信息形成恢復(fù)RESTORE指令數(shù)據(jù)包,傳遞給存儲API模塊來創(chuàng)建恢復(fù)文件會話;步驟407,存儲API模塊分析恢復(fù)指令,驗證相關(guān)參數(shù),并調(diào)用指令執(zhí)行模塊來執(zhí)行恢復(fù)指令;步驟408,返回恢復(fù)會話信息給備份客戶端;步驟409,備份客戶端根據(jù)存儲緩存設(shè)備返回的恢復(fù)會話信息,開始啟動恢復(fù)會話,創(chuàng)建多個線程,生成多個鏈接請求下載此次恢復(fù)會話中涉及的所有文件;步驟410,對于每個線程,通過會話鏈接將包含要恢復(fù)文件及會話等信息的GET數(shù)據(jù)包傳遞到備份設(shè)備端,由存儲API模塊接口來解析數(shù)據(jù)包;步驟411,API接口模塊調(diào)用指令執(zhí)行模塊來執(zhí)行GET指令來讀取要恢復(fù)的文件;步驟412,指令執(zhí)行模塊調(diào)用緩存管理模塊來讀取要恢復(fù)的文件;步驟413,如果此時要恢復(fù)的文件在緩沖區(qū)中沒有被找到,將調(diào)用備份引擎來連接云端備份服務(wù);步驟414,備份引擎將恢復(fù)信息轉(zhuǎn)換成恢復(fù)請求數(shù)據(jù)包,并通過分發(fā)管理模塊傳到z 端服務(wù)中;步驟415,云端服務(wù)傳回要恢復(fù)的文件,并更新設(shè)備中的存儲緩存。步驟416,將數(shù)據(jù)解密。步驟417,返回給GET指令執(zhí)行模塊;步驟418,將要恢復(fù)的文件轉(zhuǎn)換成數(shù)據(jù)包,作為GET指令的執(zhí)行結(jié)果返回給備份客戶端;步驟419,在本次恢復(fù)會話中涉及的所有文件恢復(fù)完畢后,結(jié)束恢復(fù)會話。本發(fā)明的效果分析
為了實現(xiàn)在線備份服務(wù),在被保護(hù)的個人電腦或移動設(shè)備上都有備份客戶端,一般來說,備份客戶端在后臺運行,需要耗費很多CPU處理時間和內(nèi)存空間以適應(yīng)不同網(wǎng)絡(luò)帶寬條件。尤其當(dāng)網(wǎng)絡(luò)帶寬比較低的時候,備份的用戶體驗就大打折扣。本發(fā)明提供的這種實現(xiàn)方法,首先將文件備份到一個本地緩存設(shè)備上,備份操作將是以局域網(wǎng)的速度快速進(jìn)行,備份很快結(jié)束,個人電腦或移動設(shè)備的使用將不受影響,本地緩存設(shè)備負(fù)責(zé)將文件最終同步到云端的數(shù)據(jù)備份服務(wù)中去,它簡潔有效地解決了在線備份時間長,效率低的問題。上述實施例中的設(shè)備管理/功能模塊/功能單元以軟件功能模塊的形式實現(xiàn),可作為獨立的產(chǎn)品銷售或使用,也可以作為其它產(chǎn)品的一個完整的子功能模塊,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本 發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求所述的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種云備份服務(wù)本地緩存設(shè)備,其特征在于 本地存儲設(shè)備作為一個高速緩存,介于個人電腦/移動設(shè)備和在線云備份存儲服務(wù)之間; 個人電腦或移動設(shè)備上運行的備份客戶端可以自動檢測局域網(wǎng)中的本地存儲設(shè)備,并以局域網(wǎng)的速度備份文件到本地緩存設(shè)備中; 本地存儲設(shè)備可自動去除重復(fù)文件,并將文件定時備份到云備份存儲服務(wù)中; 備份客戶端可從本地緩存設(shè)備或云備份存儲服務(wù)直接恢復(fù)文件到個人電腦或移動設(shè)備中。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,本地緩存設(shè)備可以按預(yù)定設(shè)置,每天、每周、或在一天的任何指定的時間執(zhí)行備份操作,將緩存中的文件備份到云存儲服務(wù)中。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,如果局域網(wǎng)中沒有本地緩存設(shè)備,個人電腦或移動設(shè)備上的備份客戶端可以直接備份到云備份存儲服務(wù)中。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,本地緩存設(shè)備可以保存快照及快照中文件的元數(shù)據(jù)信息,滿足備份客戶端讀取快照信息及文件請求。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,本地緩存設(shè)備根據(jù)備份快照增量備份文件到云存儲服務(wù)中,減少網(wǎng)絡(luò)帶寬。
6.根據(jù)權(quán)利要求I所述的方法,其特征在于,本地緩存設(shè)備中的文件在同步到云備份存儲服務(wù)中后,會自動根據(jù)磁盤的容量來決定是否刪除本地緩存中的文件。
7.根據(jù)權(quán)利要求I所述的方法,其特征在于,備份客戶端可以查看本地緩存設(shè)備中在不同時刻的快照。
8.根據(jù)權(quán)利要求I所述的方法,其特征在于,本地緩存在備份客戶端請求讀取備份快照信息時,如果發(fā)現(xiàn)沒有客戶端請求的指定時間的快照,則在云存儲備份服務(wù)中查找快照,并將快照從云備份服務(wù)中拷貝到本地緩存設(shè)備中,更新本地快照信息。
9.根據(jù)權(quán)利要求I所述的方法,其特征在于,本地緩存在備份客戶端請求恢復(fù)備份快照中的文件時,如果發(fā)現(xiàn)沒有客戶端請求的快照對應(yīng)的文件,則在云存儲服務(wù)中查找文件,并將文件從云備份服務(wù)中拷貝到本地緩存設(shè)備中。
全文摘要
本發(fā)明公開了一種為云備份服務(wù)提供的一個本地緩存設(shè)備,其特點在于,在小型辦公室或家庭里,個人電腦和移動設(shè)備上運行的備份客戶端程序通過局域網(wǎng)自動檢測到本地緩存設(shè)備100后,將文件首先備份到本地緩存設(shè)備,而不是直接備份到云在線備份服務(wù)110中,本地緩存設(shè)備將自動刪除重復(fù)文件,并跟蹤更改的文件和執(zhí)行增量備份將文件同步到云在線備份服務(wù)中,通過本地緩存設(shè)備提高用戶的備份速度,用戶體驗得到極大的提升。
文檔編號H04L12/24GK102957717SQ20111024242
公開日2013年3月6日 申請日期2011年8月23日 優(yōu)先權(quán)日2011年8月23日
發(fā)明者崔春明 申請人:崔春明