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

緩存數(shù)據(jù)的處理方法及裝置與流程

文檔序號:12600663閱讀:333來源:國知局
緩存數(shù)據(jù)的處理方法及裝置與流程

本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種緩存數(shù)據(jù)的處理方法及裝置。



背景技術(shù):

緩存指的是數(shù)據(jù)交換的緩沖區(qū)(稱作Cache),當(dāng)某一硬件要讀取數(shù)據(jù)時(shí),會首先從緩存中查找需要的數(shù)據(jù),如果找到了則直接執(zhí)行,找不到的話再從內(nèi)存中找。由于緩存的運(yùn)行速度比內(nèi)存快得多,故緩存的作用就是幫助硬件更快地運(yùn)行。

隨著互聯(lián)網(wǎng)需求的日益復(fù)雜及訪問量的增加,緩存成為解決服務(wù)器存儲讀寫壓力的一種方案。而在傳統(tǒng)的方式中,隨著業(yè)務(wù)量的增大,與業(yè)務(wù)相關(guān)的數(shù)據(jù)越來越多,這些與業(yè)務(wù)相關(guān)的數(shù)據(jù)被統(tǒng)一放入緩存中供終端進(jìn)行訪問讀取。由于緩存中存儲的數(shù)據(jù)量大且復(fù)雜,當(dāng)終端對服務(wù)器緩存中的數(shù)據(jù)進(jìn)行訪問時(shí),服務(wù)器需要花費(fèi)較長的時(shí)間計(jì)算并確定數(shù)據(jù)所存儲的位置再進(jìn)行讀取,影響數(shù)據(jù)讀取效率且增大了服務(wù)器壓力。



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

基于此,有必要提供一種緩存數(shù)據(jù)的處理方法,能夠提高緩存中數(shù)據(jù)的讀取效率,并有效降低了服務(wù)器壓力。

此外,還有必要提供一種緩存數(shù)據(jù)的處理裝置,能夠提高緩存中數(shù)據(jù)的讀取效率,并有效降低了服務(wù)器壓力。

一種緩存數(shù)據(jù)的處理方法,包括:

通過注冊中心節(jié)點(diǎn)接收終端發(fā)送的初始化配置請求,并提取所述初始化配置請求中的訪問實(shí)例;

獲取與所述訪問實(shí)例匹配的配置信息,并將所述配置信息發(fā)送給所述終端,以使所述終端根據(jù)所述配置信息獲取所需訪問的存儲節(jié)點(diǎn);

通過所述存儲節(jié)點(diǎn)接收所述終端的訪問請求;

解析所述訪問請求,得到主鍵、所述主鍵的命名空間以及操作類型;

根據(jù)所述主鍵及主鍵的命名空間從所述存儲節(jié)點(diǎn)中獲取對應(yīng)的數(shù)據(jù),并按照所述操作類型對獲取的數(shù)據(jù)進(jìn)行處理。

在其中一個(gè)實(shí)施例中,所述存儲節(jié)點(diǎn)包括主存儲節(jié)點(diǎn)及備存儲節(jié)點(diǎn);

所述通過所述存儲節(jié)點(diǎn)接收所述終端的訪問請求,包括:

通過所述主存儲節(jié)點(diǎn)接收所述終端的訪問請求;

在所述通過所述主存儲節(jié)點(diǎn)接收所述終端的訪問請求的步驟之后,還包括:

檢測所述主存儲節(jié)點(diǎn)是否發(fā)生故障,若發(fā)生故障,則獲取與所述主存儲節(jié)點(diǎn)對應(yīng)的備存儲節(jié)點(diǎn);

所述根據(jù)所述主鍵及主鍵的命名空間從所述存儲節(jié)點(diǎn)中獲取對應(yīng)的數(shù)據(jù),并按照所述操作類型對獲取的數(shù)據(jù)進(jìn)行處理,包括:

若所述主存儲節(jié)點(diǎn)發(fā)生故障,則根據(jù)所述主鍵及主鍵的命名空間從所述備存儲節(jié)點(diǎn)獲取對應(yīng)的數(shù)據(jù),并按照所述操作類型對獲取的數(shù)據(jù)進(jìn)行處理;

若所述主存儲節(jié)點(diǎn)沒有發(fā)生故障,則根據(jù)所述主鍵及主鍵的命名空間從所述主存儲節(jié)點(diǎn)中獲取對應(yīng)的數(shù)據(jù),并按照所述操作類型對獲取的數(shù)據(jù)進(jìn)行處理。

在其中一個(gè)實(shí)施例中,所述方法還包括:

通過所述注冊中心節(jié)點(diǎn)接收數(shù)據(jù)遷移請求;

根據(jù)所述數(shù)據(jù)遷移請求獲取遷移實(shí)例、遷移槽位及目標(biāo)存儲節(jié)點(diǎn);

根據(jù)所述遷移實(shí)例及所述遷移槽位確定遷移存儲節(jié)點(diǎn);

將所述遷移存儲節(jié)點(diǎn)中存儲在與所述遷移槽位匹配的槽的數(shù)據(jù)遷移至所述目標(biāo)存儲節(jié)點(diǎn)。

在其中一個(gè)實(shí)施例中,所述將所述遷移存儲節(jié)點(diǎn)中存儲在與所述遷移槽位匹配的槽的數(shù)據(jù)遷移至所述目標(biāo)存儲節(jié)點(diǎn),包括:

在所述遷移存儲節(jié)點(diǎn)中將遷移槽位標(biāo)記為預(yù)遷移狀態(tài);

獲取與所述遷移實(shí)例關(guān)聯(lián)的終端,并向與所述遷移實(shí)例關(guān)聯(lián)的終端發(fā)送數(shù)據(jù)遷移指令;

當(dāng)接收到所有與所述遷移實(shí)例關(guān)聯(lián)的終端返回的確認(rèn)消息時(shí),將所述遷移槽位標(biāo)記為遷移狀態(tài);

通過所述遷移存儲節(jié)點(diǎn)將存儲在與所述遷移槽位匹配的槽中的數(shù)據(jù)發(fā)送給與所述遷移實(shí)例關(guān)聯(lián)的終端,以使所述關(guān)聯(lián)的終端將接收的數(shù)據(jù)發(fā)送給所述目標(biāo)存儲節(jié)點(diǎn);

將所述遷移槽位標(biāo)記為完成狀態(tài)。

在其中一個(gè)實(shí)施例中,所述方法,還包括:

監(jiān)控并采集各個(gè)存儲節(jié)點(diǎn)的應(yīng)用運(yùn)行指標(biāo);

當(dāng)檢測到所述應(yīng)用運(yùn)行指標(biāo)異常,則定位發(fā)生應(yīng)用運(yùn)行指標(biāo)異常的存儲節(jié)點(diǎn);

