數(shù)字化校園中Web集群技術(shù)的應(yīng)用論文

時間:2022-09-17 05:50:00

導(dǎo)語:數(shù)字化校園中Web集群技術(shù)的應(yīng)用論文一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

數(shù)字化校園中Web集群技術(shù)的應(yīng)用論文

摘要隨著數(shù)字化校園建設(shè)的發(fā)展,高性能計(jì)算機(jī)集群系統(tǒng)的應(yīng)用也變得越來越普及。介紹了數(shù)字化校園中集群服務(wù)系統(tǒng)的的概念和負(fù)載平衡特性,重點(diǎn)闡述了在數(shù)字化校園中以教務(wù)管理系統(tǒng)、科研管理系統(tǒng)、辦公管理系統(tǒng)為例如何創(chuàng)建一個web集群

關(guān)鍵詞數(shù)字化校園;負(fù)載平衡;Web集群;創(chuàng)建

1引言

數(shù)字化校園網(wǎng)上依托Web技術(shù)開設(shè)的許多功能,使得Web服務(wù)器不僅需要提供更多的應(yīng)用服務(wù),而且要對不同的請求作出快速響應(yīng)。因此,加重了Web服務(wù)器負(fù)荷,導(dǎo)致其性能下降。為了解決這個問題,從而提高整個系統(tǒng)的高可靠性、高性能,可采用創(chuàng)建Web集群的具體解決方案。

2數(shù)字化校園的概念

數(shù)字校園建設(shè)是學(xué)校現(xiàn)代化建設(shè)的基礎(chǔ),是學(xué)校信息化建設(shè)的具體目標(biāo)。數(shù)字化校園用層次化、整體的觀點(diǎn)來實(shí)施校園信息化建設(shè),將校園網(wǎng)上信息進(jìn)行更好的組織和分類,讓用戶在網(wǎng)上快速發(fā)現(xiàn)自己需求的信息。為師生提供網(wǎng)上信息交流環(huán)境,讓管理人員科學(xué)地、規(guī)范地管理自己的數(shù)據(jù),并將這些信息方便地出去。它是以網(wǎng)絡(luò)為基礎(chǔ),利用先進(jìn)的信息化手段和工具,實(shí)現(xiàn)從環(huán)境(包括設(shè)備、教室等)、資源(如圖書、講義、課件等)到活動(包括教、學(xué)、管理、服務(wù)、辦公等)的數(shù)字化,在傳統(tǒng)校園的基礎(chǔ)上,構(gòu)建一個數(shù)字空間,拓展現(xiàn)實(shí)校園的時間和空間維度,提升傳統(tǒng)校園的效率,擴(kuò)展傳統(tǒng)校園的功能,最終實(shí)現(xiàn)教育過程的全面信息化,從而達(dá)到提高教學(xué)質(zhì)量、科研和管理水平與效率的目的。能否建立一個現(xiàn)代化的數(shù)字化校園已經(jīng)成為衡量高校綜合競爭實(shí)力的一項(xiàng)重要指標(biāo)。

數(shù)字校園建設(shè)的主要內(nèi)容是實(shí)現(xiàn)基于教學(xué)、科研、管理、生活的各種服務(wù)應(yīng)用信息化建設(shè)工作,包括網(wǎng)絡(luò)基本服務(wù)、數(shù)據(jù)倉庫、各類應(yīng)用支撐系統(tǒng)、信息服務(wù)系統(tǒng)、組織管理、學(xué)校社區(qū)服務(wù)、教學(xué)活動、公共服務(wù)、學(xué)術(shù)研究等,從而將校園網(wǎng)絡(luò)及其應(yīng)用系統(tǒng)構(gòu)成整個校園的神經(jīng)系統(tǒng),完成實(shí)現(xiàn)校園的信息傳遞和服務(wù)。

3數(shù)字化校園中的Web集群

3.1集群的概念

