本發(fā)明涉及分布式存儲技術(shù)領(lǐng)域,更具體的說,涉及一種分布式緩存數(shù)據(jù)管理系統(tǒng)、方法及裝置。
背景技術(shù):
互聯(lián)網(wǎng)行業(yè)的發(fā)展,促進(jìn)了數(shù)據(jù)存儲的幾何倍增長,使得數(shù)據(jù)存儲量越來越大,如何提高數(shù)據(jù)訪問效率成為了互聯(lián)網(wǎng)發(fā)展關(guān)鍵。目前,業(yè)界為提高數(shù)據(jù)訪問效率,常用的一個方法是:當(dāng)客戶端需要訪問后端存儲器中的數(shù)據(jù)時,開啟緩存,從緩存中去訪問數(shù)據(jù),從而減少整個io棧路徑,加快數(shù)據(jù)訪問速度。具體過程為:當(dāng)開啟緩存后,緩存中的數(shù)據(jù)通常會放進(jìn)內(nèi)存中,這樣,就相當(dāng)于直接從內(nèi)存中讀寫數(shù)據(jù),從而可以提高數(shù)據(jù)訪問速度。尤其是緩存數(shù)據(jù)變化不頻繁的業(yè)務(wù)場景,數(shù)據(jù)訪問速度會提高很多。
然而,上述方案在提高數(shù)據(jù)訪問速度的同時還存在一定的風(fēng)險。當(dāng)客戶端從內(nèi)存讀取緩存數(shù)據(jù)時,如果客戶端出現(xiàn)異常情況,如主機(jī)斷電、服務(wù)器宕機(jī)、網(wǎng)絡(luò)癱瘓等,內(nèi)存中的緩存數(shù)據(jù)就會丟失,即使客戶端恢復(fù)正常后,內(nèi)存中的緩存數(shù)據(jù)也不會恢復(fù)。為保證數(shù)據(jù)的安全訪問,現(xiàn)有又提供了另一種數(shù)據(jù)訪問方案,如圖1所示,采用高性能非易失存儲器代替內(nèi)存,作為讀寫高速緩沖存儲器,一個高性能非易失存儲器對應(yīng)一個客戶端,每一個高性能非易失存儲器都是對外不可見的,如客戶端a智能看到高性能非易失存儲器a,客戶端b智能看到高性能非易失存儲器b。當(dāng)客戶端a需要將數(shù)據(jù)塊a寫入后端存儲器的分布式存儲資源池的塊存儲中時,客戶端a首先需要將數(shù)據(jù)塊a緩存在高性能非易失存儲器a,然后再通過高性能非易失存儲器a寫入塊存儲。當(dāng)數(shù)據(jù)塊a還未寫入塊存儲,而是緩存在高性能非易失存儲器a中時,若客戶端b認(rèn)為客戶端a已經(jīng)將數(shù)據(jù)塊a寫入塊存儲,客戶端b就會通過高性能非易失存儲器b從塊存儲中開始執(zhí)行讀取數(shù)據(jù)塊a的操作,一種情況是在塊存儲中未查找到數(shù)據(jù)塊a,另一種情況是查找到數(shù)據(jù)塊a,但該數(shù)據(jù)塊a并不是最新的數(shù)據(jù)塊。這兩種情況,都會導(dǎo)致客戶端a寫入的數(shù)據(jù)和客戶端b讀取的數(shù)據(jù)不一致。
基于傳統(tǒng)方案存在的種種問題,大多數(shù)企業(yè)廠商采用犧牲存儲性能為代價,不開啟緩存,直接從客戶端到服務(wù)器端進(jìn)行數(shù)據(jù)訪問,這樣雖然能夠保證數(shù)據(jù)的安全訪問,但是數(shù)據(jù)訪問效率大大降低。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明公開一種分布式緩存數(shù)據(jù)管理系統(tǒng)、方法及裝置,以實(shí)現(xiàn)在減小整個io棧路徑,加快數(shù)據(jù)訪問速度的同時,保證數(shù)據(jù)的安全訪問以及不同客戶端同時對后端存儲器進(jìn)行操作時,數(shù)據(jù)的一致性。
一種分布式緩存數(shù)據(jù)管理系統(tǒng),應(yīng)用于服務(wù)器端,包括:
高速資源緩沖池,所述高速資源緩沖池由多個高性能非易失存儲器通過集群方式組成,每一個所述高性能非易失存儲器對應(yīng)一個客戶端,并作為該客戶端的讀寫高速緩沖存儲器;
以及,與所述高速資源緩沖池連接的后端存儲器;
所述高速資源緩沖池,用于在客戶端寫入數(shù)據(jù)時,接收待寫入數(shù)據(jù),并將所述待寫入數(shù)據(jù)直接寫入與該客戶端對應(yīng)的高性能非易失存儲器中;
所述高速資源緩沖池,還用于在客戶端讀取數(shù)據(jù)時,接收數(shù)據(jù)讀取指令,根據(jù)所述數(shù)據(jù)讀取指令,從各個高性能非易失存儲器中查找是否緩存有所述讀寫指令中攜帶的待讀取數(shù)據(jù),如果是,則讀取查找到的待讀取數(shù)據(jù);如果否,則繼續(xù)從所述后端服務(wù)器讀取所述待讀取數(shù)據(jù)。
優(yōu)選的,所述后端存儲器包括:多個機(jī)械硬盤。
優(yōu)選的,所述高性能非易失存儲器用于存放距離當(dāng)前時間預(yù)設(shè)時間段內(nèi)訪問頻率最高的數(shù)據(jù)。
一種分布式緩存數(shù)據(jù)管理方法,應(yīng)用于高速資源緩沖池,所述高速資源緩沖池由多個高性能非易失存儲器通過集群方式組成,每一個所述高性能非易失存儲器對應(yīng)一個客戶端,并作為該客戶端的讀寫高速緩沖存儲器;
所述方法包括:
在客戶端寫入數(shù)據(jù)時,接收待寫入數(shù)據(jù),并將所述待寫入數(shù)據(jù)直接寫入與該客戶端對應(yīng)的高性能非易失存儲器中;
在客戶端讀取數(shù)據(jù)時,接收數(shù)據(jù)讀取指令;
根據(jù)所述數(shù)據(jù)讀取指令,從各個高性能非易失存儲器中查找是否緩存有所述讀寫指令中攜帶的待讀取數(shù)據(jù);
如果是,則讀取查找到的待讀取數(shù)據(jù);
如果否,則繼續(xù)從所述后端服務(wù)器讀取所述待讀取數(shù)據(jù)。
一種分布式緩存數(shù)據(jù)管理裝置,應(yīng)用于高速資源緩沖池,所述高速資源緩沖池由多個高性能非易失存儲器通過集群方式組成,每一個所述高性能非易失存儲器對應(yīng)一個客戶端,并作為該客戶端的讀寫高速緩沖存儲器;
所述裝置包括:
寫入單元,用于在客戶端寫入數(shù)據(jù)時,接收待寫入數(shù)據(jù),并將所述待寫入數(shù)據(jù)直接寫入與該客戶端對應(yīng)的高性能非易失存儲器中;
接收單元,用于在客戶端讀取數(shù)據(jù)時,接收數(shù)據(jù)讀取指令;
查找單元,用于根據(jù)所述數(shù)據(jù)讀取指令,從各個高性能非易失存儲器中查找是否緩存有所述讀寫指令中攜帶的待讀取數(shù)據(jù);
第一讀取單元,用于在所述查找單元查找到所述待讀取數(shù)據(jù)時,讀取所述待讀取數(shù)據(jù);
第二讀取單元,用于在所述查找單元未查找到所述待讀取數(shù)據(jù)時,繼續(xù)從所述后端服務(wù)器讀取所述待讀取數(shù)據(jù)。
從上述的技術(shù)方案可知,本發(fā)明公開了一種分布式緩存數(shù)據(jù)管理系統(tǒng)、方法及裝置,管理系統(tǒng)包括:后端存儲器和高速資源緩沖池,該高速資源緩沖池由多個高性能非易失存儲器通過集群方式組成,每一個所述高性能非易失存儲器對應(yīng)一個客戶端,并作為該客戶端的讀寫高速緩沖存儲器,當(dāng)客戶端寫入數(shù)據(jù)時,客戶端將待寫入數(shù)據(jù)直接寫入高速資源緩沖池中對應(yīng)的高性能非易失存儲器,當(dāng)客戶端需要讀取數(shù)據(jù)時,客戶端首先會在高速資源緩沖池讀取,當(dāng)高速資源緩沖池未緩存待讀取數(shù)據(jù)時,再從后端服務(wù)器讀取。由于本發(fā)明將各個客戶端對應(yīng)的高性能非易失存儲器進(jìn)行了集群,從而使得各個高性能非易失存儲器之間能夠資源共享,客戶端可以看到所有的被緩存的數(shù)據(jù),這樣,客戶端通過在高速資源緩沖池首先讀取待讀取數(shù)據(jù),即可確定所需讀取數(shù)據(jù)是否緩存在高速資源緩沖池,且僅在確定高速資源緩沖池沒有緩存待讀取數(shù)據(jù)時,再從后端服務(wù)器讀取。因此,本發(fā)明不僅減小了整個io棧路徑,加快數(shù)據(jù)訪問速度,同時還保證了數(shù)據(jù)的安全訪問以及不同客戶端同時對后端存儲器進(jìn)行操作時,數(shù)據(jù)的一致性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)公開的附圖獲得其他的附圖。
圖1為傳統(tǒng)的cache數(shù)據(jù)處理框架圖;
圖2為本發(fā)明實(shí)施例公開的一種分布式緩存數(shù)據(jù)管理系統(tǒng)的框架圖;
圖3為本發(fā)明實(shí)施例公開的一種高速資源緩沖池和后端服務(wù)器的信令交互圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例公開了一種分布式緩存數(shù)據(jù)管理系統(tǒng)、方法及裝置,以實(shí)現(xiàn)在減小整個io棧路徑,加快數(shù)據(jù)訪問速度的同時,保證數(shù)據(jù)的安全訪問以及不同客戶端同時對后端存儲器進(jìn)行操作時,數(shù)據(jù)的一致性。
參見圖2,本發(fā)明一實(shí)施例公開的一種分布式緩存數(shù)據(jù)管理系統(tǒng)的框架圖,該系統(tǒng)應(yīng)用于服務(wù)器端,該系統(tǒng)包括:高速資源緩沖池11以及與高速資源緩沖池11連接的后端存儲器12;
其中:
高速資源緩沖池11由多個高性能非易失存儲器111通過集群方式組成,每一個高性能非易失存儲器111對應(yīng)一個客戶端10,并作為該客戶端10的讀寫高速緩沖存儲器(cache)。
具體的,高性能非易失存儲器111是一種能夠在環(huán)境出現(xiàn)異常情況,如主機(jī)斷電、服務(wù)器宕機(jī)、網(wǎng)絡(luò)癱瘓時,保證數(shù)據(jù)不丟失的一種存儲器。
本發(fā)明中,采用高性能非易失存儲器111作為客戶端10的讀寫cache,當(dāng)客戶端10需要訪問后端存儲器12中的數(shù)據(jù)時,開啟緩存,緩存中的數(shù)據(jù)被放入高性能非易失存儲器111中,這時,客戶端10就可以直接從相對應(yīng)的高性能非易失存儲器111中讀寫數(shù)據(jù),從而減少整個io棧路徑,提高數(shù)據(jù)訪問速度。當(dāng)高性能非易失存儲器111所處的環(huán)境出現(xiàn)異常情況時,高性能非易失存儲器111中的緩存數(shù)據(jù)會暫時保存在高性能非易失存儲器111上,當(dāng)環(huán)境恢復(fù)正常后,客戶端10再繼續(xù)從高性能非易失存儲器111讀取數(shù)據(jù),相比內(nèi)存而言,高性能非易失存儲器111大大提高了數(shù)據(jù)訪問的安全性。
需要說明的是,一個客戶端10對應(yīng)一個高性能非易失存儲器111。
集群通信系統(tǒng)是一種用于集團(tuán)調(diào)度指揮通信的移動通信系統(tǒng),主要應(yīng)用在專業(yè)移動通信領(lǐng)域。該系統(tǒng)具有的可用信道可為系統(tǒng)的全體用戶共用,具有自動選擇信道功能,它是共享資源、分擔(dān)費(fèi)用、共用信道設(shè)備及服務(wù)的多用途、高效能的無線調(diào)度通信系統(tǒng)。
本實(shí)施例中,通過將多個高性能非易失存儲器111采用集群方式,來實(shí)現(xiàn)對不同客戶端10的高性能非易失存儲器111的統(tǒng)一管理,形成統(tǒng)一的分布式緩存,由于這些高性能非易失存儲器111不再獨(dú)立于自己主機(jī)的緩存,因此使得各個客戶端10可以在高速資源緩沖池11看到所有被緩存的數(shù)據(jù)。
所述高速資源緩沖池11,用于在客戶端10寫入數(shù)據(jù)時,接收待寫入數(shù)據(jù),并將所述待寫入數(shù)據(jù)直接寫入與該客戶端10對應(yīng)的高性能非易失存儲器111中。
具體的,本發(fā)明采用writeback機(jī)制,當(dāng)客戶端10需要寫入數(shù)據(jù)時,客戶端10將待寫入數(shù)據(jù)直接寫入高速資源緩沖池11中對應(yīng)的高性能非易失存儲器111中,也即,客戶端10將待寫入數(shù)據(jù)直接寫入分布式緩存后,即返回。
高速資源緩沖池11,還用于在客戶端10讀取數(shù)據(jù)時,接收數(shù)據(jù)讀取指令,根據(jù)所述數(shù)據(jù)讀取指令,從各個高性能非易失存儲器111中查找是否緩存有所述讀寫指令中攜帶的待讀取數(shù)據(jù),如果是,則讀取查找到的待讀取數(shù)據(jù);如果否,則繼續(xù)從所述后端服務(wù)器12讀取所述待讀取數(shù)據(jù)。
具體的,當(dāng)客戶端10需要讀取數(shù)據(jù)時,客戶端10首先會在高速資源緩沖池11讀取,由于將各個客戶端10對應(yīng)的高性能非易失存儲器111進(jìn)行了集群,從而使得各個高性能非易失存儲器111之間能夠資源共享,客戶端10可以看到所有的被緩存的數(shù)據(jù),這樣,客戶端通過在高速資源緩沖池首先讀取待讀取數(shù)據(jù),即可確定所需讀取數(shù)據(jù)是否緩存在高速資源緩沖池10,當(dāng)高速資源緩沖池11未緩存待讀取數(shù)據(jù)時,再從后端服務(wù)器12中讀取。因此,當(dāng)不同客戶端10同時對后端存儲器12進(jìn)行操作時,可以保證數(shù)據(jù)的一致性,有效避免了傳統(tǒng)方案中,因客戶端a的數(shù)據(jù)沒有存儲到后端服務(wù)器12,客戶端b就從后端服務(wù)器12進(jìn)行讀取操作造成的數(shù)據(jù)不一致的問題。
綜上,本發(fā)明公開的分布式緩存數(shù)據(jù)管理系統(tǒng),因在分布式存儲上采用高性能非易失存儲器111作為客戶端10的讀寫cache,保證了環(huán)境異常時,緩存數(shù)據(jù)可以暫時保存在高性能非易失存儲器111上,當(dāng)環(huán)境恢復(fù)正常后,客戶端10再繼續(xù)從高性能非易失存儲器111讀取數(shù)據(jù),相比內(nèi)存而言,高性能非易失存儲器111大大提高了數(shù)據(jù)訪問的安全性。
本發(fā)明采用的分布式緩存,通過把不同客戶端10的高性能非易失存儲器111集群同一管理,形成同一的高速資源緩沖池,使得不同客戶端10同時對后端存儲器12進(jìn)行操作時,可以保證數(shù)據(jù)的一致性,有效避免傳統(tǒng)方案中,因客戶端a的數(shù)據(jù)沒有存儲到后端服務(wù)器12,客戶端b就從后端服務(wù)器12進(jìn)行讀取操作造成的數(shù)據(jù)不一致的問題。
本發(fā)明采用writeback機(jī)制,當(dāng)客戶端10寫入數(shù)據(jù)時,直接將數(shù)據(jù)寫入分布式緩存,即返回;當(dāng)客戶端10讀取數(shù)據(jù)時,若發(fā)現(xiàn)所需讀取數(shù)據(jù)位于分布式緩存(也即高速資源緩沖池11)中,就直接從分布式緩存中進(jìn)行讀取,從而有效減短了整個io棧的路徑,提高了整體性能。
需要說明的是,上述實(shí)施例中,高速資源緩沖池11中的高性能非易失存儲器111主要用于存放距離當(dāng)前時間預(yù)設(shè)時間段內(nèi)訪問頻率最高的數(shù)據(jù),也即熱數(shù)據(jù)。
較優(yōu)的,后端存儲器12包括:多個機(jī)械硬盤。
在實(shí)際應(yīng)用中,后端存儲器12一般由大容量的機(jī)械硬盤組成,將這些機(jī)械硬盤統(tǒng)一起來建立資源池,從資源池中劃分不同大小的卷,可應(yīng)用于各種不同的場景。比如,將資源池劃分為10t、100t大小不一的卷,在交警項(xiàng)目中,在100t的大小空間存放視頻,在10t的空間存放圖片。
與上述系統(tǒng)實(shí)施例相對應(yīng),本發(fā)明還公開了一種分布式緩存數(shù)據(jù)管理方法,該方法應(yīng)用于高速資源緩沖池11,所述高速資源緩沖池11由多個高性能非易失存儲器111通過集群方式組成,每一個所述高性能非易失存儲器111對應(yīng)一個客戶端10,并作為該客戶端10的讀寫高速緩沖存儲器。
其中,高速資源緩沖池11和后端服務(wù)器12的信令交互過程參見圖3。
如圖3所示,信令交互過程包括:
步驟s101、在客戶端10寫入數(shù)據(jù)時,接收待寫入數(shù)據(jù),并將所述待寫入數(shù)據(jù)直接寫入與該客戶端10對應(yīng)的高性能非易失存儲器111中;
具體的,本發(fā)明采用writeback機(jī)制,當(dāng)客戶端10需要寫入數(shù)據(jù)時,客戶端10將待寫入數(shù)據(jù)直接寫入高速資源緩沖池11中對應(yīng)的高性能非易失存儲器111中,也即,客戶端10將待寫入數(shù)據(jù)直接寫入分布式緩存后,即返回。
步驟s102、在客戶端10讀取數(shù)據(jù)時,接收數(shù)據(jù)讀取指令;
步驟s103、根據(jù)所述數(shù)據(jù)讀取指令,從各個高性能非易失存儲器111中查找是否緩存有所述讀寫指令中攜帶的待讀取數(shù)據(jù);
步驟s104、如果是,則讀取查找到的待讀取數(shù)據(jù);
步驟s105、如果否,則繼續(xù)從所述后端服務(wù)器12讀取所述待讀取數(shù)據(jù)。
具體的,當(dāng)客戶端10需要讀取數(shù)據(jù)時,客戶端10首先會在高速資源緩沖池11讀取,由于將各個客戶端10對應(yīng)的高性能非易失存儲器111進(jìn)行了集群,從而使得各個高性能非易失存儲器111之間能夠資源共享,客戶端10可以看到所有的被緩存的數(shù)據(jù),這樣,客戶端通過在高速資源緩沖池首先讀取待讀取數(shù)據(jù),即可確定所需讀取數(shù)據(jù)是否緩存在高速資源緩沖池10,當(dāng)高速資源緩沖池11未緩存待讀取數(shù)據(jù)時,再從后端服務(wù)器12中讀取。因此,當(dāng)不同客戶端10同時對后端存儲器12進(jìn)行操作時,可以保證數(shù)據(jù)的一致性,有效避免了傳統(tǒng)方案中,因客戶端a的數(shù)據(jù)沒有存儲到后端服務(wù)器12,客戶端b就從后端服務(wù)器12進(jìn)行讀取操作造成的數(shù)據(jù)不一致的問題。
本發(fā)明中,采用高性能非易失存儲器111作為客戶端10的讀寫cache,當(dāng)客戶端10需要訪問后端存儲器12中的數(shù)據(jù)時,開啟緩存,緩存中的數(shù)據(jù)被放入高性能非易失存儲器111中,這時,客戶端10就可以直接從相對應(yīng)的高性能非易失存儲器111中讀寫數(shù)據(jù),從而減少整個io棧路徑,提高數(shù)據(jù)訪問速度。當(dāng)高性能非易失存儲器111所處的環(huán)境出現(xiàn)異常情況時,高性能非易失存儲器111中的緩存數(shù)據(jù)會暫時保存在高性能非易失存儲器111上,當(dāng)環(huán)境恢復(fù)正常后,客戶端10再繼續(xù)從高性能非易失存儲器111讀取數(shù)據(jù),相比內(nèi)存而言,高性能非易失存儲器111大大提高了數(shù)據(jù)訪問的安全性。
本實(shí)施例中,通過將多個高性能非易失存儲器111采用集群方式,來實(shí)現(xiàn)對不同客戶端10的高性能非易失存儲器111的統(tǒng)一管理,形成統(tǒng)一的分布式緩存,由于這些高性能非易失存儲器111不再獨(dú)立于自己主機(jī)的緩存,因此使得各個客戶端10可以在高速資源緩沖池11看到所有被緩存的數(shù)據(jù)。
綜上,本發(fā)明公開的分布式緩存數(shù)據(jù)管理方法,因在分布式存儲上采用高性能非易失存儲器111作為客戶端10的讀寫cache,保證了環(huán)境異常時,緩存數(shù)據(jù)可以暫時保存在高性能非易失存儲器111上,當(dāng)環(huán)境恢復(fù)正常后,客戶端10再繼續(xù)從高性能非易失存儲器111讀取數(shù)據(jù),相比內(nèi)存而言,高性能非易失存儲器111大大提高了數(shù)據(jù)訪問的安全性。
本發(fā)明采用的分布式緩存,通過把不同客戶端10的高性能非易失存儲器111集群同一管理,形成同一的高速資源緩沖池,使得不同客戶端10同時對后端存儲器12進(jìn)行操作時,可以保證數(shù)據(jù)的一致性,有效避免傳統(tǒng)方案中,因客戶端a的數(shù)據(jù)沒有存儲到后端服務(wù)器12,客戶端b就從后端服務(wù)器12進(jìn)行讀取操作造成的數(shù)據(jù)不一致的問題。
本發(fā)明采用writeback機(jī)制,當(dāng)客戶端10寫入數(shù)據(jù)時,直接將數(shù)據(jù)寫入分布式緩存,即返回;當(dāng)客戶端10讀取數(shù)據(jù)時,若發(fā)現(xiàn)所需讀取數(shù)據(jù)位于分布式緩存(也即高速資源緩沖池11)中,就直接從分布式緩存中進(jìn)行讀取,從而有效減短了整個io棧的路徑,提高了整體性能。
本發(fā)明還公開一種分布式緩存數(shù)據(jù)管理裝置,該裝置應(yīng)用于高速資源緩沖池11,所述高速資源緩沖池11由多個高性能非易失存儲器111通過集群方式組成,每一個所述高性能非易失存儲器111對應(yīng)一個客戶端10,并作為該客戶端10的讀寫高速緩沖存儲器。
該裝置包括:
寫入單元,用于在客戶端10寫入數(shù)據(jù)時,接收待寫入數(shù)據(jù),并將所述待寫入數(shù)據(jù)直接寫入與該客戶端10對應(yīng)的高性能非易失存儲器111中;
具體的,本發(fā)明采用writeback機(jī)制,當(dāng)客戶端10需要寫入數(shù)據(jù)時,客戶端10將待寫入數(shù)據(jù)直接寫入高速資源緩沖池11中對應(yīng)的高性能非易失存儲器111中,也即,客戶端10將待寫入數(shù)據(jù)直接寫入分布式緩存后,即返回。
接收單元,用于在客戶端10讀取數(shù)據(jù)時,接收數(shù)據(jù)讀取指令;
查找單元,用于根據(jù)所述數(shù)據(jù)讀取指令,從各個高性能非易失存儲器111中查找是否緩存有所述讀寫指令中攜帶的待讀取數(shù)據(jù);
第一讀取單元,用于在所述查找單元查找到所述待讀取數(shù)據(jù)時,讀取所述待讀取數(shù)據(jù);
第二讀取單元,用于在所述查找單元未查找到所述待讀取數(shù)據(jù)時,繼續(xù)從所述后端服務(wù)器12讀取所述待讀取數(shù)據(jù)。
具體的,當(dāng)客戶端10需要讀取數(shù)據(jù)時,客戶端10首先會在高速資源緩沖池11讀取,由于將各個客戶端10對應(yīng)的高性能非易失存儲器111進(jìn)行了集群,從而使得各個高性能非易失存儲器111之間能夠資源共享,客戶端10可以看到所有的被緩存的數(shù)據(jù),這樣,客戶端通過在高速資源緩沖池首先讀取待讀取數(shù)據(jù),即可確定所需讀取數(shù)據(jù)是否緩存在高速資源緩沖池10,當(dāng)高速資源緩沖池11未緩存待讀取數(shù)據(jù)時,再從后端服務(wù)器12中讀取。因此,當(dāng)不同客戶端10同時對后端存儲器12進(jìn)行操作時,可以保證數(shù)據(jù)的一致性,有效避免了傳統(tǒng)方案中,因客戶端a的數(shù)據(jù)沒有存儲到后端服務(wù)器12,客戶端b就從后端服務(wù)器12進(jìn)行讀取操作造成的數(shù)據(jù)不一致的問題。
綜上,本發(fā)明公開的分布式緩存數(shù)據(jù)管理裝置,因在分布式存儲上采用高性能非易失存儲器111作為客戶端10的讀寫cache,保證了環(huán)境異常時,緩存數(shù)據(jù)可以暫時保存在高性能非易失存儲器111上,當(dāng)環(huán)境恢復(fù)正常后,客戶端10再繼續(xù)從高性能非易失存儲器111讀取數(shù)據(jù),相比內(nèi)存而言,高性能非易失存儲器111大大提高了數(shù)據(jù)訪問的安全性。
本發(fā)明采用的分布式緩存,通過把不同客戶端10的高性能非易失存儲器111集群同一管理,形成同一的高速資源緩沖池,使得不同客戶端10同時對后端存儲器12進(jìn)行操作時,可以保證數(shù)據(jù)的一致性,有效避免傳統(tǒng)方案中,因客戶端a的數(shù)據(jù)沒有存儲到后端服務(wù)器12,客戶端b就從后端服務(wù)器12進(jìn)行讀取操作造成的數(shù)據(jù)不一致的問題。
本發(fā)明采用writeback機(jī)制,當(dāng)客戶端10寫入數(shù)據(jù)時,直接將數(shù)據(jù)寫入分布式緩存,即返回;當(dāng)客戶端10讀取數(shù)據(jù)時,若發(fā)現(xiàn)所需讀取數(shù)據(jù)位于分布式緩存(也即高速資源緩沖池11)中,就直接從分布式緩存中進(jìn)行讀取,從而有效減短了整個io棧的路徑,提高了整體性能。
需要說明的是,裝置實(shí)施例中,各組成部分的工作原理請參見方法實(shí)施例和系統(tǒng)實(shí)施例對應(yīng)部分,此處不再贅述。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中各個實(shí)施例采用遞進(jìn)的方式描述,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個實(shí)施例之間相同相似部分互相參見即可。
對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。