關(guān)閉所述發(fā)生應(yīng)用運(yùn)行指標(biāo)異常的存儲節(jié)點(diǎn)并生成異常信息。

一種緩存數(shù)據(jù)的處理裝置,包括:

第一接收模塊,用于通過注冊中心節(jié)點(diǎn)接收終端發(fā)送的初始化配置請求,并提取所述初始化配置請求中的訪問實(shí)例;

配置信息獲取模塊,用于獲取與所述訪問實(shí)例匹配的配置信息,并將所述配置信息發(fā)送給所述終端,以使所述終端根據(jù)所述配置信息獲取所需訪問的存儲節(jié)點(diǎn);

第二接收模塊,用于通過所述存儲節(jié)點(diǎn)接收所述終端的訪問請求;

解析模塊,用于解析所述訪問請求,得到主鍵、所述主鍵的命名空間以及操作類型;

數(shù)據(jù)處理模塊,用于根據(jù)所述主鍵及主鍵的命名空間從所述存儲節(jié)點(diǎn)中獲取對應(yīng)的數(shù)據(jù),并按照所述操作類型對獲取的數(shù)據(jù)進(jìn)行處理。

在其中一個(gè)實(shí)施例中,所述存儲節(jié)點(diǎn)包括主存儲節(jié)點(diǎn)及備存儲節(jié)點(diǎn);

所述第二接收模塊,還用于通過所述主存儲節(jié)點(diǎn)接收所述終端的訪問請求;

所述裝置還包括:

檢測模塊,用于檢測所述主存儲節(jié)點(diǎn)是否發(fā)生故障,若發(fā)生故障,則獲取與所述主存儲節(jié)點(diǎn)對應(yīng)的備存儲節(jié)點(diǎn);

所述數(shù)據(jù)處理模塊,還用于若所述主存儲節(jié)點(diǎn)發(fā)生故障,則根據(jù)所述主鍵及主鍵的命名空間從所述備存儲節(jié)點(diǎn)獲取對應(yīng)的數(shù)據(jù),并按照所述操作類型對獲取的數(shù)據(jù)進(jìn)行處理;

所述數(shù)據(jù)處理模塊,還用于若所述主存儲節(jié)點(diǎn)沒有發(fā)生故障,則根據(jù)所述主鍵及主鍵的命名空間從所述主存儲節(jié)點(diǎn)中獲取對應(yīng)的數(shù)據(jù),并按照所述操作類型對獲取的數(shù)據(jù)進(jìn)行處理。

在其中一個(gè)實(shí)施例中,所述第一接收請求,還用于通過所述注冊中心節(jié)點(diǎn)接收數(shù)據(jù)遷移請求;

所述裝置,還包括:

遷移信息獲取模塊,用于根據(jù)所述數(shù)據(jù)遷移請求獲取遷移實(shí)例、遷移槽位及目標(biāo)存儲節(jié)點(diǎn);

確定模塊,用于根據(jù)所述遷移實(shí)例及所述遷移槽位確定遷移存儲節(jié)點(diǎn);

遷移模塊,用于將所述遷移存儲節(jié)點(diǎn)中存儲在與所述遷移槽位匹配的槽的數(shù)據(jù)遷移至所述目標(biāo)存儲節(jié)點(diǎn)。

在其中一個(gè)實(shí)施例中,所述遷移模塊,包括:

標(biāo)記單元,用于在所述遷移存儲節(jié)點(diǎn)中將遷移槽位標(biāo)記為預(yù)遷移狀態(tài);

發(fā)送單元,用于獲取與所述遷移實(shí)例關(guān)聯(lián)的終端,并向與所述遷移實(shí)例關(guān)聯(lián)的終端發(fā)送數(shù)據(jù)遷移指令;

所述標(biāo)記單元,還用于當(dāng)接收到所有與所述遷移實(shí)例關(guān)聯(lián)的終端返回的確認(rèn)消息時(shí),將所述遷移槽位標(biāo)記為遷移狀態(tài);

所述發(fā)送單元,還用于通過所述遷移存儲節(jié)點(diǎn)將存儲在與所述遷移槽位匹配的槽中的數(shù)據(jù)發(fā)送給與所述遷移實(shí)例關(guān)聯(lián)的終端,以使所述關(guān)聯(lián)的終端將接收的數(shù)據(jù)發(fā)送給所述目標(biāo)存儲節(jié)點(diǎn);

所述標(biāo)記單元,還用于將所述遷移槽位標(biāo)記為完成狀態(tài)。

在其中一個(gè)實(shí)施例中,所述裝置,還包括:

監(jiān)控模塊,用于監(jiān)控并采集各個(gè)存儲節(jié)點(diǎn)的應(yīng)用運(yùn)行指標(biāo);

定位模塊,用于當(dāng)檢測到所述應(yīng)用運(yùn)行指標(biāo)異常,則定位發(fā)生應(yīng)用運(yùn)行指標(biāo)異常的存儲節(jié)點(diǎn);

關(guān)閉模塊,用于關(guān)閉所述發(fā)生應(yīng)用運(yùn)行指標(biāo)異常的存儲節(jié)點(diǎn)并生成異常信息。

上述緩存數(shù)據(jù)的處理方法及裝置,服務(wù)器通過注冊中心節(jié)點(diǎn)接收終端發(fā)送的初始化配置請求,獲取與初始化配置請求中的訪問實(shí)例匹配的配置信息并發(fā)送給終端,終端根據(jù)配置信息獲取所需訪問的存儲節(jié)點(diǎn),服務(wù)器通過該存儲節(jié)點(diǎn)接收終端的訪問請求,并根據(jù)解析訪問請求得到的主鍵、主鍵的命名空間從該存儲節(jié)點(diǎn)獲取對應(yīng)的數(shù)據(jù),并按照解析訪問請求得到的操作類型對數(shù)據(jù)進(jìn)行處理,利用實(shí)例及主鍵的命名空間分別對緩存中的數(shù)據(jù)進(jìn)行物理隔離及邏輯隔離,終端直接根據(jù)配置信息確定訪問的存儲節(jié)點(diǎn)并進(jìn)行訪問,無需服務(wù)器進(jìn)行復(fù)雜的邏輯計(jì)算,提高了讀取緩存數(shù)據(jù)的效率且有效降低了服務(wù)器壓力。

附圖說明

圖1為一個(gè)實(shí)施例中緩存數(shù)據(jù)的處理方法的系統(tǒng)架構(gòu)圖;

圖2為一個(gè)實(shí)施例中服務(wù)器的內(nèi)部結(jié)構(gòu)示意圖;

圖3為一個(gè)實(shí)施例中緩存數(shù)據(jù)的處理方法的流程示意圖;

圖4為一個(gè)實(shí)施例中檢測主存儲節(jié)點(diǎn)是否發(fā)生故障的流程示意圖;

