本發(fā)明涉及計算機WEB服務(wù)器技術(shù)領(lǐng)域,特別涉及一種采用異步事件驅(qū)動實現(xiàn)WEB服務(wù)器負(fù)載均衡的方法。
背景技術(shù):
服務(wù)器負(fù)載均衡是通過一定的資源調(diào)度算法,將外部傳來的請求均勻分布到相應(yīng)的處理模塊,解決大量用戶的并發(fā)訪問服務(wù),實現(xiàn)事件的并行處理。負(fù)載均衡具有兩方面的含義:一是將大量的并發(fā)訪問分擔(dān)到多個節(jié)點進(jìn)行處理,減少等待時間;二是將重負(fù)載、高頻訪問的時間進(jìn)行節(jié)點的分擔(dān)操作。
采用異步事件驅(qū)動模型可以同時執(zhí)行多個任務(wù),不必等待某一項任務(wù)完成,例如IO操作。采用異步方式有利于減少整體任務(wù)的執(zhí)行時間,提高資源的利用率。
Web訪問中的異步事件驅(qū)動模型,如圖1所示。
現(xiàn)有技術(shù)下,大量的用戶訪問會導(dǎo)致服務(wù)器負(fù)載不均衡,在網(wǎng)絡(luò)擁塞的情況下,資源隊列的訪問效率還是比較低,從而增加了HTTP請求的等待成本。
技術(shù)實現(xiàn)要素:
為了解決現(xiàn)有技術(shù)的問題,本發(fā)明提供了一種采用異步事件驅(qū)動實現(xiàn)WEB服務(wù)器負(fù)載均衡的方法,其能夠提高資源隊列的訪問效率,從而降低HTTP請求的等待成本,實現(xiàn)Web服務(wù)器的負(fù)載均衡。
本發(fā)明所采用的技術(shù)方案如下:
一種采用異步事件驅(qū)動實現(xiàn)WEB服務(wù)器負(fù)載均衡的方法,包括以下步驟:
A、將客戶端對服務(wù)器的訪問依據(jù)其所請求服務(wù)器資源的不同進(jìn)行分類,同時,將服務(wù)器的所有資源進(jìn)行整合、分類、標(biāo)記,同一種類型的資源形成一個資源隊列;
B、當(dāng)客戶端對服務(wù)器進(jìn)行資源請求時,服務(wù)器響應(yīng)資源請求事件,根據(jù)資源請求的類型進(jìn)行搜索資源,查找對應(yīng)的資源隊列;
如果當(dāng)前隊列中的沒有空閑資源,服務(wù)器同時進(jìn)行其他資源隊列的資源響應(yīng),并將已經(jīng)獲得的資源返回給客戶端。
步驟B中,同時記錄服務(wù)器經(jīng)常被訪問的資源隊列,標(biāo)記該隊列為高頻訪問隊列,并形成高優(yōu)先級隊列的訪問副本。
本發(fā)明提供的技術(shù)方案帶來的有益效果是:
服務(wù)器負(fù)載的均衡是建立在網(wǎng)絡(luò)結(jié)構(gòu)之上的一種調(diào)度策略,能夠有效的擴展服務(wù)器的帶寬和增加吞吐量,增強服務(wù)器的網(wǎng)絡(luò)數(shù)據(jù)處理能力。本發(fā)明在網(wǎng)絡(luò)擁塞的情況下,將客戶端對服務(wù)器的訪問依據(jù)其所請求服務(wù)器資源的不同進(jìn)行分類,同時,將服務(wù)器的所有資源進(jìn)行整合、分類、標(biāo)記,同一種類型的資源形成一個資源隊列。當(dāng)客戶端對服務(wù)器進(jìn)行資源請求時,服務(wù)器響應(yīng)資源請求事件,根據(jù)資源請求的類型進(jìn)行搜索資源,查找對應(yīng)的資源隊列,如果當(dāng)前隊列中的沒有空閑資源,服務(wù)器不會一直等待該資源的隊列響應(yīng),而是同時進(jìn)行其他資源隊列的資源響應(yīng),并將已經(jīng)獲得的資源返回給客戶端。在這一過程中記錄服務(wù)器經(jīng)常被訪問的資源隊列,標(biāo)記該隊列為高頻訪問隊列,并形成高優(yōu)先級隊列的訪問副本,提高該隊列的資源訪問效率,從而降低HTTP請求的等待成本,實現(xiàn)Web服務(wù)器的負(fù)載均衡。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)下的Web訪問中的異步事件驅(qū)動模型;
圖2為本發(fā)明的一種采用異步事件驅(qū)動實現(xiàn)WEB服務(wù)器負(fù)載均衡的方法的方法原理圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。
實施例一
大量的用戶訪問會導(dǎo)致服務(wù)器負(fù)載不均衡,要解決大量的并行訪問問題,本實施例在服務(wù)器中,首先將服務(wù)器資源進(jìn)行歸類、整合、標(biāo)記,將相同類型的資源劃分到同一個資源隊列中,給每一個資源隊列進(jìn)行標(biāo)記,例如,資源隊列A類。當(dāng)大量用戶進(jìn)行并行訪問服務(wù)器資源的時候,服務(wù)器依據(jù)資源類型進(jìn)行劃分訪問,分擔(dān)到不同的資源隊列中,訪問該資源列表的同類資源。服務(wù)器不需要等待該資源隊列的響應(yīng)才進(jìn)行下一資源的訪問,可以同時進(jìn)行多個資源隊列的同時訪問,各資源隊列分別對服務(wù)器進(jìn)行響應(yīng),減少資源請求的等待時間。
在訪問資源的同時,服務(wù)器記錄下資源的訪問頻率,并隨著資源訪問次數(shù)的增加,逐步提高該資源隊列的優(yōu)先級,同時,將經(jīng)常訪問的資源定義為高頻訪問資源,由于對高頻資源的訪問是網(wǎng)絡(luò)擁塞的主要原因,服務(wù)器生成高頻資源的副本,通過副本分擔(dān)資源的訪問率,減輕該資源的負(fù)載,實現(xiàn)服務(wù)器的負(fù)載均衡。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。