欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于集群的數(shù)據(jù)緩存方法及裝置與流程

文檔序號:12063484閱讀:261來源:國知局
基于集群的數(shù)據(jù)緩存方法及裝置與流程

本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種基于集群的數(shù)據(jù)緩存方法及裝置。



背景技術(shù):

集群系統(tǒng)是一種由互相連接的計(jì)算機(jī)組成的并行或分布式系統(tǒng),可以作為單獨(dú)、統(tǒng)一的資源使用。通過集群系統(tǒng)能夠?yàn)楦嗟目蛻舳颂峁┙y(tǒng)一的服務(wù),因此,集群系統(tǒng)得到了越來越廣泛的應(yīng)用。為了提升集群系統(tǒng)的訪問效率,大多集群系統(tǒng)中都會(huì)利用緩存機(jī)制實(shí)現(xiàn)數(shù)據(jù)的存儲。所謂緩存,就是數(shù)據(jù)交換的緩沖區(qū),由于緩存的讀寫速度較快,因此,利用緩存可以提升數(shù)據(jù)讀取或?qū)懭氲男省?/p>

但是,發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中發(fā)現(xiàn)現(xiàn)有技術(shù)中的集群系統(tǒng)至少存在下述缺陷:在集群系統(tǒng)中,緩存策略是固定配置在集群系統(tǒng)內(nèi)部的,并且,整個(gè)集群系統(tǒng)只能采用單一的緩存策略,無法根據(jù)實(shí)際業(yè)務(wù)需求靈活調(diào)整緩存策略。



技術(shù)實(shí)現(xiàn)要素:

鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的基于集群的數(shù)據(jù)緩存方法及裝置。

根據(jù)本發(fā)明的一個(gè)方面,提供了一種基于集群的數(shù)據(jù)緩存方法,包括:接收到客戶端發(fā)送的策略配置請求消息后,向所述客戶端返回策略配置響應(yīng)消息;其中,所述策略配置響應(yīng)消息中包含預(yù)設(shè)的多個(gè)緩存策略;接收所述客戶端根據(jù)所述多個(gè)緩存策略發(fā)送的策略選擇消息,獲取并存儲所述策略選擇消息中包含的所述客戶端選擇的緩存策略;接收到所述客戶端發(fā)送的數(shù)據(jù)訪問請求后,按照所述客戶端選擇的緩存策略處理所述數(shù)據(jù)訪問請求。

可選地,所述基于集群的數(shù)據(jù)緩存方法執(zhí)行之前,進(jìn)一步包括步驟:預(yù)先將所述集群中的全部客戶端劃分為多個(gè)分組,分別為每個(gè)分組中的客戶端分配對應(yīng)的客戶端分組標(biāo)識;則所述獲取并存儲所述策略選擇消息中包含的所述客戶端選擇的緩存策略的步驟具體包括:將所述客戶端對應(yīng)的客戶端分組標(biāo)識與所述客戶端選擇的緩存策略關(guān)聯(lián)存儲在預(yù)設(shè)的緩存策略表中;且所述接收到所述客戶端發(fā)送的數(shù)據(jù)訪問請求后,按照所述客戶端選擇的緩存策略處理所述數(shù)據(jù)訪問請求的步驟具體包括:獲取所述數(shù)據(jù)訪問請求中包含的客戶端分組標(biāo)識,根據(jù)所述緩存策略表確定與所述客戶端分組標(biāo)識關(guān)聯(lián)存儲的緩存策略,按照與所述客戶端分組標(biāo)識關(guān)聯(lián)存儲的緩存策略處理所述數(shù)據(jù)訪問請求。

可選地,所述分別為每個(gè)分組中的客戶端分配對應(yīng)的客戶端分組標(biāo)識的步驟之后進(jìn)一步包括:分別配置各個(gè)客戶端分組標(biāo)識所對應(yīng)的訪問權(quán)限,且所述獲取所述數(shù)據(jù)訪問請求中包含的客戶端分組標(biāo)識的步驟之后進(jìn)一步包括:確定所述客戶端分組標(biāo)識所對應(yīng)的訪問權(quán)限,根據(jù)所述訪問權(quán)限確定是否對所述數(shù)據(jù)訪問請求執(zhí)行后續(xù)處理。

可選地,所述按照所述客戶端選擇的緩存策略處理所述數(shù)據(jù)訪問請求的步驟具體包括:預(yù)先設(shè)置多個(gè)分別與各個(gè)緩存策略相對應(yīng)的緩存策略處理函數(shù),調(diào)用與所述客戶端選擇的緩存策略相對應(yīng)的緩存策略處理函數(shù)處理所述數(shù)據(jù)訪問請求。

可選地,所述客戶端更新后的緩存策略根據(jù)所述客戶端后續(xù)發(fā)送的數(shù)據(jù)訪問請求的類型確定;其中,所述客戶端后續(xù)發(fā)送的數(shù)據(jù)訪問請求的類型包括寫入類型和/或讀取類型。

根據(jù)本發(fā)明的另一個(gè)方面,提供了一種基于集群的數(shù)據(jù)緩存裝置,包括:反饋模塊,適于接收到客戶端發(fā)送的策略配置請求消息后,向所述客戶端返回策略配置響應(yīng)消息;其中,所述策略配置響應(yīng)消息中包含預(yù)設(shè)的多個(gè)緩存策略;接收模塊,適于接收所述客戶端根據(jù)所述多個(gè)緩存策略發(fā)送的策略選擇消息;獲取模塊,適于獲取并存儲所述策略選擇消息中包含的所述客戶端選擇的緩存策略;處理模塊,適于接收到所述客戶端發(fā)送的數(shù)據(jù)訪問請求后,按照所述客戶端選擇的緩存策略處理所述數(shù)據(jù)訪問請求。

可選地,所述基于集群的數(shù)據(jù)緩存裝置進(jìn)一步包括:預(yù)處理模塊,適于預(yù)先將所述集群中的全部客戶端劃分為多個(gè)分組,分別為每個(gè)分組中的客戶端分配對應(yīng)的客戶端分組標(biāo)識;則所述獲取模塊具體用于:將所述客戶端對應(yīng)的客戶端分組標(biāo)識與所述客戶端選擇的緩存策略關(guān)聯(lián)存儲在預(yù)設(shè)的緩存策略表中;且所述處理模塊具體用于:獲取所述數(shù)據(jù)訪問請求中包含的客戶端分組標(biāo)識,根據(jù)所述緩存策略表確定與所述客戶端分組標(biāo)識關(guān)聯(lián)存儲的緩存策略,按照與所述客戶端分組標(biāo)識關(guān)聯(lián)存儲的緩存策略處理所述數(shù)據(jù)訪問請求。

可選地,所述基于集群的數(shù)據(jù)緩存裝置進(jìn)一步包括:配置模塊,適于分別配置各個(gè)客戶端分組標(biāo)識所對應(yīng)的訪問權(quán)限;確定模塊,適于確定所述客戶端分組標(biāo)識所對應(yīng)的訪問權(quán)限,根據(jù)所述訪問權(quán)限確定是否對所述數(shù)據(jù)訪問請求執(zhí)行后續(xù)處理。