圖5為一個(gè)實(shí)施例中接收數(shù)據(jù)遷移請求并進(jìn)行數(shù)據(jù)遷移的流程示意圖;

圖6為一個(gè)實(shí)施例中將存儲在遷移槽位的數(shù)據(jù)從遷移存儲節(jié)點(diǎn)遷移至目標(biāo)存儲節(jié)點(diǎn)的流程示意圖;

圖7為一個(gè)實(shí)施例中監(jiān)控各個(gè)存儲節(jié)點(diǎn)的應(yīng)用運(yùn)行指標(biāo)的流程示意圖;

圖8為一個(gè)實(shí)施例中緩存數(shù)據(jù)的處理裝置的結(jié)構(gòu)示意圖;

圖9為另一個(gè)實(shí)施例中緩存數(shù)據(jù)的處理裝置的結(jié)構(gòu)示意圖;

圖10為又一個(gè)實(shí)施例中緩存數(shù)據(jù)的處理裝置的結(jié)構(gòu)示意圖;

圖11為一個(gè)實(shí)施例中遷移模塊的內(nèi)部結(jié)構(gòu)示意圖;

圖12為再一個(gè)實(shí)施例中緩存數(shù)據(jù)的處理裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

圖1為一個(gè)實(shí)施例中緩存數(shù)據(jù)的處理方法的系統(tǒng)架構(gòu)圖。如圖1所示,該系統(tǒng)架構(gòu)包括終端100及服務(wù)器200,服務(wù)器200包括注冊中心節(jié)點(diǎn)202及一個(gè)或多個(gè)存儲節(jié)點(diǎn)204。終端100向服務(wù)器200發(fā)送初始化配置請求。服務(wù)器200中的注冊中心節(jié)點(diǎn)202接收終端100發(fā)送的初始化配置請求,并提取初始化配置請求中的訪問實(shí)例,注冊中心節(jié)點(diǎn)202獲取與該訪問實(shí)例匹配的配置信息,并將配置信息發(fā)送給終端100。終端100接收服務(wù)器200返回的配置信息,根據(jù)配置信息獲取所需訪問的存儲節(jié)點(diǎn),并向服務(wù)器200中的該所需訪問的存儲節(jié)點(diǎn)204發(fā)送訪問請求。服務(wù)器200中的存儲節(jié)點(diǎn)204接收終端100發(fā)送的訪問請求,解析該訪問請求,得到主鍵、主鍵的命名空間以及操作類型。該存儲節(jié)點(diǎn)204根據(jù)主鍵的命名空間及主鍵獲取對應(yīng)的數(shù)據(jù),并按照操作類型對獲取的數(shù)據(jù)進(jìn)行處理。

圖2為一個(gè)實(shí)施例中上述服務(wù)器200的內(nèi)部結(jié)構(gòu)示意圖。如圖2所示,該服務(wù)器200包括通過系統(tǒng)總線連接的處理器、非易失性存儲介質(zhì)、內(nèi)存儲器和網(wǎng)絡(luò)接口。其中,該服務(wù)器200的非易失性存儲介質(zhì)存儲有操作系統(tǒng)、數(shù)據(jù)庫和緩存數(shù)據(jù)的處理裝置,數(shù)據(jù)庫中存儲有與業(yè)務(wù)相關(guān)的數(shù)據(jù),該緩存數(shù)據(jù)的處理裝置用于實(shí)現(xiàn)適用于服務(wù)器200的一種緩存數(shù)據(jù)的處理方法。該服務(wù)器200的處理器用于提供計(jì)算和控制能力,支撐整個(gè)服務(wù)器200的運(yùn)行。該服務(wù)器200的內(nèi)存儲器為非易失性存儲介質(zhì)中的緩存數(shù)據(jù)的處理裝置的運(yùn)行提供環(huán)境,該內(nèi)存儲器中可儲存有計(jì)算機(jī)可讀指令,該計(jì)算機(jī)可讀指令被所述處理器執(zhí)行時(shí),可使得所述處理器執(zhí)行緩存數(shù)據(jù)的處理方法。該服務(wù)器200的網(wǎng)絡(luò)接口用于據(jù)以與外部的終端通過網(wǎng)絡(luò)連接通信,比如接收終端100發(fā)送的初始化配置請求等。服務(wù)器200可以用獨(dú)立的服務(wù)器或者是多個(gè)服務(wù)器組成的服務(wù)器集群來實(shí)現(xiàn)。本領(lǐng)域技術(shù)人員可以理解,圖2中示出的結(jié)構(gòu),僅僅是與本申請方案相關(guān)的部分結(jié)構(gòu)的框圖,并不構(gòu)成對本申請方案所應(yīng)用于其上的服務(wù)器200的限定,具體地服務(wù)器200可以包括比圖中所示更多或更少的部件,或者組合某些部件,或者具有不同的部件布置。

如圖3所示,提供了一種緩存數(shù)據(jù)的處理方法,包括以下步驟:

步驟S310,通過注冊中心節(jié)點(diǎn)接收終端發(fā)送的初始化配置請求,并提取初始化配置請求中的訪問實(shí)例。

具體地,服務(wù)器可為多個(gè)服務(wù)器組成的服務(wù)器集群,可通過在多臺服務(wù)器上部署Redis存儲節(jié)點(diǎn),從而搭建分布式緩存系統(tǒng),服務(wù)器中的分布式緩存系統(tǒng)可包括有注冊中心節(jié)點(diǎn)及一個(gè)或多個(gè)存儲節(jié)點(diǎn)。注冊中心節(jié)點(diǎn)主要用于協(xié)調(diào)控制并管理各個(gè)由Redis構(gòu)成的存儲節(jié)點(diǎn),注冊中心節(jié)點(diǎn)可通過ZooKeeper進(jìn)行構(gòu)建,其中,ZooKeeper是一個(gè)分布式的、開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),它包含一個(gè)簡單的原語集,分布式應(yīng)用程序可以基于它實(shí)現(xiàn)同步服務(wù),配置維護(hù)和命名服務(wù)等。存儲節(jié)點(diǎn)則由Redis進(jìn)行構(gòu)建,一個(gè)Redis節(jié)點(diǎn)即為一個(gè)存儲節(jié)點(diǎn),其中,Redis是一種key-value(鍵-值)型的分布式存儲系統(tǒng),可支持多種的value類型,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set,有序集合)和hash(哈希類型)等,存儲和讀取數(shù)據(jù)的速率都很高。

