專利名稱::具有并行處理快取的儲(chǔ)存局域網(wǎng)絡(luò)服務(wù)器及其存取方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種儲(chǔ)存局域網(wǎng)絡(luò)服務(wù)器及其存取方法,特別涉及一種具有并行處理快取的儲(chǔ)存局域網(wǎng)絡(luò)服務(wù)器及其存取方法。
背景技術(shù):
:企業(yè)在建構(gòu)內(nèi)部儲(chǔ)存網(wǎng)絡(luò)時(shí),通常會(huì)選擇直接連接儲(chǔ)存(DirectAccessStorage,簡稱DAS)、網(wǎng)絡(luò)附接儲(chǔ)存(NetworkAttachedStorage,簡稱NAS)與儲(chǔ)存局域網(wǎng)絡(luò)(StorageAreaNetwork,以下簡稱SAN)來相互搭配以儲(chǔ)存數(shù)據(jù)的解決方案。其中,SAN是將許多儲(chǔ)存裝置從局域網(wǎng)絡(luò)獨(dú)立出來成為另一個(gè)網(wǎng)絡(luò)。SAN的特色在于實(shí)現(xiàn)服務(wù)器與實(shí)體儲(chǔ)存設(shè)備間多對多的高速連接。SAN多采用光纖信道(FibreChannd)與服務(wù)器來連結(jié),其連接方式為在服務(wù)器里安裝上光纖信道卡(FCHBA)后,再連接上光纖交換器,最后再連接至實(shí)體儲(chǔ)存設(shè)備。SAN的數(shù)據(jù)傳輸方式采用區(qū)塊(block)層級,并以集中管理的方式。由于數(shù)據(jù)是被儲(chǔ)存在邏輯單元編號(Logicunitnumber,以下簡稱LUN)中,并且通過鎖定管理者(LockManager)來控管數(shù)據(jù)的存取。所以若欲存取該筆數(shù)據(jù)的話,需要通過服務(wù)器才能進(jìn)行文件的存取。這樣的作法可以避免同一個(gè)文件被同時(shí)間的讀寫,以減少不同文件的版本。為能加快從服務(wù)器讀取文件數(shù)據(jù)的速度,可以在服務(wù)器中利用快取儲(chǔ)存(cache)的方式來減少對實(shí)體儲(chǔ)存設(shè)備讀寫次數(shù)。高速緩存中儲(chǔ)存著實(shí)體儲(chǔ)存設(shè)備中的部分文件數(shù)據(jù),其稱為快取副本。雖然快取儲(chǔ)存的構(gòu)成規(guī)模較小,但是其存取速度很快。請參考圖l所示,其為高速緩存讀寫的流程圖。請求端向伺服端提出存取數(shù)據(jù)的請求(步驟SI10)。從査找高速緩存中是否有相應(yīng)的快取副本(步驟S120)。判斷高速緩存中是否儲(chǔ)存快取副本(步驟S130)。若高速緩存中儲(chǔ)存有快取副本的話,從高速緩存中讀出快取副本給請求端(步驟S131)。若高速緩存中并未儲(chǔ)存有快取副本的話,則伺服端向?qū)嶓w儲(chǔ)存設(shè)備査找該筆數(shù)據(jù)(步驟S132)。因?yàn)楦咚倬彺娴拇嫒∷俣冗h(yuǎn)比實(shí)體儲(chǔ)存設(shè)備的存取速度更快,所以可以加快查找的速度。但以上所述的快取儲(chǔ)存方式僅能提供單一的數(shù)據(jù)請求。若不同請求端提出對同一筆數(shù)據(jù)的存取請求的話,則伺服端將快取副本提供給各請求端。但是伺服端卻無法判斷各請求端對該筆數(shù)據(jù)的寫入順序。所以伺服端就會(huì)產(chǎn)生數(shù)據(jù)覆寫的問題。這樣一來,使得伺服端并無法有效地利用快取儲(chǔ)存技術(shù)來加快對實(shí)體儲(chǔ)存設(shè)備的存取速度。
發(fā)明內(nèi)容鑒于以上的問題,本發(fā)明的主要目的在于提供一種具有并行處理快取的儲(chǔ)存局域網(wǎng)絡(luò)服務(wù)器,提供數(shù)個(gè)請求端通過儲(chǔ)存局域網(wǎng)絡(luò)存取服務(wù)器中的數(shù)據(jù)。為實(shí)現(xiàn)上述目的,本發(fā)明所揭露的一種具有并行處理快取的儲(chǔ)存局域網(wǎng)絡(luò)服務(wù)器中包括有實(shí)體儲(chǔ)存設(shè)備、調(diào)派管理單元、復(fù)制管理單元、高速緩存單元及數(shù)據(jù)管理單元。實(shí)體儲(chǔ)存設(shè)備用以儲(chǔ)存請求端的發(fā)送的數(shù)據(jù)與傳送給請求端欲讀取的數(shù)據(jù);調(diào)派管理單元用以調(diào)派請求端的存取請求至相應(yīng)的實(shí)體儲(chǔ)存設(shè)備;復(fù)制管理單元用以管理服務(wù)器所連結(jié)的實(shí)體儲(chǔ)存設(shè)備,在每一復(fù)制管理單元中更包括有高速緩存單元及數(shù)據(jù)管理單元。高速緩存單元用以將實(shí)體儲(chǔ)存設(shè)備所存取的數(shù)據(jù)暫存于高速緩存單元中;數(shù)據(jù)管理單元用以紀(jì)錄高速緩存單元中數(shù)據(jù)的一索引值并且提供儲(chǔ)存在高速緩存單元中的一快取副本給相應(yīng)的請求端及用以確認(rèn)每一虛擬裝置管理單元所存取的快取副本的存取時(shí)間。從本發(fā)明的另一觀點(diǎn),本發(fā)明提出一種并行處理快取的存取方法,提供數(shù)個(gè)請求端通過儲(chǔ)存局域網(wǎng)絡(luò)存取的伺服端中的數(shù)據(jù)。為實(shí)現(xiàn)上述目的,本發(fā)明所揭露的一種并行處理快取的存取方法包括下列步驟在服務(wù)器中設(shè)置復(fù)制管理單元,在復(fù)制管理單元中更包括有高速緩存單元;通過復(fù)制管理單元查找所連接的數(shù)個(gè)實(shí)體儲(chǔ)存設(shè)備中的數(shù)據(jù);根據(jù)所查找出的數(shù)據(jù),將其儲(chǔ)存成數(shù)筆快取數(shù)據(jù)至高速緩存單元中;把異動(dòng)過的快取數(shù)據(jù)同步給儲(chǔ)存有相應(yīng)的每一個(gè)虛擬裝置管理單元的高速緩存單元。本發(fā)明提供具有并行處理快取的儲(chǔ)存局域網(wǎng)絡(luò)服務(wù)器及其存取方法。在伺服端中設(shè)置多個(gè)復(fù)制管理單元,并且在每一個(gè)復(fù)制管理單元中提供獨(dú)立的高速緩存。并且提供復(fù)制管理單元間的快取數(shù)據(jù)調(diào)度與各請求端所存取的快取副本5的寫入管理。使得伺服端可以提供給每一個(gè)不同的請求端相應(yīng)的快取數(shù)據(jù),且每一個(gè)快取數(shù)據(jù)間不會(huì)被覆寫。以下結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)描述,但不作為對本發(fā)明的限定。圖1為現(xiàn)有技術(shù)高速緩存讀寫的流程圖2為本發(fā)明的架構(gòu)示意圖3為本發(fā)明的運(yùn)作流程圖4為復(fù)制管理單元發(fā)出只讀請求流程表;圖5a為復(fù)制管理單元對復(fù)制管理單元發(fā)出寫入請求流程表;圖5b為復(fù)制管理單元對復(fù)制管理單元發(fā)出寫入請求流程表。其中,附圖標(biāo)記200具有并行處理快取的儲(chǔ)存局域網(wǎng)絡(luò)服務(wù)器210實(shí)體儲(chǔ)存設(shè)備220復(fù)制管理單元230調(diào)派管理單元240高速緩存單元250數(shù)據(jù)管理單元具體實(shí)施例方式請參考圖2所示,其為本發(fā)明的架構(gòu)示意圖。本發(fā)明的具有并行處理快取的儲(chǔ)存局域網(wǎng)絡(luò)服務(wù)器200(以下簡稱儲(chǔ)存局域網(wǎng)絡(luò)服務(wù)器)中包括有實(shí)體儲(chǔ)存設(shè)備210與復(fù)制管理單元220。在每一復(fù)制管理單元220中還包括有調(diào)派管理單元230、高速緩存單元240及數(shù)據(jù)管理單元250。實(shí)體儲(chǔ)存設(shè)備210用以儲(chǔ)存請求端的發(fā)送的數(shù)據(jù)與傳送給請求端欲讀取的數(shù)據(jù)。復(fù)制管理單元220用以管理儲(chǔ)存局域網(wǎng)絡(luò)服務(wù)器200所連結(jié)的實(shí)體儲(chǔ)存設(shè)備210。在實(shí)體儲(chǔ)存設(shè)備210中還包括快取存取記錄??烊〈嫒∮涗浻靡约o(jì)錄實(shí)體儲(chǔ)存設(shè)備210中所儲(chǔ)存的數(shù)據(jù)存取頻率及其相應(yīng)儲(chǔ)存地址。調(diào)派管理單元230用以調(diào)派請求端的存取請求至相應(yīng)的實(shí)體儲(chǔ)存設(shè)備210或數(shù)據(jù)管理單元250。高速緩存單元240用以將實(shí)體儲(chǔ)存設(shè)備210所存取的數(shù)據(jù)暫存于高速緩存單元240中。數(shù)據(jù)管理單元250用以紀(jì)錄高速緩存單元240中數(shù)據(jù)的索引值,并且提供儲(chǔ)存在高速緩存單元240中的一快取副本給相應(yīng)的請求端。其中,索引值用以作為檢索的響應(yīng)信息。舉例來說,當(dāng)高速緩存單元240中査找出相應(yīng)的數(shù)據(jù)時(shí),則在索引值記錄被查找的次數(shù)。若是高速緩存單元240査找不到相應(yīng)的數(shù)據(jù)時(shí),則索引值會(huì)被設(shè)為-1,用以代表此一高速緩存單元240未被擊中??烊「北緸閮?chǔ)存在高速緩存單元240中的數(shù)據(jù)。此外,數(shù)據(jù)管理單元250也用以確認(rèn)每一虛擬裝置管理單元所存取的快取副本的存取時(shí)間。請參考圖3所示,其為本發(fā)明的運(yùn)作流程圖。本發(fā)明的運(yùn)作流程請參考下列步驟所示在服務(wù)器中設(shè)置復(fù)制管理單元(步驟S310),在復(fù)制管理單元220中還包括有高速緩存單元。接著,通過復(fù)制管理單元查找所連接的數(shù)個(gè)實(shí)體儲(chǔ)存設(shè)備中的數(shù)據(jù)(步驟S320)根據(jù)所査找出的數(shù)據(jù),將所查找出的數(shù)據(jù)儲(chǔ)存成數(shù)筆快取數(shù)據(jù)至高速緩存單元中(步驟S330)。通過復(fù)制管理單元查找高速緩存單元中數(shù)據(jù)的索引值,用以判斷高速緩存單元中是否儲(chǔ)存有快取副本(步驟S340),其由調(diào)派管理單元230用以指派一個(gè)復(fù)制管理單元220。利用快取映象(cachemapping)的方式,將把被異動(dòng)過的快取數(shù)據(jù)同步給儲(chǔ)存有相應(yīng)的每一復(fù)制管理單元220的高速緩存單元240。若在內(nèi)存單元中并未擊中(hit)所欲查找的數(shù)據(jù)時(shí),從其它的復(fù)制管理單元220中的高速緩存單元240中查找相應(yīng)的數(shù)據(jù)。若在其它的復(fù)制管理單元220中的高速緩存單元240中也未擊中所欲查找的數(shù)據(jù)時(shí),則從實(shí)體儲(chǔ)存設(shè)備210中査找相應(yīng)的數(shù)據(jù)。這樣可以降低對實(shí)體儲(chǔ)存設(shè)備210的存取次數(shù)。最后,把異動(dòng)過的快取數(shù)據(jù)同步給儲(chǔ)存有相應(yīng)的每一個(gè)虛擬裝置管理單元的高速緩存單元(步驟S350)。為了能更清楚的說明本發(fā)明的運(yùn)作過程,所以在本實(shí)施例中數(shù)據(jù)管理單元250利用下述的高速緩存儲(chǔ)存格式來進(jìn)行對數(shù)據(jù)存取控制,高速緩存儲(chǔ)存格式請參考表1所示。<table>tableseeoriginaldocumentpage7</column></row><table>表l.高速緩存儲(chǔ)存格式操作指令此一標(biāo)記代表的是存取這個(gè)高速緩存地址中的數(shù)據(jù)的相應(yīng)動(dòng)作。數(shù)據(jù)有效旗標(biāo)(validflag)標(biāo)記這個(gè)高速緩存地址中的數(shù)據(jù)內(nèi)容是否為有效的。舉例來說,若是更新實(shí)體儲(chǔ)存設(shè)備210中的一個(gè)數(shù)據(jù)區(qū)塊的話,但相應(yīng)的復(fù)制管理單元220中的高速緩存中的數(shù)據(jù)卻沒有更新,則在實(shí)體儲(chǔ)存設(shè)備210中的數(shù)據(jù)塊內(nèi)容為無效的。請參考表2所示,其為快取存取記錄格式。索引值復(fù)制^管理單元編號數(shù)據(jù)儲(chǔ)存地址數(shù)據(jù)大小數(shù)據(jù)鎖定旗標(biāo)indexCopymanagerlabelDataaddressDatasizeLocked表2.快取存取記錄格式復(fù)制管理單元220編號用以標(biāo)記出哪一個(gè)復(fù)制管理單元220儲(chǔ)存有欲存取數(shù)據(jù)的快取副本。數(shù)據(jù)鎖定旗標(biāo)用以標(biāo)記所欲存取的數(shù)據(jù)塊是否正被復(fù)制管理單元220進(jìn)行讀寫操作。在此以對復(fù)制管理單元220發(fā)出讀寫請求為例。a.對復(fù)制管理單元發(fā)出只讀(readonly)請求請參考圖4所示,其為復(fù)制管理單元發(fā)出只讀請求流程表。首先,由調(diào)派管理單元230指派一個(gè)復(fù)制管理單元。查找所指派的復(fù)制管理單元220所屬的高速緩存單元240中是否儲(chǔ)存有所欲存取的數(shù)據(jù)。若查找到相應(yīng)的快取副本的話,檢查這個(gè)快取副本是否已被更新過。如果這個(gè)快取副本己經(jīng)被更新了,則將快取副本回復(fù)給請求端(步驟S410)。若查找不到相應(yīng)的快取副本的話,則檢查其它的復(fù)制管理單元220所屬的高速緩存單元240中是否有儲(chǔ)存所欲存取的數(shù)據(jù)。若是在其它的復(fù)制管理單元220的高速緩存單元240中査找到此一數(shù)據(jù)的話,則調(diào)派管理單元230將一存取請求轉(zhuǎn)向至新的復(fù)制管理單元220(步驟S420)。若是在其它的復(fù)制管理單元220的高速緩存單元240中也査找不到此一數(shù)據(jù)的話,則向?qū)嶓w儲(chǔ)存設(shè)備210中査找此一數(shù)據(jù)(步驟S430),并且在快取存取記錄格式記錄相應(yīng)的內(nèi)容。b.對復(fù)制管理單元發(fā)出寫入請求請參考圖5a與圖5b所示,其均為復(fù)制管理單元對復(fù)制管理單元發(fā)出寫入請求流程表。査找所指派的復(fù)制管理單元220所屬的高速緩存單元240中是否儲(chǔ)存有所8欲存取的數(shù)據(jù)。檢查其快取存取記錄格式的鎖定旗標(biāo)狀態(tài)是否為真。若鎖定旗標(biāo)狀態(tài)為false時(shí),檢查這個(gè)快取副本是否己被更新過。若此一快取副本已經(jīng)被更新過的話,則復(fù)制一份當(dāng)前復(fù)制管理單元220內(nèi)容作為新的快取副本,并將其回傳給請求端。在快取存取記錄格式中記錄數(shù)據(jù)鎖定旗標(biāo)的狀態(tài)(步驟S510)。若査找不到有任何的復(fù)制管理單元220中具有此一數(shù)據(jù)的話,則從實(shí)體儲(chǔ)存設(shè)備210中查找。并且檢查快取記錄格式中的鎖定狀態(tài)旗標(biāo),用以確認(rèn)此一數(shù)據(jù)是否有其它請求端所要求。若鎖定狀態(tài)旗標(biāo)為false時(shí),從實(shí)體儲(chǔ)存設(shè)備210中讀取相應(yīng)的資歷到復(fù)制管理單元220所屬的高速緩存中。并在快取存取記錄格式中各旗標(biāo)的狀態(tài),復(fù)制當(dāng)前的復(fù)制管理單元220中的內(nèi)容作為快取副本回傳給請求端(步驟S520)。若鎖定狀態(tài)旗標(biāo)為真時(shí),回傳一等待信息給請求端,用以告知此一快取副本正由其它復(fù)制管理單元220所使用(步驟S530)。本發(fā)明提供具有并行處理快取的儲(chǔ)存局域網(wǎng)絡(luò)服務(wù)器及其存取方法。在伺服端中設(shè)置多個(gè)復(fù)制管理單元220,并且在每一個(gè)復(fù)制管理單元220中提供獨(dú)立的高速緩存。并且提供復(fù)制管理單元220間的快取數(shù)據(jù)調(diào)度與各請求端所存取的快取副本的寫入管理。使得伺服端可以提供給每一個(gè)不同的請求端相應(yīng)的快取數(shù)據(jù),且每一個(gè)快取數(shù)據(jù)間不會(huì)被覆寫。當(dāng)然,本發(fā)明還可有其它多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。9權(quán)利要求1、一種具有并行處理快取的儲(chǔ)存局域網(wǎng)絡(luò)服務(wù)器,提供數(shù)個(gè)請求端通過儲(chǔ)存局域網(wǎng)絡(luò)存取服務(wù)器中的數(shù)據(jù),其特征在于,在該服務(wù)器中包括有數(shù)個(gè)實(shí)體儲(chǔ)存設(shè)備,用以儲(chǔ)存該些請求端的發(fā)送的數(shù)據(jù),及傳送給該些請求端欲讀取的數(shù)據(jù);以及數(shù)個(gè)復(fù)制管理單元,用以管理該服務(wù)器所連結(jié)的該些實(shí)體儲(chǔ)存設(shè)備,在每一該復(fù)制管理單元中還包括有一調(diào)派管理單元,用以調(diào)派該些請求端的存取請求至相應(yīng)的該些實(shí)體儲(chǔ)存設(shè)備;一高速緩存單元,用以將該實(shí)體儲(chǔ)存設(shè)備所存取的數(shù)據(jù)暫存于該高速緩存單元中;以及一數(shù)據(jù)管理單元,用以紀(jì)錄該高速緩存單元中數(shù)據(jù)的一索引值并且提供儲(chǔ)存在該高速緩存單元中的一快取副本給相應(yīng)的該請求端,并且該數(shù)據(jù)管理單元用以確認(rèn)每一該虛擬裝置管理單元所存取的該快取副本的存取時(shí)間。2、根據(jù)權(quán)利要求1所述的具有并行處理快取的儲(chǔ)存局域網(wǎng)絡(luò)服務(wù)器,其特征在于,該實(shí)體儲(chǔ)存設(shè)備中還包括一快取存取記錄,用以紀(jì)錄該實(shí)體儲(chǔ)存設(shè)備中所儲(chǔ)存的數(shù)據(jù)存取頻率及其相應(yīng)儲(chǔ)存地址。3、根據(jù)權(quán)利要求1所述的具有并行處理快取的儲(chǔ)存局域網(wǎng)絡(luò)服務(wù)器,其特征在于,該數(shù)據(jù)同步手段還用以從其它該虛擬裝置管理單元中擷取出已修改的該快取副本。4、一種并行處理快取的存取方法,提供數(shù)個(gè)請求端通過儲(chǔ)存局域網(wǎng)絡(luò)存取一伺服端中的數(shù)據(jù),其特征在于,該存取方法包括以下步驟在一服務(wù)器中設(shè)置一復(fù)制管理單元,在該復(fù)制管理單元中還包括有一高速緩存單元用以將該實(shí)體儲(chǔ)存設(shè)備所存取的數(shù)據(jù)暫存于該高速緩存單元中;通過該復(fù)制管理單元査找所連接的數(shù)個(gè)實(shí)體儲(chǔ)存設(shè)備中的數(shù)據(jù);根據(jù)所查找出的數(shù)據(jù),將其儲(chǔ)存成數(shù)筆快取數(shù)據(jù)至該高速緩存單元中;以及把被異動(dòng)過的該快取數(shù)據(jù)同步給儲(chǔ)存有相應(yīng)的每一該復(fù)制管理單元的該高速緩存單元。5、根據(jù)權(quán)利要求4所述的并行處理快取的存取方法,其特征在于,査找該些實(shí)體儲(chǔ)存設(shè)備中的數(shù)據(jù)還包括下列步驟通過該復(fù)制管理單元查找該高速緩存單元中數(shù)據(jù)的一索引值,用以判斷該高速緩存單元中是否有該快取副本。6、根據(jù)權(quán)利要求4所述的并行處理快取的存取方法,其特征在于,利用快取映象方法將把被異動(dòng)過的該快取數(shù)據(jù)同步給儲(chǔ)存有相應(yīng)的每一該復(fù)制管理單元的該高速緩存單元。7、根據(jù)權(quán)利要求4所述的并行處理快取的存取方法,其特征在于,在査找數(shù)據(jù)的步驟中,還包括下列步驟若在該內(nèi)存單元中并未擊中所欲查找的數(shù)據(jù)時(shí),從其它該些復(fù)制管理單元中的該高速緩存單元中査找相應(yīng)的數(shù)據(jù);以及若在其它該些復(fù)制管理單元中的該高速緩存單元中未擊中所欲查找的數(shù)據(jù)時(shí),從該些實(shí)體儲(chǔ)存設(shè)備中查找相應(yīng)的數(shù)據(jù)。全文摘要一種具有并行處理快取的儲(chǔ)存局域網(wǎng)絡(luò)服務(wù)器及其存取方法。提供數(shù)個(gè)請求端通過儲(chǔ)存局域網(wǎng)絡(luò)存取服務(wù)器中的數(shù)據(jù),在服務(wù)器中包括有實(shí)體儲(chǔ)存設(shè)備用以儲(chǔ)存請求端所發(fā)送的數(shù)據(jù)與傳送給請求端的數(shù)據(jù);復(fù)制管理單元用以管理服務(wù)器所連結(jié)的實(shí)體儲(chǔ)存設(shè)備,在復(fù)制管理單元中包括有高速緩存單元用以將實(shí)體儲(chǔ)存設(shè)備所存取的數(shù)據(jù)暫存于高速緩存單元中;數(shù)據(jù)管理單元用以紀(jì)錄高速緩存單元中數(shù)據(jù)的一索引值并且提供儲(chǔ)存在高速緩存單元中的一快取副本給相應(yīng)的請求端及用以確認(rèn)每一虛擬裝置管理單元所存取的快取副本的存取時(shí)間。文檔編號H04L29/08GK101471948SQ20071016068公開日2009年7月1日申請日期2007年12月29日優(yōu)先權(quán)日2007年12月29日發(fā)明者劉文涵,晟李,陳玄同申請人:英業(yè)達(dá)股份有限公司