集群(Clustering)廣義來說,集群就是相互獨(dú)立的一些系統(tǒng)的集會。它們利用高速通信網(wǎng)絡(luò)將這些系統(tǒng)按某種結(jié)構(gòu)進(jìn)行高速互聯(lián),這樣所構(gòu)成的一個計(jì)算機(jī)組叫集群[1]。構(gòu)成集群的目的是為了提高系統(tǒng)的整體性能、系統(tǒng)的可用性和規(guī)模的可擴(kuò)展性。在集群系統(tǒng)中,每臺服務(wù)器都承擔(dān)相應(yīng)的子任務(wù),因而服務(wù)器的個數(shù)將與工作效率呈正比例增長。對程序員和用戶來說,集群系統(tǒng)就是一個整體的并行系統(tǒng)[2]。

3.2負(fù)載平衡

負(fù)載平衡(LoadBalancing)是指在一個Web集群中的多臺服務(wù)器之間均衡地分配客戶請求。一般地,負(fù)載平衡能增加系統(tǒng)吞吐率,而同時保持較低的響應(yīng)時間。通過使用嵌入到Windows2000Server中的NetworkLoadBalancing,主機(jī)能夠檢測每一個來訪的IP報(bào)文,只有符合接收條件的才接收它。每個NetworkLoadBalancing主機(jī)可以指定它將處理的報(bào)文百分比。作為一個選項(xiàng),報(bào)文也可以平等地在所有的主機(jī)之間進(jìn)行分配。如果一個主機(jī)故障,則負(fù)載平衡機(jī)制就會在剩余的主機(jī)之間重新分配報(bào)文。

3.3Web集群

Web集群是由任意多臺計(jì)算機(jī)組成的一種Web站點(diǎn)。當(dāng)設(shè)計(jì)者創(chuàng)建Web集群時,可以選擇三層Web體系結(jié)構(gòu)(由Web服務(wù)器程序,COM+應(yīng)用程序和數(shù)據(jù)庫應(yīng)用程序組成)。三層體系結(jié)構(gòu)的優(yōu)點(diǎn)是設(shè)計(jì)者可以將以下的各層次任務(wù)分散到不同的服務(wù)器上,而不是將它們都結(jié)合在一臺服務(wù)器上(如圖1)。

圖1

使用若干臺低成本服務(wù)器,設(shè)計(jì)者可以很容易地處理大量的客戶請求,而不會產(chǎn)生任何不必要的延時。在多臺計(jì)算機(jī)之間共享負(fù)載對于院校用戶支持重量級應(yīng)用程序是至關(guān)重要的:例如,處理行政事務(wù),訪問數(shù)據(jù)庫,支持學(xué)校Intranet以及執(zhí)行其它重要的日常活動。

4Web集群在數(shù)字化校園中的負(fù)載平衡特性

NetworkLoadBalancing和ClusterService可以增強(qiáng)任何設(shè)施的安全可靠性。將它們分組是一種功能強(qiáng)大的方法,用來將后端數(shù)據(jù)庫和事務(wù)系統(tǒng)與基于Web的前端相結(jié)合,從而有效地提供給用戶所需的可伸縮性、客戶要求的高可用性。下面列出相應(yīng)的解決方法(如圖2),并給出如何將它們集成到一個三層配置中的實(shí)例。

NetworkLoadBalancing平衡那些主要由入站TCP/IP通信產(chǎn)生的負(fù)載。管理員可以在第一層上建立LoadBalancing,并且在集群的Web服務(wù)器上平衡站點(diǎn)的訪問。ClusterService是管理員對那些要求高可用性的數(shù)據(jù)庫服務(wù)進(jìn)行分組的理想選擇,這些數(shù)據(jù)庫服務(wù)可以是MicrosoftSQLServer7.0或其它數(shù)據(jù)敏感應(yīng)用。管理員可以在第三層上建立ClusterService,以完成諸如用戶訪問數(shù)據(jù)庫的任務(wù)。

5在數(shù)字化校園中創(chuàng)建Web集群