終端可通過訪問ZooKeeper的地址,向服務(wù)器的注冊中心節(jié)點(diǎn)發(fā)送初始化配置請求,初始化配置請求中可包括訪問實(shí)例(instance)的標(biāo)識,其中,訪問實(shí)例的標(biāo)識可由數(shù)字、字母或符號等字符組成,可為訪問實(shí)例的名稱或編號等。在服務(wù)器的分布式緩存系統(tǒng)中,一個(gè)實(shí)例可對應(yīng)固定個(gè)數(shù)的槽,并將固定個(gè)數(shù)的槽配置給不同的Redis存儲節(jié)點(diǎn),其中,槽指的是劃分的邏輯分區(qū),一個(gè)邏輯分區(qū)即為一個(gè)槽。例如,服務(wù)器中的實(shí)例均對應(yīng)600個(gè)槽,則可配置實(shí)例A對應(yīng)的槽位為0~300的槽位于Redis存儲節(jié)點(diǎn)A上,槽位為301-600的槽位于Redis存儲節(jié)點(diǎn)B,實(shí)例B對應(yīng)的槽位為0~300的槽位于Redis存儲節(jié)點(diǎn)C上,槽位為301-600的槽位于Redis存儲節(jié)點(diǎn)D上??筛鶕?jù)實(shí)際需求設(shè)置不同的實(shí)例對應(yīng)于不同的業(yè)務(wù)種類,并將與實(shí)例對應(yīng)的業(yè)務(wù)種類的相關(guān)數(shù)據(jù)存儲在該實(shí)例配置的Redis存儲節(jié)點(diǎn)的槽中,終端可根據(jù)所需訪問的數(shù)據(jù)所屬的業(yè)務(wù)種類確定對應(yīng)的訪問實(shí)例。

步驟S320,獲取與訪問實(shí)例匹配的配置信息,并將配置信息發(fā)送給終端,以使終端根據(jù)配置信息獲取所需訪問的存儲節(jié)點(diǎn)。

具體地,服務(wù)器的注冊中心節(jié)點(diǎn)接收終端發(fā)送的初始化配置請求,可提取初始化配置請求中包含的訪問實(shí)例的標(biāo)識,并根據(jù)訪問實(shí)例的標(biāo)識獲取與訪問實(shí)例匹配的配置信息,配置信息可包括與訪問實(shí)例對應(yīng)的Redis存儲節(jié)點(diǎn)、所有槽位以及槽在對應(yīng)的各個(gè)Redis存儲節(jié)點(diǎn)的分配情況。

服務(wù)器的注冊中心節(jié)點(diǎn)向終端發(fā)送與訪問實(shí)例匹配的配置信息。終端根據(jù)接收的配置信息確定與訪問實(shí)例對應(yīng)的一個(gè)或多個(gè)Redis存儲節(jié)點(diǎn)。終端獲取與訪問實(shí)例對應(yīng)的Redis存儲節(jié)點(diǎn)后,可直接根據(jù)各個(gè)對應(yīng)的Redis存儲節(jié)點(diǎn)的地址分別與各個(gè)Redis存儲節(jié)點(diǎn)建立連接。

終端與訪問實(shí)例對應(yīng)的各個(gè)Redis存儲節(jié)點(diǎn)建立連接后,可獲取需要進(jìn)行數(shù)據(jù)操作的主鍵(key),并根據(jù)主鍵計(jì)算槽位。計(jì)算槽位的公式為:Slotid=CRC16(key)%N,其中,Slotid表示槽位,N表示每個(gè)實(shí)例對應(yīng)的槽的個(gè)數(shù),終端可先對主鍵進(jìn)行CRC16(Cyclic Redundancy Check-16,循環(huán)冗余校驗(yàn)-16)校驗(yàn)計(jì)算后,對N取模,從而得到與主鍵匹配的槽位,可確定與主鍵對應(yīng)的數(shù)據(jù)放置在哪個(gè)槽中。

終端可根據(jù)訪問實(shí)例的槽在各個(gè)對應(yīng)的Redis存儲節(jié)點(diǎn)的分配情況判斷該計(jì)算得到的槽位屬于哪一個(gè)Redis存儲節(jié)點(diǎn),從而得到所需訪問的Redis存儲節(jié)點(diǎn)。例如,服務(wù)器中的實(shí)例均對應(yīng)600個(gè)槽,訪問實(shí)例A對應(yīng)的槽位為0~300的槽位于Redis存儲節(jié)點(diǎn)A上,槽位為301-600的槽位于Redis存儲節(jié)點(diǎn)B,計(jì)算主鍵得到槽位為320,則可得到所需訪問的為Redis存儲節(jié)點(diǎn)B。終端可通過所需訪問的Redis存儲節(jié)點(diǎn)的地址向該Redis存儲節(jié)點(diǎn)發(fā)送訪問請求。

步驟S330,通過存儲節(jié)點(diǎn)接收終端的訪問請求。

具體地,服務(wù)器中終端訪問的Redis存儲節(jié)點(diǎn)可接收到終端發(fā)送的訪問請求。

步驟S340,解析訪問請求,得到主鍵、主鍵的命名空間以及操作類型。

具體地,服務(wù)器中的Redis存儲節(jié)點(diǎn)接收到終端的訪問請求后,可對訪問請求進(jìn)行解析,得到主鍵、主鍵的命名空間以及操作類型。

同一個(gè)Redis存儲節(jié)點(diǎn)可能對應(yīng)于兩個(gè)不同的實(shí)例,也即,兩個(gè)不同的業(yè)務(wù)種類可能需要訪問某一部分相同的數(shù)據(jù),而在Redis存儲節(jié)點(diǎn)中為了將不同實(shí)例的數(shù)據(jù)進(jìn)行區(qū)分,可在主鍵之前添加命名空間,并以“;”、“。”、“/”等符號隔開,防止在主鍵相同的情況下出現(xiàn)數(shù)據(jù)訪問出錯(cuò)的問題。例如,Redis存儲節(jié)點(diǎn)X中存儲有實(shí)例X及實(shí)例Y的數(shù)據(jù),則在實(shí)例X的數(shù)據(jù)的主鍵之前添加“insX”的命名空間,實(shí)例Y的數(shù)據(jù)的主鍵之前添加“insY”的命名空間。

操作類型可包括獲取(get)、設(shè)置(set)、刪除(delete)、設(shè)置命名空間(SetNameSpace)等,其中,設(shè)置命名空間可包括為主鍵添加、修改或刪除命名空間等操作。

步驟S350,根據(jù)主鍵及主鍵的命名空間從存儲節(jié)點(diǎn)中獲取對應(yīng)的數(shù)據(jù),并按照操作類型對獲取的數(shù)據(jù)進(jìn)行處理。

具體地,服務(wù)器的Redis存儲節(jié)點(diǎn)可根據(jù)解析得到的主鍵及主鍵的命名空間讀取對應(yīng)的數(shù)據(jù),并根據(jù)操作類型對讀取的數(shù)據(jù)進(jìn)行處理,若操作類型為獲取,則將讀取的數(shù)據(jù)發(fā)送給終端。