可選地,所述處理模塊具體用于:預(yù)先設(shè)置多個(gè)分別與各個(gè)緩存策略相對應(yīng)的緩存策略處理函數(shù),調(diào)用與所述客戶端選擇的緩存策略相對應(yīng)的緩存策略處理函數(shù)處理所述數(shù)據(jù)訪問請求。

可選地,所述基于集群的數(shù)據(jù)緩存裝置進(jìn)一步包括:更新處理模塊,適于接收所述客戶端發(fā)送的策略更新消息,獲取所述策略更新消息中包含的所述客戶端更新后的緩存策略,將存儲的所述客戶端選擇的緩存策略替換為所述客戶端更新后的緩存策略;則所述處理模塊進(jìn)一步用于:按照所述客戶端更新后的緩存策略處理所述數(shù)據(jù)訪問請求。

可選地,所述客戶端更新后的緩存策略根據(jù)所述客戶端后續(xù)發(fā)送的數(shù)據(jù)訪問請求的類型確定;其中,所述客戶端后續(xù)發(fā)送的數(shù)據(jù)訪問請求的類型包括寫入類型和/或讀取類型。

在本發(fā)明提供的一種基于集群的數(shù)據(jù)緩存方法及裝置中,首先,能夠向客戶端提供多個(gè)備選的緩存策略,以供客戶端根據(jù)自身需求選擇合適的緩存策略;其次,能夠?qū)蛻舳诉x擇的緩存策略進(jìn)行配置,以便根據(jù)客戶端選擇的緩存策略處理客戶端的數(shù)據(jù)訪問請求。由此可見,本發(fā)明中的方式能夠根據(jù)實(shí)際業(yè)務(wù)需求靈活調(diào)整緩存策略。

上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。

附圖說明

通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號表示相同的部件。在附圖中:

圖1示出了根據(jù)本發(fā)明實(shí)施例一提供的一種基于集群的數(shù)據(jù)緩存方法的流程示意圖;

圖2示出了根據(jù)本發(fā)明實(shí)施例二提供的一種基于集群的數(shù)據(jù)緩存方法的流程示意圖;

圖3示出了根據(jù)本發(fā)明實(shí)施例三提供的一種基于集群的數(shù)據(jù)緩存裝置的結(jié)構(gòu)框圖。

具體實(shí)施方式

下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。

本發(fā)明提供了一種基于集群的數(shù)據(jù)緩存方法及裝置,至少能夠解決現(xiàn)有技術(shù)中無法根據(jù)實(shí)際業(yè)務(wù)需求靈活調(diào)整緩存策略的技術(shù)問題。

實(shí)施例一

圖1示出了根據(jù)本發(fā)明實(shí)施例一提供的一種基于集群的數(shù)據(jù)緩存方法的流程示意圖。如圖1所示,該方法包括以下步驟:

步驟S110:接收到客戶端發(fā)送的策略配置請求消息后,向客戶端返回策略配置響應(yīng)消息;其中,策略配置響應(yīng)消息中包含預(yù)設(shè)的多個(gè)緩存策略。

其中,策略配置請求消息用于向集群系統(tǒng)請求設(shè)置緩存策略,策略配置響應(yīng)消息用于向客戶端返回可供選擇的緩存策略。其中,策略配置響應(yīng)消息中包含的緩存策略的種類和數(shù)量可預(yù)先由集群系統(tǒng)根據(jù)實(shí)際需求靈活配置,本發(fā)明對緩存策略的具體種類和數(shù)量不做限定。另外,策略配置請求消息以及策略配置響應(yīng)消息的具體形式和發(fā)送時(shí)機(jī)也可由本領(lǐng)域技術(shù)人員靈活設(shè)定。

步驟S120:接收客戶端根據(jù)多個(gè)緩存策略發(fā)送的策略選擇消息,獲取并存儲策略選擇消息中包含的客戶端選擇的緩存策略。

其中,客戶端可以根據(jù)自身業(yè)務(wù)的類型和特點(diǎn),從策略配置響應(yīng)消息所包含的多個(gè)緩存策略中選擇至少一個(gè)合適的緩存策略,并將包含該至少一個(gè)合適的緩存策略的策略選擇消息發(fā)送給集群系統(tǒng),以供集群系統(tǒng)記錄并存儲。

步驟S130:接收到客戶端發(fā)送的數(shù)據(jù)訪問請求后,按照客戶端選擇的緩存策略處理該數(shù)據(jù)訪問請求。

具體地,由于集群系統(tǒng)預(yù)先保存了各個(gè)客戶端所選擇的緩存策略,因此,當(dāng)集群系統(tǒng)接收到客戶端發(fā)送的數(shù)據(jù)訪問請求時(shí),查詢預(yù)存的該客戶端選擇的緩存策略,并按照該緩存策略處理客戶端的數(shù)據(jù)訪問請求。

另外,在上述的各個(gè)步驟中,以一個(gè)客戶端為例進(jìn)行說明,本領(lǐng)域技術(shù)人員能夠理解的是,在實(shí)際情況中,客戶端的數(shù)量為多個(gè),因此,需要分別針對每個(gè)客戶端執(zhí)行上述各個(gè)步驟中的操作,以實(shí)現(xiàn)為各個(gè)客戶端靈活配置緩存策略的目的。

由此可見,在本發(fā)明提供的一種基于集群的數(shù)據(jù)緩存方法中,首先,能夠向客戶端提供多個(gè)備選的緩存策略,以供客戶端根據(jù)自身需求選擇合適的緩存策略;其次,能夠?qū)蛻舳诉x擇的緩存策略進(jìn)行配置,以便根據(jù)客戶端選擇的緩存策略處理客戶端的數(shù)據(jù)訪問請求。因此,本發(fā)明中的方式能夠根據(jù)實(shí)際業(yè)務(wù)需求靈活調(diào)整緩存策略。

實(shí)施例二

圖2示出了根據(jù)本發(fā)明實(shí)施例二提供的一種基于集群的數(shù)據(jù)緩存方法流程示意圖。如圖2所示,該方法包括以下步驟:

步驟S210:預(yù)先將集群中的全部客戶端劃分為多個(gè)分組,分別為每個(gè)分組中的客戶端分配對應(yīng)的客戶端分組標(biāo)識。

其中,本步驟為一個(gè)可選的步驟,在本發(fā)明其他的實(shí)施例中,也可以不對客戶端進(jìn)行分組。具體地,由于訪問集群的客戶端數(shù)量龐大,因此,若分別針對每一個(gè)客戶端配置相應(yīng)的緩存策略,勢必會(huì)增加客戶端與集群之間的傳輸開銷,且增大集群的存儲負(fù)擔(dān)。因此,在本實(shí)施例中,預(yù)先將集群中的全部客戶端劃分為多個(gè)分組,以分組為單位配置相應(yīng)的緩存策略。

