本發(fā)明涉及互聯(lián)網(wǎng)應(yīng)用技術(shù)領(lǐng)域,尤其涉及一種基于內(nèi)存加速的分布式對(duì)象緩存方法。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,越來(lái)越多的應(yīng)用提供照片和視頻等對(duì)象的存儲(chǔ)服務(wù)。在使用這項(xiàng)服務(wù)的同時(shí),系統(tǒng)會(huì)產(chǎn)生大量的縮略圖和壓縮視頻供用戶快速了解。而這些縮略圖需要在服務(wù)端存儲(chǔ)一段時(shí)間,以供后續(xù)使用者使用。
當(dāng)前市場(chǎng)上存在一些技術(shù)相關(guān)的技術(shù):
一、memcache,其使用等內(nèi)存存儲(chǔ),適合儲(chǔ)存小對(duì)象,但是其需要使用專用協(xié)議,適用范圍小,不方便與現(xiàn)有系統(tǒng)整合。
二、分布式文件系統(tǒng),其沒(méi)有對(duì)象過(guò)期設(shè)置,需要額外開發(fā)。同時(shí)還會(huì)使對(duì)象備份數(shù)量大于1使得額外使用空間,同樣的,其也需要使用專用協(xié)議,適用范圍小,不方便與現(xiàn)有系統(tǒng)整合。最后,當(dāng)一個(gè)節(jié)點(diǎn)失效后其需要數(shù)據(jù)遷移。
技術(shù)實(shí)現(xiàn)要素:
鑒于目前互聯(lián)網(wǎng)應(yīng)用技術(shù)領(lǐng)域存在的上述不足,本發(fā)明提供一種基于內(nèi)存加速的分布式對(duì)象緩存方法,提高了緩存速度,適用范圍廣。
為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
一種基于內(nèi)存加速的分布式對(duì)象緩存方法,所述基于內(nèi)存加速的分布式對(duì)象緩存方法包括以下步驟:
上傳數(shù)據(jù);
通過(guò)訪問(wèn)dns服務(wù)獲取當(dāng)前最佳服務(wù)節(jié)點(diǎn);
在最佳服務(wù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)寫入存儲(chǔ)。
依照本發(fā)明的一個(gè)方面,所述通過(guò)訪問(wèn)dns服務(wù)獲取當(dāng)前最佳服務(wù)節(jié)點(diǎn)包括:通過(guò)訪問(wèn)dns服務(wù),按節(jié)點(diǎn)容量使用加權(quán)平均算法獲取最佳服務(wù)節(jié)點(diǎn)。
依照本發(fā)明的一個(gè)方面,所述在最佳服務(wù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)寫入存儲(chǔ)包括:先寫入內(nèi)存,然后更新元數(shù)據(jù),再寫入本地硬盤。
依照本發(fā)明的一個(gè)方面,所述上傳數(shù)據(jù)包括:客戶端通過(guò)put的方式上傳數(shù)據(jù)。
依照本發(fā)明的一個(gè)方面,所述基于內(nèi)存加速的分布式對(duì)象緩存方法包括以下步驟:通過(guò)負(fù)載均衡獲取對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的位置;再通過(guò)反向代理從對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)下載數(shù)據(jù)。
依照本發(fā)明的一個(gè)方面,所述通過(guò)負(fù)載均衡獲取對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的位置包括:負(fù)載均衡器與對(duì)象數(shù)據(jù)節(jié)點(diǎn)共享內(nèi)存網(wǎng)絡(luò),以獲取對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的位置。
依照本發(fā)明的一個(gè)方面,所述基于內(nèi)存加速的分布式對(duì)象緩存方法包括:元數(shù)據(jù)過(guò)期后自動(dòng)通知數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)刪除持久化在硬盤上的對(duì)象。
依照本發(fā)明的一個(gè)方面,所述負(fù)載均衡和數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)都是基于http標(biāo)準(zhǔn)協(xié)議。
本發(fā)明實(shí)施的優(yōu)點(diǎn):本發(fā)明所述的基于內(nèi)存加速的分布式對(duì)象緩存方法包括上傳數(shù)據(jù);通過(guò)訪問(wèn)dns服務(wù)獲取當(dāng)前最佳服務(wù)節(jié)點(diǎn);在最佳服務(wù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)寫入存儲(chǔ)等步驟,通過(guò)分布式內(nèi)存緩存提高元數(shù)據(jù)的訪問(wèn)速度,通過(guò)內(nèi)存緩存提高對(duì)象的讀寫速度;進(jìn)一步的,通過(guò)負(fù)載均衡獲取對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的位置;通過(guò)反向代理從對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)下載數(shù)據(jù),負(fù)載均衡和存儲(chǔ)節(jié)點(diǎn)都是基于http標(biāo)準(zhǔn)協(xié)議,方便與現(xiàn)有系統(tǒng)整合,適用范圍大。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例一所述的一種基于內(nèi)存加速的分布式對(duì)象緩存方法示意圖;
圖2為本發(fā)明實(shí)施例二所述的一種基于內(nèi)存加速的分布式對(duì)象緩存方法示意圖;
圖3為本發(fā)明實(shí)施例三所述的一種基于內(nèi)存加速的分布式對(duì)象緩存方法示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一
如圖1所示,一種基于內(nèi)存加速的分布式對(duì)象緩存方法,所述基于內(nèi)存加速的分布式對(duì)象緩存方法包括以下步驟:
步驟s1:上傳數(shù)據(jù);
所述步驟s1上傳數(shù)據(jù)的具體實(shí)施方式可為:客戶端通過(guò)put的方式上傳數(shù)據(jù)。
步驟s2:通過(guò)訪問(wèn)dns服務(wù)獲取當(dāng)前最佳服務(wù)節(jié)點(diǎn);
所述步驟s2通過(guò)訪問(wèn)dns服務(wù)獲取當(dāng)前最佳服務(wù)節(jié)點(diǎn)的具體實(shí)施方式可為:通過(guò)訪問(wèn)dns服務(wù),獲取當(dāng)前最佳服務(wù)節(jié)點(diǎn),客戶端put數(shù)據(jù)到最佳服務(wù)節(jié)點(diǎn)。
在實(shí)際應(yīng)用中,所述最佳服務(wù)節(jié)點(diǎn)可按節(jié)點(diǎn)容量使用加權(quán)平均算法獲取,主要目的是為了讓瞬時(shí)流量按隨機(jī)加節(jié)點(diǎn)空間比來(lái)分配。這樣做的目標(biāo)是為了防止節(jié)點(diǎn)過(guò)熱,以及使各各節(jié)點(diǎn)空間比逐漸趨于一致。
步驟s3:在最佳服務(wù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)寫入存儲(chǔ);
所述步驟s3在最佳服務(wù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)寫入存儲(chǔ)的具體實(shí)施方式可為:先將數(shù)據(jù)寫入內(nèi)存,然后更新元數(shù)據(jù),再寫入本地硬盤。
本實(shí)施例所述的基于內(nèi)存加速的分布式對(duì)象緩存方法包括上傳數(shù)據(jù);通過(guò)訪問(wèn)dns服務(wù)獲取當(dāng)前最佳服務(wù)節(jié)點(diǎn);在最佳服務(wù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)寫入存儲(chǔ)等步驟,通過(guò)分布式內(nèi)存緩存提高元數(shù)據(jù)的訪問(wèn)速度,通過(guò)內(nèi)存緩存提高對(duì)象的讀寫速度。存儲(chǔ)節(jié)點(diǎn)都是基于http標(biāo)準(zhǔn)協(xié)議,方便與現(xiàn)有系統(tǒng)整合,適用范圍大。
實(shí)施例二
如圖2所示,一種基于內(nèi)存加速的分布式對(duì)象緩存方法,所述基于內(nèi)存加速的分布式對(duì)象緩存方法包括以下步驟:
步驟s1:上傳數(shù)據(jù);
所述步驟s1上傳數(shù)據(jù)的具體實(shí)施方式可為:客戶端通過(guò)put的方式上傳數(shù)據(jù)。
步驟s2:通過(guò)訪問(wèn)dns服務(wù)獲取當(dāng)前最佳服務(wù)節(jié)點(diǎn);
所述步驟s2通過(guò)訪問(wèn)dns服務(wù)獲取當(dāng)前最佳服務(wù)節(jié)點(diǎn)的具體實(shí)施方式可為:通過(guò)訪問(wèn)dns服務(wù),獲取當(dāng)前最佳服務(wù)節(jié)點(diǎn),客戶端put數(shù)據(jù)到最佳服務(wù)節(jié)點(diǎn)。
在實(shí)際應(yīng)用中,所述最佳服務(wù)節(jié)點(diǎn)可按節(jié)點(diǎn)容量使用加權(quán)平均算法獲取,主要目的是為了讓瞬時(shí)流量按隨機(jī)加節(jié)點(diǎn)空間比來(lái)分配。這樣做的目標(biāo)是為了防止節(jié)點(diǎn)過(guò)熱,以及使各各節(jié)點(diǎn)空間比逐漸趨于一致。
步驟s3:在最佳服務(wù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)寫入存儲(chǔ);
所述步驟s3在最佳服務(wù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)寫入存儲(chǔ)的具體實(shí)施方式可為:先將數(shù)據(jù)寫入內(nèi)存,然后更新元數(shù)據(jù),再寫入本地硬盤。
步驟s4:通過(guò)負(fù)載均衡獲取對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的位置;
所述步驟s4通過(guò)負(fù)載均衡獲取對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的位置的具體實(shí)施方式可為:負(fù)載均衡器與對(duì)象數(shù)據(jù)節(jié)點(diǎn)共享內(nèi)存網(wǎng)絡(luò),以獲取對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的位置。
步驟s5:通過(guò)反向代理從對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)下載數(shù)據(jù)。
所述步驟s5通過(guò)反向代理從對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)下載數(shù)據(jù)的具體實(shí)施方式可為:負(fù)載均衡器通過(guò)反向代理下載數(shù)據(jù)。
其中,所述負(fù)載均衡和數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)都是基于http標(biāo)準(zhǔn)協(xié)議,方便與現(xiàn)有系統(tǒng)整合,適用范圍大。
本實(shí)施例所述的基于內(nèi)存加速的分布式對(duì)象緩存方法,包括上傳數(shù)據(jù);通過(guò)訪問(wèn)dns服務(wù)獲取當(dāng)前最佳服務(wù)節(jié)點(diǎn);在最佳服務(wù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)寫入存儲(chǔ);通過(guò)負(fù)載均衡獲取對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的位置;通過(guò)反向代理從對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)下載數(shù)據(jù)等步驟,通過(guò)分布式內(nèi)存緩存提高元數(shù)據(jù)的訪問(wèn)速度,通過(guò)內(nèi)存緩存提高對(duì)象的讀寫速度;進(jìn)一步的,負(fù)載均衡和存儲(chǔ)節(jié)點(diǎn)都是基于http標(biāo)準(zhǔn)協(xié)議,方便與現(xiàn)有系統(tǒng)整合,適用范圍大。
實(shí)施例三
如圖3所示,一種基于內(nèi)存加速的分布式對(duì)象緩存方法,所述基于內(nèi)存加速的分布式對(duì)象緩存方法包括以下步驟:
步驟s1:上傳數(shù)據(jù);
所述步驟s1上傳數(shù)據(jù)的具體實(shí)施方式可為:客戶端通過(guò)put的方式上傳數(shù)據(jù)。
步驟s2:通過(guò)訪問(wèn)dns服務(wù)獲取當(dāng)前最佳服務(wù)節(jié)點(diǎn);
所述步驟s2通過(guò)訪問(wèn)dns服務(wù)獲取當(dāng)前最佳服務(wù)節(jié)點(diǎn)的具體實(shí)施方式可為:通過(guò)訪問(wèn)dns服務(wù),獲取當(dāng)前最佳服務(wù)節(jié)點(diǎn),客戶端put數(shù)據(jù)到最佳服務(wù)節(jié)點(diǎn)。
在實(shí)際應(yīng)用中,所述最佳服務(wù)節(jié)點(diǎn)可按節(jié)點(diǎn)容量使用加權(quán)平均算法獲取,主要目的是為了讓瞬時(shí)流量按隨機(jī)加節(jié)點(diǎn)空間比來(lái)分配。這樣做的目標(biāo)是為了防止節(jié)點(diǎn)過(guò)熱,以及使各各節(jié)點(diǎn)空間比逐漸趨于一致。
步驟s3:在最佳服務(wù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)寫入存儲(chǔ);
所述步驟s3在最佳服務(wù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)寫入存儲(chǔ)的具體實(shí)施方式可為:先將數(shù)據(jù)寫入內(nèi)存,然后更新元數(shù)據(jù),再寫入本地硬盤。
步驟s4:通過(guò)負(fù)載均衡獲取對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的位置;
所述步驟s4通過(guò)負(fù)載均衡獲取對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的位置的具體實(shí)施方式可為:負(fù)載均衡器與對(duì)象數(shù)據(jù)節(jié)點(diǎn)共享內(nèi)存網(wǎng)絡(luò),以獲取對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的位置。
步驟s5:通過(guò)反向代理從對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)下載數(shù)據(jù)。
所述步驟s5通過(guò)反向代理從對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)下載數(shù)據(jù)的具體實(shí)施方式可為:負(fù)載均衡器通過(guò)反向代理下載數(shù)據(jù)。
其中,所述負(fù)載均衡和數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)都是基于http標(biāo)準(zhǔn)協(xié)議,方便與現(xiàn)有系統(tǒng)整合,適用范圍大。
步驟s6:元數(shù)據(jù)過(guò)期后自動(dòng)通知數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)刪除持久化在硬盤上的對(duì)象。
本發(fā)明實(shí)施的優(yōu)點(diǎn):本發(fā)明所述的基于內(nèi)存加速的分布式對(duì)象緩存方法,包括上傳數(shù)據(jù);通過(guò)訪問(wèn)dns服務(wù)獲取當(dāng)前最佳服務(wù)節(jié)點(diǎn);在最佳服務(wù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)寫入存儲(chǔ);通過(guò)負(fù)載均衡獲取對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)的位置;通過(guò)反向代理從對(duì)象數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)下載數(shù)據(jù)等步驟,通 過(guò)分布式內(nèi)存緩存提高元數(shù)據(jù)的訪問(wèn)速度,通過(guò)內(nèi)存緩存提高對(duì)象的讀寫速度;進(jìn)一步的,負(fù)載均衡和存儲(chǔ)節(jié)點(diǎn)都是基于http標(biāo)準(zhǔn)協(xié)議,方便與現(xiàn)有系統(tǒng)整合,適用范圍大。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本領(lǐng)域技術(shù)的技術(shù)人員在本發(fā)明公開的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。