1.一種數(shù)據(jù)處理方法,其特征在于,包括:
路由層設(shè)備接收客戶端發(fā)送的數(shù)據(jù)操作請(qǐng)求,所述數(shù)據(jù)操作請(qǐng)求包括:待處理數(shù)據(jù)對(duì)應(yīng)的鍵key;
所述路由層設(shè)備根據(jù)一致性哈希算法從數(shù)據(jù)節(jié)點(diǎn)集群中選取所述鍵對(duì)應(yīng)的第一數(shù)據(jù)節(jié)點(diǎn),所述數(shù)據(jù)節(jié)點(diǎn)集群中包括:至少兩個(gè)數(shù)據(jù)節(jié)點(diǎn),所述第一數(shù)據(jù)節(jié)點(diǎn)包括所述至少兩個(gè)數(shù)據(jù)節(jié)點(diǎn)中的數(shù)據(jù)節(jié)點(diǎn);
所述路由層設(shè)備將所述數(shù)據(jù)操作請(qǐng)求轉(zhuǎn)發(fā)給所述第一數(shù)據(jù)節(jié)點(diǎn),由所述第一數(shù)據(jù)節(jié)點(diǎn)根據(jù)所述數(shù)據(jù)操作請(qǐng)求對(duì)所述待處理數(shù)據(jù)進(jìn)行業(yè)務(wù)處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
所述路由層設(shè)備周期性的發(fā)送心跳檢測(cè)包到所述數(shù)據(jù)節(jié)點(diǎn)集群中的所有數(shù)據(jù)節(jié)點(diǎn);
所述路由層設(shè)備判斷在預(yù)置的時(shí)間閾值內(nèi)是否接收到所述數(shù)據(jù)節(jié)點(diǎn)集群中的數(shù)據(jù)節(jié)點(diǎn)發(fā)送的心跳響應(yīng)包;
所述路由層設(shè)備將沒有向所述路由層設(shè)備發(fā)送心跳響應(yīng)包的數(shù)據(jù)節(jié)點(diǎn)的節(jié)點(diǎn)狀態(tài)設(shè)置為不可用服務(wù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述路由層設(shè)備將沒有向所述路由層設(shè)備發(fā)送心跳響應(yīng)包的數(shù)據(jù)節(jié)點(diǎn)的節(jié)點(diǎn)狀態(tài)設(shè)置為不可用服務(wù)之后,所述方法還包括:
所述路由層設(shè)備向節(jié)點(diǎn)狀態(tài)為不可用服務(wù)的第二數(shù)據(jù)節(jié)點(diǎn)繼續(xù)發(fā)送心跳檢測(cè)包;
所述路由層設(shè)備在預(yù)置的時(shí)間閾值內(nèi)接收到所述第二數(shù)據(jù)節(jié)點(diǎn)發(fā)送的心跳響應(yīng)包時(shí),恢復(fù)所述第二數(shù)據(jù)節(jié)點(diǎn)的節(jié)點(diǎn)狀態(tài)為可用狀態(tài)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述路由層設(shè)備根據(jù)一致性哈希算法從數(shù)據(jù)節(jié)點(diǎn)集群中選取所述鍵對(duì)應(yīng)的第一數(shù)據(jù)節(jié)點(diǎn),包括:
所述路由層設(shè)備讀取所述數(shù)據(jù)節(jié)點(diǎn)集群中每個(gè)數(shù)據(jù)節(jié)點(diǎn)的節(jié)點(diǎn)狀態(tài),所述節(jié)點(diǎn)狀態(tài)包括:不可用服務(wù),或者可用服務(wù);
所述路由層設(shè)備從節(jié)點(diǎn)狀態(tài)為可用服務(wù)的所有數(shù)據(jù)節(jié)點(diǎn)中根據(jù)一致性哈希算法選取所述鍵對(duì)應(yīng)的第一數(shù)據(jù)節(jié)點(diǎn)。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,所述路由層設(shè)備根據(jù)一致性哈希算法從數(shù)據(jù)節(jié)點(diǎn)集群中選取所述鍵對(duì)應(yīng)的第一數(shù)據(jù)節(jié)點(diǎn),包括:
所述路由層設(shè)備加載初始的至少兩個(gè)數(shù)據(jù)節(jié)點(diǎn)構(gòu)成一致性哈希節(jié)點(diǎn)環(huán);
所述路由層設(shè)備根據(jù)一致性哈希算法計(jì)算所述鍵對(duì)應(yīng)所述一致性哈希節(jié)點(diǎn)環(huán)上的位置,從該位置出發(fā)沿著所述一致性哈希節(jié)點(diǎn)環(huán)查找,直到遇見的數(shù)據(jù)節(jié)點(diǎn)即為所述鍵對(duì)應(yīng)的第一數(shù)據(jù)節(jié)點(diǎn)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括:
當(dāng)所述數(shù)據(jù)節(jié)點(diǎn)集群中新增加數(shù)據(jù)節(jié)點(diǎn)時(shí),所述路由層設(shè)備將新的數(shù)據(jù)節(jié)點(diǎn)加入到所述一致性哈希節(jié)點(diǎn)環(huán)中;
當(dāng)所述數(shù)據(jù)節(jié)點(diǎn)集群中存在服務(wù)狀態(tài)為不可服務(wù)的數(shù)據(jù)節(jié)點(diǎn)時(shí),所述路由層設(shè)備將所述服務(wù)狀態(tài)為不可服務(wù)的數(shù)據(jù)節(jié)點(diǎn)從所述一致性哈希節(jié)點(diǎn)環(huán)中剔除。
7.一種路由層設(shè)備,其特征在于,包括:
接收模塊,用于接收客戶端發(fā)送的數(shù)據(jù)操作請(qǐng)求,所述數(shù)據(jù)操作請(qǐng)求包括:待處理數(shù)據(jù)對(duì)應(yīng)的鍵key;
數(shù)據(jù)節(jié)點(diǎn)選擇模塊,用于根據(jù)一致性哈希算法從數(shù)據(jù)節(jié)點(diǎn)集群中選取所述鍵對(duì)應(yīng)的第一數(shù)據(jù)節(jié)點(diǎn),所述數(shù)據(jù)節(jié)點(diǎn)集群中包括:至少兩個(gè)數(shù)據(jù)節(jié)點(diǎn),所述第一數(shù)據(jù)節(jié)點(diǎn)包括所述至少兩個(gè)數(shù)據(jù)節(jié)點(diǎn)中的數(shù)據(jù)節(jié)點(diǎn);
調(diào)度模塊,用于將所述數(shù)據(jù)操作請(qǐng)求轉(zhuǎn)發(fā)給所述第一數(shù)據(jù)節(jié)點(diǎn),由所述第一數(shù)據(jù)節(jié)點(diǎn)根據(jù)所述數(shù)據(jù)操作請(qǐng)求對(duì)所述待處理數(shù)據(jù)進(jìn)行業(yè)務(wù)處理。
8.根據(jù)權(quán)利要求7所述的路由層設(shè)備,其特征在于,所述路由層設(shè)備還包括:狀態(tài)檢查模塊,其中,
所述狀態(tài)檢查模塊,用于周期性的發(fā)送心跳檢測(cè)包到所述數(shù)據(jù)節(jié)點(diǎn)集群中的所有數(shù)據(jù)節(jié)點(diǎn);判斷在預(yù)置的時(shí)間閾值內(nèi)是否接收到所述數(shù)據(jù)節(jié)點(diǎn)集群中的數(shù)據(jù)節(jié)點(diǎn)發(fā)送的心跳響應(yīng)包;將沒有向所述路由層設(shè)備發(fā)送心跳響應(yīng)包的數(shù)據(jù)節(jié)點(diǎn)的節(jié)點(diǎn)狀態(tài)設(shè)置為不可用服務(wù)。
9.根據(jù)權(quán)利要求8所述的路由層設(shè)備,其特征在于,所述狀態(tài)檢查模塊,還用于將沒有向所述路由層設(shè)備發(fā)送心跳響應(yīng)包的數(shù)據(jù)節(jié)點(diǎn)的節(jié)點(diǎn)狀態(tài)設(shè)置為不可用服務(wù)之后,向節(jié)點(diǎn)狀態(tài)為不可用服務(wù)的第二數(shù)據(jù)節(jié)點(diǎn)繼續(xù)發(fā)送心跳檢測(cè)包;在預(yù)置的時(shí)間閾值內(nèi)接收到所述第二數(shù)據(jù)節(jié)點(diǎn)發(fā)送的心跳響應(yīng)包時(shí),恢復(fù)所述第二數(shù)據(jù)節(jié)點(diǎn)的節(jié)點(diǎn)狀態(tài)為可用狀態(tài)。
10.根據(jù)權(quán)利要求7所述的路由層設(shè)備,其特征在于,所述數(shù)據(jù)節(jié)點(diǎn)選擇模塊,具體用于讀取所述數(shù)據(jù)節(jié)點(diǎn)集群中每個(gè)數(shù)據(jù)節(jié)點(diǎn)的節(jié)點(diǎn)狀態(tài),所述節(jié)點(diǎn)狀態(tài)包括:不可用服務(wù),或者可用服務(wù);從節(jié)點(diǎn)狀態(tài)為可用服務(wù)的所有數(shù)據(jù)節(jié)點(diǎn)中根據(jù)一致性哈希算法選取所述鍵對(duì)應(yīng)的第一數(shù)據(jù)節(jié)點(diǎn)。
11.根據(jù)權(quán)利要求7至10中任一項(xiàng)所述的路由層設(shè)備,其特征在于,所述數(shù)據(jù)節(jié)點(diǎn)選擇模塊,包括:
哈希圓環(huán)配置模塊,用于加載初始的至少兩個(gè)數(shù)據(jù)節(jié)點(diǎn)構(gòu)成一致性哈希節(jié)點(diǎn)環(huán);
圓環(huán)查找模塊,用于根據(jù)一致性哈希算法計(jì)算所述鍵對(duì)應(yīng)所述一致性哈希節(jié)點(diǎn)環(huán)上的位置,從該位置出發(fā)沿著所述一致性哈希節(jié)點(diǎn)環(huán)查找,直到遇見的數(shù)據(jù)節(jié)點(diǎn)即為所述鍵對(duì)應(yīng)的第一數(shù)據(jù)節(jié)點(diǎn)。
12.根據(jù)權(quán)利要求11所述的路由層設(shè)備,其特征在于,所述路由層設(shè)備還包括:伸縮容量控制模塊,用于當(dāng)所述數(shù)據(jù)節(jié)點(diǎn)集群中新增加數(shù)據(jù)節(jié)點(diǎn)時(shí),將新的數(shù)據(jù)節(jié)點(diǎn)加入到所述一致性哈希節(jié)點(diǎn)環(huán)中;當(dāng)所述數(shù)據(jù)節(jié)點(diǎn)集群中存在服務(wù)狀態(tài)為不可服務(wù)的數(shù)據(jù)節(jié)點(diǎn)時(shí),將所述服務(wù)狀態(tài)為不可服務(wù)的數(shù)據(jù)節(jié)點(diǎn)從所述一致性哈希節(jié)點(diǎn)環(huán)中剔除。
13.一種分布式緩存系統(tǒng),其特征在于,包括:客戶端、如權(quán)利要求7至12中任一項(xiàng)所述的路由層設(shè)備和數(shù)據(jù)節(jié)點(diǎn)集群,其中,
所述客戶端,用于向所述路由層設(shè)備發(fā)送數(shù)據(jù)操作請(qǐng)求,所述數(shù)據(jù)操作請(qǐng)求包括:待處理數(shù)據(jù)對(duì)應(yīng)的鍵key;
所述數(shù)據(jù)節(jié)點(diǎn)集群,包括:至少兩個(gè)數(shù)據(jù)節(jié)點(diǎn),所述第一數(shù)據(jù)節(jié)點(diǎn)為所述路由層設(shè)備選取出的數(shù)據(jù)節(jié)點(diǎn);
所述第一數(shù)據(jù)節(jié)點(diǎn),用于根據(jù)所述數(shù)據(jù)操作請(qǐng)求對(duì)所述待處理數(shù)據(jù)進(jìn)行業(yè)務(wù)處理。