上述緩存數(shù)據(jù)的處理方法,服務(wù)器通過注冊中心節(jié)點(diǎn)接收終端發(fā)送的初始化配置請求,獲取與初始化配置請求中的訪問實(shí)例匹配的配置信息并發(fā)送給終端,終端根據(jù)配置信息獲取所需訪問的存儲節(jié)點(diǎn),服務(wù)器通過該存儲節(jié)點(diǎn)接收終端的訪問請求,并根據(jù)解析訪問請求得到的主鍵、主鍵的命名空間從該存儲節(jié)點(diǎn)獲取對應(yīng)的數(shù)據(jù),并按照解析訪問請求得到的操作類型對數(shù)據(jù)進(jìn)行處理,利用實(shí)例及主鍵的命名空間分別對緩存中的數(shù)據(jù)進(jìn)行物理隔離及邏輯隔離,終端直接根據(jù)配置信息確定訪問的存儲節(jié)點(diǎn)并進(jìn)行訪問,無需服務(wù)器進(jìn)行復(fù)雜的邏輯計(jì)算,提高了讀取緩存數(shù)據(jù)的效率且有效降低了服務(wù)器壓力。

在一個(gè)實(shí)施例中,上述緩存數(shù)據(jù)的處理方法,還包括以下步驟:

步驟S402,通過主存儲節(jié)點(diǎn)接收終端的訪問請求。

具體地,服務(wù)器的每個(gè)Redis存儲節(jié)點(diǎn)中可包括一個(gè)Redis主存儲節(jié)點(diǎn)(master)及一個(gè)或多個(gè)Redis備存儲節(jié)點(diǎn)(slave),并組成一個(gè)組(group),同一個(gè)組內(nèi)的Redis主存儲節(jié)點(diǎn)及Redis備存儲節(jié)點(diǎn)進(jìn)行數(shù)據(jù)冗余備份,從而保持?jǐn)?shù)據(jù)同步。終端獲取所需訪問的Redis存儲節(jié)點(diǎn)后,,通常獲取該Redis存儲節(jié)點(diǎn)對應(yīng)的組中的Redis主存儲節(jié)點(diǎn)的地址,并直接訪問組中的Redis主存儲節(jié)點(diǎn)。

步驟S404,檢測主存儲節(jié)點(diǎn)是否發(fā)生故障,若是,則執(zhí)行步驟S406,若否,則執(zhí)行步驟S412。

具體地,服務(wù)器中的Redis主存儲節(jié)點(diǎn)接收到終端發(fā)送的訪問請求后,可通過注冊中心節(jié)點(diǎn)檢測Redis主存儲節(jié)點(diǎn)是否發(fā)生故障。注冊中心節(jié)點(diǎn)可向該Redis主存儲節(jié)點(diǎn)發(fā)送心跳包,若是在預(yù)設(shè)時(shí)間內(nèi),例如1s、2s內(nèi)等,未接收該Redis主存儲節(jié)點(diǎn)返回的響應(yīng)信息,則判定該Redis主存儲節(jié)點(diǎn)發(fā)生故障,并獲取與該Redis主存儲節(jié)點(diǎn)對應(yīng)的任一Redis備存儲節(jié)點(diǎn)進(jìn)行數(shù)據(jù)處理。

步驟S406,獲取與主存儲節(jié)點(diǎn)對應(yīng)的備存儲節(jié)點(diǎn)。

步驟S408,通過備存儲節(jié)點(diǎn)解析訪問請求,得到主鍵、主鍵的命名空間以及操作類型。

具體地,若Redis主存儲節(jié)點(diǎn)發(fā)生故障,可獲取與該Redis主存儲節(jié)點(diǎn)對應(yīng)的任一Redis備存儲節(jié)點(diǎn),并切換至該Redis備存儲節(jié)點(diǎn),由該Redis備存儲節(jié)點(diǎn)解析訪問請求,得到主鍵、主鍵的命名空間以及操作類型。

步驟S410,根據(jù)主鍵及主鍵的命名空間從備存儲節(jié)點(diǎn)獲取對應(yīng)的數(shù)據(jù),并按照操作類型對獲取的數(shù)據(jù)進(jìn)行處理。

具體地,該Redis備存儲節(jié)點(diǎn)可根據(jù)主鍵及主鍵的命名空間讀取對應(yīng)的數(shù)據(jù),并按照操作類型對獲取的數(shù)據(jù)進(jìn)行操作處理。

步驟S412,通過主存儲節(jié)點(diǎn)解析訪問請求,得到主鍵、主鍵的命名空間以及操作類型。

具體地,注冊中心節(jié)點(diǎn)向Redis主存儲節(jié)點(diǎn)發(fā)送心跳包,若在預(yù)設(shè)時(shí)間內(nèi)接收到該Redis主存儲節(jié)點(diǎn)返回的響應(yīng)信息,則判定該Redis主存儲節(jié)點(diǎn)沒有發(fā)生故障。Redis主存儲節(jié)點(diǎn)解析訪問請求,得到主鍵、主鍵的命名空間以及操作類型,根據(jù)主鍵及主鍵的命名空間讀取對應(yīng)的數(shù)據(jù),并按照操作類型對讀取的數(shù)據(jù)進(jìn)行操作處理。

步驟S414,根據(jù)主鍵及主鍵的命名空間從主存儲節(jié)點(diǎn)中獲取對應(yīng)的數(shù)據(jù),并按照操作類型對獲取的數(shù)據(jù)進(jìn)行處理。

在本實(shí)施例,當(dāng)Redis主存儲節(jié)點(diǎn)發(fā)生故障,則自動(dòng)切換成對應(yīng)的Redis備存儲節(jié)點(diǎn)進(jìn)行數(shù)據(jù)處理,保證數(shù)據(jù)處理的有效性,并提取數(shù)據(jù)處理效率。

如圖5所示,在一個(gè)實(shí)施例中,上述緩存數(shù)據(jù)的處理方法,還包括以下步驟:

步驟S502,通過注冊中心節(jié)點(diǎn)接收數(shù)據(jù)遷移請求。

具體地,當(dāng)Redis存儲節(jié)點(diǎn)需要進(jìn)行擴(kuò)容、縮容,或是出現(xiàn)宕機(jī)故障時(shí),可進(jìn)行數(shù)據(jù)遷移,系統(tǒng)管理員可通過終端向服務(wù)器的注冊中心節(jié)點(diǎn)發(fā)送數(shù)據(jù)遷移請求。數(shù)據(jù)遷移請求中可包括遷移實(shí)例、遷移槽位及目標(biāo)Redis存儲節(jié)點(diǎn),其中,遷移實(shí)例指的是進(jìn)行數(shù)據(jù)遷移的實(shí)例,遷移槽位指的是遷移實(shí)例中進(jìn)行數(shù)據(jù)遷移的槽位,目標(biāo)Redis存儲節(jié)點(diǎn)指的是將數(shù)據(jù)進(jìn)行遷移最終存儲的Redis存儲節(jié)點(diǎn)。