具體劃分時(shí),可以根據(jù)以下中的至少一個(gè)因素進(jìn)行劃分:客戶端所處的地域、客戶端所承載的業(yè)務(wù)類型、以及客戶端的設(shè)備類型等。其中,當(dāng)根據(jù)客戶端所處的地域進(jìn)行劃分時(shí),由于各個(gè)地域的客戶端訪問集群時(shí)的傳輸時(shí)延不同、且不同地域的客戶端所關(guān)心的資源種類也可能不同,因此,根據(jù)客戶端所處的地域進(jìn)行劃分能夠更好地滿足不同地區(qū)的客戶端的需求。當(dāng)根據(jù)客戶端所承載的業(yè)務(wù)類型進(jìn)行劃分時(shí),由于各種類型的業(yè)務(wù)的用戶需求不同、例如,實(shí)時(shí)性要求高的業(yè)務(wù)可能對讀取和寫入的速度有著較高的需求,而實(shí)時(shí)性低的業(yè)務(wù)則不然;并且,有些業(yè)務(wù)可能對讀取速度要求較高,而有些業(yè)務(wù)可能對寫入速度要求較高,因此,根據(jù)客戶端所承載的業(yè)務(wù)類型進(jìn)行劃分能夠更好地滿足不同類型的業(yè)務(wù)的需求。當(dāng)根據(jù)客戶端的設(shè)備類型進(jìn)行劃分時(shí),由于不同的設(shè)備類型的讀寫特點(diǎn)不同,因此,根據(jù)客戶端的設(shè)備類型進(jìn)行劃分能夠更好地滿足各種類型的客戶端的需求??傊绢I(lǐng)域技術(shù)人員可以預(yù)先根據(jù)集群對應(yīng)的客戶端的種類和數(shù)量將全部客戶端劃分為多個(gè)客戶端分組,為了便于在后續(xù)步驟中區(qū)分各個(gè)分組,分別為每個(gè)分組中的客戶端分配對應(yīng)的客戶端分組標(biāo)識。例如,假設(shè)將全部客戶端分為三個(gè)客戶端分組,可以為第一分組中的客戶端分配客戶端分組標(biāo)識key1,為第二分組中的客戶端分配客戶端分組標(biāo)識key2,為第三分組中的客戶端分配客戶端分組標(biāo)識key3??蛻舳朔纸M標(biāo)識可由集群系統(tǒng)設(shè)定并預(yù)先提供給各個(gè)分組內(nèi)的客戶端。

步驟S220:接收到客戶端發(fā)送的策略配置請求消息后,向客戶端返回策略配置響應(yīng)消息;其中,策略配置響應(yīng)消息中包含預(yù)設(shè)的多個(gè)緩存策略。

具體地,策略配置請求消息用于向集群系統(tǒng)請求設(shè)置緩存策略,策略配置響應(yīng)消息用于向客戶端返回可供選擇的緩存策略。其中,策略配置響應(yīng)消息中包含的緩存策略的種類和數(shù)量可預(yù)先由集群系統(tǒng)根據(jù)實(shí)際需求靈活配置,本發(fā)明對緩存策略的具體種類和數(shù)量不做限定。而且,各個(gè)緩存策略可以通過預(yù)設(shè)的代碼表示。

在本實(shí)施例中,預(yù)先配置有如下三種緩存策略:

第一緩存策略包括:先將數(shù)據(jù)寫入緩存,然后返回寫入成功消息,最后,當(dāng)預(yù)設(shè)的回刷條件滿足時(shí),將緩存中的數(shù)據(jù)回刷到數(shù)據(jù)庫中(從緩存寫入數(shù)據(jù)庫的過程稱為回刷)。其中,在一種實(shí)現(xiàn)方式中,預(yù)設(shè)的回刷條件為:緩存中已寫入的數(shù)據(jù)達(dá)到預(yù)設(shè)比例。在另一種實(shí)現(xiàn)方式中,預(yù)設(shè)的回刷條件為:到達(dá)預(yù)定的持久化時(shí)間時(shí),或距離上一次持久化的時(shí)間到達(dá)預(yù)設(shè)時(shí)間間隔時(shí)。具體的持久化時(shí)間以及預(yù)設(shè)時(shí)間間隔可由本領(lǐng)域技術(shù)人員靈活設(shè)定。該緩存策略能夠快速寫入緩存,并在合適的時(shí)機(jī)將緩存中的數(shù)據(jù)統(tǒng)一回刷到數(shù)據(jù)庫中,既能夠降低緩存與數(shù)據(jù)庫之間的傳輸次數(shù),又能夠滿足實(shí)時(shí)性較高的寫入操作。

第二緩存策略包括:將數(shù)據(jù)寫入緩存之后,直接從緩存中寫入數(shù)據(jù)庫,當(dāng)數(shù)據(jù)庫中寫入成功時(shí)返回寫入成功消息。該策略相當(dāng)于實(shí)時(shí)地向數(shù)據(jù)庫中寫,相對于第一緩存策略,雖然寫入速度略有降低,但是讀取速度較高,而且不易發(fā)生錯(cuò)誤,即使緩存故障也不會(huì)導(dǎo)致數(shù)據(jù)丟失。

第三緩存策略包括:先將數(shù)據(jù)寫入數(shù)據(jù)庫,然后緩存從數(shù)據(jù)庫中讀取數(shù)據(jù)并存儲。該策略中的數(shù)據(jù)直接寫入數(shù)據(jù)庫,因此一旦寫入則無需修改,讀取的時(shí)候從緩存中讀取,能夠提升讀取速度。

上述的三種緩存策略各有千秋,除上述三種緩存策略外,本領(lǐng)域技術(shù)人員還可以靈活配置其他各種類型的緩存策略。例如,直寫模式(write-through),當(dāng)數(shù)據(jù)更新時(shí),同時(shí)寫入緩存和后端存儲,此模式的優(yōu)點(diǎn)是操作簡單,缺點(diǎn)是因?yàn)閿?shù)據(jù)修改需要同時(shí)寫入存儲,數(shù)據(jù)寫入速度較慢;回寫模式(write-back),當(dāng)數(shù)據(jù)更新時(shí)只寫入緩存,只在數(shù)據(jù)被替換出緩存時(shí),被修改的緩存數(shù)據(jù)才會(huì)被寫到后端存儲,此模式的優(yōu)點(diǎn)是數(shù)據(jù)寫入速度快,因?yàn)椴恍枰獙懘鎯?;缺點(diǎn)是一旦更新后的數(shù)據(jù)未被寫入存儲時(shí)出現(xiàn)系統(tǒng)掉電的情況,數(shù)據(jù)將無法找回。除此之外,還可以采用寫代理(write-proxy)模式和讀代理(read-proxy)模式等。

步驟S230:接收客戶端根據(jù)多個(gè)緩存策略發(fā)送的策略選擇消息,獲取并存儲策略選擇消息中包含的客戶端選擇的緩存策略。

