張寶燕
(晉中學(xué)院,山西晉中030600)
云技術(shù)[1]當(dāng)前和大數(shù)據(jù)、智能城市建設(shè)并稱(chēng)為三大計(jì)算機(jī)技術(shù)發(fā)展大趨勢(shì),作為一種新型的計(jì)算機(jī)應(yīng)用方式,使用方式,云計(jì)算正在從更經(jīng)濟(jì)、更效率的運(yùn)作方式出現(xiàn)在世人面前。記得馮諾依曼等計(jì)算機(jī)設(shè)計(jì)的先驅(qū)曾經(jīng)講過(guò),“對(duì)于這樣的大型計(jì)算機(jī)(那個(gè)時(shí)候所謂的大型機(jī),還沒(méi)有現(xiàn)在的手機(jī)運(yùn)算性能強(qiáng)),世界需要幾臺(tái)就足夠了?!保?]然而現(xiàn)在計(jì)算機(jī)的生產(chǎn)數(shù)量,遠(yuǎn)遠(yuǎn)超出他們的規(guī)劃和設(shè)想。計(jì)算機(jī)的微型化、硬件成本的跳水式降低、使得計(jì)算機(jī)像一件普通的家庭必備用具或者教學(xué)用具一樣,廣泛的部署到生產(chǎn)、生活的各個(gè)方面。然而,幾十年計(jì)算機(jī)的發(fā)展和普及,實(shí)際的計(jì)算機(jī)使用當(dāng)中,其實(shí)也存在著很多的問(wèn)題。
對(duì)于網(wǎng)絡(luò)技術(shù)也飛快發(fā)展的今天,計(jì)算機(jī)依賴(lài)個(gè)人計(jì)算機(jī)IBM體系,以及服務(wù)器架構(gòu)下的服務(wù)網(wǎng)絡(luò),還有巨型機(jī)等高昂設(shè)備部署的今天,對(duì)于其更低代價(jià)下,臨時(shí)的較高計(jì)算要求、數(shù)據(jù)穩(wěn)定安全要求的這種計(jì)算機(jī)需求,仍然沒(méi)有得到足夠的體現(xiàn)。計(jì)算機(jī)資源,被大量的盲目生產(chǎn),和低效的應(yīng)用,它的部署,更多的起到一種多媒體設(shè)備,以及一些娛樂(lè)性質(zhì)的設(shè)備。將計(jì)算機(jī)能夠更加廉價(jià)的作為一種商業(yè)資源去共享,去方便的為企業(yè)和家庭服務(wù),是未來(lái)發(fā)展的需要。
對(duì)于云計(jì)算而言,能夠完成虛擬化資源分配、大量數(shù)據(jù)存儲(chǔ)管理、編程二次開(kāi)發(fā)、計(jì)算機(jī)集群部署。在內(nèi)部實(shí)現(xiàn)負(fù)載均衡,計(jì)算機(jī)健康性掃描,數(shù)據(jù)冗余備份、動(dòng)態(tài)計(jì)算機(jī)更新、遠(yuǎn)程控制管理等[3]??傮w呈現(xiàn)的設(shè)計(jì)結(jié)構(gòu)如圖1所示。
圖1 云計(jì)算集群系統(tǒng)結(jié)構(gòu)
系統(tǒng)可靠性在定義當(dāng)中它指的是可運(yùn)行t=0到以后的任意時(shí)刻t這段時(shí)間設(shè)備不發(fā)生故障的概率,這個(gè)概率的分布函數(shù)記作R(t)。而單位時(shí)間內(nèi),發(fā)生故障的器件數(shù)目和總共測(cè)試的器件數(shù)目之比為λ。而這個(gè)發(fā)生故障的概率分布和λ有關(guān)系,這種關(guān)系表達(dá)為:R(t)=e^(-λt)。
在網(wǎng)絡(luò)當(dāng)中,復(fù)雜的拓?fù)浣Y(jié)構(gòu)[4]通過(guò)分解以后,是由串聯(lián)和并聯(lián)兩種方式交互式組合而實(shí)現(xiàn)的一個(gè)超大型網(wǎng)絡(luò)。通過(guò)串聯(lián)和并聯(lián)的分解計(jì)算,再將各自作為整體在整體結(jié)構(gòu)上執(zhí)行串聯(lián)或者并聯(lián)關(guān)系計(jì)算,最終計(jì)算出實(shí)際的可靠結(jié)構(gòu)。因此網(wǎng)絡(luò)的可靠性,可以通過(guò)建立這種計(jì)算方式來(lái)實(shí)現(xiàn)可靠程度的計(jì)算。
在這種連接方式下,只要一個(gè)結(jié)構(gòu)出現(xiàn)故障的時(shí)候,那么整個(gè)系統(tǒng)就會(huì)出現(xiàn)癱瘓,因此可靠性為:R=R1×R2×…×Rn;
對(duì)應(yīng)的,系統(tǒng)發(fā)生失效性為:λ=λ1+λ2+…+λn。
而在并聯(lián)系統(tǒng)下,系統(tǒng)的可靠性卻是系統(tǒng)全部發(fā)生故障工作的補(bǔ)集。表達(dá)為:R=1-(1-R1)×(1-R2)×…×(1-Rn)。
在這種情形下,系統(tǒng)失效為:
這里系統(tǒng)的子系統(tǒng)都是只要有一個(gè)正常工作就行,也就是它們都是相同功能作用的情形,也叫做冗余子系統(tǒng)。在云計(jì)算過(guò)程當(dāng)中,冗余的存在[5]能夠?yàn)橄到y(tǒng)總體可靠性大大提高。
特別的,在非常特殊的情形下,能夠設(shè)計(jì)一類(lèi)特殊結(jié)構(gòu)的并聯(lián)系統(tǒng)。這種系統(tǒng)由m=2n+1個(gè)子系統(tǒng)構(gòu)成,也就是說(shuō)m是奇數(shù),最終外面的輸出靠一個(gè)表決器來(lái)完成輸出。也就是說(shuō)系統(tǒng)的運(yùn)行結(jié)果通過(guò)m個(gè)子系統(tǒng)的結(jié)果進(jìn)行表決,把結(jié)果相同數(shù)目最多的結(jié)果作為正確結(jié)果輸出。這種結(jié)構(gòu)下的系統(tǒng)可靠性為:
M模冗余系統(tǒng)結(jié)果如圖2所示。
圖2 m模冗余系統(tǒng)結(jié)構(gòu)
在現(xiàn)在計(jì)算機(jī)工藝和電子元器件已經(jīng)非常可靠的情形下,m的取值不必取得非常大,事實(shí)上一個(gè)主機(jī)服務(wù)器在從開(kāi)始使用的時(shí)候,安全運(yùn)行一兩年,完全不成問(wèn)題,因此,在實(shí)際的云計(jì)算集群部署中,m只是取3即可,采用最小的參數(shù)進(jìn)行三重度冗余備份技術(shù),實(shí)現(xiàn)計(jì)算機(jī)集群的可靠性。三重冗余備份的類(lèi)設(shè)計(jì)結(jié)構(gòu)圖如圖3所示。
圖3 三重度冗余類(lèi)結(jié)構(gòu)設(shè)計(jì)
負(fù)載均衡有很多的方式,例如最基礎(chǔ)的隨機(jī)分配模式[6],輪詢(xún)分配模式,權(quán)重輪詢(xún)分配模式。隨機(jī)分配模式就是采用系統(tǒng)的隨機(jī)函數(shù),開(kāi)始隨機(jī)的計(jì)算帶分配主機(jī),隨機(jī)彈出哪個(gè),就將任務(wù)分配給它,這種算法的特點(diǎn)就是分配過(guò)程非常的高效,無(wú)論在任何情況下,都能夠在較少的計(jì)算資源和仍以數(shù)量的任務(wù)和主機(jī)資源對(duì)比關(guān)系中,均能夠變現(xiàn)出較為合理的分配行為,但是這種算法過(guò)于不確定,它的穩(wěn)定性不能夠預(yù)測(cè),并且他的性能很大程度上取決于隨機(jī)函數(shù)的分布。負(fù)載均衡類(lèi)設(shè)計(jì)如圖4所示。
圖4 負(fù)載均衡類(lèi)設(shè)計(jì)
該功能依靠的是云計(jì)算平臺(tái)的多個(gè)主機(jī)之間的消息通信機(jī)制實(shí)現(xiàn)的,消息通信分為兩種模型,一種是請(qǐng)求回復(fù)型,另一種是發(fā)布訂閱的模式。
這里采用了發(fā)布訂閱消息模式[7],該模式能夠?yàn)橛脩籼峁┮粋€(gè)更好的運(yùn)作方式,這里發(fā)送者,不再無(wú)選擇的,盲目的發(fā)送信息,只負(fù)責(zé)額標(biāo)注消息的類(lèi)別。而消息的發(fā)送與否,取決于對(duì)方的訂閱。訂閱者,對(duì)于消息,進(jìn)行自己感興趣的進(jìn)行訂閱,它自身也并不知道消息是什么內(nèi)容,發(fā)布者按照訂閱情況,將消息有選擇的發(fā)送到各個(gè)訂閱者手中。這種方式實(shí)現(xiàn)了訂閱者和發(fā)布者之間的消息傳遞類(lèi)型有更多的有選擇的可能,減少了消息發(fā)布的盲目性,提升了效率。它自身再結(jié)合并行算法、以及緩存機(jī)制,或者網(wǎng)絡(luò)自身主機(jī)連接關(guān)系,實(shí)現(xiàn)更為復(fù)雜的消息共享機(jī)制,實(shí)現(xiàn)更多的可能和可開(kāi)放性。
在這種情形下,集群計(jì)算機(jī)的消息模式,采用集群交互的功能來(lái)使得消息的發(fā)送接收更加穩(wěn)定。它們通過(guò)節(jié)點(diǎn)間的特殊通道進(jìn)行通信。這種特殊性體現(xiàn)在通道不需要某兩個(gè)節(jié)點(diǎn)進(jìn)行通信時(shí),額外建立,而是共享集群通道進(jìn)行通信,這在路由功能的方便、以及單點(diǎn)故障處理中,都是非常好的體現(xiàn)。因?yàn)閺膱D論角度講,n個(gè)節(jié)點(diǎn)的兩兩連接通信信道數(shù)量是n(n-1)/2。是O(n^2)的復(fù)雜度。而建立公共信道以后,它們只需要共享同一個(gè)信道就可以,減少了信道建立開(kāi)銷(xiāo)。
在集群信道建立體制下,仍然設(shè)計(jì)了三種集群通信模式。它們分別為不同的應(yīng)用情形所使用,以使得整體取得一個(gè)最佳的效果。
1)隊(duì)列消費(fèi)集群:由于他們的通信信道共享,因此任務(wù)隊(duì)列也是共享的,在這種狀況下,當(dāng)出現(xiàn)單點(diǎn)故障的時(shí)候,排隊(duì)的消息任務(wù)會(huì)轉(zhuǎn)移到其他相鄰主機(jī)任務(wù)隊(duì)列中去,不會(huì)實(shí)現(xiàn)任務(wù)失敗的情況。2)消息代理群:這其實(shí)是一個(gè)類(lèi)似于中介的,運(yùn)作機(jī)制。3)主從集群:這不再是對(duì)等主機(jī)的情形,而是一種領(lǐng)導(dǎo)與被領(lǐng)導(dǎo),服從與被服從的關(guān)系。云集群類(lèi)設(shè)計(jì)如圖5所示。
圖5 云集群類(lèi)設(shè)計(jì)
系統(tǒng)安全性設(shè)計(jì),需要考慮的問(wèn)題是創(chuàng)建服務(wù)器和添加服務(wù)器的時(shí)候?qū)嵭序?yàn)證機(jī)制,能夠登記注冊(cè)相關(guān)的主機(jī)身份信息。并對(duì)主機(jī)的優(yōu)先結(jié)構(gòu)進(jìn)行設(shè)計(jì),是整個(gè)系統(tǒng)把關(guān)入口。對(duì)于系統(tǒng)安全算法,通過(guò)算法采集接口提供,為其中的詳細(xì)設(shè)計(jì)提供算法支持。在摘要算法中,通過(guò)md5算法實(shí)現(xiàn)簡(jiǎn)單的摘要計(jì)算,用SHA-256實(shí)現(xiàn)高強(qiáng)度的復(fù)雜摘要計(jì)算[8]。
本文從總體到細(xì)節(jié)詳細(xì)設(shè)計(jì)了云計(jì)算集群結(jié)構(gòu),從遠(yuǎn)程訪問(wèn)控制、網(wǎng)頁(yè)顯示和JSP編譯、三重冗余備份、集群部署和負(fù)載均衡設(shè)計(jì)等幾個(gè)方面來(lái)展開(kāi)設(shè)計(jì)云計(jì)算結(jié)構(gòu)[9]。對(duì)云計(jì)算可靠性問(wèn)題、負(fù)載均衡、健康性掃描、安全性設(shè)計(jì)等幾個(gè)問(wèn)題,進(jìn)行了原理上的分析并給出合適的解決方案??煽啃苑桨覆捎昧巳厝哂鄠浞莸牟呗?,在代價(jià)和性能上取得了較好的方式。對(duì)于負(fù)載均衡來(lái)講,采用帶權(quán)輪詢(xún)的方式實(shí)現(xiàn)負(fù)載的均衡,并在實(shí)際的進(jìn)一步設(shè)計(jì)當(dāng)中,把負(fù)載均衡又詳細(xì)設(shè)計(jì)成web主機(jī)和app主機(jī)兩個(gè)部分,進(jìn)一步結(jié)合實(shí)際情況細(xì)化了設(shè)計(jì)過(guò)程。對(duì)于健康性掃描,采用訂閱的方式進(jìn)行掃描,實(shí)現(xiàn)優(yōu)化的使用通信共享總線的目的。
[1]Kaewkasi.CloudComputing[EB/OL].2015.4.http://en.wikipedia.org/wiki/Cloud_computing.2015 -04.
[2]Michael Armbrust,Armando Fox,Rean Griffith,et al.A-bove the Clouds:ABerkeley View of Cloud Computing,Technical Report No[J].UCB/EECS -2009 -28.2009.2.
[3]Lai L,L Shen,Y Zheng,et al.REPERA,A Distributed ArchitectureEfficientlyCombining Pure Replication and Erasure Code[C].2nd International Conference on Cloud Computing and Virtualization,2010.
[4]劉鵬.云計(jì)算-將計(jì)算變成水和電[J].中國(guó)計(jì)算機(jī)協(xié)會(huì)通訊,2009,5(10):49 -54.
[5]陳康,鄭緯民.云計(jì)算:系統(tǒng)實(shí)例與研究現(xiàn)狀[J].軟件學(xué)報(bào),2009,20(5):1337 -1348.
[6]King,Rachel.CloudStorage[EB/OL].2015.1.http://en.wikipedia.org/wiki/Cloud_storage.2015 -01
[7]Danielson.Amazon Simple Storage Service(Amazon S3)[EB/OL].2015.4.http://aws.amazon.com/s3/,2009.
[8]Rouse,Margaret.Hadoop[EB/OL].2015.3.http://hadoop.apache.org/,2015 -03.