步驟S504,根據(jù)數(shù)據(jù)遷移請求獲取遷移實(shí)例,遷移槽位及目標(biāo)存儲節(jié)點(diǎn)。

步驟S506,根據(jù)遷移實(shí)例及遷移槽位確定遷移存儲節(jié)點(diǎn)。

具體地,服務(wù)器的注冊中心節(jié)點(diǎn)可獲取與遷移實(shí)例匹配的配置信息,并根據(jù)配置信息獲取遷移實(shí)例中的槽在對應(yīng)的各個(gè)Redis存儲節(jié)點(diǎn)的分配情況。根據(jù)遷移實(shí)例中的槽在對應(yīng)的各個(gè)Redis存儲節(jié)點(diǎn)的分配情況,可判斷與遷移槽位匹配的槽位于哪一個(gè)Redis存儲節(jié)點(diǎn),從而得到遷移Redis存儲節(jié)點(diǎn)。例如,遷移實(shí)例A對應(yīng)的槽位為0~300的槽位于Redis存儲節(jié)點(diǎn)A上,槽位為301-600的槽位于Redis存儲節(jié)點(diǎn)B,遷移槽位為200~300,則可得到遷移Redis存儲節(jié)點(diǎn)為Redis存儲節(jié)點(diǎn)A。

步驟S508,將遷移存儲節(jié)點(diǎn)中存儲在與遷移槽位匹配的槽的數(shù)據(jù)遷移至目標(biāo)存儲節(jié)點(diǎn)。

具體地,服務(wù)器可依次按照遷移槽位的順序,將遷移存儲節(jié)點(diǎn)中,與遷移槽位匹配的槽中存儲的數(shù)據(jù)遷移至目標(biāo)存儲節(jié)點(diǎn)。

如圖6所示,在一個(gè)實(shí)施例中,步驟S508將遷移存儲節(jié)點(diǎn)中存儲在與遷移槽位匹配的槽的數(shù)據(jù)遷移至目標(biāo)存儲節(jié)點(diǎn),包括:

步驟S602,在遷移存儲節(jié)點(diǎn)中將遷移槽位標(biāo)記為預(yù)遷移狀態(tài)。

具體地,服務(wù)器的注冊中心節(jié)點(diǎn)可依照遷移槽位的順序,依次對遷移Redis存儲節(jié)點(diǎn)中與遷移槽位匹配的槽中存儲的數(shù)據(jù)進(jìn)行遷移,每進(jìn)行一個(gè)槽的數(shù)據(jù)遷移時(shí),可將該遷移槽位先標(biāo)記為預(yù)遷移狀態(tài)(pre_migrate),記錄遷移Redis存儲節(jié)點(diǎn)中與遷移槽位對應(yīng)的槽的數(shù)據(jù)遷移狀態(tài)。

步驟S604,獲取與遷移實(shí)例關(guān)聯(lián)的終端,并向與遷移實(shí)例關(guān)聯(lián)的終端發(fā)送數(shù)據(jù)遷移指令。

具體地,服務(wù)器的注冊中心節(jié)點(diǎn)可記錄所有向其發(fā)送初始化配置請求的終端,并根據(jù)初始化配置請求中的訪問實(shí)例建立終端與實(shí)例的關(guān)聯(lián)關(guān)系。在進(jìn)行數(shù)據(jù)遷移時(shí),注冊中心節(jié)點(diǎn)可獲取與遷移實(shí)例具有關(guān)聯(lián)關(guān)系的終端,并向各個(gè)與遷移實(shí)例關(guān)聯(lián)的終端發(fā)送數(shù)據(jù)遷移指令。

步驟S606,當(dāng)接收到所有與遷移實(shí)例關(guān)聯(lián)的終端返回的確認(rèn)消息時(shí),將遷移槽位標(biāo)記為遷移狀態(tài)。

具體地,當(dāng)注冊中心節(jié)點(diǎn)接收到所有與遷移實(shí)例關(guān)聯(lián)的終端返回的確認(rèn)消息時(shí),可將要進(jìn)行數(shù)據(jù)遷移的槽的槽位從預(yù)遷移狀態(tài)改為遷移狀態(tài)(migrate),并進(jìn)行數(shù)據(jù)遷移。

步驟S608,通過遷移存儲節(jié)點(diǎn)將存儲在與遷移槽位匹配的槽中的數(shù)據(jù)發(fā)送給與遷移實(shí)例關(guān)聯(lián)的終端,以使關(guān)聯(lián)的終端將接收的數(shù)據(jù)發(fā)送給目標(biāo)存儲節(jié)點(diǎn)。

具體地,注冊中心節(jié)點(diǎn)可向遷移Redis存儲節(jié)點(diǎn)發(fā)送遷移命令,遷移Redis存儲節(jié)點(diǎn)根據(jù)遷移命令將要進(jìn)行數(shù)據(jù)遷移的槽中存儲的數(shù)據(jù),按照主鍵依次發(fā)送給各個(gè)與遷移實(shí)例關(guān)聯(lián)的終端,終端再將接收到的數(shù)據(jù)發(fā)送至目標(biāo)Redis存儲節(jié)點(diǎn),直至該進(jìn)行數(shù)據(jù)遷移的槽中存儲的數(shù)據(jù)全部遷移完成。數(shù)據(jù)遷移完成后,可刪除完成數(shù)據(jù)遷移的槽中存儲的數(shù)據(jù)。

步驟S610,將遷移槽位標(biāo)記為完成狀態(tài)。

具體地,當(dāng)該進(jìn)行數(shù)據(jù)遷移的槽中的數(shù)據(jù)全部遷移完成,注冊中心節(jié)點(diǎn)可將該槽的遷移槽位從遷移狀態(tài)修改為完成狀態(tài)(online),并進(jìn)行下一個(gè)槽位匹配的槽的數(shù)據(jù)遷移。當(dāng)所有遷移槽位均被標(biāo)記為完成狀態(tài),則數(shù)據(jù)遷移任務(wù)完成,注冊中心節(jié)點(diǎn)可向系統(tǒng)管理員所在的終端發(fā)送遷移完成信息。

在本實(shí)施中,可通過與遷移實(shí)例關(guān)聯(lián)的終端進(jìn)行數(shù)據(jù)遷移,即便在Redis存儲節(jié)點(diǎn)發(fā)生宕機(jī)故障時(shí)也可完成數(shù)據(jù)遷移,方便快捷,且可減少數(shù)據(jù)在遷移過程中發(fā)生丟失的情況。