其中,客戶端接收到上述的策略配置響應(yīng)消息后,根據(jù)自身業(yè)務(wù)的類型和特點(diǎn),從策略配置響應(yīng)消息所包含的多個(gè)緩存策略中選擇至少一個(gè)合適的緩存策略,并將包含該至少一個(gè)合適的緩存策略的策略選擇消息發(fā)送給集群系統(tǒng),以供集群系統(tǒng)記錄并存儲。例如,若客戶端所承載的業(yè)務(wù)對于數(shù)據(jù)讀取的實(shí)時(shí)性要求較高,則可以選擇能夠快速讀取的緩存策略;若客戶端所承載的業(yè)務(wù)對于數(shù)據(jù)寫入的實(shí)時(shí)性要求較高,則可以選擇能夠快速寫入的緩存策略;若客戶端所承載的業(yè)務(wù)對于數(shù)據(jù)讀寫的準(zhǔn)確性要求較高,則可以選擇可靠性較高的緩存策略等。

具體地,為了便于集群系統(tǒng)區(qū)分各個(gè)客戶端,在客戶端發(fā)送的策略配置請求消息和/或策略選擇消息中進(jìn)一步包含該客戶端對應(yīng)的客戶端分組標(biāo)識(客戶端分組標(biāo)識通過上述步驟S210確定)。相應(yīng)地,集群系統(tǒng)在獲取并存儲策略選擇消息中包含的客戶端選擇的緩存策略時(shí),將客戶端對應(yīng)的客戶端分組標(biāo)識與客戶端選擇的緩存策略關(guān)聯(lián)存儲在預(yù)設(shè)的緩存策略表中。該緩存策略表用于存儲各個(gè)分組的客戶端所對應(yīng)的緩存策略。

步驟S240:接收到客戶端發(fā)送的數(shù)據(jù)訪問請求后,按照客戶端選擇的緩存策略處理該數(shù)據(jù)訪問請求。

具體地,獲取數(shù)據(jù)訪問請求中包含的客戶端分組標(biāo)識,根據(jù)緩存策略表確定與該客戶端分組標(biāo)識關(guān)聯(lián)存儲的緩存策略,按照與該客戶端分組標(biāo)識關(guān)聯(lián)存儲的緩存策略處理上述的數(shù)據(jù)訪問請求。其中,可以預(yù)先設(shè)置多個(gè)分別與各個(gè)緩存策略相對應(yīng)的緩存策略處理函數(shù),直接調(diào)用與客戶端選擇的緩存策略相對應(yīng)的緩存策略處理函數(shù)即可處理上述的數(shù)據(jù)訪問請求,通過預(yù)先設(shè)置處理函數(shù)的方式能夠提升緩存策略的配置效率,而且,還便于實(shí)現(xiàn)緩存策略的動(dòng)態(tài)更新,例如,當(dāng)集群系統(tǒng)中需要增加或刪除部分緩存策略時(shí),只需添加或刪除對應(yīng)的處理函數(shù)即可,操作簡便靈活。

另外,為了進(jìn)一步提升數(shù)據(jù)訪問的安全性,在本實(shí)施例中,分別為每個(gè)分組中的客戶端分配對應(yīng)的客戶端分組標(biāo)識的步驟之后,還可以進(jìn)一步包括步驟:分別配置各個(gè)客戶端分組標(biāo)識所對應(yīng)的訪問權(quán)限。相應(yīng)地,在步驟S240中獲取數(shù)據(jù)訪問請求中包含的客戶端分組標(biāo)識的操作之后進(jìn)一步包括:確定客戶端分組標(biāo)識所對應(yīng)的訪問權(quán)限,根據(jù)該訪問權(quán)限確定是否對數(shù)據(jù)訪問請求執(zhí)行后續(xù)處理。具體地,若該客戶端分組標(biāo)識所對應(yīng)的訪問權(quán)限與該數(shù)據(jù)訪問請求的類型和/或該數(shù)據(jù)訪問請求所要訪問的資源種類相符,則按照客戶端選擇的緩存策略處理該數(shù)據(jù)訪問請求;若該客戶端分組標(biāo)識所對應(yīng)的訪問權(quán)限與該數(shù)據(jù)訪問請求的類型和/或該數(shù)據(jù)訪問請求所要訪問的資源種類不相符,則拒絕處理該數(shù)據(jù)訪問請求,并返回錯(cuò)誤消息。例如,集群系統(tǒng)中可能包含多種類型的資源,不同的客戶端所需的資源類型不同,因此,可以根據(jù)各個(gè)客戶端分組所對應(yīng)的業(yè)務(wù)類型等因素為各個(gè)客戶端分組分別設(shè)置對應(yīng)的訪問權(quán)限。其中,訪問權(quán)限包括:只讀、讀寫,還可以包括具體能夠讀寫的資源種類,通過對訪問權(quán)限進(jìn)行判斷,可以提升數(shù)據(jù)訪問的安全性,防止一些客戶端受到黑客攻擊后越權(quán)訪問重要數(shù)據(jù)。具體實(shí)施時(shí),可以預(yù)先設(shè)置一個(gè)權(quán)限列表,用于存儲各個(gè)客戶端分組所對應(yīng)的訪問權(quán)限。

另外,由于客戶端所承載的業(yè)務(wù)種類可能是動(dòng)態(tài)變化的,因此,為了適應(yīng)上述變化,在本實(shí)施例中,各個(gè)客戶端還能夠?qū)σ堰x擇的緩存策略進(jìn)行修改。相應(yīng)地,本實(shí)施例還可以進(jìn)一步包括以下的步驟S250。

步驟S250:接收客戶端發(fā)送的策略更新消息,獲取策略更新消息中包含的客戶端更新后的緩存策略,將存儲的客戶端選擇的緩存策略替換為客戶端更新后的緩存策略。

具體實(shí)施時(shí),步驟S250既可以在步驟S240之后執(zhí)行,也可以在步驟S230之后執(zhí)行,本發(fā)明對步驟S250的執(zhí)行時(shí)機(jī)不做限定,只要客戶端已選擇了緩存策略,隨時(shí)可以對已選擇的緩存策略進(jìn)行更新。緩存系統(tǒng)收到策略更新消息后,獲取策略更新消息中包含的客戶端分組標(biāo)識以及客戶端更新后的緩存策略,根據(jù)更新后的緩存策略對緩存策略表中與該客戶端分組標(biāo)識關(guān)聯(lián)存儲的緩存策略進(jìn)行更新。相應(yīng)地,由于緩存策略表已更新,因此,若后續(xù)接收到客戶端發(fā)送的數(shù)據(jù)訪問請求時(shí),則會(huì)按照客戶端更新后的緩存策略處理數(shù)據(jù)訪問請求。由此可見,通過步驟S250,使客戶端能夠根據(jù)實(shí)際需求動(dòng)態(tài)更新對應(yīng)的緩存策略。

具體實(shí)現(xiàn)時(shí),客戶端更新后的緩存策略可以根據(jù)多種因素確定,例如,可以根據(jù)客戶端所承載的具體業(yè)務(wù)類型的變化情況,或根據(jù)客戶端后續(xù)發(fā)送的數(shù)據(jù)訪問請求的類型確定。其中,客戶端后續(xù)發(fā)送的數(shù)據(jù)訪問請求的類型包括寫入類型和/或讀取類型,寫入類型又進(jìn)一步包括直接寫入和修改,例如,在原始數(shù)據(jù)的基礎(chǔ)上執(zhí)行加減法等類型的修改操作。具體地,某些客戶端之前可能僅支持只讀類型的操作,因此選擇了能夠快速讀取的緩存策略,但是,該客戶端經(jīng)過業(yè)務(wù)變更后能夠支持讀寫類型的操作,相應(yīng)地,可以將之前已選擇的緩存策略更新為能夠快速讀寫的緩存策略。