通過將這兩個負(fù)載平衡的特性結(jié)合起來,這些特性將是三層體系結(jié)構(gòu)應(yīng)用程序的理想支持。例如,如果數(shù)字化校園平臺建設(shè)基于Web的教務(wù)管理系統(tǒng)、科研管理系統(tǒng)、辦公管理系統(tǒng)(如圖3),則可以建立如下的集群。

●在多臺服務(wù)器上建立前端、用戶界面(UI)層,使用NetworkLoadBalancing以平衡和分配客戶TCP/IP連接。當(dāng)通信量增加時,升級已有的集群或者添加計(jì)算機(jī)到配置中。這樣就保證站點(diǎn)不論什么時候都能夠處理訪問請求。

●使用ClusterService,以便為應(yīng)用程序和三層應(yīng)用程序的數(shù)據(jù)服務(wù)層提供結(jié)點(diǎn)故障接管功能。這將創(chuàng)建一個可靠的平臺用于數(shù)據(jù)庫、消息和類似的應(yīng)用服務(wù)。

●下面將舉例說明如何創(chuàng)建Web集群服務(wù)器。

5.1硬件需求

為了建立用于基于Web的教務(wù)管理系統(tǒng)、科研管理系統(tǒng)、辦公管理系統(tǒng),設(shè)計(jì)者需要利用WebApplicationStressTool(該工具允許設(shè)計(jì)者模擬測試站點(diǎn)上具有幾千個用戶負(fù)載的情況)來確定實(shí)際需要多少臺Web服務(wù)器來滿足一個特定的應(yīng)用。在測試了單臺服務(wù)器之后,設(shè)計(jì)者可能會發(fā)現(xiàn)服務(wù)器CPU的利用率特別高,而高速緩存命中率很低,并且在隊(duì)列服務(wù)器中還留有許多請求。與SystemMonitor工具相結(jié)合,設(shè)計(jì)者可以很容易地確定一臺單一的Web服務(wù)器的負(fù)載極限。Web服務(wù)器的主要瓶頸在于HTTP層,為了打破該瓶頸,設(shè)計(jì)者應(yīng)該增加Web服務(wù)器。例如,可以添加三臺Web服務(wù)器以組成Web集群的第一層。

5.2創(chuàng)建第一層

隨著三個新Web服務(wù)器的加入,設(shè)計(jì)者現(xiàn)在必須通過運(yùn)行NetworkLoadBalancing來平衡這四個服務(wù)器間的請求負(fù)載。四臺服務(wù)器從客戶角度來看只是一臺服務(wù)器。因?yàn)樵O(shè)計(jì)者只分配一個IP地址給一個集群中的三臺服務(wù)器,因此管理集群十分容易。通過配置一臺DNS服務(wù)器,設(shè)計(jì)者可以使用IP地址192.168.18.10建立。該IP地址代表了集群中的所有主機(jī)(此時為三臺服務(wù)器)。

通過這種配置,設(shè)計(jì)者可以將站點(diǎn)拓?fù)浣Y(jié)構(gòu)由一臺Web服務(wù)器改變?yōu)樗呐_。現(xiàn)在可以使用WebApplicationStressTool再次測試應(yīng)用程序,將會看到性能立即得到了改善。接下來,再次測試集群,但這次要使用幾千個用戶進(jìn)行模擬,確認(rèn)站點(diǎn)消耗的資源遠(yuǎn)小于單臺計(jì)算機(jī)運(yùn)行IIS5所消耗的資源。如果應(yīng)用程序需要更高的可用性,則可以添加更多的主機(jī),最多為32臺。

通過建立一臺開發(fā)服務(wù)器(例如),設(shè)計(jì)者可以在此服務(wù)器上內(nèi)容和測試其應(yīng)用程序,而后能夠?qū)⑺械氖跈?quán)和開發(fā)移交給服務(wù)器。設(shè)計(jì)者在開發(fā)服務(wù)器()上安裝了FrontPageServerExtensions后,用戶就可以使用FrontPage連接到一臺開發(fā)服務(wù)器,寫入內(nèi)容以及創(chuàng)建應(yīng)用程序,而不用將應(yīng)用程序引入到Web產(chǎn)品服務(wù)器上。

