專利名稱:多客戶端的網(wǎng)絡(luò)虛擬存儲(chǔ)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)絡(luò)虛擬存儲(chǔ)方法,尤其涉及一種通過對網(wǎng)絡(luò)虛擬存儲(chǔ) 系統(tǒng)中公用與專用數(shù)據(jù)存儲(chǔ)區(qū)域進(jìn)行區(qū)分并同時(shí)對應(yīng)增加公用與專用高速
緩沖存儲(chǔ)器(Cache),進(jìn)而對多個(gè)客戶端數(shù)據(jù)的網(wǎng)絡(luò)虛擬存儲(chǔ)實(shí)現(xiàn)加速及 優(yōu)化的多客戶端的網(wǎng)絡(luò)虛擬存儲(chǔ)方法。
背景技術(shù):
現(xiàn)今,隨著網(wǎng)絡(luò)傳輸速率的不斷提高,網(wǎng)絡(luò)存儲(chǔ)技術(shù)獲得了越來越多的 認(rèn)可,NAS (Network Attached Storage,網(wǎng)絡(luò)附接存儲(chǔ))禾B SAN (存儲(chǔ)區(qū)域 網(wǎng)絡(luò),Storage Area Network)系統(tǒng)越來越廣泛地應(yīng)用就是最好的例證。網(wǎng)絡(luò) 存儲(chǔ)具有節(jié)約成本、部署簡單、運(yùn)營維護(hù)便捷等諸多優(yōu)點(diǎn)。目前,網(wǎng)絡(luò)存儲(chǔ) 技術(shù)由原來的單一數(shù)據(jù)存儲(chǔ)正朝著虛擬化的方向發(fā)展,"虛擬存儲(chǔ)"己經(jīng)成 為本技術(shù)領(lǐng)域最熱門的話題之一。虛擬存儲(chǔ)技術(shù)將存儲(chǔ)部分透明地呈現(xiàn)給最 終用戶,其實(shí)現(xiàn)細(xì)節(jié)全部都在底層來完成。無論是開發(fā)人員還是一般的使用 性用戶都無需掌握網(wǎng)絡(luò)存儲(chǔ)的專業(yè)知識(shí),也更不必知道具體的存儲(chǔ)組成。正 是由于這個(gè)原因,網(wǎng)絡(luò)虛擬存儲(chǔ)得到了越來越多的歡迎。
傳統(tǒng)的網(wǎng)絡(luò)虛擬存儲(chǔ)技術(shù)多采用一對一的方式,即一個(gè)客戶端對應(yīng)服務(wù) 器上某一存儲(chǔ)空間,客戶端任何的數(shù)據(jù)讀寫操作都是針對自身的專有存儲(chǔ)空 間來完成的。如此,在客戶端數(shù)量較多的情況下會(huì)導(dǎo)致部署困難、維護(hù)工作 量大,特別是對傳統(tǒng)的無磁盤系統(tǒng)而言會(huì)造成存儲(chǔ)空間的大量浪費(fèi),且在客 戶端較多的時(shí)候,如果一對一地進(jìn)行部署和維護(hù)會(huì)帶來巨大的工作量。
此外,依據(jù)局部性原理,數(shù)據(jù)讀寫程序在執(zhí)行讀寫操作過程中的一段時(shí) 間內(nèi)總是訪問一段連續(xù)的局部空間。這樣執(zhí)行類似數(shù)據(jù)讀寫任務(wù)的多個(gè)客戶 端就要不斷地從服務(wù)器讀取相同數(shù)據(jù),從而加大了對系統(tǒng)磁盤的占用。而且, 由于磁盤寫入速度一般較慢,當(dāng)有許多客戶端同時(shí)對虛擬磁盤進(jìn)行數(shù)據(jù)寫入 操作時(shí),必然會(huì)導(dǎo)致部分操作長時(shí)間等待,整個(gè)系統(tǒng)運(yùn)行及數(shù)據(jù)存儲(chǔ)的平均速度相應(yīng)變慢。
發(fā)明內(nèi)容
為了解決上述傳統(tǒng)技術(shù)中的問題與缺陷,本發(fā)明的目的在于提供一種多 客戶端的網(wǎng)絡(luò)虛擬存儲(chǔ)方法,用以在具有一個(gè)服務(wù)器及多個(gè)客戶端的區(qū)域網(wǎng) 絡(luò)虛擬存儲(chǔ)系統(tǒng)中實(shí)現(xiàn)對多個(gè)客戶端數(shù)據(jù)的網(wǎng)絡(luò)虛擬存儲(chǔ)的加速及優(yōu)化。
本發(fā)明所提供的一種多客戶端的網(wǎng)絡(luò)虛擬存儲(chǔ)方法,包含以下步驟
系統(tǒng)啟動(dòng)后,服務(wù)器依據(jù)應(yīng)用配置將一個(gè)公用數(shù)據(jù)存儲(chǔ)區(qū)域加載至服務(wù) 器的磁盤上,同時(shí),在服務(wù)器的磁盤上依據(jù)客戶端的數(shù)量動(dòng)態(tài)地對應(yīng)配置多 個(gè)專用數(shù)據(jù)存儲(chǔ)區(qū)域;服務(wù)器為公用數(shù)據(jù)存儲(chǔ)區(qū)域的數(shù)據(jù)存儲(chǔ)對應(yīng)配置一個(gè) 公用高速緩沖存儲(chǔ)器(Cache),并且分別為各個(gè)專用數(shù)據(jù)存儲(chǔ)區(qū)域的數(shù)據(jù) 存儲(chǔ)對應(yīng)配置一個(gè)專用高速緩沖存儲(chǔ)器(Cache);當(dāng)一個(gè)客戶端需要進(jìn)行 數(shù)據(jù)寫入操作時(shí),首先在本地的索引表中記錄待寫入數(shù)據(jù)內(nèi)容的相關(guān)屬性, 然后將所有數(shù)據(jù)寫入指令及待寫入數(shù)據(jù)由網(wǎng)絡(luò)發(fā)送給服務(wù)器;以及服務(wù)器收 到數(shù)據(jù)寫入指令及待寫入數(shù)據(jù)后,實(shí)時(shí)判斷客戶端的專用高速緩沖存儲(chǔ)器的 數(shù)據(jù)寫入空間是否已滿,如果未滿,則將待寫入的數(shù)據(jù)寫入專用高速緩沖存儲(chǔ)器中直至待寫入數(shù)據(jù)全部寫入專用高速緩沖存儲(chǔ)器中;如果已滿,則由服務(wù)器上的一個(gè)輸入輸出(Input/Output,簡稱I/O)控制器將專用高速緩沖存 儲(chǔ)器中的數(shù)據(jù)內(nèi)容置換出一部分后再將待寫入數(shù)據(jù)寫入專用高速緩沖存儲(chǔ) 器中直至待寫入數(shù)據(jù)全部寫入專用高速緩沖存儲(chǔ)器中。
此外,本發(fā)明所提供的一種多客戶端的網(wǎng)絡(luò)虛擬存儲(chǔ)方法,還包含以下步驟
當(dāng)客戶端的待寫入數(shù)據(jù)已經(jīng)寫入專用高速緩沖存儲(chǔ)器中之后,服務(wù)器的輸入輸出(I/O)控制器將協(xié)調(diào)控制已寫入專用高速緩沖存儲(chǔ)器中的數(shù)據(jù)真正 寫入到服務(wù)器的實(shí)體磁盤中,并控制已寫入專用高速緩沖存儲(chǔ)器中的數(shù)據(jù)在 預(yù)定時(shí)間內(nèi)不會(huì)被置換到專用高速緩沖存儲(chǔ)器之外,以滿足短期內(nèi)的數(shù)據(jù)讀 取需求??蛻舳嗽谒袛?shù)據(jù)寫入高速緩沖存儲(chǔ)器后就認(rèn)為寫入操作已經(jīng)完 成。
另外,本發(fā)明所提供的一種多客戶端的網(wǎng)絡(luò)虛擬存儲(chǔ)方法,還進(jìn)一步包含如下步驟
當(dāng)客戶端需要進(jìn)行數(shù)據(jù)讀取操作時(shí),首先在本地的索引表中進(jìn)行査找以 確定待讀取的數(shù)據(jù)是否為公用數(shù)據(jù),當(dāng)待讀取的數(shù)據(jù)內(nèi)容存在于索引表中
時(shí),則待讀取的數(shù)據(jù)為專用數(shù)據(jù),否則為公用數(shù)據(jù);客戶端向服務(wù)器發(fā)送數(shù) 據(jù)讀取指令;服務(wù)器接收到數(shù)據(jù)讀取指令后,判斷客戶端需要讀取的數(shù)據(jù)類 型;當(dāng)客戶端需要讀取的數(shù)據(jù)為公用數(shù)據(jù)時(shí),服務(wù)器首先査找判斷待讀取的 數(shù)據(jù)是否存儲(chǔ)于公用高速緩沖存儲(chǔ)器中,如果是,則從公用高速緩沖存儲(chǔ)器 中直接讀取數(shù)據(jù)并返回給客戶端,否則從公用數(shù)據(jù)存儲(chǔ)區(qū)域中讀取數(shù)據(jù)并存 儲(chǔ)至公用高速緩沖存儲(chǔ)器中,然后再返回給客戶端;以及當(dāng)客戶端需要讀取 的數(shù)據(jù)為專用數(shù)據(jù)時(shí),服務(wù)器首先査找判斷待讀取的數(shù)據(jù)是否存儲(chǔ)于專用高 速緩沖存儲(chǔ)器中,如果是,則從專用高速緩沖存儲(chǔ)器中直接讀取數(shù)據(jù)并返回 給客戶端,否則從專用數(shù)據(jù)存儲(chǔ)區(qū)域中讀取數(shù)據(jù)并存儲(chǔ)至專用高速緩沖存儲(chǔ) 器中,然后再返回給客戶端。
綜上所述,本發(fā)明的優(yōu)點(diǎn)在于
1、 本發(fā)明的方法中多個(gè)客戶端共享同一磁盤鏡像,因此可以快速完成 網(wǎng)絡(luò)虛擬存儲(chǔ)系統(tǒng)的部署與切換。
2、 以無磁盤系統(tǒng)為例假設(shè)有100個(gè)客戶端,每個(gè)客戶端的系統(tǒng)數(shù)據(jù) 都要存儲(chǔ)在服務(wù)器上,如果每個(gè)客戶端系統(tǒng)自身需要使用2.5GB的磁盤空間, 其中0.5GB為執(zhí)行時(shí)需要改寫的數(shù)據(jù)量。如果采用傳統(tǒng)技術(shù)中客戶端與磁盤 鏡像一一對應(yīng)的方式共需要100X2.5二250GB的磁盤空間,而采用本發(fā)明 的方法中的區(qū)分公用與專用數(shù)據(jù)存儲(chǔ)區(qū)域的方式共需要2+100X0.5 = 52GB的磁盤空間,其中共節(jié)省了 (250—52) +250 = 79.2%的磁盤空間,因 此采用本發(fā)明的方法有效減少了客戶端系統(tǒng)所需的數(shù)據(jù)存儲(chǔ)空間,節(jié)約了整 套存儲(chǔ)系統(tǒng)中的硬件磁盤空間及其維護(hù)成本。
3、 由于本發(fā)明的方法可依據(jù)應(yīng)用配置將一個(gè)公用數(shù)據(jù)存儲(chǔ)區(qū)域加載至 服務(wù)器上,并為公用數(shù)據(jù)存儲(chǔ)區(qū)域的數(shù)據(jù)存儲(chǔ)對應(yīng)配置公用高速緩沖存儲(chǔ)器
(Cache),因此,不僅滿足了多個(gè)客戶端對公用數(shù)據(jù)的并行讀取需求,而 且通過公用高速緩沖存儲(chǔ)器,只需要一次性將數(shù)據(jù)讀取進(jìn)來,由于各個(gè)客戶 端執(zhí)行的數(shù)據(jù)讀取操作非常相似,則后續(xù)數(shù)據(jù)讀取的命中率將大大提高,進(jìn) 而將公用數(shù)據(jù)的讀取速度提高到接近于內(nèi)部存儲(chǔ)器的數(shù)據(jù)讀取速度,^:大提 高了客戶端對公用數(shù)據(jù)的訪問和讀取速度。 、
4、 同時(shí),由于本發(fā)明的方法可依據(jù)客戶端的數(shù)量動(dòng)態(tài)地對應(yīng)配置多個(gè) 專用數(shù)據(jù)存儲(chǔ)區(qū)域,且分別為各個(gè)專用數(shù)據(jù)存儲(chǔ)區(qū)域的數(shù)據(jù)存儲(chǔ)對應(yīng)配置專
用高速緩沖存儲(chǔ)器(Cache),因此,能夠?qū)蛻舳俗x取和寫入的專用數(shù)據(jù) 進(jìn)行緩沖,減少了單一客戶端的等待時(shí)間,同時(shí)加快了數(shù)據(jù)的讀寫速度并且 減少了數(shù)據(jù)寫入后再次讀出的磁盤操作時(shí)間及用戶等待時(shí)間。對整個(gè)系統(tǒng)而 言快速寫入則降低了客戶端寫入操作的平均等待時(shí)間。
5、 由于本發(fā)明的方法采用同讀不同寫的數(shù)據(jù)存取方式,不同客戶端對 公用數(shù)據(jù)存儲(chǔ)區(qū)域的數(shù)據(jù)改寫請求都會(huì)轉(zhuǎn)入各自相應(yīng)的專用數(shù)據(jù)存儲(chǔ)區(qū)域, 這樣原有的公用數(shù)據(jù)始終都不會(huì)被破壞,避免了傳統(tǒng)技術(shù)中不同客戶端先寫 后讀出現(xiàn)的數(shù)據(jù)差錯(cuò)問題,進(jìn)而既保證了公用數(shù)據(jù)的安全可靠又確保了各個(gè) 客戶端的專用數(shù)據(jù)的互不干擾。
圖1為本發(fā)明的一種多客戶端的網(wǎng)絡(luò)虛擬存儲(chǔ)方法所運(yùn)行的系統(tǒng)的系統(tǒng) 框圖2為本發(fā)明的一種多客戶端的網(wǎng)絡(luò)虛擬存儲(chǔ)方法的方法流程圖;以及
圖3為本發(fā)明的一種多客戶端的網(wǎng)絡(luò)虛擬存儲(chǔ)方法中當(dāng)客戶端進(jìn)行數(shù)據(jù) 讀取操作時(shí)的方法流程圖。
主要附圖標(biāo)記說明-
10 服務(wù)器
20 客戶端
30 公用數(shù)據(jù)存儲(chǔ)區(qū)域
40 專用數(shù)據(jù)存儲(chǔ)區(qū)域
50 公用高速緩沖存儲(chǔ)器
60 專用高速緩沖存儲(chǔ)器
70 索引表
步驟100服務(wù)器依據(jù)應(yīng)用配置將一個(gè)公用數(shù)據(jù)存儲(chǔ)區(qū)域加載至服務(wù)器 上,同時(shí)依據(jù)客戶端的數(shù)量動(dòng)態(tài)地對應(yīng)配置多個(gè)專用數(shù)據(jù)存儲(chǔ)區(qū)域
步驟101為公用數(shù)據(jù)的存儲(chǔ)配置一個(gè)公用高速緩沖存儲(chǔ)器,并分別為 各客戶端專用數(shù)據(jù)的存儲(chǔ)對應(yīng)配置一個(gè)專用高速緩沖存儲(chǔ)器
步驟102在索引表中記錄待寫入數(shù)據(jù)內(nèi)容的相關(guān)屬性 步驟103將數(shù)據(jù)寫入指令及待寫入數(shù)據(jù)發(fā)送給服務(wù)器 步驟104判斷專用高速緩沖存儲(chǔ)器的數(shù)據(jù)寫入空間是否已滿 步驟105將專用高速緩沖存儲(chǔ)器中的數(shù)據(jù)內(nèi)容置換出一部分 步驟106將待寫入數(shù)據(jù)寫入專用高速緩沖存儲(chǔ)器中 步驟107判斷待寫入數(shù)據(jù)是否己經(jīng)全部寫入專用高速緩沖存儲(chǔ)器 步驟108協(xié)調(diào)控制已寫入的數(shù)據(jù)寫入到服務(wù)器的實(shí)體磁盤中,并控制 已寫入的數(shù)據(jù)在預(yù)定時(shí)間內(nèi)不被置換到專用高速緩沖存儲(chǔ)器之外 步驟200在索引表中査找以確定待讀取的數(shù)據(jù)是否為公用數(shù)據(jù) 步驟201客戶端向服務(wù)器發(fā)送數(shù)據(jù)讀取指令 步驟202判斷需要讀取的數(shù)據(jù)是否為公用數(shù)據(jù) 步驟203判斷待讀取數(shù)據(jù)是否存儲(chǔ)于公用高速緩沖存儲(chǔ)器中 步驟204判斷待讀取數(shù)據(jù)是否存儲(chǔ)于專用高速緩沖存儲(chǔ)器中 步驟205從公用高速緩沖存儲(chǔ)器中直接讀取數(shù)據(jù) 步驟206從公用數(shù)據(jù)存儲(chǔ)區(qū)域中讀取數(shù)據(jù)并存儲(chǔ)至公用高速緩沖存儲(chǔ)
器中
步驟207從專用高速緩沖存儲(chǔ)器中直接讀取數(shù)據(jù)
步驟208從專用數(shù)據(jù)存儲(chǔ)區(qū)域中讀取數(shù)據(jù)并存儲(chǔ)至專用高速緩沖存儲(chǔ)器中
步驟209將讀取的數(shù)據(jù)返回給客戶端
具體實(shí)施例方式
以下,將結(jié)合附圖對本發(fā)明的較佳實(shí)施方式作詳細(xì)說明。 請參考圖1及圖2,圖1為本發(fā)明的一種多客戶端的網(wǎng)絡(luò)虛擬存儲(chǔ)方法 所運(yùn)行的系統(tǒng)的系統(tǒng)框圖。圖2為本發(fā)明的一種多客戶端的網(wǎng)絡(luò)虛擬存儲(chǔ)方 法的方法流程圖,如圖1及圖2所示,本發(fā)明的一種多客戶端的網(wǎng)絡(luò)虛擬存 儲(chǔ)方法,用以在具有一個(gè)服務(wù)器10及多個(gè)客戶端20的區(qū)域網(wǎng)絡(luò)虛擬存儲(chǔ)系 統(tǒng)中實(shí)現(xiàn)對多個(gè)客戶端數(shù)據(jù)的網(wǎng)絡(luò)虛擬存儲(chǔ)的加速及優(yōu)化,此方法包含以下 步驟
系統(tǒng)啟動(dòng)后,在步驟100,服務(wù)器10依據(jù)應(yīng)用配置將一個(gè)公用數(shù)據(jù)存儲(chǔ)區(qū)域30加載至服務(wù)器10的磁盤上,同時(shí),在服務(wù)器10的磁盤上依據(jù)客戶
端20的數(shù)量動(dòng)態(tài)地對應(yīng)配置多個(gè)專用數(shù)據(jù)存儲(chǔ)區(qū)域40;
在步驟101,服務(wù)器10為公用數(shù)據(jù)存儲(chǔ)區(qū)域30的數(shù)據(jù)存儲(chǔ)對應(yīng)配置一 個(gè)公用高速緩沖存儲(chǔ)器50,并且分別為各個(gè)專用數(shù)據(jù)存儲(chǔ)區(qū)域40的數(shù)據(jù)存 儲(chǔ)對應(yīng)配置一個(gè)專用高速緩沖存儲(chǔ)器60;
當(dāng)客戶端20需要進(jìn)行數(shù)據(jù)寫入操作時(shí),首先在步驟102,在本地的索引 表70中記錄待寫入數(shù)據(jù)內(nèi)容的相關(guān)屬性以備將來讀取時(shí)査找,然后在步驟 103將所有數(shù)據(jù)寫入指令及待寫入數(shù)據(jù)由網(wǎng)絡(luò)發(fā)送給服務(wù)器10;
服務(wù)器10收到數(shù)據(jù)寫入指令及待寫入數(shù)據(jù)后,在步驟104,實(shí)時(shí)判斷客 戶端20的專用高速緩沖存儲(chǔ)器60的數(shù)據(jù)寫入空間是否已滿,如果未滿,則 在步驟106將待寫入的數(shù)據(jù)寫入專用高速緩沖存儲(chǔ)器60中,然后執(zhí)行步驟 107;如果已滿,則在步驟105由服務(wù)器IO上的一個(gè)輸入輸出(I/O)控制器 (附圖中未示出)先將專用高速緩沖存儲(chǔ)器60中的數(shù)據(jù)內(nèi)容置換出一部分 之后,再執(zhí)行步驟106;
在步驟107判斷客戶端20的待寫入數(shù)據(jù)是否己經(jīng)全部寫入專用高速緩 沖存儲(chǔ)器60中,如果是,則執(zhí)行步驟108,否則返回步驟104,其中當(dāng)所有 待寫入數(shù)據(jù)都寫入并存儲(chǔ)于專用高速緩沖存儲(chǔ)器60中以后,客戶端即認(rèn)為 數(shù)據(jù)寫入操作已經(jīng)結(jié)束,進(jìn)而可以進(jìn)入其自身其它的處理工作當(dāng)中;
當(dāng)客戶端20的待寫入數(shù)據(jù)已經(jīng)全部寫入專用高速緩沖存儲(chǔ)器60中之 后,在步驟108,服務(wù)器10的輸入輸出(I/O)控制器將協(xié)調(diào)控制將已寫入 專用高速緩沖存儲(chǔ)器60中的數(shù)據(jù)真正寫入到服務(wù)器10的實(shí)體磁盤中,并控 制已寫入專用高速緩沖存儲(chǔ)器60中的數(shù)據(jù)在預(yù)定時(shí)間內(nèi)不會(huì)被置換到專用 高速緩沖存儲(chǔ)器60之外,因此,當(dāng)相應(yīng)的客戶端20很快地要對剛剛寫入的 數(shù)據(jù)進(jìn)行讀取時(shí),可以直接由專用高速緩沖存儲(chǔ)器60中讀出即可,省去了 再由磁盤讀出的操作時(shí)間, 一定程度上加快了數(shù)據(jù)的讀取速度。
在上述本發(fā)明的一種多客戶端的網(wǎng)絡(luò)虛擬存儲(chǔ)方法中,由于高速緩沖存 儲(chǔ)器的數(shù)據(jù)寫入速度遠(yuǎn)遠(yuǎn)高于實(shí)際的實(shí)體硬盤,所以對客戶端而言相當(dāng)于使 用了寫入速度更高的硬盤,從而提高了數(shù)據(jù)寫入速度,此外當(dāng)一個(gè)第一客戶 端要寫入數(shù)據(jù)時(shí)有可能一個(gè)第二客戶端正在向磁盤中寫入數(shù)據(jù),加入高速緩 沖存儲(chǔ)器后第一客戶端無需與其它客戶端共享磁盤設(shè)備而只需將數(shù)據(jù)寫入到其專用高速緩沖存儲(chǔ)器60中即可。而對于各個(gè)客戶端寫入專用高速緩沖 存儲(chǔ)器中的數(shù)據(jù)何時(shí)能夠真正地寫入到服務(wù)器的實(shí)體磁盤中,則會(huì)由服務(wù)器 的輸入輸出(I/O)控制器進(jìn)行后續(xù)的協(xié)調(diào)處理,在此不再贅述。
現(xiàn)在請參考圖3,圖3為上述本發(fā)明的一種多客戶端的網(wǎng)絡(luò)虛擬存儲(chǔ)方 法中當(dāng)客戶端進(jìn)行數(shù)據(jù)讀取操作時(shí)的方法流程圖,如圖1及圖3所示,本發(fā)明的一種多客戶端的網(wǎng)絡(luò)虛擬存儲(chǔ)方法,可更進(jìn)一步包含如下步驟
當(dāng)一個(gè)客戶端20需要進(jìn)行數(shù)據(jù)讀取操作時(shí),首先在步驟200,在本地的 索引表70中進(jìn)行查找以確定待讀取的數(shù)據(jù)是否為公用數(shù)據(jù),當(dāng)待讀取的數(shù) 據(jù)內(nèi)容存在于索引表70中時(shí),則證明待讀取的數(shù)據(jù)曾經(jīng)被修改過,為專用 數(shù)據(jù),否則為公用數(shù)據(jù);
在步驟201,客戶端20向服務(wù)器10發(fā)送數(shù)據(jù)讀取指令;
在步驟202,服務(wù)器10接收到數(shù)據(jù)讀取指令后,判斷客戶端20需要讀 取的數(shù)據(jù)類型是否為公用數(shù)據(jù);
當(dāng)客戶端20需要讀取的數(shù)據(jù)為公用數(shù)據(jù)時(shí),服務(wù)器10首先在步驟203 査找判斷待讀取的數(shù)據(jù)是否存儲(chǔ)于公用高速緩沖存儲(chǔ)器50中,如果是,則 在步驟205從公用高速緩沖存儲(chǔ)器50中直接讀取數(shù)據(jù),然后在步驟209將 讀取的數(shù)據(jù)返回給客戶端20,如果公用高速緩沖存儲(chǔ)器50中沒有存儲(chǔ)待讀 取的數(shù)據(jù),則在步驟206從公用數(shù)據(jù)存儲(chǔ)區(qū)域30中讀取數(shù)據(jù)并存儲(chǔ)至公用 高速緩沖存儲(chǔ)器50中,然后再在步驟209將讀取的數(shù)據(jù)返回給客戶端20, 因?yàn)閷τ谙嗤膽?yīng)用需求而言,在同一工作時(shí)間段內(nèi)通常要讀取大量相同的 數(shù)據(jù)內(nèi)容,如果放在公用數(shù)據(jù)存儲(chǔ)區(qū)域30 (即公用磁盤空間)中則需要對磁 盤進(jìn)行反復(fù)的讀取操作,如此便限制了數(shù)據(jù)的獲取速度,而釆用本發(fā)明的方 法中的公用高速緩沖存儲(chǔ)器的方式,只需要一次性將數(shù)據(jù)讀取進(jìn)來,由于各 個(gè)客戶端20所要執(zhí)行的數(shù)據(jù)讀取操作非常相似,則后續(xù)數(shù)據(jù)讀取的命中率 將大大提高,從而將公用數(shù)據(jù)的讀取速度提高到接近于內(nèi)部存儲(chǔ)器的數(shù)據(jù)讀 取速度,公用高速緩沖存儲(chǔ)器越大則數(shù)據(jù)讀取速度越快;
對于讀取專用數(shù)據(jù)的步驟流程則與讀取公用數(shù)據(jù)時(shí)相類似,當(dāng)客戶端20 需要讀取的數(shù)據(jù)為專用數(shù)據(jù)時(shí),服務(wù)器10首先在步驟204査找判斷待讀取 的數(shù)據(jù)是否存儲(chǔ)于專用高速緩沖存儲(chǔ)器60中,如果是,則在步驟207、從專 用高速緩沖存儲(chǔ)器60中直接讀取數(shù)據(jù),然后在步驟209將讀取的數(shù)據(jù)返回給客戶端20,如果專用高速緩沖存儲(chǔ)器60中沒有存儲(chǔ)待讀取的數(shù)據(jù),則在 從步驟208專用數(shù)據(jù)存儲(chǔ)區(qū)域40中讀取數(shù)據(jù)并存儲(chǔ)至專用高速緩沖存儲(chǔ)器 60中,然后再在步驟209將讀取的數(shù)據(jù)返回給客戶端20。
上述本發(fā)明的一種多客戶端的網(wǎng)絡(luò)虛擬存儲(chǔ)方法,在客戶端進(jìn)行數(shù)據(jù)讀 取操作的進(jìn)程中,在訪問和讀取高速緩沖存儲(chǔ)器中的數(shù)據(jù)的同時(shí)還會(huì)依據(jù)不同數(shù)據(jù)的具體訪問及讀取情況加以記錄,并由服務(wù)器的輸入輸出a/o)控制器按照所記錄的訪問及讀取頻率選取高速緩沖存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)進(jìn)行換 入換出的操作以增加客戶端直接在高速緩沖存儲(chǔ)器中查找到并讀取所需數(shù) 據(jù)的命中率。
雖然本發(fā)明以前述的較佳實(shí)施方式揭示如上,然而其并非用以限定本發(fā) 明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)意識(shí)到在不脫離本發(fā)明所附權(quán)利要求范圍所揭示的 本發(fā)明的范圍和精神的情況下,所進(jìn)行的改動(dòng)與修改,均屬本發(fā)明的專利保 護(hù)范圍之內(nèi)。關(guān)于本發(fā)明的保護(hù)范圍請參考所附權(quán)利要求。
權(quán)利要求
1.一種多客戶端的網(wǎng)絡(luò)虛擬存儲(chǔ)方法,用以在具有一服務(wù)器及多個(gè)客戶端的區(qū)域網(wǎng)絡(luò)虛擬存儲(chǔ)系統(tǒng)中實(shí)現(xiàn)對多個(gè)客戶端數(shù)據(jù)的網(wǎng)絡(luò)虛擬存儲(chǔ)的加速及優(yōu)化,該方法包含以下步驟系統(tǒng)啟動(dòng)后,該服務(wù)器依據(jù)應(yīng)用配置將一公用數(shù)據(jù)存儲(chǔ)區(qū)域加載至該服務(wù)器的磁盤上,同時(shí),在該服務(wù)器的磁盤上依據(jù)所述客戶端的數(shù)量動(dòng)態(tài)地對應(yīng)配置多個(gè)專用數(shù)據(jù)存儲(chǔ)區(qū)域;該服務(wù)器為公用數(shù)據(jù)存儲(chǔ)區(qū)域的數(shù)據(jù)存儲(chǔ)對應(yīng)配置一公用高速緩沖存儲(chǔ)器,并且分別為所述各專用數(shù)據(jù)存儲(chǔ)區(qū)域的數(shù)據(jù)存儲(chǔ)對應(yīng)配置一專用高速緩沖存儲(chǔ)器;當(dāng)一客戶端需要進(jìn)行數(shù)據(jù)寫入操作時(shí),首先在本地的一索引表中記錄待寫入數(shù)據(jù)內(nèi)容的相關(guān)屬性,然后將所有數(shù)據(jù)寫入指令及待寫入數(shù)據(jù)由網(wǎng)絡(luò)發(fā)送給該服務(wù)器;以及該服務(wù)器收到該數(shù)據(jù)寫入指令及待寫入數(shù)據(jù)后,實(shí)時(shí)判斷該客戶端的專用高速緩沖存儲(chǔ)器的數(shù)據(jù)寫入空間是否已滿,如果未滿,則將該待寫入數(shù)據(jù)寫入該專用高速緩沖存儲(chǔ)器中直至該待寫入數(shù)據(jù)全部寫入該專用高速緩沖存儲(chǔ)器中;如果已滿,則由該服務(wù)器的一輸入輸出控制器將該專用高速緩沖存儲(chǔ)器中的數(shù)據(jù)內(nèi)容置換出一部分后再將該待寫入數(shù)據(jù)寫入該專用高速緩沖存儲(chǔ)器中直至該待寫入數(shù)據(jù)全部寫入該專用高速緩沖存儲(chǔ)器中。
2. 如權(quán)利要求l所述的網(wǎng)絡(luò)虛擬存儲(chǔ)方法,其中進(jìn)一步包含如下步驟 當(dāng)該客戶端的待寫入數(shù)據(jù)己經(jīng)寫入該專用高速緩沖存儲(chǔ)器中之后,該服務(wù)器的輸入輸出控制器將協(xié)調(diào)控制該己寫入專用高速緩沖存儲(chǔ)器中的數(shù)據(jù) 真正寫入到該服務(wù)器的實(shí)體磁盤中,并控制該已寫入專用高速緩沖存儲(chǔ)器中 的數(shù)據(jù)在預(yù)定時(shí)間內(nèi)不會(huì)被置換到該專用高速緩沖存儲(chǔ)器之外。
3. 如權(quán)利要求1所述的網(wǎng)絡(luò)虛擬存儲(chǔ)方法,其中進(jìn)一步包含如下步驟當(dāng)一客戶端需要進(jìn)行數(shù)據(jù)讀取操作時(shí),首先在該本地的索引表中進(jìn)行査 找以確定該待讀取的數(shù)據(jù)是否為公用數(shù)據(jù),當(dāng)該待讀取的數(shù)據(jù)內(nèi)容存在于該索引表中時(shí),則該待讀取的數(shù)據(jù)為專用數(shù)據(jù),否則為公用數(shù)據(jù); 該客戶端向該服務(wù)器發(fā)送數(shù)據(jù)讀取指令;該服務(wù)器接收到該數(shù)據(jù)讀取指令后,判斷該客戶端需要讀取的數(shù)據(jù)類 型;以及當(dāng)該客戶端需要讀取的數(shù)據(jù)為公用數(shù)據(jù)時(shí),該服務(wù)器首先査找判斷該待 讀取的數(shù)據(jù)是否存儲(chǔ)于該公用高速緩沖存儲(chǔ)器中,如果是,則從該公用高速 緩沖存儲(chǔ)器中直接讀取該數(shù)據(jù)并返回給該客戶端,否則從該公用數(shù)據(jù)存儲(chǔ)區(qū) 域中讀取該數(shù)據(jù)并存儲(chǔ)至該公用高速緩沖存儲(chǔ)器中,然后再返回給該客戶端o
4.如權(quán)利要求3所述的網(wǎng)絡(luò)虛擬存儲(chǔ)方法,其中進(jìn)一步包含如下步驟: 當(dāng)該客戶端需要讀取的數(shù)據(jù)為專用數(shù)據(jù)時(shí),該服務(wù)器首先査找判斷該待 讀取的數(shù)據(jù)是否存儲(chǔ)于該專用高速緩沖存儲(chǔ)器中,如果是,則從該專用高速 緩沖存儲(chǔ)器中直接讀取該數(shù)據(jù)并返回給該客戶端,否則從該專用數(shù)據(jù)存儲(chǔ)區(qū) 域中讀取該數(shù)據(jù)并存儲(chǔ)至該專用高速緩沖存儲(chǔ)器中,然后再返回給該客戶端0
全文摘要
一種多客戶端的網(wǎng)絡(luò)虛擬存儲(chǔ)方法,包含將公用數(shù)據(jù)存儲(chǔ)區(qū)域加載至服務(wù)器的磁盤上,并對應(yīng)配置多個(gè)專用數(shù)據(jù)存儲(chǔ)區(qū)域;為公用數(shù)據(jù)存儲(chǔ)區(qū)域的數(shù)據(jù)存儲(chǔ)配置公用高速緩沖存儲(chǔ)器,并為各專用數(shù)據(jù)存儲(chǔ)區(qū)域的數(shù)據(jù)存儲(chǔ)配置專用高速緩沖存儲(chǔ)器;當(dāng)需要進(jìn)行數(shù)據(jù)寫入操作時(shí),先記錄待寫入數(shù)據(jù)內(nèi)容的相關(guān)屬性,再將數(shù)據(jù)寫入指令及待寫入數(shù)據(jù)發(fā)送給服務(wù)器;并判斷專用高速緩沖存儲(chǔ)器的數(shù)據(jù)寫入空間是否已滿,根據(jù)判斷結(jié)果將待寫入數(shù)據(jù)寫入專用高速緩沖存儲(chǔ)器中。該方法提高了虛擬磁盤的數(shù)據(jù)寫入速度并減少了數(shù)據(jù)再次讀出的磁盤操作時(shí)間,實(shí)現(xiàn)了對多個(gè)客戶端數(shù)據(jù)的網(wǎng)絡(luò)虛擬存儲(chǔ)的加速。此外,本方法實(shí)現(xiàn)了對多個(gè)客戶端數(shù)據(jù)的網(wǎng)絡(luò)虛擬存儲(chǔ)的優(yōu)化。
文檔編號(hào)H04L29/08GK101202758SQ20061016469
公開日2008年6月18日 申請日期2006年12月14日 優(yōu)先權(quán)日2006年12月14日
發(fā)明者威 劉, 劉文涵, 王云松, 陳玄同 申請人:英業(yè)達(dá)股份有限公司