亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種云存儲服務(wù)客戶端高效細粒度數(shù)據(jù)緩存系統(tǒng)與方法

文檔序號:7766613閱讀:335來源:國知局
專利名稱:一種云存儲服務(wù)客戶端高效細粒度數(shù)據(jù)緩存系統(tǒng)與方法
技術(shù)領(lǐng)域
本發(fā)明屬于計算機數(shù)據(jù)存儲技術(shù)領(lǐng)域,尤其是一種云存儲服務(wù)客戶端高效細粒 度數(shù)據(jù)緩存系統(tǒng)與方法,在網(wǎng)絡(luò)帶寬較低時,盡可能提高用戶的使用體驗,并節(jié)省網(wǎng)絡(luò) 帶寬和服務(wù)器端計算資源。
背景技術(shù)
云存儲是一種目前迅速興起、前景廣闊的數(shù)據(jù)服務(wù),它允許用戶將數(shù)據(jù)放在專 業(yè)存儲服務(wù)運營商提供的存儲空間里,用戶能夠在任何時間從任何地點通過網(wǎng)絡(luò)方便地 訪問自己的數(shù)據(jù)。隨著目前個人數(shù)據(jù)量的增長,以及越來越多的人共享數(shù)據(jù),云存儲服 務(wù)得到了越來越廣的應(yīng)用,同時,云存儲中的數(shù)據(jù)量也越來越大。由于目前用戶還是通 過網(wǎng)絡(luò)來訪問云存儲中的數(shù)據(jù),而網(wǎng)絡(luò)帶寬的增長速度遠遠跟不上數(shù)據(jù)量的增長速度, 所以如何在有限帶寬下有效提高用戶的使用感受就成為一個關(guān)鍵的技術(shù)問題。目前流行的云存儲服務(wù)都是以文件作為最小操作單位的。一般用戶態(tài)的應(yīng)用程 序在訪問文件時,文件系統(tǒng)需要能夠提供完整的文件信息和文件內(nèi)容才允許應(yīng)用程序訪 問,因此如果直接在用戶態(tài)應(yīng)用層提供緩存機制,那么一般只能實現(xiàn)文件粒度的緩存。 按文件粒度進行操作可以提供很多文件系統(tǒng)自有的特性,例如數(shù)據(jù)一致性,對一個文件 的關(guān)閉操作標志了這個文件的一個一致點,按照關(guān)閉操作來處理文件可以更簡單地避免 客戶端與云存儲服務(wù)器端不一致的情況發(fā)生。但這種傳統(tǒng)的以文件為粒度的緩存方法并 不高效,它要么占用客戶端大量空間存儲很多極少被訪問的數(shù)據(jù),要么犧牲大量網(wǎng)絡(luò)帶 寬靠頻繁從服務(wù)器下載來實現(xiàn)緩存文件替換,難以同時實現(xiàn)緩存空間和網(wǎng)絡(luò)帶寬的高效 利用。當用戶需要操作一個文件時,即使只是想訪問或修改該文件的一小部分,也必須 要求客戶端存儲有該文件的完整副本,如果客戶端沒有這個文件的副本,則要從云存儲 的服務(wù)器端通過網(wǎng)絡(luò)有可能是廣域網(wǎng)將整個文件取回,而且,當待訪問的文件較大而本 地又無緩存時,將完整文件從云存儲服務(wù)器下載到客戶端會造成客戶端長時間等待,這 一操作不僅耗費大量帶寬和服務(wù)器端資源,而且還需要用戶等候很長時間,例如,即使 在當前較好的網(wǎng)絡(luò)條件下如2Mbps接入帶寬,取回幾十M大小的文件就至少需要讓用戶 等候幾分鐘的時間才能開始訪問自己的數(shù)據(jù),這無疑會嚴重損害用戶體驗。由于上述原因,目前大部分云存儲服務(wù),例如卓普鮑克斯(Dropbox)公司提供 的云存儲服務(wù)客戶端Dropbox,以及亞馬遜(Amazon)公司提供的云存儲服務(wù)S3,只能用 于備份文件,并要求客戶端具有跟該用戶在云存儲服務(wù)端相同大小的存儲空間來放置服 務(wù)器所有個人文件的副本,只有這樣才能讓用戶快速、便捷地使用自己的數(shù)據(jù)。然而, 以上方法直接導致用戶的云存儲空間受限于本地客戶端的存儲能力,無法真正實現(xiàn)讓云 存儲服務(wù)提供無限存儲能力,允許用戶按需購買任意大存儲空間的目標。這將導致云存 儲服務(wù)無法充分發(fā)揮其優(yōu)勢,甚至難以在實際中得到廣泛的應(yīng)用和快速的發(fā)展。
發(fā)明內(nèi)容
為克服現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種云存儲服務(wù)客戶端高效細 粒度數(shù)據(jù)緩存系統(tǒng)與方法。為實現(xiàn)上述目的,本發(fā)明采取的總體技術(shù)方案為,一種云存儲服務(wù)客戶端高效 細粒度數(shù)據(jù)緩存系統(tǒng),包括應(yīng)用程序模塊、文件系統(tǒng)模塊、服務(wù)器、虛擬網(wǎng)絡(luò)存儲模 塊,其特征在于,該系統(tǒng)還包括以下模塊本地移動存儲設(shè)備,用于緩存服務(wù)器文件的部分數(shù)據(jù)和服務(wù)器文件的全部元數(shù) 據(jù);用戶態(tài)文件系統(tǒng)模塊,用于重新定向本地文件系統(tǒng)對虛擬網(wǎng)絡(luò)設(shè)備的讀寫操 作,實現(xiàn)應(yīng)用程序?qū)Ρ镜匚募c云存儲服務(wù)器上文件的無差別訪問。所述虛擬網(wǎng)絡(luò)存儲模塊為卷形式,客戶端對卷的操作全部由用戶態(tài)文件系統(tǒng)模 塊完成。所述客戶端文件系統(tǒng)采用稀疏文件格式存儲數(shù)據(jù)。所述稀疏文件與客戶端原文件一一對應(yīng)。一種云存儲服務(wù)客戶端高效細粒度數(shù)據(jù)緩存實現(xiàn)方法,包括以下步驟步驟1、客戶端的用戶態(tài)文件系統(tǒng)模塊攔截對移動設(shè)備的讀寫操作;步驟2、根據(jù)讀寫操作的內(nèi)容進行判斷,如果讀取的內(nèi)容在本地有緩存,則從本 地的稀疏文件中讀出,如果沒有則按照讀取操作的大小向服務(wù)器請求數(shù)據(jù),并將寫入的 數(shù)據(jù)直接放入本地緩存中;步驟3、同步線程檢查本地的待同步數(shù)據(jù)表,將客戶端新寫入的數(shù)據(jù)上傳到服務(wù)
ο所述步驟1中的讀操作具體包括以下步驟步驟11、客戶端應(yīng)用程序模塊讀取文件內(nèi)容,用戶態(tài)文件系統(tǒng)模塊捕獲其讀取 的文件偏移和請求長度;步驟12、根據(jù)本地緩存的索引檢查需要讀取的數(shù)據(jù)是否在本地存在,如果存在 則從本地緩存中讀取需要的數(shù)據(jù),更新被讀取文件在本地緩存的文件元信息,并將更新 后的元信息放入本地的待同步緩存表中;步驟13、不存在則檢查當前的聯(lián)網(wǎng)狀態(tài),聯(lián)網(wǎng)則從云存儲服務(wù)器端讀取需要的 數(shù)據(jù),將從服務(wù)器端取得的數(shù)據(jù)復(fù)制一份存在本地移動設(shè)備中,并更新本地緩存數(shù)據(jù)的 索引,未聯(lián)網(wǎng)則返回讀取數(shù)據(jù)失??;所述步驟12中的文件元信息包括文件名、文件的完整路徑、創(chuàng)建時間、最后訪 問時間、最后修改時間、文件大小或文件屬性等信息。所述步驟2中的同步緩存表記錄有文件的全局標示,以及數(shù)據(jù)塊相對于整個文 件的偏移地址和長度。所述步驟1中的寫操作具體包括以下步驟步驟21、客戶端應(yīng)用程序模塊向移動設(shè)備中的文件寫入數(shù)據(jù),用戶態(tài)文件系統(tǒng) 模塊捕獲其寫請求的文件偏移以及寫入內(nèi)容的長度;步驟22、檢查當前聯(lián)網(wǎng)狀態(tài),聯(lián)網(wǎng)則將數(shù)據(jù)寫入本地移動存儲設(shè)備,更新本地 緩存數(shù)據(jù)索引和本地緩存的元數(shù)據(jù)信息,將數(shù)據(jù)寫入遠程數(shù)據(jù)存儲服務(wù)器,并更新遠程元數(shù)據(jù)服務(wù)器上的文件元信息,否則將數(shù)據(jù)寫入本地移動存儲設(shè)備,更新本地緩存數(shù)據(jù)索 弓丨,并更新本地緩存的元數(shù)據(jù)信息,將寫入數(shù)據(jù)的信息記錄到客戶端待同步緩存表中;步驟23、檢查服務(wù)器端數(shù)據(jù)與元數(shù)據(jù)是否寫入成功,如果成功則結(jié)束,否則將寫入數(shù)據(jù)的信息記錄到客戶端待同步緩存表中,等待聯(lián)網(wǎng)后寫入或者重新寫入。所述步驟3進一步包括以下步驟步驟31、檢查待同步緩存表中是否有需要同步的項;步驟32、檢查是否處于聯(lián)網(wǎng)狀態(tài),如果聯(lián)網(wǎng)則從待同步緩存表中選取一項,將 需要同步的元數(shù)據(jù)發(fā)送到元數(shù)據(jù)服務(wù)器上,否則同步線程休眠,等待下一次喚醒;步驟33、檢查發(fā)送是否成功,如果成功則刪除待同步緩存表中已經(jīng)處理的一 項,并繼續(xù)檢查待同步緩存表中是否有需要同步的項。本發(fā)具有明顯的優(yōu)點和積極效果。1、本發(fā)明解決了云存儲系統(tǒng)中客戶端在網(wǎng)絡(luò) 帶寬資源有限情況下不能夠快速高效訪問云存儲中文件的問題。2、本發(fā)明通過用戶態(tài)文 件系統(tǒng),將客戶端對云存儲中文件的操作捕獲,并利用客戶端移動存儲設(shè)備作為緩存介 質(zhì),通過緩存機制實現(xiàn)高效訪問云存儲中文件的目的,讓云存儲空間擺脫本地客戶端存 儲能力的限制,實現(xiàn)云存儲服務(wù)對本地存儲空間的無限擴展。3、與傳統(tǒng)的以文件為操 作單位的客戶端數(shù)據(jù)緩存方法相比,本發(fā)明提出的細粒度數(shù)據(jù)緩存方法還在客戶端沒有 待訪問文件的緩存數(shù)據(jù)如客戶端數(shù)據(jù)遺失,或者從某個新的位置首次訪問云存儲空間中 的文件等情況下具備顯著優(yōu)勢,能夠讓用戶立刻實現(xiàn)對任何文件任何位置的迅速隨機訪 問,而傳統(tǒng)方法需要用戶等候很長時間,直至整個文件下載完畢才能訪問其數(shù)據(jù),該發(fā) 明能有效節(jié)省和充分利用帶寬資源。4、本發(fā)明能夠捕獲用戶態(tài)應(yīng)用程序?qū)υ拼鎯臻g內(nèi) 文件的所有操作,并能夠按照需要重新定向讀寫操作到客戶端緩存,減少了客戶端訪問 云存儲后臺中文件的等待時間,在客戶端緩存了所有訪問過文件的元信息,提高了查看 文件列表的效率,在客戶端緩存云存儲中文件的內(nèi)容時,利用稀疏文件作為存儲方式, 不用緩存完整文件,提高了客戶端存儲空間的有效利用率,提升了客戶端重復(fù)訪問同一 文件的效率,同時減少了客戶端訪問未緩存文件的等待時間。5、本發(fā)明利用用戶態(tài)文件 系統(tǒng),將客戶端對文件的各種操作捕獲,判斷每次讀寫操作的細粒度數(shù)據(jù)是否在客戶端 緩存中,即使客戶端緩存中沒有需要的數(shù)據(jù),那么也只是從云存儲后臺獲取一次讀寫所 需的數(shù)據(jù)量,而和文件大小無關(guān),所以,可以極大提高客戶端存儲空間和網(wǎng)絡(luò)帶寬的利 用效率,并減少客戶端等待時間,提高客戶端用戶的體驗。