如圖7所示,在一個(gè)實(shí)施例中,上述緩存數(shù)據(jù)的處理方法,還包括以下步驟:

步驟S702,監(jiān)控并采集各個(gè)存儲節(jié)點(diǎn)的應(yīng)用運(yùn)行指標(biāo)。

具體地,可基于influxdb時(shí)序數(shù)據(jù)庫在服務(wù)器中搭建實(shí)時(shí)監(jiān)控系統(tǒng),實(shí)時(shí)監(jiān)控并采集服務(wù)器中各個(gè)Redis存儲節(jié)點(diǎn)的應(yīng)用運(yùn)行指標(biāo),應(yīng)用運(yùn)行指標(biāo)可包括機(jī)器狀態(tài)信息、請求訪問情況等,其中,機(jī)器狀態(tài)信息可包括CPU(Central Processing Unit,中央處理器)負(fù)載、內(nèi)存信息、磁盤使用率等,請求訪問情況可包括請求個(gè)數(shù)、響應(yīng)時(shí)間及處理狀態(tài)等。

步驟S704,當(dāng)檢測到應(yīng)用運(yùn)行指標(biāo)異常,則定位發(fā)生應(yīng)用運(yùn)行指標(biāo)異常的存儲節(jié)點(diǎn)。

具體地,通過監(jiān)控系統(tǒng)對各個(gè)Redis存儲節(jié)點(diǎn)進(jìn)行實(shí)時(shí)監(jiān)控并采集相應(yīng)的應(yīng)用運(yùn)行指標(biāo),可將采集的應(yīng)用運(yùn)行指標(biāo)的各個(gè)數(shù)據(jù)與對應(yīng)的預(yù)設(shè)指標(biāo)正常范圍進(jìn)行比較,判斷應(yīng)用運(yùn)行指標(biāo)的各個(gè)數(shù)據(jù)是否發(fā)生異常,當(dāng)應(yīng)用運(yùn)行指標(biāo)中的數(shù)據(jù)沒有處于對應(yīng)的預(yù)設(shè)指標(biāo)正常范圍內(nèi),則說明該數(shù)據(jù)發(fā)生異常。例如,采集到Redis存儲節(jié)點(diǎn)A的請求個(gè)數(shù)為1萬個(gè),而請求個(gè)數(shù)對應(yīng)的預(yù)設(shè)指標(biāo)正常范圍為0~8000個(gè),采集的請求個(gè)數(shù)超出對應(yīng)的預(yù)設(shè)指標(biāo)正常范圍,說明發(fā)生異常??深A(yù)先設(shè)置各個(gè)Redis存儲節(jié)點(diǎn)的請求個(gè)數(shù)、訪問頻率等對應(yīng)的指標(biāo)正常范圍,對數(shù)據(jù)訪問進(jìn)行限流控制,保障服務(wù)器各個(gè)Redis存儲節(jié)點(diǎn)的性能及響應(yīng)速度。

步驟S706,關(guān)閉發(fā)生應(yīng)用運(yùn)行指標(biāo)異常的存儲節(jié)點(diǎn)并生成異常信息。

具體地,當(dāng)檢測到應(yīng)用運(yùn)行指標(biāo)異常,可對發(fā)生應(yīng)用運(yùn)行指標(biāo)異常的Redis存儲節(jié)點(diǎn)進(jìn)行定位,并關(guān)閉該發(fā)生應(yīng)用運(yùn)行指標(biāo)異常的Redis存儲節(jié)點(diǎn),保證服務(wù)器Redis存儲節(jié)點(diǎn)的性能??筛鶕?jù)發(fā)生應(yīng)用運(yùn)行指標(biāo)異常的Redis存儲節(jié)點(diǎn)生成相應(yīng)的異常信息,其中,異常信息可包括發(fā)生應(yīng)用運(yùn)行指標(biāo)異常的Redis存儲節(jié)點(diǎn)對應(yīng)的組標(biāo)識、異常的應(yīng)用運(yùn)行指標(biāo)等。生成異常信息后,服務(wù)器可將異常信息發(fā)送至系統(tǒng)管理員所在的終端,進(jìn)行故障處理。

在本實(shí)施例中,可監(jiān)控并采集各個(gè)存儲節(jié)點(diǎn)的應(yīng)用運(yùn)行指標(biāo),當(dāng)發(fā)生應(yīng)用運(yùn)行指標(biāo)異常,可對存儲節(jié)點(diǎn)進(jìn)行快速定位并關(guān)閉,保障服務(wù)器中各個(gè)存儲節(jié)點(diǎn)的性能,減輕服務(wù)器壓力。

如圖8所示,提供了一種緩存數(shù)據(jù)的處理裝置,包括第一接收模塊810、配置信息獲取模塊820、第二接收模塊830、解析模塊840及數(shù)據(jù)處理模塊850。

第一接收模塊810,用于通過注冊中心節(jié)點(diǎn)接收終端發(fā)送的初始化配置請求,并提取初始化配置請求中的訪問實(shí)例。

配置信息獲取模塊820,用于獲取與訪問實(shí)例匹配的配置信息,并將配置信息發(fā)送給終端,以使終端根據(jù)配置信息獲取所需訪問的存儲節(jié)點(diǎn)。

第二接收模塊830,用于通過存儲節(jié)點(diǎn)接收所述終端的訪問請求。

解析模塊840,用于解析訪問請求,得到主鍵、主鍵的命名空間以及操作類型。

數(shù)據(jù)處理模塊850,用于根據(jù)主鍵及主鍵的命名空間從存儲節(jié)點(diǎn)中獲取對應(yīng)的數(shù)據(jù),并按照操作類型對獲取的數(shù)據(jù)進(jìn)行處理。

上述緩存數(shù)據(jù)的處理裝置,服務(wù)器通過注冊中心節(jié)點(diǎn)接收終端發(fā)送的初始化配置請求,獲取與初始化配置請求中的訪問實(shí)例匹配的配置信息并發(fā)送給終端,終端根據(jù)配置信息獲取所需訪問的存儲節(jié)點(diǎn),服務(wù)器通過該存儲節(jié)點(diǎn)接收終端的訪問請求,并根據(jù)解析訪問請求得到的主鍵、主鍵的命名空間從該存儲節(jié)點(diǎn)獲取對應(yīng)的數(shù)據(jù),并按照解析訪問請求得到的操作類型對數(shù)據(jù)進(jìn)行處理,利用實(shí)例及主鍵的命名空間分別對緩存中的數(shù)據(jù)進(jìn)行物理隔離及邏輯隔離,終端直接根據(jù)配置信息確定訪問的存儲節(jié)點(diǎn)并進(jìn)行訪問,無需服務(wù)器進(jìn)行復(fù)雜的邏輯計(jì)算,提高了讀取緩存數(shù)據(jù)的效率且有效降低了服務(wù)器壓力。