一旦數(shù)據(jù)已準(zhǔn)備好用于產(chǎn)品,則使用SiteServer3.0的ContentDeployment特性將數(shù)據(jù)從階段服務(wù)器復(fù)制到Web服務(wù)器產(chǎn)品上。在四臺Web服務(wù)器間必須相同復(fù)制的單元是Web內(nèi)容。當(dāng)設(shè)計(jì)者需要復(fù)制數(shù)據(jù)時,ContentDeployment將很容易地實(shí)現(xiàn)該過程,從而可以節(jié)省大量時間。

當(dāng)站點(diǎn)規(guī)模增長時,需要為每臺服務(wù)器設(shè)置一個獨(dú)立的日志文件。如果四臺服務(wù)器在同一個Web集群中,則必須分析四個單獨(dú)的日志文件,可以預(yù)先地將所有日志導(dǎo)入到一個源中來幫助簡化任務(wù)。SiteServerUsageAnalyst給設(shè)計(jì)者提供了一種簡易的方法將這些文件導(dǎo)入到一個源中,而后設(shè)計(jì)者可以生成定制報(bào)告來表示W(wǎng)eb站點(diǎn)上的所有通信量。

設(shè)計(jì)者添加了服務(wù)器、創(chuàng)建了開發(fā)服務(wù)器并且簡化了日志后,就將會注意到站點(diǎn)變得十分復(fù)雜。為了處理增加的復(fù)雜性和應(yīng)用程序數(shù)量,設(shè)計(jì)者就需要創(chuàng)建其它層,以便維持Web站點(diǎn)的有效性和性能。

5.3創(chuàng)建第二層

當(dāng)ASP應(yīng)用程序與Windows2000組件一起相結(jié)合運(yùn)行時,站點(diǎn)很快會變得更為復(fù)雜。ASP應(yīng)用程序可以被認(rèn)為是將表示層連接到應(yīng)用和數(shù)據(jù)服務(wù)層的中介。ASP提供了一種豐富而強(qiáng)有力的開發(fā)環(huán)境。但如果真的要增加應(yīng)用程序的整體性能,應(yīng)考慮添加COM+組件。

使用ASP應(yīng)用程序調(diào)用一個包含用戶業(yè)務(wù)邏輯的組件,該組件駐留在第二層的應(yīng)用程序服務(wù)器上。一個應(yīng)用程序服務(wù)器可以簡單地是一個Windows2000Server,它主要為組件提供處理器功能。

至此,駐留在第一層Web服務(wù)器上的ASP應(yīng)用程序調(diào)用第二層應(yīng)用程序服務(wù)器來處理業(yè)務(wù)邏輯。該處理過程的一部分會請求組件從位于第三層的后端數(shù)據(jù)庫中提取數(shù)據(jù)。

5.4創(chuàng)建第三層

為了在第三層獲得高可用性,設(shè)計(jì)者需要安裝ClusterService。為了存儲所有組成第三層的后端數(shù)據(jù),大多數(shù)企業(yè)級用戶都需要一臺高端對稱多處理(SymmetricMultiProcessing,SMP)服務(wù)器(例如,一個8個處理器的SMP,帶有4GB的RAM),以運(yùn)行SQLServer7.0等大型關(guān)系數(shù)據(jù)庫。ClusterService可以處理任務(wù)緊急的數(shù)據(jù)庫管理、文件和Intranet數(shù)據(jù)共享、消息機(jī)制以及通用業(yè)務(wù)應(yīng)用程序。

最好再添加一臺服務(wù)器用于故障處理,而不是僅僅依靠一臺高端Windows2000Server。

綜合起來,這兩臺服務(wù)器為訪問請求提供了更高的可用性,并且簡化了管理數(shù)據(jù)和應(yīng)用程序的任務(wù)。ClusterService不僅允許設(shè)計(jì)者將兩臺服務(wù)器連接到一個集群中(如圖4),而且也可以自動地檢測并恢復(fù)服務(wù)器和應(yīng)用程序故障。另外,它可以巧妙地處理服務(wù)器操作的工作負(fù)載,使管理員在不必關(guān)閉服務(wù)器的情況下進(jìn)行維護(hù)規(guī)劃。