圖1為本發(fā)明的模塊結(jié)構(gòu)示意圖;圖2為本發(fā)明的客戶端數(shù)據(jù)緩存結(jié)構(gòu)圖;圖3為本發(fā)明的主流程圖;圖4為本發(fā)明的客戶端讀數(shù)據(jù)流程圖;圖5為本發(fā)明的客戶端寫數(shù)據(jù)流程圖;圖6本發(fā)明的本地待同步緩存表與服務(wù)器端同步流程圖。
具體實施例方式下面結(jié)合說明書附圖來說明本發(fā)明的具體實施方式
。本發(fā)明的系統(tǒng)模塊組成結(jié)構(gòu)如圖1所示,包括以下模塊應(yīng)用程序模塊1,該模塊為操作系統(tǒng)上實際運行的程序,會對存儲在云存儲上的 文件進行操作;文件系統(tǒng)模塊2,該模塊為操作系統(tǒng)上的文件系統(tǒng),客戶端移動存儲設(shè)備的文件 系統(tǒng)采用了 Windows操作系統(tǒng)中的NTFS文件系統(tǒng);用戶態(tài)文件系統(tǒng)模塊3,該模塊為自定義的文件系統(tǒng)模塊,用于將文件系統(tǒng)對磁 盤的讀寫操作轉(zhuǎn)化到文件系統(tǒng)上層的應(yīng)用程序上,采用驅(qū)動實現(xiàn),將文件系統(tǒng)的底層操 作轉(zhuǎn)化到用戶態(tài)上;服務(wù)器4,包括數(shù)據(jù)服務(wù)器和元數(shù)據(jù)服務(wù)器,分別記錄數(shù)據(jù)和文件的元信息;虛擬網(wǎng)絡(luò)存儲模塊5,該模塊虛擬了云存儲后臺對客戶端提供的存儲空間,表現(xiàn) 為一個卷的形式,客戶端對此卷的操作全部由用戶態(tài)文件系統(tǒng)完成;本地移動存儲設(shè)備6,用于緩存服務(wù)器文件的部分數(shù)據(jù)和服務(wù)器文件的全部元數(shù) 據(jù)。本發(fā)明的客戶端數(shù)據(jù)緩存結(jié)構(gòu)如圖2所示,在客戶端與服務(wù)器4端,數(shù)據(jù)可以按 照任意的文件格式存儲。服務(wù)器4端有完整的文件,并且會有文件的索引,本發(fā)明用數(shù) 據(jù)庫來做服務(wù)器4端文件的索引,每一個數(shù)據(jù)庫的表項都由文件全局唯一標示和文件的 元信息,在文件的唯一標示上建立數(shù)據(jù)庫索引,來快速找到需要的文件??蛻舳擞孟∈?文件來存儲數(shù)據(jù),每個稀疏文件對應(yīng)原來的一個文件,稀疏文件的好處是可以有效利用 客戶端的存儲空間,允許文件中間有空洞,不占用實際存儲空間。在客戶端首先有稀疏 文件與原文件對應(yīng)的索引,客戶端的索引同樣用數(shù)據(jù)庫實現(xiàn),每個文件的索引包括一個 數(shù)據(jù)庫表項,表項中記錄文件的全局唯一標示和文件元數(shù)據(jù),用以快速查找原文件在本 地緩存中對應(yīng)的稀疏文件。同時,稀疏文件還有一個內(nèi)容索引,由于稀疏文件允許中間 存在空洞,所以本發(fā)明建立了稀疏文件內(nèi)容的索引,用以標示稀疏文件中實際存在的數(shù) 據(jù),稀疏文件的內(nèi)容索引同樣用數(shù)據(jù)庫記錄,每條記錄都包括文件的唯一標示、偏移地 址、記錄長度。偏移地址是稀疏文件中一個包含實際數(shù)據(jù)的塊的起始地址,記錄長度是 相應(yīng)數(shù)據(jù)塊的大小。參閱圖3,本發(fā)明的主流程圖,云存儲服務(wù)客戶端高效細粒度數(shù)據(jù)緩存方法,包 括以下步驟,首先,客戶端的用戶態(tài)文件系統(tǒng)模塊2攔截對本地移動存儲設(shè)備6的讀寫操 作;然后,根據(jù)讀寫操作的內(nèi)容進行判斷,如果讀取的內(nèi)容在本地客戶端有緩存,則從本地的稀疏文件中讀出,如果沒有,則按照讀取操作的大小向服務(wù)器4請求數(shù)據(jù), 并將寫入的數(shù)據(jù)直接放入本地客戶端緩存中;同步線程檢查本地的待同步數(shù)據(jù)表,將客戶端新寫入的數(shù)據(jù)上傳到服務(wù)器4端。本發(fā)明的客戶端讀數(shù)據(jù)流程如圖4所示,包括以下步驟步驟1、客戶端應(yīng)用程序模塊1讀取文件內(nèi)容,用戶態(tài)文件系統(tǒng)捕獲其讀取的文件偏移和請求長度。例如讀取文件位置從1024KB開始的64KB的數(shù)據(jù)。步驟2、根據(jù)本地緩存的索引檢查需要讀取的數(shù)據(jù)是否在本地存在,如果存在則 轉(zhuǎn)步驟3,否則轉(zhuǎn)步驟6。步驟3、從本地緩存中讀取需要的數(shù)據(jù)。步驟4、更新被讀取文件在本地緩存的文件元信息。文件元信息包括文件名、文 件的完整路徑、創(chuàng)建時間、最后訪問時間、最后修改時間、文件大小、文件屬性等信息。步驟5、將更新后的元信息放入本地的待同步緩存表中。同步緩存表中記錄了文 件的全局標示,以及數(shù)據(jù)塊相對于整個文件的偏移地址和長度,返回成功;步驟6、檢查當前的聯(lián)網(wǎng)狀態(tài),如果為聯(lián)網(wǎng)狀態(tài)則轉(zhuǎn)步驟7,否則返回讀取數(shù)據(jù) 失敗;步驟7、從云存儲服務(wù)器端讀取需要的數(shù)據(jù);步驟8、將從服務(wù)器4端取得的數(shù)據(jù)復(fù)制一份存在本地移動設(shè)備中,并更新本地 緩存數(shù)據(jù)的索引,轉(zhuǎn)步驟5。本發(fā)明的寫數(shù)據(jù)流程圖如圖5所示,包括以下步驟步驟1、客戶端應(yīng)用程序向移動存儲設(shè)備6中的文件寫入數(shù)據(jù),用戶態(tài)文件系統(tǒng) 模塊2捕獲其寫請求的文件偏移以及寫入內(nèi)容的長度。步驟2、檢查當前的聯(lián)網(wǎng)狀態(tài),如果聯(lián)網(wǎng)則轉(zhuǎn)步驟3,否則轉(zhuǎn)7步驟。步驟3、將數(shù)據(jù)寫入本地移動存儲設(shè)備6,更新本地緩存數(shù)據(jù)索引,并更新本地 緩存的元數(shù)據(jù)信息。步驟4、將數(shù)據(jù)寫入遠程數(shù)據(jù)存儲服務(wù)器,并更新遠程元數(shù)據(jù)服務(wù)器上的文件元 fn息ο步驟5、檢查服務(wù)器4端數(shù)據(jù)與元數(shù)據(jù)是否寫入成功,如果成功則轉(zhuǎn)步驟6,否則轉(zhuǎn)步驟8。步驟6、返回寫數(shù)據(jù)成功。步驟7、將數(shù)據(jù)寫入本地移動存儲設(shè)備6,更新本地緩存數(shù)據(jù)索引,并更新本地 緩存的元數(shù)據(jù)信息。步驟8、將寫入數(shù)據(jù)的信息記錄到客戶端待同步緩存表中,等待聯(lián)網(wǎng)后寫入或者 重新寫入,轉(zhuǎn)步驟6。請參閱圖6本發(fā)明的本地待同步緩存表與服務(wù)器端的同步過程示意圖,同步過 程是時鐘實現(xiàn)的一個守護線程,經(jīng)過固定時間周期線程開始工作,同步過程包括以下步 驟步驟1、檢查待同步緩存表中是否有需要同步的項。同步緩存表為數(shù)據(jù)庫中的一 個表,如果該表中存在表項,則說明有需要同步的數(shù)據(jù),否則沒有,如果有則轉(zhuǎn)步驟2, 否則轉(zhuǎn)步驟6。步驟2、檢查是否處于聯(lián)網(wǎng)狀態(tài),如果聯(lián)網(wǎng)則轉(zhuǎn)步驟3,否則轉(zhuǎn)步驟6。步驟3、從待同步緩存表中選取一項,將需要同步的元數(shù)據(jù)發(fā)送到元數(shù)據(jù)服務(wù)器 上,數(shù)據(jù)發(fā)送到數(shù)據(jù)服務(wù)器,轉(zhuǎn)步驟4。步驟4、檢查發(fā)送是否成功,如果成功則轉(zhuǎn)步驟5,否則轉(zhuǎn)步驟7。步驟5、刪除待同步 緩存表中已經(jīng)處理的一項,轉(zhuǎn)步驟1。
步驟6、同步線程休眠,等待下一次喚醒。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的 技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的 任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的權(quán)利要求范圍之內(nèi)。
權(quán)利要求
1.一種云存儲服務(wù)客戶端高效細粒度數(shù)據(jù)緩存系統(tǒng),包括應(yīng)用程序模塊、文件系統(tǒng) 模塊、服務(wù)器、虛擬網(wǎng)絡(luò)存儲模塊,其特征在于,該系統(tǒng)還包括以下模塊本地移動存儲設(shè)備,用于緩存服務(wù)器文件的部分數(shù)據(jù)和服務(wù)器文件的全部元數(shù)據(jù);用戶態(tài)文件系統(tǒng)模塊,用于重新定向本地文件系統(tǒng)對虛擬網(wǎng)絡(luò)設(shè)備的讀寫操作,實 現(xiàn)應(yīng)用程序?qū)Ρ镜匚募c云存儲服務(wù)器上文件的無差別訪問。
2.根據(jù)權(quán)利要求1所述的一種云存儲服務(wù)客戶端高效細粒度數(shù)據(jù)緩存系統(tǒng),其特征在 于,所述虛擬網(wǎng)絡(luò)存儲模塊為卷形式,客戶端對卷的操作全部由用戶態(tài)文件系統(tǒng)模塊完 成。
3.根據(jù)權(quán)利要求1所述的一種云存儲服務(wù)客戶端高效細粒度數(shù)據(jù)緩存系統(tǒng),其特征在 于,所述客戶端文件系統(tǒng)采用稀疏文件格式存儲數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的一種云存儲服務(wù)客戶端高效細粒度數(shù)據(jù)緩存系統(tǒng),其特征在 于,所述稀疏文件與客戶端原文件一一對應(yīng)。
5.一種云存儲服務(wù)客戶端高效細粒度數(shù)據(jù)緩存實現(xiàn)方法,包括以下步驟步驟1 客戶端的用戶態(tài)文件系統(tǒng)模塊攔截對移動設(shè)備的讀寫操作;步驟2:根據(jù)讀寫操作的內(nèi)容進行判斷,如果讀取的內(nèi)容在本地有緩存,則從本地 的稀疏文件中讀出,如果沒有則按照讀取操作的大小向服務(wù)器請求數(shù)據(jù),并將寫入的數(shù) 據(jù)直接放入本地緩存中;步驟3:同步線程檢查本地的待同步數(shù)據(jù)表,將客戶端新寫入的數(shù)據(jù)上傳到服務(wù)器。
6.根據(jù)權(quán)利要求5所述的一種云存儲服務(wù)客戶端高效細粒度數(shù)據(jù)緩存實現(xiàn)方法,其特 征下在于,所述步驟1中的讀操作具體包括以下步驟步驟11、客戶端應(yīng)用程序模塊讀取文件內(nèi)容,用戶態(tài)文件系統(tǒng)模塊捕獲其讀取的文 件偏移和請求長度;步驟12、根據(jù)本地緩存的索引檢查需要讀取的數(shù)據(jù)是否在本地存在,如果存在則從 本地緩存中讀取需要的數(shù)據(jù),更新被讀取文件在本地緩存的文件元信息,并將更新后的 元信息放入本地的待同步緩存表中;步驟13、不存在則檢查當前的聯(lián)網(wǎng)狀態(tài),如、聯(lián)網(wǎng)則從云存儲服務(wù)器端讀取需要的 數(shù)據(jù),將從服務(wù)器端取得的數(shù)據(jù)復(fù)制一份存在本地移動設(shè)備中,并更新本地緩存數(shù)據(jù)的 索引,未聯(lián)網(wǎng)則返回讀取數(shù)據(jù)失敗。
7.根據(jù)權(quán)利要求6所述的一種云存儲服務(wù)客戶端高效細粒度數(shù)據(jù)緩存實現(xiàn)方法,其特 征下在于,所述步驟2中的文件元信息包括文件名、文件的完整路徑、創(chuàng)建時間、最后 訪問時間、最后修改時間、文件大小或文件屬性等信息。
8.根據(jù)權(quán)利要求6所述的一種云存儲服務(wù)客戶端高效細粒度數(shù)據(jù)緩存實現(xiàn)方法,其特 征下在于,所述步驟2中的同步緩存表記錄有文件的全局標示,以及數(shù)據(jù)塊相對于整個 文件的偏移地址和長度。
9.根據(jù)權(quán)利要求5所述的一種云存儲服務(wù)客戶端高效細粒度數(shù)據(jù)緩存實現(xiàn)方法,其特 征下在于,所述步驟1中的寫操作具體包括以下步驟步驟21、客戶端應(yīng)用程序模塊向移動設(shè)備中的文件寫入數(shù)據(jù),用戶態(tài)文件系統(tǒng)模塊 捕獲其寫請求的文件偏移以及寫入內(nèi)容的長度;步驟22、檢查當前聯(lián)網(wǎng)狀態(tài),如果聯(lián)網(wǎng)則將數(shù)據(jù)寫入本地移動存儲設(shè)備,更新本 地緩存數(shù)據(jù)索引和本地緩存的元數(shù)據(jù)信息,將數(shù)據(jù)寫入遠程數(shù)據(jù)存儲服務(wù)器,并更新遠 程元數(shù)據(jù)服務(wù)器上的文件元信息,否則將數(shù)據(jù)寫入本地移動存儲設(shè)備,更新本地緩存數(shù) 據(jù)索引,并更新本地緩存的元數(shù)據(jù)信息,將寫入數(shù)據(jù)的信息記錄到客戶端待同步緩存表 中;步驟23、檢查服務(wù)器端數(shù)據(jù)與元數(shù)據(jù)是否寫入成功,如果成功則結(jié)束,否則將寫入 數(shù)據(jù)的信息記錄到客戶端待同步緩存表中,等待聯(lián)網(wǎng)后寫入或者重新寫入。
10.根據(jù)權(quán)利要求5所述的一種云存儲服務(wù)客戶端高效細粒度數(shù)據(jù)緩存實現(xiàn)方法,其 特征下在于,所述步驟3進一步包括以下步驟步驟31、檢查待同步緩存表中是否有需要同步的項;步驟32、檢查是否處于聯(lián)網(wǎng)狀態(tài),如果聯(lián)網(wǎng)則從待同步緩存表中選取一項,將需要 同步的元數(shù)據(jù)發(fā)送到元數(shù)據(jù)服務(wù)器上,否則同步線程休眠,等待下一次喚醒;步驟33、檢查發(fā)送是否成功,如果成功則刪除待同步緩存表中已經(jīng)處理的一項,并 繼續(xù)檢查待同步緩存表中是否有需要同步的項。
全文摘要
一種云存儲服務(wù)客戶端高效細粒度數(shù)據(jù)緩存系統(tǒng),包括應(yīng)用程序模塊,文件系統(tǒng)模塊,服務(wù)器、虛擬網(wǎng)絡(luò)存儲模塊和本地移動存儲設(shè)備、用戶態(tài)文件系統(tǒng)模塊??蛻舳说挠脩魬B(tài)文件系統(tǒng)模塊攔截對移動設(shè)備的讀寫操作;根據(jù)讀寫操作的內(nèi)容進行判斷,如果讀取的內(nèi)容在本地有緩存,則從本地的稀疏文件中讀出,如果沒有則按照讀取操作的大小向服務(wù)器請求數(shù)據(jù),并將寫入的數(shù)據(jù)直接放入本地緩存中;同步線程檢查本地的待同步數(shù)據(jù)表,將客戶端新寫入的數(shù)據(jù)上傳到服務(wù)器。本發(fā)明具有在網(wǎng)絡(luò)帶寬資源有限情況下,能夠快速高效訪問云存儲中的文件等優(yōu)點。
文檔編號H04L29/08GK102014158SQ20101056279
公開日2011年4月13日 申請日期2010年11月29日 優(yōu)先權(quán)日2010年11月29日
發(fā)明者和晉陽, 徐濤, 汪東升, 牟宏磊, 郭松柳 申請人:北京興宇中科科技開發(fā)股份有限公司, 清華大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1