駱劍鋒, 陳俞強(qiáng)
(東莞職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)工程系, 廣東 東莞 523808)
?
采用環(huán)加星型網(wǎng)絡(luò)結(jié)構(gòu)負(fù)載均衡集群技術(shù)的云平臺(tái)設(shè)計(jì)
駱劍鋒, 陳俞強(qiáng)
(東莞職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)工程系, 廣東 東莞 523808)
摘要:設(shè)計(jì)運(yùn)用獨(dú)特的負(fù)載均衡集群技術(shù),構(gòu)建一個(gè)兼顧性能可靠、運(yùn)行安全和成本節(jié)約的云平臺(tái).使用環(huán)型網(wǎng)與星型網(wǎng)相結(jié)合的網(wǎng)絡(luò)結(jié)構(gòu),并施以組合形式多樣化的計(jì)算技術(shù),解決傳統(tǒng)云平臺(tái)技術(shù)的諸多問題.可靠性測試顯示:負(fù)載越高時(shí),設(shè)計(jì)的云平臺(tái)性能越好,而且具有長期穩(wěn)定的技術(shù)特性.
關(guān)鍵詞:云平臺(tái)技術(shù); 負(fù)載均衡集群技術(shù); 網(wǎng)絡(luò)拓?fù)? 分布式計(jì)算; 流水線計(jì)算
云平臺(tái)面對(duì)大量的計(jì)算,必須能適應(yīng)計(jì)算量的增加[1].對(duì)于不斷增加的計(jì)算量,更換服務(wù)器需要較高的成本,改進(jìn)舊的服務(wù)器是一種較經(jīng)濟(jì)的選擇.從長遠(yuǎn)看,云平臺(tái)使用負(fù)載均衡集群技術(shù),可用多臺(tái)設(shè)備進(jìn)行分布式計(jì)算,從而提高性能.現(xiàn)在常用的服務(wù)器集群方式是多層層次結(jié)構(gòu),只適用于分布式計(jì)算,且存在瓶頸與網(wǎng)絡(luò)線路低可靠性等問題[2].因此,本文運(yùn)用獨(dú)特的負(fù)載均衡集群技術(shù),構(gòu)建云平臺(tái)的數(shù)據(jù)庫與Web服務(wù)器,使計(jì)算的壓力充分分到不同的計(jì)算機(jī)上,降低了局部計(jì)算機(jī)的負(fù)擔(dān)和風(fēng)險(xiǎn).
圖1 云平臺(tái)的結(jié)構(gòu)Fig.1 Structure of cloud platform
1云平臺(tái)結(jié)構(gòu)和網(wǎng)絡(luò)拓?fù)鋱D
云平臺(tái)的結(jié)構(gòu),如圖1所示.由圖1可知:分工明確的服務(wù)器集群里有提供Web服務(wù)、數(shù)據(jù)庫和注冊(cè)服務(wù)的集群等.
云平臺(tái)的網(wǎng)絡(luò)拓?fù)鋱D,如圖2所示.圖2(a)中:四角分別有4個(gè)小圓,它們是提供Web服務(wù)的集群,用戶使用特定的IE訪問它們,它們提供相同服務(wù),特定IE會(huì)根據(jù)Web服務(wù)器的性能,決定訪問哪一個(gè)集群;數(shù)據(jù)1~數(shù)據(jù)6組成一個(gè)環(huán)型網(wǎng),是常用數(shù)據(jù)庫集群;數(shù)據(jù)A~數(shù)據(jù)D也是環(huán)網(wǎng),是存儲(chǔ)長期和重要的數(shù)據(jù)的數(shù)據(jù)庫集群.圖2(b)中:注冊(cè)主頁中轉(zhuǎn)服務(wù)器會(huì)根據(jù)上一層服務(wù)器的性能決定用戶在哪個(gè)服務(wù)器中注冊(cè)及生成特定IE,發(fā)送特定IE軟件到用戶E-mail中,用戶再從E-mail中下載并使用其訪問Web服務(wù)器集群.
(a) 主要功能區(qū) (b) 注冊(cè)與下載區(qū)域圖2 云平臺(tái)的網(wǎng)絡(luò)拓?fù)鋱DFig.2 Network topology of cloud platform
2云平臺(tái)功能區(qū)和數(shù)據(jù)庫網(wǎng)絡(luò)與服務(wù)器集群
數(shù)據(jù)庫的網(wǎng)絡(luò)拓?fù)鋱D,如圖3所示.圖3中:3個(gè)環(huán)的作用是當(dāng)網(wǎng)絡(luò)某處出現(xiàn)故障時(shí),使其能正常通訊;數(shù)據(jù)庫分3層,第三層(內(nèi)環(huán)N1~N3)是重要及長期保存的數(shù)據(jù)庫,作備份用,第二層(中環(huán)Z1~Z4)是第一層數(shù)據(jù)庫的熱備份,一旦第一層(外環(huán)W1[3]~W3)數(shù)據(jù)庫出現(xiàn)故障,馬上切換.外環(huán)有多個(gè)數(shù)據(jù)庫,根據(jù)用戶ID進(jìn)行映射,決定被哪個(gè)Web服務(wù)器訪問.
除了網(wǎng)絡(luò)的設(shè)計(jì),服務(wù)器間集群方式也很重要.數(shù)據(jù)庫的水平與垂直分割的集群示意圖,如圖4所示.圖4中:按照數(shù)據(jù)庫提供的信息分類進(jìn)行分割,不同的服務(wù)訪問對(duì)應(yīng)的數(shù)據(jù)庫設(shè)備,把負(fù)荷分散,提高性能(FG1);用戶的查詢比操作活動(dòng)多,因此,查詢與操作分開設(shè)備進(jìn)行,性能再次提升(FG2).此外,也注重?cái)?shù)據(jù)庫內(nèi)的設(shè)計(jì),如表的垂直與水平分割[4].
圖3 數(shù)據(jù)庫網(wǎng)絡(luò)拓?fù)鋱D 圖4 水平與垂直分割 Fig.3 Network topology of database Fig.4 Horizontal and vertical segmentation
1) 表的水平分割.在設(shè)計(jì)表時(shí),某些表的數(shù)據(jù)可能很多,使表變得很長,不利于查找[5],因此,把它變成多個(gè)表存放.在查找數(shù)據(jù)時(shí),用哈希查找方法定位,就會(huì)快很多.2) 表的垂直分割.在設(shè)計(jì)表時(shí),表中常被查找的字段與不常被查找的字段分開,分別成一個(gè)表.
除了數(shù)據(jù)中心外,設(shè)計(jì)的平臺(tái)還要通過Web服務(wù)器對(duì)外提供服務(wù),進(jìn)行多環(huán)加星式的服務(wù)器集群.其中,環(huán)的集群有利于流水線計(jì)算,而星型的集群則方便分布式計(jì)算,具體選擇要看Web服務(wù)器提供什么服務(wù).此集群方式的示意圖,如圖5所示.圖5是一個(gè)環(huán)加星的Web服務(wù)器集群,如果要面對(duì)巨大的計(jì)算或應(yīng)付眾多用戶頻繁的訪問,必須選擇多個(gè)環(huán)加星集群再結(jié)合特定IE的集群方式,如圖6所示.
圖5 Web服務(wù)器的集群方式圖 圖6 多環(huán)加星結(jié)合特定IE的集群 Fig.5 Ways of the cluster Web server Fig.6 Cluster of multiring and star network special IE
特定IE不只有瀏覽功能,它應(yīng)該還有其他的功能,如圖7所示.IE的實(shí)現(xiàn)并不難,在許多編程環(huán)境中都提供有控件(Web Browser)和對(duì)象(Document)[6].用戶使用IE需要進(jìn)行注冊(cè),注冊(cè)后下載本平臺(tái)IE.這個(gè)IE的注冊(cè)模塊及其集群形式,如圖8所示.
圖7 基本功能模塊圖 圖8 注冊(cè)功能的服務(wù)器集群 Fig.7 Basic function module diagram Fig.8 Server cluster for registration function
圖9 故障示意圖Fig.9 Diagram of breakdowns
3可靠性和性能分析
3.1可靠性分析
設(shè)計(jì)采用環(huán)型網(wǎng)絡(luò)與星型網(wǎng)結(jié)合,保證平臺(tái)不因某處的網(wǎng)絡(luò)故障而停止服務(wù).設(shè)備采用冗余方式,且使用磁盤陳列.因此,單個(gè)設(shè)備的故障不會(huì)造成服務(wù)停止.充分考慮負(fù)載均衡,以免造成死機(jī).以一故障為例,其示意圖如圖9所示.
計(jì)算本平臺(tái)因故障而完全停止服務(wù)的概率(以圖2(b)的設(shè)備數(shù)量為例).設(shè)每條線路出故障的概率為px,設(shè)備出故障的概率為ps,那么,對(duì)所有Web服務(wù)器集群都不能提供服務(wù)的概率(pw)為
式中:px2表示環(huán)結(jié)構(gòu)一般出現(xiàn)2處故障,網(wǎng)絡(luò)才失去通訊能力;ps4表示W(wǎng)eb服務(wù)器集群有4個(gè)服務(wù)器,最差的情況是所有服務(wù)器都故障,這個(gè)集群就不能提供服務(wù);(px2+ps4)4表示服務(wù)器集群有4個(gè).
數(shù)據(jù)中心不提供服務(wù)的概率(pd)為pd= px16+ps4,則本平臺(tái)完全不能提供服務(wù)的概率(P)為P=pw+pd=(px2+ps4)4+px16+ps4.
現(xiàn)實(shí)中,一條正常的線路工作20h,出現(xiàn)一次故障,而發(fā)現(xiàn)、檢測、修復(fù)的時(shí)間一般為1h[7].所以,px可以估值為1/20.同樣,ps大概為1/20.從而得出P約為1/160 000,即18a中有1h故障.
3.2性能分析
本平臺(tái)的性能主要取決于Web服務(wù)器集群,它可以為運(yùn)行的服務(wù)提供多種計(jì)算形式,如流水線計(jì)算、分布式計(jì)算、流水線與分布式混合式計(jì)算.
如果服務(wù)可以分成多個(gè)子任務(wù)計(jì)算,那么,可以用流水線完成.設(shè)n為任務(wù)數(shù),每個(gè)任務(wù)分成k個(gè)子任務(wù),Δti為第i個(gè)子任務(wù)所需的時(shí)間,則流水線完成n個(gè)任務(wù)所需的時(shí)間[8]為
不用流水線,那么,完成任務(wù)所用的時(shí)間為
假設(shè)有100個(gè)任務(wù),每個(gè)任務(wù)分成10個(gè)子任務(wù),每個(gè)子任務(wù)完成的時(shí)間為1s,那么,tK1為199s,而tK2為1 000s.所以,用流水線計(jì)算要快4倍.當(dāng)然,如果任務(wù)數(shù)增加,倍數(shù)也會(huì)隨著增加.
如果服務(wù)可以分成多個(gè)子任務(wù)并行計(jì)算,那么,可以用分布式完成.其性能分析為
(1) 分布式:tK1=(n)max(Δt1,Δt2,…,Δtk),
(2) 一般式:tK2=(∑Δti)+(n-1)(∑Δti).
圖10 性能分析對(duì)比圖Fig.10 Performance analysis of the comparison chart
如果假設(shè)的情況與流水線的例子一樣,那么,tK1為100s,而tK2為1 000s,相差9倍,并且隨著任務(wù)數(shù)的增加,倍數(shù)也隨之增加.根據(jù)上面例子所做的性能分析圖,如圖10所示.圖10中:N為任務(wù)數(shù);t為時(shí)間.由圖10可知:單機(jī)計(jì)算與流水線和分布式計(jì)算的差別.
4結(jié)束語
本平臺(tái)在多個(gè)單位得到應(yīng)用,運(yùn)行的是工作流系統(tǒng).有不少服務(wù)器用PC機(jī)代替,但本平臺(tái)已經(jīng)持續(xù)運(yùn)行半年多,并且曾多次進(jìn)行軟硬件升級(jí).據(jù)統(tǒng)計(jì),平臺(tái)平均每天訪問量為每次8 390人,每人在一天內(nèi)的平均操作時(shí)間為2h,平均每天被訪問時(shí)間為15h,其并發(fā)數(shù)為每小時(shí)1 049個(gè)任務(wù),并發(fā)數(shù)峰值為每小時(shí)1 155個(gè)任務(wù).使用流行配置的PCServer構(gòu)建的B/S系統(tǒng)作對(duì)比,它的并發(fā)數(shù)一旦接近每小時(shí)300個(gè)任務(wù),便要進(jìn)行重啟.當(dāng)然,服務(wù)的高可靠性、高性能和易擴(kuò)展性等是由眾多因素決定的[9],如服務(wù)的程序使用了落后的算法、過多外部命令的調(diào)用、在不穩(wěn)定的操作系統(tǒng)上運(yùn)行等也是降低性能及可靠性的因素[10].這是將后續(xù)需要研究的課題.
參考文獻(xiàn):
[1]KHAZAEIH,MISICJ,MISICVB.PerformanceanalysisofcloudcomputingcentersusingM/G/m/m+rqueuningsystems[J].IEEETransactionsonParallelandDistributedSystems,2012,23(5):936-943.
[2]ZHANGLiangjie,ZHOUQun.CCOA:Cloudcomputingopenarchitecture[C]∥IEEEInternationalConferenceonWebServices.LosAngeles:IEEEPress,2009:607-616.
[3]黃河,劉旭東,孫海龍.云計(jì)算環(huán)境下服務(wù)中間件動(dòng)態(tài)管理框架的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2013,35(1):30-35.
[4]常玉紅.基于云平臺(tái)的空間數(shù)據(jù)分發(fā)與管理系統(tǒng)研究[J].計(jì)算機(jī)應(yīng)用與軟件,2012(11):252-256.
[5]AVILAP,MOTAA,PIRESA,etal.Supplier′sselectionmodelbasedonanempiricalstudy[J].ProcediaTechnology,2012,5:625-634.
[6]劉正偉,文中領(lǐng),張海濤.云計(jì)算和云數(shù)據(jù)管理技術(shù)[J].計(jì)算機(jī)研究與發(fā)展,2012,49(增刊1):26-31.
[7]黎宏劍,劉恒,黃廣文,等.基于Hadoop的海量電信數(shù)據(jù)云計(jì)算平臺(tái)研究[J].電信科學(xué),2012,28(8):80-85.
[8]羅軍舟,金嘉暉,宋愛波,等.云計(jì)算:體系架構(gòu)與關(guān)鍵技術(shù)[J].通信學(xué)報(bào),2011,32(7):3-21.
[9]駱劍鋒.混合模式下的主題自定信息收集系統(tǒng)[J].科技通報(bào),2012,28(4):91-93.
[10]葉丹丹,羅繼亮.利用Petri網(wǎng)特征結(jié)構(gòu)的故障診斷方法[J].華僑大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,35(4):378-382.
(責(zé)任編輯: 黃曉楠英文審校: 吳逢鐵)
Cloud Platform Based on the Ring Star Network and Load Balancing Technique
LUO Jianfeng, CHEN Yuqiang
(Department of Computer Engineering, Dongguan Polytechnic, Dongguan 523808, China)
Abstract:Adopting the cluster load balancing technique to design a unique high-performance, reliable, and easily expanded cloud platform, as well as applying a combination of ring and star network and a various multi-formed counting technique to solve the problems of the traditional platform technique. According to the reliable tests: the higher of the load, the better performance and longer stability will be achieved.
Keywords:cloud platform techniques; cluster load balancing technique; Network topology; distributed calculation; pipeline calculation
中圖分類號(hào):TP 302
文獻(xiàn)標(biāo)志碼:A
基金項(xiàng)目:廣東省優(yōu)秀青年教師人才培養(yǎng)計(jì)劃資助項(xiàng)目(2015S02, YQ2013201); 東莞職業(yè)技術(shù)學(xué)院示范建設(shè)專項(xiàng)資金資助項(xiàng)目(ZXHQ2014D001)
通信作者:駱劍鋒(1981-),男,副教授,主要從事系統(tǒng)設(shè)計(jì)、軟件開發(fā)的研究.E-mail:251048547@qq.com.
收稿日期:2015-12-22
doi:10.11830/ISSN.1000-5013.2016.02.0164
文章編號(hào):1000-5013(2016)02-0164-04