另外,本領(lǐng)域技術(shù)人員還可以對上述實(shí)施例進(jìn)行各種改動(dòng)和變形。例如,可以將上述實(shí)施例中的各個(gè)步驟拆分成更多的步驟,或合并為更少的步驟,還可以調(diào)整各個(gè)步驟之間的執(zhí)行順序,甚至可以刪減部分步驟或新增一些步驟,總之,本發(fā)明對具體的實(shí)現(xiàn)細(xì)節(jié)不做限定。另外,在本實(shí)施例中,也可以由集群實(shí)現(xiàn)各組客戶端的緩存策略的配置和更新操作,也就是說,除了客戶端有權(quán)限設(shè)置并更新對應(yīng)的緩存策略之外,集群也有權(quán)限對客戶端相應(yīng)的緩存策略進(jìn)行設(shè)置并更新,例如,集群可以根據(jù)業(yè)務(wù)調(diào)整情況和資源分配情況對客戶端相應(yīng)的緩存策略進(jìn)行設(shè)置并更新。而且,在上述步驟S210中為每個(gè)客戶端分組設(shè)置的客戶端分組標(biāo)識主要用于在后續(xù)步驟中標(biāo)識相應(yīng)的客戶端分組,實(shí)際上,由于該客戶端分組標(biāo)識是由集群預(yù)先配置并分發(fā)給客戶端的,因此,也可以作為客戶端訪問集群時(shí)所必需的合法身份標(biāo)識,即:集群接收到來自客戶端的任何消息時(shí),先查詢消息中所包含的客戶端分組標(biāo)識是否是本集群預(yù)先分配的,若是,說明該客戶端身份合法,繼續(xù)執(zhí)行后續(xù)步驟;若否,說明該客戶端身份非法,返回錯(cuò)誤提示信息。

另外,本領(lǐng)域技術(shù)人員能夠理解的是,不同的客戶端分別對應(yīng)于不同的數(shù)據(jù)表,集群系統(tǒng)在處理各個(gè)客戶端的請求時(shí),通過對與客戶端相對應(yīng)的數(shù)據(jù)表進(jìn)行讀寫操作來實(shí)現(xiàn)。在處理數(shù)據(jù)表時(shí),可依照相應(yīng)的緩存策略進(jìn)行處理。

綜上所述,在本發(fā)明提供的通過本發(fā)明提供的基于集群的數(shù)據(jù)緩存方法中,首先預(yù)先將集群中的全部客戶端劃分為多個(gè)分組,分別為每個(gè)分組中的客戶端分配對應(yīng)的客戶端分組標(biāo)識,然后在接收到客戶端發(fā)送的策略配置請求消息后,向客戶端返回策略配置響應(yīng)消息;并接收客戶端根據(jù)多個(gè)緩存策略發(fā)送的策略選擇消息,獲取并存儲策略選擇消息中包含的客戶端選擇的緩存策略,最后在接收到客戶端發(fā)送的數(shù)據(jù)訪問請求后,按照客戶端選擇的緩存策略處理該數(shù)據(jù)訪問請求;同時(shí)在接收到客戶端發(fā)送的策略更新消息時(shí),獲取策略更新消息中包含的客戶端更新后的緩存策略,將存儲的客戶端選擇的緩存策略替換為客戶端更新后的緩存策略。由此可見,本發(fā)明能夠?qū)蛻舳诉M(jìn)行分組劃分,并分別為每個(gè)分組內(nèi)的客戶端配置不同的緩存策略,從而能夠靈活適應(yīng)各種客戶端的業(yè)務(wù)需求。

實(shí)施例三

圖3示出了根據(jù)本發(fā)明實(shí)施例三提供的一種基于集群的數(shù)據(jù)緩存裝置的結(jié)構(gòu)框圖。如圖3所示,該裝置包括:反饋模塊31、接收模塊32、獲取模塊33、處理模塊34、預(yù)處理模塊35、配置模塊36、確定模塊37以及更新處理模塊38。

預(yù)處理模塊35適于預(yù)先將集群中的全部客戶端劃分為多個(gè)分組,分別為每個(gè)分組中的客戶端分配對應(yīng)的客戶端分組標(biāo)識。

具體地,由于訪問集群的客戶端數(shù)量龐大,因此,若分別針對每一個(gè)客戶端配置相應(yīng)的緩存策略,勢必會(huì)增加客戶端與集群之間的傳輸開銷,且增大集群的存儲負(fù)擔(dān)。因此,在本實(shí)施例中,通過預(yù)處理模塊35預(yù)先將集群中的全部客戶端劃分為多個(gè)分組,以分組為單位配置相應(yīng)的緩存策略。具體劃分時(shí),可以根據(jù)以下中的至少一個(gè)因素進(jìn)行劃分:客戶端所處的地域、客戶端所承載的業(yè)務(wù)類型、以及客戶端的設(shè)備類型等。其中,當(dāng)根據(jù)客戶端所處的地域進(jìn)行劃分時(shí),由于各個(gè)地域的客戶端訪問集群時(shí)的傳輸時(shí)延不同、且不同地域的客戶端所關(guān)心的資源種類也可能不同,因此,根據(jù)客戶端所處的地域進(jìn)行劃分能夠更好地滿足不同地區(qū)的客戶端的需求。當(dāng)根據(jù)客戶端所承載的業(yè)務(wù)類型進(jìn)行劃分時(shí),由于各種類型的業(yè)務(wù)的用戶需求不同、例如,實(shí)時(shí)性要求高的業(yè)務(wù)可能對讀取和寫入的速度有著較高的需求,而實(shí)時(shí)性低的業(yè)務(wù)則不然;并且,有些業(yè)務(wù)可能對讀取速度要求較高,而有些業(yè)務(wù)可能對寫入速度要求較高,因此,根據(jù)客戶端所承載的業(yè)務(wù)類型進(jìn)行劃分能夠更好地滿足不同類型的業(yè)務(wù)的需求。當(dāng)根據(jù)客戶端的設(shè)備類型進(jìn)行劃分時(shí),由于不同的設(shè)備類型的讀寫特點(diǎn)不同,因此,根據(jù)客戶端的設(shè)備類型進(jìn)行劃分能夠更好地滿足各種類型的客戶端的需求。總之,本領(lǐng)域技術(shù)人員可以預(yù)先根據(jù)集群對應(yīng)的客戶端的種類和數(shù)量將全部客戶端劃分為多個(gè)客戶端分組,為了便于在后續(xù)步驟中區(qū)分各個(gè)分組,分別為每個(gè)分組中的客戶端分配對應(yīng)的客戶端分組標(biāo)識。

