周志忠
遼寧廣播電視大學(沈陽 110034)
某中心城市教師遠程培訓及考試系統(tǒng),使用目前國際上比較主流的開源學習平臺Moodle構(gòu)建,技術(shù)框架基于Linux、MySQL、PHP技術(shù)。于2010年初調(diào)試部署上線,并成功支撐了近3年的教師在線培訓及考試工作,取得了很好的用戶反響和實際效果。隨著教師培訓及考試工作在全市的全面鋪開,平臺需要支撐訪問人數(shù)逐漸增加,2013年初達到67 000名中小學教師全部參加,在不增加系統(tǒng)硬件設(shè)備情況下,傳統(tǒng)的網(wǎng)絡(luò)架構(gòu)無法很好的適應(yīng)大業(yè)務(wù)量的教師培訓及考試工作,需要一個更為完全、穩(wěn)定的網(wǎng)絡(luò)環(huán)境來承載業(yè)務(wù)。
為了解決上述遇到問題,我們應(yīng)用虛擬化服務(wù)器技術(shù)來做進一步改進,將云計算技術(shù)應(yīng)用于遠程培訓及考試系統(tǒng)的開發(fā)和布署。保證網(wǎng)絡(luò)承載環(huán)境技術(shù)的先進性、安全性、靈活性、拓展性,不僅滿足67 000人的培訓及考試,還能為將來培訓及考試業(yè)務(wù)承載的繼續(xù)擴大提供最佳方案。最大限度的提升了系統(tǒng)的并發(fā)性、可靠性和穩(wěn)定性。
傳統(tǒng)的網(wǎng)絡(luò)在線考試系統(tǒng)主要是基于瀏覽器/服務(wù)器(B/S)結(jié)構(gòu)框架,使用.NET或J2EE等技術(shù)平臺來實現(xiàn)的,B/S最大的優(yōu)點就是可以在任何機器上進行操作而不用安裝任何專門的軟件,只要有一臺能電腦能上網(wǎng)就能使用,我們稱之為客戶端零安裝、零維護,這樣一來系統(tǒng)的擴展非常容易。特別是近幾年AJAX技術(shù)的發(fā)展,使得這種結(jié)構(gòu)框架下的程序也能在客戶端電腦上進行部分處理,從而大大的減輕了服務(wù)器的負擔。但是其缺點也是明顯存在的,在于只能利用到服務(wù)器的管理、調(diào)度以及資源管理功能,而客戶端只能被動的提需求或接收數(shù)據(jù)。既不能高效利用服務(wù)器的功能,也不能有效解決服務(wù)器處理的瓶頸,更不能充分利用網(wǎng)絡(luò)中其他各類設(shè)備的計算能力。
采用云技術(shù)來實現(xiàn)遠程培訓及考試系統(tǒng)的建設(shè)是一種有益探索,能夠解決大數(shù)據(jù)量、多訪問人群下的應(yīng)用系統(tǒng)開發(fā)、應(yīng)用,以及網(wǎng)絡(luò)傳輸堵塞的問題。
云計算是分布式計算技術(shù)的一種,是指透過網(wǎng)絡(luò)將龐大的計算處理程序自動分拆成無數(shù)個較小的子程序,交給多部服務(wù)器所組成的龐大系統(tǒng),經(jīng)搜尋、計算分析一系列處理之后,將結(jié)果回傳給用戶。通過這項技術(shù),網(wǎng)絡(luò)服務(wù)提供者可以在數(shù)秒之內(nèi),處理數(shù)以千萬計甚至億計的信息,完成類似超級計算機一樣強大效能的網(wǎng)絡(luò)服務(wù)。
云技術(shù)是指基于云計算應(yīng)用的網(wǎng)絡(luò)技術(shù)、信息技術(shù)、管理平臺技術(shù)、整合技術(shù)和應(yīng)用技術(shù)等的總稱。使用云技術(shù)后會將所有的計算資源集中起來,由計算機軟件進行自動管理,無需人為參與,這樣應(yīng)用提供者能夠更加專注于自己的業(yè)務(wù),有利于業(yè)務(wù)創(chuàng)新和降低成本。舉個生活中的例子:好比是從每個人家使用一臺古老的單臺發(fā)電機模式轉(zhuǎn)向了電廠集中供電的模式。這意味著計算能力也可以作為一種商品進行流通,就像煤氣、水、電一樣,方便取用,費用低廉。最大的不同在于,這是通過互聯(lián)網(wǎng)進行傳輸?shù)摹?/p>
(1)超大規(guī)模
在配碳比為1時,根據(jù)圖1的結(jié)果,計算了添加10%氧化硼、8%硼砂和10%碳酸鈉對鮞狀赤鐵礦還原的影響,如圖2所示。三種添加劑對還原后液相渣含量的影響是隨著溫度的升高而升高。添加10%氧化硼后,液相渣含量在700 ℃后增加明顯,900 ℃后緩慢增加,1 300 ℃后開始降低;添加8%硼砂后,對液相渣含量的影響呈現(xiàn)不規(guī)律性;添加10%碳酸鈉后,液相渣含量在1 100 ℃后增加明顯,在1 400 ℃后開始降低。添加10%氧化硼對液相渣含量的影響要大于其他兩種添加劑。
Google公司提供云服務(wù)的設(shè)備已達100多萬臺服務(wù)器,Amazon、IBM、微軟、Yahoo等的云服務(wù)也都擁有幾十萬臺服務(wù)器。云技術(shù)能綜合現(xiàn)有龐大規(guī)模硬件資源,提供用戶前所未有的計算能力。
(2)虛擬化
云技術(shù)支持用戶在任意位置、使用各種終端獲取應(yīng)用服務(wù)。每一個應(yīng)用部署的環(huán)境和物理平臺是沒有關(guān)系的,所請求的資源來自“云”,而不是固定的有形的實體。
(3)高可靠性
云技術(shù)采用了數(shù)據(jù)多副本容錯、計算節(jié)點同構(gòu)、可互換等措施來保障服務(wù)的高可靠性。通過集成海量存儲和高性能的計算能力,云能提供一定滿意度的服務(wù)質(zhì)量。
(4)高可擴展性
為用戶需求提供了無限多的可能。云技術(shù)的一端,是由成千上萬臺甚至更多的服務(wù)器組成的龐大集群,為存儲和管理數(shù)據(jù)提供無限多的空間,也為用戶完成各類應(yīng)用提供無限大的計算能力。
(5)按需服務(wù)
云平臺將計算、存儲和網(wǎng)絡(luò)資源進行綜合,將這些硬件資源能力作為服務(wù)向外提供,用戶尤其是中小企業(yè)用戶,可以按需購買計算資源、存儲資源、通信資源等,極大地節(jié)約了成本。
基礎(chǔ)設(shè)施服務(wù):即 IaaS(Infrastructure-as-a-Service)。IaaS向用戶提供的不僅包括虛擬化的計算資源、存儲資源,整個基礎(chǔ)設(shè)施也可以作為一種服務(wù)向用戶提供。消費者通過互聯(lián)網(wǎng)可以從完善的計算機基礎(chǔ)設(shè)施獲得服務(wù)。
平臺服務(wù):即PaaS(Platform-as-a- Service)。建立在基礎(chǔ)設(shè)施之上,主要包括并行程序設(shè)計和開發(fā)環(huán)境以及實現(xiàn)云技術(shù)的其他系統(tǒng)管理工具,如云系統(tǒng)中資源的部署、監(jiān)控管理、分配、分布式并發(fā)控制等。主要是向應(yīng)用程序開發(fā)者提供平臺應(yīng)用開發(fā)接口。
軟件服務(wù):即SaaS(Software-as-a- Service)。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和應(yīng)用軟件的成熟,在21世紀開始興起的一種完全創(chuàng)新的軟件應(yīng)用模式。服務(wù)商將應(yīng)用軟件統(tǒng)一部署在自己的服務(wù)器上,客戶可以根據(jù)自己實際需求,通過互聯(lián)網(wǎng)向服務(wù)商定購所需的應(yīng)用軟件服務(wù),按定購的服務(wù)多少和時間長短向服務(wù)商支付費用,并通過互聯(lián)網(wǎng)獲得服務(wù)商提供的服務(wù)。
某中心城市教師遠程培訓及考試系統(tǒng)仍使用原先B/S架構(gòu)時的3臺雙核服務(wù)器,通過Openresty與Lua語言的結(jié)合搭建了高效軟件服務(wù)器端設(shè)計,通過云技術(shù)分布式服務(wù)器部署來實現(xiàn)各服務(wù)器的負載均衡和前端高并發(fā)壓力負載。
具體策略如下:
(1)通過Oracle VM VirtualBox來實現(xiàn)分布式虛擬機的創(chuàng)建、管理,通過VirtualBox Api采用php進行WEB方式進行有效管理。基礎(chǔ)底層系統(tǒng)是Centos6.4,分布式虛擬機的系統(tǒng)也是采用 Centos6.4,這樣實現(xiàn)了整個系統(tǒng)全linux的構(gòu)架,并實現(xiàn)通過版本無縫對接。
(2)為保證高并發(fā)壓力帶寬采用1G出口,部署萬兆交換機、防火墻相配合,實現(xiàn)線路無阻塞式網(wǎng)絡(luò)部署。
(3)Lua語言的軟件架構(gòu),lua是由標準C語言編寫的,具有強大的C語言支持庫,有著高性能、高效率的美稱,采用lua實現(xiàn)了語言簡潔,業(yè)務(wù)清晰,效能高的目的。
(4)數(shù)據(jù)存儲上采用緩存技術(shù)加持久層數(shù)據(jù)庫存儲結(jié)合的模式,緩存層采用 redis來實現(xiàn),持久層采用Sql server與mysql,數(shù)據(jù)先存入緩存層,經(jīng)由數(shù)據(jù)寫入排隊系統(tǒng)進行數(shù)據(jù)排隊,保證持久層穩(wěn)定的數(shù)據(jù)存儲。這種高效的部署方式也是國內(nèi)、外知名網(wǎng)站系統(tǒng)所采用的方式。
(5)備份、應(yīng)急系統(tǒng),我們通過預(yù)留備份、應(yīng)急系統(tǒng)來解決故障的應(yīng)急處理,此部分采用虛擬機技術(shù)來解決。
培訓系統(tǒng)應(yīng)用部署圖如圖1所示。
圖1 培訓系統(tǒng)應(yīng)用部署圖
在實際支撐某中心城市教師遠程培訓及考試工作之前,我們采用 Linux webbench 壓力測試工具進行模擬壓力測試,結(jié)果如下:
(1)2 000用戶同時并發(fā),即20 000用戶同時在線:每秒鐘響應(yīng)請求數(shù)103 458 pages/min;每秒鐘傳輸數(shù)據(jù)量 840 211 bytes/sec;0個連接 failed,完成請求206917。
(2)4 000用戶同時并發(fā),即40 000用戶同時在線:每秒鐘響應(yīng)請求數(shù)85 500 pages/min;每秒鐘傳輸數(shù)據(jù)量 756 946 bytes/sec; 0個連接 failed,完成請求171001。
(3)6 000用戶同時并發(fā),即60 000用戶同時在線:每秒鐘響應(yīng)請求數(shù)103 869 pages/min;每秒鐘傳輸數(shù)據(jù)量841 032 bytes/sec; 2個連接failed,完成請求207736。
(4)整個過程CPU占有率在 30~57%之間。
根據(jù)上述數(shù)據(jù)通過軟件模擬測試得出結(jié)論:能保障培訓及考試正常運行。
因此,在2013年下半年和2014年上半年,某中心城市應(yīng)用此系統(tǒng)開展了教師在線培訓及考試工作。實踐證明,通過服務(wù)器云技術(shù)整合方案的實施,網(wǎng)絡(luò)在線考試系統(tǒng)較好的支撐了 67 000名中小學教師的遠程培訓及考試。(1)服務(wù)器的性能使用率明顯提高,高峰使用率從42%提高到了85%。(2)通過與技術(shù)的使用,取消了原先需再購買6臺服務(wù)器的計劃,節(jié)省了設(shè)備經(jīng)費。
綜上所述,某中心城市教師遠程培訓及考試系統(tǒng)建設(shè)中,云技術(shù)的應(yīng)用使服務(wù)器的功能得到了有效地發(fā)揮,無論從應(yīng)用服務(wù)的穩(wěn)定性、高可用性、資源的合理調(diào)配、快速部署等方面,還是從節(jié)能、節(jié)電、節(jié)約空間等方面,都比應(yīng)用前有顯著改善。
[1]劉鵬. 云計算技術(shù)原理,http://www.chinacloud.cn/ show.aspx?id=1929&cid=12, 2009-06-17.
[2]陳全, 鄧倩妮. 云計算及其關(guān)鍵技術(shù)[J]. 計算機應(yīng)用, 2009,29(9): 2562-2567.
[3]張建勛, 古志民, 鄭超. 云計算研究進展綜述[J]. 計算機應(yīng)用研究, 2010, 27, (2): 429-433.