亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于一致性哈希算法的云存儲服務(wù)器容錯性研究

        2014-04-29 00:00:00于亞舟滕海坤

        摘 要:HDFS架構(gòu)下的云環(huán)境服務(wù)器擁有成本低、易擴(kuò)展、傳輸效率高等諸多優(yōu)點,但節(jié)點選擇策略易造成存儲負(fù)載不均,從而影響系統(tǒng)性能,針對這一問題,結(jié)合一致性哈希算法,綜合多個因素,提出了一種服務(wù)器改進(jìn)方案,用以緩解中小企業(yè)服務(wù)器端壓力。

        關(guān)鍵詞:云存儲;負(fù)載均衡;節(jié)點分配;哈希環(huán)

        中圖分類號:TP333

        隨著近年來網(wǎng)絡(luò)應(yīng)用的不斷擴(kuò)充,網(wǎng)絡(luò)數(shù)據(jù)交換量正在迅猛增長,作為網(wǎng)絡(luò)服務(wù)提供方,Web服務(wù)器承受著龐大的數(shù)據(jù)流壓力。Web服務(wù)器和數(shù)據(jù)庫服務(wù)器的反應(yīng)速度一再成為阻礙網(wǎng)絡(luò)通信發(fā)展的難題,大量數(shù)據(jù)流請求使得數(shù)據(jù)庫服務(wù)器必須盡快提供數(shù)據(jù)處理服務(wù)。由于硬件和操作系統(tǒng)等軟件的原因,當(dāng)大量的訪問到達(dá)時,服務(wù)器不能夠及時處理所有的請求,造成應(yīng)答延遲。盡管計算機(jī)學(xué)術(shù)界已提出使用各項算法實現(xiàn)負(fù)載均衡(Load Balancing)與虛擬服務(wù)器集群等技術(shù)用以解決該問題,但仍存在諸多弊端,如DNS負(fù)載均衡技術(shù)無法按照Web服務(wù)器的處理能力分配負(fù)載,可靠性不強(qiáng),集群服務(wù)器的高成本與能量消耗問題。隨著Google推出云計算[1]概念,大量云計算中心在各地落成,云存儲[2]成為一種新興的網(wǎng)絡(luò)服務(wù)器技術(shù),在實際應(yīng)用中,結(jié)合云存儲的處理特點,使用Hadoop搭載平臺,合理利用一致性哈希算法(Consistent hashing),可以較好的解決上述問題。

        1 云存儲與負(fù)載均衡機(jī)制

        1.1 云存儲的特點

        作為云計算的延伸,云存儲采用基于對象存儲[3-5]的分布式非對稱架構(gòu),是一個具有高可靠性、高性能、高擴(kuò)展性的分布式存儲系統(tǒng),能提供高吞吐量的數(shù)據(jù)訪問、在線存儲和在線備份。其應(yīng)用前景十分廣闊,云存儲系統(tǒng)的體系架構(gòu)如圖1所示。

        圖1

        除此之外,云存儲還擁有易操作性,后臺對用戶透明等特點,用戶只需通過Web-based應(yīng)用程序,即可上網(wǎng)直接存取數(shù)據(jù),實時面對需求。從廣義講,任何基于Web的服務(wù)都可稱之為云服務(wù)。

        由于云計算采用分布式存儲方式來存儲數(shù)據(jù),需要將分布式應(yīng)用部署到大型廉價集群上,從而實現(xiàn)對海量數(shù)據(jù)信息的存儲,所以從本質(zhì)上講,云存儲仍是一種基于服務(wù)器集群模式的系統(tǒng)模型,稱之為云存儲模型[6]。

        1.2 云存儲的負(fù)載均衡機(jī)制

        在云存儲環(huán)境中,存儲設(shè)備數(shù)量龐大并多分布在不同的地域,如何實現(xiàn)多臺設(shè)備間的存儲虛擬化管理、最優(yōu)化利用存儲節(jié)點,使各服務(wù)器有效協(xié)同提供服務(wù),便成了云存儲發(fā)展環(huán)節(jié)中的重中之重。

        在云存儲模型中,云存儲可將工作量均勻分配到不同的存儲服務(wù)器上,避免個別存儲服務(wù)器因工作負(fù)荷過大造成瓶頸,使存儲系統(tǒng)能夠發(fā)揮最大效能。

        2 一致性哈希算法在云存儲中的應(yīng)用

        2.1 服務(wù)器分布式緩存問題

        由于云存儲可以看做網(wǎng)格計算演化,可伸縮性強(qiáng),所以能夠隨機(jī)應(yīng)變的提供資源與服務(wù),利用這點構(gòu)建相對平衡的系統(tǒng),需要每個節(jié)點參與管理,而如何才能結(jié)合現(xiàn)有算法,實現(xiàn)平衡穩(wěn)定的服務(wù)器模式呢?

        舉例說明,假設(shè)有虛擬服務(wù)器M臺,需要映射對象OBJ至M臺存儲上,一般來講,我們會采用hash(OBJ)%M的方法計算OBJ的hash值,然后將其均勻映射給N個存儲,此為正常狀況。

        而在實際應(yīng)用中,我們需要考慮,當(dāng)服務(wù)器訪問量加重時,需要添加存儲設(shè)備,此時公式演變?yōu)閔ash(OBJ)%(M-1)。

        而當(dāng)其中一臺服務(wù)器N失效,此時映射至服務(wù)器N的對象失效,公式即演變?yōu)閔ash(OBJ)%(M-1)。

        在實際應(yīng)用中,一旦出現(xiàn)如上情況,服務(wù)器的存儲分配機(jī)制就會全部失效,龐大的信息流將直接沖擊后臺服務(wù)器,造成嚴(yán)重后果。

        為避免這種事故,需要hash結(jié)果保證原有已分配的內(nèi)容不被映射至舊緩沖集合中的其他緩沖區(qū),上面提到的簡單hash算法顯然無法滿足單調(diào)性要求。

        2.2 一致性哈希算法的應(yīng)用原理

        一致性哈希算法(Consistent Hashing)最早在David Karger,Eric Lehman等人的論文中被提出,是當(dāng)前較主流的分布式哈希表協(xié)議之一,對簡單哈希算法進(jìn)行了修正。

        透過一致性哈希,我們可以實現(xiàn)處理服務(wù)器的選擇不再僅僅依賴key的hash本身,而是將服務(wù)實例(節(jié)點)的配置也進(jìn)行hash運算。

        首先我們求出各服務(wù)節(jié)點的hash,將其配置到一個0~2^23的圓環(huán)(continuum)區(qū)間上。其次使用同樣的方法求出你所需要存儲的key的hash,也將其配置到這個圓環(huán)(continuum)上。然后從數(shù)據(jù)映射到的位置開始順時針查找,將數(shù)據(jù)保存到找到的第一個服務(wù)節(jié)點上。如果超過2^32仍然找不到服務(wù)節(jié)點,將會保存至第一個memcached服務(wù)節(jié)點上,數(shù)據(jù)圖例如下:

        圖2

        當(dāng)服務(wù)節(jié)點增加時:

        圖3

        一致性哈希算法最大程度的避免了key在服務(wù)節(jié)點列表上的重新分布,其他附帶的改進(jìn)就是有的一致性哈希算法還增加了虛擬服務(wù)節(jié)點的方法,也就是一個服務(wù)節(jié)點在環(huán)上有多個映射點,這樣就能抑制分布不均勻,最大限度地減少服務(wù)節(jié)點增減時的緩存重新分布。實際應(yīng)用中能取得較好效果。

        2.3 基于MD5調(diào)用hash部分的實現(xiàn)(Java版本)

        /**

        * Calculates the ketama hash value for a string

        * @param s

        * @return

        */

        public static Long md5HashingAlg(String key) {

        if(md5==1) {

        try {

        md5 = MessageDigest.getInstance(\"MD5\");

        catch (NoSuchAlgorithmException e) {

        log.error( \"++++ no md5 algorythm found\" );

        throw new IllegalStateException( \"++++ no md5 algorythm found\");

        md5.reset();

        md5.update(key.getBytes());

        byte[] bKey = md5.digest();

        long res = ((long)(bKey[3]0xFF) << 24) | ((long)(bKey[2]0xFF) << 16) | ((long)(bKey[1]0xFF) << 8) | (long)(bKey[0]0xFF);

        return res;

        3 結(jié)束語

        本文針對云環(huán)境下服務(wù)器易發(fā)生的失效問題,運用一致性哈希算法 ,將對象映射至哈??臻g,從而使容錯性得到提升,使其在調(diào)用模式下,一旦一臺服務(wù)器失效,則受影響的數(shù)據(jù)僅僅是失效服務(wù)器與其環(huán)空間中前一臺服務(wù)器間數(shù)據(jù),其余服務(wù)器不受影響。目前針對云存儲的研究仍處于起步階段,隨著研究的深入,傳統(tǒng)存儲技術(shù)勢必會被云存儲技術(shù)取代,云存儲的應(yīng)用將日益普遍。

        參考文獻(xiàn):

        [1]趙培.云計算技術(shù)及其應(yīng)用[J].中興通訊技術(shù),2010(04):11.

        [2]郭凌翔.淺談云存儲及其安全性[J].福建電腦,2010(05):3.

        [3]MesnierM,G anger G R,RidelE.Object based storage[J].IEEE Com,2003,15(04):84.

        [4]Sakar K.An analysis of object storage architecture[J].IEEE Comp,2003,2(03):23.

        [5]王紅艷,薛智峰.一種新型的面向?qū)ο蟠鎯ξ募到y(tǒng)[J].高性能計算技術(shù),2006(02):45.

        [6]張建勛,古志民,鄭超.云計算研究進(jìn)展綜述[J].計算機(jī)應(yīng)用研究,2010,27(02):429-433.

        作者簡介:于亞舟(1993-),男,黑龍江人,學(xué)士學(xué)位,研究方向:物聯(lián)網(wǎng)云存儲技術(shù)方向;滕海坤(1983-),男,黑龍江人,講師,碩士研究生,研究方向:嵌入式系統(tǒng)。

        作者單位:黑河學(xué)院計算機(jī)科學(xué)與信息工程系,黑龍江黑河 164300

        国产内射在线激情一区| 婷婷色国产精品视频二区| 欧洲多毛裸体xxxxx| 欧美人与动人物姣配xxxx| 人妻无码AⅤ不卡中文字幕| 视频一区视频二区亚洲| 久久久久99精品成人片欧美| av一区二区在线网站| 色婷婷亚洲一区二区三区在线| 草草影院ccyy国产日本欧美| 国语对白福利在线观看 | 亚洲人精品亚洲人成在线| 国产男女猛烈无遮挡免费视频| 无人视频在线播放在线观看免费| 久久精品一区二区三区蜜桃| 国产成人无码精品久久二区三区 | 青青草原亚洲| 无遮高潮国产免费观看| 国产乱人伦AⅤ在线麻豆A| 成人一区二区三区国产| 精品国产av色一区二区深夜久久 | 成人免费无遮挡在线播放| 特级毛片a级毛片在线播放www| 国产大陆av一区二区三区| 户外精品一区二区三区| 狠狠色狠狠色综合| 国产91色在线|亚洲| 成人亚洲av网站在线看| 国产免费久久精品99久久| 又粗又大又黄又爽的免费视频| 中文字幕亚洲综合久久| 中文字幕久久久人妻人区| 50岁退休熟女露脸高潮| 无码精品色午夜| 天堂麻豆精品在线观看| 精品国际久久久久999波多野| 六月丁香婷婷色狠狠久久| 久久狠狠爱亚洲综合影院| 国产亚洲一区二区三区| 67194熟妇在线永久免费观看| 无码国产精品色午夜|