反饋模塊31適于接收到客戶端發(fā)送的策略配置請求消息后,向客戶端返回策略配置響應(yīng)消息;其中,策略配置響應(yīng)消息中包含預(yù)設(shè)的多個(gè)緩存策略。

具體地,策略配置請求消息用于向集群系統(tǒng)請求設(shè)置緩存策略,策略配置響應(yīng)消息用于向客戶端返回可供選擇的緩存策略。其中,反饋模塊31向客戶端返回的策略配置響應(yīng)消息中包含的緩存策略的種類和數(shù)量可預(yù)先由集群系統(tǒng)根據(jù)實(shí)際需求靈活配置,本發(fā)明對緩存策略的具體種類和數(shù)量不做限定。而且,各個(gè)緩存策略可以通過預(yù)設(shè)的代碼表示。在本實(shí)施例中,預(yù)先配置有如下三種緩存策略:

第一緩存策略包括:先將數(shù)據(jù)寫入緩存,然后返回寫入成功消息,最后,當(dāng)預(yù)設(shè)的回刷條件滿足時(shí),將緩存中的數(shù)據(jù)回刷到數(shù)據(jù)庫中(從緩存寫入數(shù)據(jù)庫的過程稱為回刷)。其中,在一種實(shí)現(xiàn)方式中,預(yù)設(shè)的回刷條件為:緩存中已寫入的數(shù)據(jù)達(dá)到預(yù)設(shè)比例。在另一種實(shí)現(xiàn)方式中,預(yù)設(shè)的回刷條件為:到達(dá)預(yù)定的持久化時(shí)間時(shí),或距離上一次持久化的時(shí)間到達(dá)預(yù)設(shè)時(shí)間間隔時(shí)。具體的持久化時(shí)間以及預(yù)設(shè)時(shí)間間隔可由本領(lǐng)域技術(shù)人員靈活設(shè)定。該緩存策略能夠快速寫入緩存,并在合適的時(shí)機(jī)將緩存中的數(shù)據(jù)統(tǒng)一回刷到數(shù)據(jù)庫中,既能夠降低緩存與數(shù)據(jù)庫之間的傳輸次數(shù),又能夠滿足實(shí)時(shí)性較高的寫入操作。

第二緩存策略包括:將數(shù)據(jù)寫入緩存之后,直接從緩存中寫入數(shù)據(jù)庫,當(dāng)數(shù)據(jù)庫中寫入成功時(shí)返回寫入成功消息。該策略相當(dāng)于實(shí)時(shí)地向數(shù)據(jù)庫中寫,相對于第一緩存策略,雖然寫入速度略有降低,但是讀取速度較高,而且不易發(fā)生錯(cuò)誤,即使緩存故障也不會(huì)導(dǎo)致數(shù)據(jù)丟失。

第三緩存策略包括:先將數(shù)據(jù)寫入數(shù)據(jù)庫,然后緩存從數(shù)據(jù)庫中讀取數(shù)據(jù)并存儲。該策略中的數(shù)據(jù)直接寫入數(shù)據(jù)庫,因此一旦寫入則無需修改,讀取的時(shí)候從緩存中讀取,能夠提升讀取速度。

除上述三種緩存策略外,本領(lǐng)域技術(shù)人員還可以靈活配置其他各種類型的緩存策略。例如,直寫模式(write-through),當(dāng)數(shù)據(jù)更新時(shí),同時(shí)寫入緩存和后端存儲,此模式的優(yōu)點(diǎn)是操作簡單,缺點(diǎn)是因?yàn)閿?shù)據(jù)修改需要同時(shí)寫入存儲,數(shù)據(jù)寫入速度較慢;回寫模式(write-back),當(dāng)數(shù)據(jù)更新時(shí)只寫入緩存,只在數(shù)據(jù)被替換出緩存時(shí),被修改的緩存數(shù)據(jù)才會(huì)被寫到后端存儲,此模式的優(yōu)點(diǎn)是數(shù)據(jù)寫入速度快,因?yàn)椴恍枰獙懘鎯?;缺點(diǎn)是一旦更新后的數(shù)據(jù)未被寫入存儲時(shí)出現(xiàn)系統(tǒng)掉電的情況,數(shù)據(jù)將無法找回。除此之外,還可以采用寫代理(write-proxy)模式和讀代理(read-proxy)模式等。

接收模塊32適于接收客戶端根據(jù)多個(gè)緩存策略發(fā)送的策略選擇消息。

具體地,接收模塊32用于接收客戶端根據(jù)反饋模塊31中返回的多個(gè)緩存策略所發(fā)送的策略選擇消息,以供獲取模塊33能夠針對接收到的策略選擇消息作進(jìn)一步的處理。

獲取模塊33適于獲取并存儲策略選擇消息中包含的客戶端選擇的緩存策略。

其中,獲取模塊33針對上述策略配置響應(yīng)消息,根據(jù)自身業(yè)務(wù)的類型和特點(diǎn),從策略配置響應(yīng)消息所包含的多個(gè)緩存策略中選擇至少一個(gè)合適的緩存策略,并將包含該至少一個(gè)合適的緩存策略的策略選擇消息發(fā)送給集群系統(tǒng),以供集群系統(tǒng)記錄并存儲。例如,若客戶端所承載的業(yè)務(wù)對于數(shù)據(jù)讀取的實(shí)時(shí)性要求較高,則可以選擇能夠快速讀取的緩存策略;若客戶端所承載的業(yè)務(wù)對于數(shù)據(jù)寫入的實(shí)時(shí)性要求較高,則可以選擇能夠快速寫入的緩存策略;若客戶端所承載的業(yè)務(wù)對于數(shù)據(jù)讀寫的準(zhǔn)確性要求較高,則可以選擇可靠性較高的緩存策略等。

具體地,為了便于集群系統(tǒng)區(qū)分各個(gè)客戶端,在客戶端發(fā)送的策略配置請求消息和/或策略選擇消息中進(jìn)一步包含該客戶端對應(yīng)的客戶端分組標(biāo)識(通過預(yù)處理模塊31確定)。相應(yīng)地,集群系統(tǒng)在獲取并存儲策略選擇消息中包含的客戶端選擇的緩存策略時(shí),將客戶端對應(yīng)的客戶端分組標(biāo)識與客戶端選擇的緩存策略關(guān)聯(lián)存儲在預(yù)設(shè)的緩存策略表中。該緩存策略表用于存儲各個(gè)分組的客戶端所對應(yīng)的緩存策略。

處理模塊34適于接收到客戶端發(fā)送的數(shù)據(jù)訪問請求后,按照客戶端選擇的緩存策略處理數(shù)據(jù)訪問請求。

