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

一種zedis分布式緩存方法與流程

文檔序號(hào):12751746閱讀:來源:國(guó)知局

技術(shù)特征:

1.一種zedis分布式緩存方法,其特征在于:提供zookeeper核心處理器、服務(wù)器集群監(jiān)控模塊、節(jié)點(diǎn)數(shù)據(jù)處理模塊、數(shù)據(jù)恢復(fù)模塊、客戶端、服務(wù)端及數(shù)據(jù)存儲(chǔ)服務(wù)器,所述zookeeper核心處理器包括服務(wù)器判斷模塊及服務(wù)器顯示模塊,所述zedis分布式緩存方法包括以下步驟:

S1:所述服務(wù)器判斷模塊讀取所述服務(wù)器集群監(jiān)控模塊的redis服務(wù)器集群所需的完整信息;

S2:所述服務(wù)器判斷模塊將讀取到的信息發(fā)送給所述客戶端,所述客戶端將讀取redis服務(wù)器集群所需的完整信息,從每一個(gè)物理節(jié)點(diǎn)的完整信息抽取相對(duì)于其他物理節(jié)點(diǎn)唯一的信息,其中,所述信息包括ip地址與端口號(hào);

S3:所述客戶端通過接收到的信息生成固定的多個(gè)key,通過負(fù)載均衡核心類ConsistentHash算法生成對(duì)應(yīng)多個(gè)hash碼,同一個(gè)信息生成的哈希碼全都映射到同一個(gè)物理節(jié)點(diǎn),用哈希碼到物理節(jié)點(diǎn)的映射填充ConsistentHash的核心變量映射表形成哈希環(huán);

S4:所述哈希環(huán)與所述數(shù)據(jù)存儲(chǔ)服務(wù)器連接完成數(shù)據(jù)備份與故障規(guī)避的讀寫過程;

S5:所述故障轉(zhuǎn)移處理模塊、服務(wù)器集群監(jiān)控模塊及zookeeper核心處理器通過數(shù)據(jù)備份、規(guī)避故障節(jié)點(diǎn)和數(shù)據(jù)恢復(fù)實(shí)現(xiàn)故障轉(zhuǎn)移;

所述步驟“數(shù)據(jù)備份與故障規(guī)避的讀過程”的實(shí)現(xiàn)步驟包括:

S401:所述讀寫代理模塊根據(jù)key參數(shù),通過哈希環(huán)找出主節(jié)點(diǎn),并以此找到備節(jié)點(diǎn);

S402:判斷主節(jié)點(diǎn)是否可用,如果主節(jié)點(diǎn)可用,則執(zhí)行步驟S403,如果主節(jié)點(diǎn)不可用但備節(jié)點(diǎn)可用,執(zhí)行步驟S404,如果主節(jié)點(diǎn)及備節(jié)點(diǎn)均不可用;

S403:往主節(jié)點(diǎn)主數(shù)據(jù)庫(kù)寫并往備節(jié)點(diǎn)的主數(shù)據(jù)庫(kù)寫入;

S404:往備節(jié)點(diǎn)的備用數(shù)據(jù)庫(kù)和臨時(shí)數(shù)據(jù)庫(kù)寫入;

S405:寫入其他可用節(jié)點(diǎn)的數(shù)據(jù)庫(kù);

所述步驟“數(shù)據(jù)備份與故障規(guī)避的寫過程”的實(shí)現(xiàn)步驟包括:

S406:所述讀寫代理模塊根據(jù)key參數(shù)獲取主節(jié)點(diǎn)及備份節(jié)點(diǎn);

S407:判斷主節(jié)點(diǎn)是否可用,如果主節(jié)點(diǎn)可用,執(zhí)行步驟S408,如果主節(jié)點(diǎn)不可用但備節(jié)點(diǎn)可用,執(zhí)行步驟S409,如果主節(jié)點(diǎn)及備節(jié)點(diǎn)均不可用,執(zhí)行步驟S410;

S408:從主節(jié)點(diǎn)讀??;

S409:從備節(jié)點(diǎn)讀取;

S410:從其他節(jié)點(diǎn)讀取;

其中,所述數(shù)據(jù)存儲(chǔ)服務(wù)器的數(shù)據(jù)存儲(chǔ)方式如下表所示:

其中,所述主節(jié)點(diǎn)為通過負(fù)載均衡核心類ConsistentHash算法找到的最近的物理節(jié)點(diǎn),備節(jié)點(diǎn)是主節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)。