在一個(gè)實(shí)施例中,存儲節(jié)點(diǎn)包括主存儲節(jié)點(diǎn)及備存儲節(jié)點(diǎn)。如圖9所示,上述緩存數(shù)據(jù)的處理裝置,除了包括第一接收模塊810、配置信息獲取模塊820、第二接收模塊830、解析模塊840及數(shù)據(jù)處理模塊850,還包括檢測模塊860。

第二接收模塊830,還用于通過主存儲節(jié)點(diǎn)接收終端的訪問請求。

檢測模塊860,用于檢測主存儲節(jié)點(diǎn)是否發(fā)生故障,若發(fā)生故障,則獲取與主存儲節(jié)點(diǎn)對應(yīng)的備存儲節(jié)點(diǎn)。

數(shù)據(jù)處理模塊850,還用于若主存儲節(jié)點(diǎn)發(fā)生故障,則根據(jù)主鍵及主鍵的命名空間從備存儲節(jié)點(diǎn)獲取對應(yīng)的數(shù)據(jù),并按照操作類型對獲取的數(shù)據(jù)進(jìn)行處理。

數(shù)據(jù)處理模塊850,還用于若主存儲節(jié)點(diǎn)沒有發(fā)生故障,則根據(jù)主鍵及主鍵的命名空間從主存儲節(jié)點(diǎn)中獲取對應(yīng)的數(shù)據(jù),并按照操作類型對獲取的數(shù)據(jù)進(jìn)行處理。

在本實(shí)施例,當(dāng)Redis主存儲節(jié)點(diǎn)發(fā)生故障,則自動(dòng)切換成對應(yīng)的Redis備存儲節(jié)點(diǎn)進(jìn)行數(shù)據(jù)處理,保證數(shù)據(jù)處理的有效性,并提取數(shù)據(jù)處理效率。

如圖10所示,在一個(gè)實(shí)施例中,上述緩存數(shù)據(jù)的處理裝置,除了包括第一接收模塊810、配置信息獲取模塊820、第二接收模塊830、解析模塊840、數(shù)據(jù)處理模塊850及檢測模塊860,還包括遷移信息模塊870、確定模塊880及遷移模塊890。

第一接收模塊810,還用于通過注冊中心節(jié)點(diǎn)接收數(shù)據(jù)遷移請求。

遷移信息模塊870,用于根據(jù)數(shù)據(jù)遷移請求獲取遷移實(shí)例、遷移槽位及目標(biāo)存儲節(jié)點(diǎn)。

確定模塊880,用于根據(jù)遷移實(shí)例及遷移槽位確定遷移存儲節(jié)點(diǎn)。

遷移模塊890,用于將遷移存儲節(jié)點(diǎn)存儲在與遷移槽位匹配的槽的數(shù)據(jù)遷移至目標(biāo)存儲節(jié)點(diǎn)。

如圖11所示,在一個(gè)實(shí)施例中,遷移模塊890包括標(biāo)記單元892及發(fā)送單元894。

標(biāo)記單元892,用于在遷移存儲節(jié)點(diǎn)中將遷移槽位標(biāo)記為預(yù)遷移狀態(tài)。

發(fā)送單元894,用于獲取與遷移實(shí)例關(guān)聯(lián)的終端,并向與遷移實(shí)例關(guān)聯(lián)的終端發(fā)送數(shù)據(jù)遷移指令。

標(biāo)記單元892,還用于當(dāng)接收到所有與遷移實(shí)例關(guān)聯(lián)的終端返回的確認(rèn)消息時(shí),將遷移槽位標(biāo)記為遷移狀態(tài)。

發(fā)送單元894,還用于通過遷移存儲節(jié)點(diǎn)將存儲在與遷移槽位匹配的槽中的數(shù)據(jù)發(fā)送給與遷移實(shí)例關(guān)聯(lián)的終端,以使關(guān)聯(lián)的終端將接收的數(shù)據(jù)發(fā)送給目標(biāo)存儲節(jié)點(diǎn)。

標(biāo)記單元892,還用于將遷移槽位標(biāo)記為完成狀態(tài)。

在本實(shí)施中,可通過與遷移實(shí)例關(guān)聯(lián)的終端進(jìn)行數(shù)據(jù)遷移,即便在Redis存儲節(jié)點(diǎn)發(fā)生宕機(jī)故障時(shí)也可完成數(shù)據(jù)遷移,方便快捷,且可減少數(shù)據(jù)在遷移過程中發(fā)生丟失的情況。

如圖12所示,在一個(gè)實(shí)施例中,上述緩存數(shù)據(jù)的處理裝置,除了包括第一接收模塊810、配置信息獲取模塊820、第二接收模塊830、解析模塊840、數(shù)據(jù)處理模塊850、檢測模塊860、遷移信息模塊870、確定模塊880及遷移模塊890,還包括監(jiān)控模塊900、定位模塊910及關(guān)閉模塊920。

監(jiān)控模塊900,用于監(jiān)控并采集各個(gè)存儲節(jié)點(diǎn)的應(yīng)用運(yùn)行指標(biāo)。

定位模塊910,用于當(dāng)檢測到應(yīng)用運(yùn)行指標(biāo)異常,則定位發(fā)生應(yīng)用運(yùn)行指標(biāo)異常的存儲節(jié)點(diǎn)。

關(guān)閉模塊920,用于關(guān)閉發(fā)生應(yīng)用運(yùn)行指標(biāo)異常的存儲節(jié)點(diǎn)并生成異常信息。

在本實(shí)施例中,可監(jiān)控并采集各個(gè)存儲節(jié)點(diǎn)的應(yīng)用運(yùn)行指標(biāo),當(dāng)發(fā)生應(yīng)用運(yùn)行指標(biāo)異常,可對存儲節(jié)點(diǎn)進(jìn)行快速定位并關(guān)閉,保障服務(wù)器中各個(gè)存儲節(jié)點(diǎn)的性能,減輕服務(wù)器壓力。

本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一非易失性計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)等。

以上所述實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡潔,未對上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說明書記載的范圍。

以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
五指山市| 双鸭山市| 将乐县| 社会| 原阳县| 惠水县| 玉屏| 咸宁市| 迭部县| 福鼎市| 锦屏县| 犍为县| 瑞金市| 大余县| 科技| 靖远县| 阳曲县| 社会| 梧州市| 三穗县| 治县。| 七台河市| 伊宁县| 泸西县| 东丰县| 车险| 嘉兴市| 广东省| 裕民县| 马龙县| 博客| 陇西县| 晋中市| 娱乐| 江永县| 东海县| 南溪县| 山丹县| 宁河县| 成安县| 嘉峪关市|