具體地,處理模塊34獲取數(shù)據(jù)訪問請求中包含的客戶端分組標(biāo)識,根據(jù)緩存策略表確定與該客戶端分組標(biāo)識關(guān)聯(lián)存儲的緩存策略,按照與該客戶端分組標(biāo)識關(guān)聯(lián)存儲的緩存策略處理上述的數(shù)據(jù)訪問請求。其中,處理模塊34可以預(yù)先設(shè)置多個(gè)分別與各個(gè)緩存策略相對應(yīng)的緩存策略處理函數(shù),直接調(diào)用與客戶端選擇的緩存策略相對應(yīng)的緩存策略處理函數(shù)即可處理上述的數(shù)據(jù)訪問請求,通過預(yù)先設(shè)置處理函數(shù)的方式能夠提升緩存策略的配置效率,而且,還便于實(shí)現(xiàn)緩存策略的動(dòng)態(tài)更新,例如,當(dāng)集群系統(tǒng)中需要增加或刪除部分緩存策略時(shí),只需添加或刪除對應(yīng)的處理函數(shù)即可,操作簡便靈活。

配置模塊36適于分別配置各個(gè)客戶端分組標(biāo)識所對應(yīng)的訪問權(quán)限。

具體地,為了進(jìn)一步提升數(shù)據(jù)訪問的安全性,設(shè)置配置模塊36分別配置各個(gè)客戶端分組標(biāo)識所對應(yīng)的訪問權(quán)限。其中,訪問權(quán)限包括:只讀、讀寫,還可以包括具體能夠讀寫的資源種類,通過對訪問權(quán)限進(jìn)行判斷,可以提升數(shù)據(jù)訪問的安全性,防止一些客戶端受到黑客攻擊后越權(quán)訪問重要數(shù)據(jù)。具體實(shí)施時(shí),可以預(yù)先設(shè)置一個(gè)權(quán)限列表,用于存儲各個(gè)客戶端分組所對應(yīng)的訪問權(quán)限。

確定模塊37適于確定客戶端分組標(biāo)識所對應(yīng)的訪問權(quán)限,根據(jù)訪問權(quán)限確定是否對數(shù)據(jù)訪問請求執(zhí)行后續(xù)處理。

具體地,若該客戶端分組標(biāo)識所對應(yīng)的訪問權(quán)限與該數(shù)據(jù)訪問請求的類型和/或該數(shù)據(jù)訪問請求所要訪問的資源種類相符,確定模塊37則按照客戶端選擇的緩存策略處理該數(shù)據(jù)訪問請求;若該客戶端分組標(biāo)識所對應(yīng)的訪問權(quán)限與該數(shù)據(jù)訪問請求的類型和/或該數(shù)據(jù)訪問請求所要訪問的資源種類不相符,確定模塊37則拒絕處理該數(shù)據(jù)訪問請求,并返回錯(cuò)誤消息。例如,集群系統(tǒng)中可能包含多種類型的資源,不同的客戶端所需的資源類型不同,因此,可以根據(jù)各個(gè)客戶端分組所對應(yīng)的業(yè)務(wù)類型等因素為各個(gè)客戶端分組分別設(shè)置對應(yīng)的訪問權(quán)限。

更新處理模塊38適于接收客戶端發(fā)送的策略更新消息,獲取策略更新消息中包含的客戶端更新后的緩存策略,將存儲的客戶端選擇的緩存策略替換為客戶端更新后的緩存策略。

具體實(shí)施時(shí),更新處理模塊38隨時(shí)可以對已選擇的緩存策略進(jìn)行更新。緩存系統(tǒng)收到策略更新消息后,獲取策略更新消息中包含的客戶端分組標(biāo)識以及客戶端更新后的緩存策略,根據(jù)更新后的緩存策略對緩存策略表中與該客戶端分組標(biāo)識關(guān)聯(lián)存儲的緩存策略進(jìn)行更新。相應(yīng)地,由于緩存策略表已更新,因此,若后續(xù)接收到客戶端發(fā)送的數(shù)據(jù)訪問請求時(shí),則會(huì)按照客戶端更新后的緩存策略處理數(shù)據(jù)訪問請求。由此可見,更新處理模塊38使客戶端能夠根據(jù)實(shí)際需求動(dòng)態(tài)更新對應(yīng)的緩存策略。

具體實(shí)現(xiàn)時(shí),客戶端更新后的緩存策略可以根據(jù)多種因素確定,例如,可以根據(jù)客戶端所承載的具體業(yè)務(wù)類型的變化情況,或根據(jù)客戶端后續(xù)發(fā)送的數(shù)據(jù)訪問請求的類型確定。其中,客戶端后續(xù)發(fā)送的數(shù)據(jù)訪問請求的類型包括寫入類型和/或讀取類型,寫入類型又進(jìn)一步包括直接寫入和修改,例如,在原始數(shù)據(jù)的基礎(chǔ)上執(zhí)行加減法等類型的修改操作。具體地,某些客戶端之前可能僅支持只讀類型的操作,因此選擇了能夠快速讀取的緩存策略,但是,該客戶端經(jīng)過業(yè)務(wù)變更后能夠支持讀寫類型的操作,相應(yīng)地,可以將之前已選擇的緩存策略更新為能夠快速讀寫的緩存策略。

上述各個(gè)模塊的具體結(jié)構(gòu)和工作原理可參照方法實(shí)施例中相應(yīng)步驟的描述,此處不再贅述。另外,本領(lǐng)域技術(shù)人員可對上述的各個(gè)模塊進(jìn)行靈活地合并或刪減,例如,上述的預(yù)處理模塊35、配置模塊36、確定模塊37以及更新處理模塊38并不是必須的,本領(lǐng)域技術(shù)人員可根據(jù)需要設(shè)置。本發(fā)明對模塊的具體數(shù)量和劃分方式不做限定。

綜上所述,通過本發(fā)明提供的基于集群的數(shù)據(jù)緩存裝置,能夠?qū)蛻舳诉M(jìn)行分組劃分,并分別為每個(gè)分組內(nèi)的客戶端配置不同的緩存策略,從而能夠靈活適應(yīng)各種客戶端的業(yè)務(wù)需求。

在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。

在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。

類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。