2.根據(jù)權(quán)利要求1所述的zedis分布式緩存方法,其特征在于:所述客戶端包括負(fù)載均衡處理模塊,所述步驟S3中的“負(fù)載均衡核心類ConsistentHash算法”包括:

所述負(fù)載均衡處理模塊通過MurMurHash2算法接收參數(shù)key,生成并返回哈希碼;

所述負(fù)載均衡處理模塊通過void_addNode算法接收節(jié)點(diǎn)S和一個(gè)原始參數(shù)key,用參數(shù)key生成多個(gè)哈希碼,并將所有的哈希碼全部映射到所述節(jié)點(diǎn)S,將映射存入TreeMap;

所述負(fù)載均衡處理模塊通過S_getClosestNode算法接收參數(shù)key,根據(jù)key生成hashCode,用TreeMap的tailMap算法,找到最近的節(jié)點(diǎn)并返回。

3.根據(jù)權(quán)利要求1所述的zedis分布式緩存方法,其特征在于:所述服務(wù)器集群監(jiān)控模塊包括連接redis服務(wù)器所需的信息、表明節(jié)點(diǎn)可用性狀態(tài)的表量及檢測(cè)redis服務(wù)器是否可用的策略。

4.根據(jù)權(quán)利要求3所述的zedis分布式緩存方法,其特征在于:所述檢測(cè)redis服務(wù)器是否可用的策略包括:初始化所述服務(wù)器集群監(jiān)控模塊并根據(jù)信息與redis服務(wù)器建立連接;

通過客戶端的ping方法檢測(cè)節(jié)點(diǎn)是否存活,再通過客戶端的set方法,檢查是否能正常存入數(shù)據(jù),如果檢查均通過則返回服務(wù)器可用,否則返回服務(wù)器不可用;

連續(xù)N次調(diào)用pingOnce(),記錄調(diào)用成功或失敗比率并返回;

所述服務(wù)器集群監(jiān)控模塊先調(diào)用一次pingOnce(),若返回結(jié)果與所述服務(wù)器集群監(jiān)控模塊一致,則redis服務(wù)器可用性狀態(tài)無變化,并返回檢測(cè)結(jié)果,若首次檢測(cè)結(jié)果與所述服務(wù)器集群監(jiān)控模塊不一致,則調(diào)用checkStateRatio進(jìn)行判斷,以checkStateRatio返回結(jié)果為準(zhǔn),返回檢測(cè)結(jié)果。

5.根據(jù)權(quán)利要求3所述的zedis分布式緩存方法,其特征在于:所述哈希環(huán)包括Redis節(jié)點(diǎn),Redis節(jié)點(diǎn)標(biāo)號(hào)到Redis節(jié)點(diǎn)本身的映射表、集群的最大標(biāo)號(hào)和最小標(biāo)號(hào)。

6.根據(jù)權(quán)利要求3所述的zedis分布式緩存方法,其特征在于:還包括步驟:所述服務(wù)器集群監(jiān)控模塊對(duì)集群服務(wù)器進(jìn)行監(jiān)控,并將監(jiān)控得出的結(jié)果發(fā)送給zookeeper核心處理器,該步驟的實(shí)現(xiàn)步驟包括:

讀取zedis集群配置,建立物理節(jié)點(diǎn)對(duì)應(yīng)的檢測(cè)任務(wù),把檢測(cè)出的可用性變化情況通過發(fā)送給客戶端;

初始化集群,構(gòu)造服務(wù)器集群監(jiān)控模塊傳入客戶端的集群信息,所述服務(wù)器集群監(jiān)控模塊根據(jù)固定的配置規(guī)范讀取所述集群信息并初始化;

所述服務(wù)器集群監(jiān)控模塊對(duì)每個(gè)讀取到的不同的物理節(jié)點(diǎn)構(gòu)造一個(gè)線程內(nèi)部類RedisPing任務(wù),調(diào)用所述“檢測(cè)redis服務(wù)器是否可用”的策略的ping方法,檢測(cè)物理節(jié)點(diǎn)的可用性;