圖4

如果一個單獨(dú)的應(yīng)用程序故障(但服務(wù)器沒有故障),則ClusterService將試圖重啟同一服務(wù)器上的該應(yīng)用程序。如果仍然失敗,則ClusterService將該應(yīng)用程序的資源轉(zhuǎn)移到另一臺服務(wù)器上,并且在該服務(wù)器上重啟該應(yīng)用程序。

6總結(jié)

由于用戶的應(yīng)用程序需要很高的可用性、可伸縮性和性能,因此設(shè)計(jì)者需要創(chuàng)建一個三層Web體系結(jié)構(gòu),并且對每個層次使用具有高可用性的Microsoft技術(shù)。而后使用WebApplicationStressTool測試單臺服務(wù)器并實(shí)現(xiàn)它。為了獲得更高的可用性,則需要創(chuàng)建Web集群。一般情況下,可以算出三臺服務(wù)器已經(jīng)足夠了。而后安裝NetworkLoadBalancing,并且這三臺服務(wù)器實(shí)質(zhì)上被看作一臺服務(wù)器。接下來,設(shè)計(jì)者應(yīng)該添加第四臺Web服務(wù)器作為開發(fā)階段服務(wù)器,以便用戶可以內(nèi)容到該服務(wù)器上。為了復(fù)制已開發(fā)的內(nèi)容,設(shè)計(jì)者在階段服務(wù)器和Web服務(wù)器產(chǎn)品上應(yīng)使用SiteServer3.0的ContentDeployment特性。為了增強(qiáng)第二層的性能,設(shè)計(jì)者要添加一個COM+應(yīng)用程序,并且使用來自第一層的ASP應(yīng)用程序來調(diào)用來自第二層的預(yù)編譯組件。另外,這些第二層組件會調(diào)用第三層數(shù)據(jù)服務(wù)。運(yùn)行SQL7.0的一個高端SMP服務(wù)器組成了系統(tǒng)的第三層。為了獲得高的可用性,設(shè)計(jì)者應(yīng)添加ClusterService來確保系統(tǒng)是一個具有容錯能力的故障接管系統(tǒng)。這種拓?fù)浣Y(jié)構(gòu)提供了高可用性和可伸縮性,盡管存在可預(yù)見的故障(例如服務(wù)停止或硬件升級)或者不可預(yù)見的故障(例如硬件故障或軟件完整性丟失)。

論文不僅分析了集群技術(shù)在數(shù)字化校園網(wǎng)中的負(fù)載平衡特性,而且給出了其高性能應(yīng)用的具體實(shí)現(xiàn)框架。Web集群技術(shù)在數(shù)字化校園網(wǎng)中的應(yīng)用不僅能夠大大地提高學(xué)校的資源利用率,而且能夠有效地、及時地完成吞吐量大的科學(xué)計(jì)算和商業(yè)數(shù)據(jù)運(yùn)算。Web集群技術(shù)隨著服務(wù)器硬件系統(tǒng)與網(wǎng)絡(luò)操作系統(tǒng)的發(fā)展將會在可用性、高可靠性和系統(tǒng)冗余等方面得到進(jìn)一步地提高和完善。

參考文獻(xiàn)

[1]胡凱.《集群計(jì)算》.計(jì)算機(jī)世界,2001-02

[2]LinuxClusteringwithCSM&GPFS,IBMRedbooks,http:///

[3]Microsoft公司.《Win2000DirectoryServices基礎(chǔ)結(jié)構(gòu)設(shè)計(jì)》.北京大學(xué)出版社,2001-05

[4]劉東遠(yuǎn),駱珍儀.“在校園網(wǎng)實(shí)施部署集群服務(wù)”.中山大學(xué)學(xué)報(bào)論叢,2003年第23卷第3期,P212-215

[5]鄧子梁.《圖解精通Windows2000Server》.中國水利水電出版社,2001-11