本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中。可以把實(shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。

此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。

本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的基于集群的數(shù)據(jù)緩存裝置模塊中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。

應(yīng)該注意的是上述實(shí)施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。

本發(fā)明公開了:A1、一種基于集群的數(shù)據(jù)緩存方法,包括:

接收到客戶端發(fā)送的策略配置請求消息后,向所述客戶端返回策略配置響應(yīng)消息;其中,所述策略配置響應(yīng)消息中包含預(yù)設(shè)的多個(gè)緩存策略;

接收所述客戶端根據(jù)所述多個(gè)緩存策略發(fā)送的策略選擇消息,獲取并存儲所述策略選擇消息中包含的所述客戶端選擇的緩存策略;

接收到所述客戶端發(fā)送的數(shù)據(jù)訪問請求后,按照所述客戶端選擇的緩存策略處理所述數(shù)據(jù)訪問請求。

A2、根據(jù)A1所述的方法,其中,所述方法執(zhí)行之前,進(jìn)一步包括步驟:預(yù)先將所述集群中的全部客戶端劃分為多個(gè)分組,分別為每個(gè)分組中的客戶端分配對應(yīng)的客戶端分組標(biāo)識;

則所述獲取并存儲所述策略選擇消息中包含的所述客戶端選擇的緩存策略的步驟具體包括:將所述客戶端對應(yīng)的客戶端分組標(biāo)識與所述客戶端選擇的緩存策略關(guān)聯(lián)存儲在預(yù)設(shè)的緩存策略表中;

且所述接收到所述客戶端發(fā)送的數(shù)據(jù)訪問請求后,按照所述客戶端選擇的緩存策略處理所述數(shù)據(jù)訪問請求的步驟具體包括:獲取所述數(shù)據(jù)訪問請求中包含的客戶端分組標(biāo)識,根據(jù)所述緩存策略表確定與所述客戶端分組標(biāo)識關(guān)聯(lián)存儲的緩存策略,按照與所述客戶端分組標(biāo)識關(guān)聯(lián)存儲的緩存策略處理所述數(shù)據(jù)訪問請求。

A3、根據(jù)A2所述的方法,其中,所述分別為每個(gè)分組中的客戶端分配對應(yīng)的客戶端分組標(biāo)識的步驟之后進(jìn)一步包括:分別配置各個(gè)客戶端分組標(biāo)識所對應(yīng)的訪問權(quán)限,且所述獲取所述數(shù)據(jù)訪問請求中包含的客戶端分組標(biāo)識的步驟之后進(jìn)一步包括:確定所述客戶端分組標(biāo)識所對應(yīng)的訪問權(quán)限,根據(jù)所述訪問權(quán)限確定是否對所述數(shù)據(jù)訪問請求執(zhí)行后續(xù)處理。

A4、根據(jù)A1-A3任一所述的方法,其中,所述按照所述客戶端選擇的緩存策略處理所述數(shù)據(jù)訪問請求的步驟具體包括:

預(yù)先設(shè)置多個(gè)分別與各個(gè)緩存策略相對應(yīng)的緩存策略處理函數(shù),調(diào)用與所述客戶端選擇的緩存策略相對應(yīng)的緩存策略處理函數(shù)處理所述數(shù)據(jù)訪問請求。

A5、根據(jù)A1-A4任一所述的方法,其中,所述接收到所述客戶端發(fā)送的數(shù)據(jù)訪問請求后,按照所述客戶端選擇的緩存策略處理所述數(shù)據(jù)訪問請求的步驟之后,進(jìn)一步包括:

接收所述客戶端發(fā)送的策略更新消息,獲取所述策略更新消息中包含的所述客戶端更新后的緩存策略,將存儲的所述客戶端選擇的緩存策略替換為所述客戶端更新后的緩存策略;

則后續(xù)接收到所述客戶端發(fā)送的數(shù)據(jù)訪問請求時(shí),按照所述客戶端更新后的緩存策略處理所述數(shù)據(jù)訪問請求。

A6、根據(jù)A5所述的方法,其中,所述客戶端更新后的緩存策略根據(jù)所述客戶端后續(xù)發(fā)送的數(shù)據(jù)訪問請求的類型確定;其中,所述客戶端后續(xù)發(fā)送的數(shù)據(jù)訪問請求的類型包括寫入類型和/或讀取類型。

本發(fā)明公開了:B7、一種基于集群的數(shù)據(jù)緩存裝置,包括:

反饋模塊,適于接收到客戶端發(fā)送的策略配置請求消息后,向所述客戶端返回策略配置響應(yīng)消息;其中,所述策略配置響應(yīng)消息中包含預(yù)設(shè)的多個(gè)緩存策略;

接收模塊,適于接收所述客戶端根據(jù)所述多個(gè)緩存策略發(fā)送的策略選擇消息;

獲取模塊,適于獲取并存儲所述策略選擇消息中包含的所述客戶端選擇的緩存策略;

處理模塊,適于接收到所述客戶端發(fā)送的數(shù)據(jù)訪問請求后,按照所述客戶端選擇的緩存策略處理所述數(shù)據(jù)訪問請求。

B8、根據(jù)B7所述的裝置,其中,所述裝置進(jìn)一步包括:預(yù)處理模塊,適于預(yù)先將所述集群中的全部客戶端劃分為多個(gè)分組,分別為每個(gè)分組中的客戶端分配對應(yīng)的客戶端分組標(biāo)識;

則所述獲取模塊具體用于:將所述客戶端對應(yīng)的客戶端分組標(biāo)識與所述客戶端選擇的緩存策略關(guān)聯(lián)存儲在預(yù)設(shè)的緩存策略表中;

且所述處理模塊具體用于:獲取所述數(shù)據(jù)訪問請求中包含的客戶端分組標(biāo)識,根據(jù)所述緩存策略表確定與所述客戶端分組標(biāo)識關(guān)聯(lián)存儲的緩存策略,按照與所述客戶端分組標(biāo)識關(guān)聯(lián)存儲的緩存策略處理所述數(shù)據(jù)訪問請求。

B9、根據(jù)B8所述的裝置,其中,所述裝置進(jìn)一步包括:

配置模塊,適于分別配置各個(gè)客戶端分組標(biāo)識所對應(yīng)的訪問權(quán)限;

確定模塊,適于確定所述客戶端分組標(biāo)識所對應(yīng)的訪問權(quán)限,根據(jù)所述訪問權(quán)限確定是否對所述數(shù)據(jù)訪問請求執(zhí)行后續(xù)處理。

B10、根據(jù)B7-B9任一所述的裝置,其中,所述處理模塊具體用于:

預(yù)先設(shè)置多個(gè)分別與各個(gè)緩存策略相對應(yīng)的緩存策略處理函數(shù),調(diào)用與所述客戶端選擇的緩存策略相對應(yīng)的緩存策略處理函數(shù)處理所述數(shù)據(jù)訪問請求。

B11、根據(jù)B7-B10任一所述的裝置,其中,所述裝置進(jìn)一步包括:

更新處理模塊,適于接收所述客戶端發(fā)送的策略更新消息,獲取所述策略更新消息中包含的所述客戶端更新后的緩存策略,將存儲的所述客戶端選擇的緩存策略替換為所述客戶端更新后的緩存策略;

則所述處理模塊進(jìn)一步用于:按照所述客戶端更新后的緩存策略處理所述數(shù)據(jù)訪問請求。

B12、根據(jù)B11所述的裝置,其中,所述客戶端更新后的緩存策略根據(jù)所述客戶端后續(xù)發(fā)送的數(shù)據(jù)訪問請求的類型確定;其中,所述客戶端后續(xù)發(fā)送的數(shù)據(jù)訪問請求的類型包括寫入類型和/或讀取類型。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
雅江县| 平原县| 宜州市| 英德市| 巩留县| 安塞县| 汉阴县| 封丘县| 太白县| 灵山县| 平阴县| 景德镇市| 秦皇岛市| 淮北市| 天峨县| 保山市| 木里| 沂水县| 孙吴县| 杭州市| 成安县| 隆回县| 巴林右旗| 夏河县| 日照市| 淮南市| 晋江市| 苏尼特左旗| 西和县| 噶尔县| 兴文县| 灵川县| 淮南市| 晴隆县| 金堂县| 泰州市| 龙游县| 如东县| 报价| 行唐县| 武山县|