根據(jù)監(jiān)控結(jié)果,判斷物理節(jié)點(diǎn)是否出現(xiàn)可用性變化,若物理節(jié)點(diǎn)出現(xiàn)可用性變化,從可用變?yōu)椴豢捎?,修改所述zookeeper核心處理器配置并通知客戶端;若物理節(jié)點(diǎn)出現(xiàn)不可用性變化,從不可用變?yōu)榭捎茫葦?shù)據(jù)恢復(fù),然后再修改zookeeper核心處理器配置并通知所述客戶端。

7.根據(jù)權(quán)利要求1所述的zedis分布式緩存方法,其特征在于:所述步驟S5的實(shí)現(xiàn)步驟包括:

所述故障轉(zhuǎn)移處理模塊根據(jù)key參數(shù)生成哈希碼并找到主節(jié)點(diǎn),然后找到主節(jié)點(diǎn)的備節(jié)點(diǎn),對(duì)主備節(jié)點(diǎn)進(jìn)行相同的寫操作,主節(jié)點(diǎn)=n,則備節(jié)點(diǎn)=n+1,寫操作在主節(jié)點(diǎn)主數(shù)據(jù)庫(kù)空間和備節(jié)點(diǎn)的備數(shù)據(jù)庫(kù)空間一起進(jìn)行。

8.根據(jù)權(quán)利要求1所述的zedis分布式緩存方法,其特征在于:所述步驟S5的“規(guī)避故障節(jié)點(diǎn)步驟”的實(shí)現(xiàn)步驟包括:

所述故障轉(zhuǎn)移處理模塊根據(jù)java代理攔截接口調(diào)用的數(shù)據(jù),并通過key參數(shù)找到主節(jié)點(diǎn),判斷主節(jié)點(diǎn)是否可用,如果可用則在主節(jié)點(diǎn)上與數(shù)據(jù)存儲(chǔ)服務(wù)器進(jìn)行數(shù)據(jù)交換的工作;如果主節(jié)點(diǎn)不可用,則在備節(jié)點(diǎn)與數(shù)據(jù)存儲(chǔ)服務(wù)器進(jìn)行數(shù)據(jù)交換的工作;如果主節(jié)點(diǎn)和備節(jié)點(diǎn)均不可用,則在剩余的物理節(jié)點(diǎn)中,尋找可用的節(jié)點(diǎn)與數(shù)據(jù)存儲(chǔ)服務(wù)器進(jìn)行數(shù)據(jù)交換的工作。

9.根據(jù)權(quán)利要求1所述的zedis分布式緩存方法,其特征在于:所述步驟S5的“數(shù)據(jù)恢復(fù)”的實(shí)現(xiàn)步驟包括:

判斷故障節(jié)點(diǎn)規(guī)避是否已經(jīng)完成,如果已經(jīng)完成,則進(jìn)行數(shù)據(jù)恢復(fù),否則續(xù)費(fèi)進(jìn)行故障節(jié)點(diǎn)規(guī)避;

找出恢復(fù)正常的節(jié)點(diǎn)相對(duì)的主節(jié)點(diǎn)和備節(jié)點(diǎn),假設(shè)主數(shù)據(jù)庫(kù)=n,恢復(fù)節(jié)點(diǎn)=n+2,恢復(fù)節(jié)點(diǎn)為目標(biāo)節(jié)點(diǎn),主節(jié)點(diǎn)=n+1,備節(jié)點(diǎn)=n+3;從備節(jié)點(diǎn)臨時(shí)數(shù)據(jù)庫(kù)空間恢復(fù)數(shù)據(jù)到目標(biāo)節(jié)點(diǎn)主數(shù)據(jù)庫(kù)空間,然后清空備節(jié)點(diǎn)臨時(shí)數(shù)據(jù)庫(kù)空間,從主節(jié)點(diǎn)主數(shù)據(jù)庫(kù)空間恢復(fù)數(shù)據(jù)到目標(biāo)節(jié)點(diǎn)備用數(shù)據(jù)庫(kù)空間。

當(dāng)前第2頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
富裕县| 通海县| 汾阳市| 丹阳市| 毕节市| 彰化市| 肃南| 荔波县| 东光县| 德格县| 长葛市| 广南县| 昭平县| 渑池县| 鹿泉市| 九江县| 姚安县| 新干县| 杭锦后旗| 府谷县| 哈巴河县| 西安市| 公主岭市| 新源县| 安溪县| 甘德县| 修水县| 高陵县| 永康市| 水城县| 包头市| 凌云县| 隆安县| 大新县| 许昌市| 河北省| 禹州市| 安仁县| 科尔| 全南县| 绥中县|