專利名稱:擴充數(shù)據(jù)流量的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種擴充數(shù)據(jù)流量的方法,特別是一種第一負(fù)載平衡器根據(jù)負(fù)載情況來激活第二負(fù)載平衡器的擴充數(shù)據(jù)流量的方法。
背景技術(shù):
現(xiàn)今網(wǎng)絡(luò)普及的狀況之下,一些規(guī)模較大的網(wǎng)站每天可能要接受上百萬的使用者請求,對單一機器的負(fù)載量而言,可能無法處理如此大量的請求。最簡單的考量,是加強這部機器的硬件能力,但是這種想法并不夠經(jīng)濟,加上單一機器在發(fā)生問題時,整個網(wǎng)站的服務(wù)就完全停擺,所以另一種可能性就是,用許多機器來分擔(dān)處理這些要求,用一部機器來處理平衡流量(Load Balancing)以及作為對外溝通的窗口,使用者在送出要求時,面對的是一部超強的大型服務(wù)器,但實際上,處理這些要求的其實是一群叢集(cluster),如此可以在比較經(jīng)濟的層面上實際提升處理能力,而不必考慮以工作站等級的服務(wù)器作為主要的服務(wù)硬件。
舉例來說,當(dāng)一個對虛擬服務(wù)器的請求傳到負(fù)載平衡器上時,負(fù)載平衡器首先檢查該封包是否有對應(yīng)虛擬服務(wù)器上特定的連接端口(紀(jì)錄在虛擬服務(wù)列表中),如果有,則接著檢查內(nèi)部叢集中有多少聯(lián)機,以及各部機器的聯(lián)機狀況。經(jīng)由特殊的排程算法,負(fù)載平衡器選出最適合接受此一聯(lián)機的實際服務(wù)器,將此一聯(lián)機請求轉(zhuǎn)給實際的服務(wù)器,讓適當(dāng)?shù)姆?wù)器處理這個要求與響應(yīng)。當(dāng)服務(wù)器送出響應(yīng)的封包時,負(fù)載平衡器會對封包作處理,將內(nèi)部服務(wù)器的真正IP(屬于私有IP)修改成虛擬服務(wù)器的外界實際IP,之后等待聯(lián)機時間終了,再將此一聯(lián)機自虛擬服務(wù)列表中移除。對使用者而言,要求只是在跟負(fù)載平衡器(也就是虛擬的服務(wù)器)溝通。
在傳統(tǒng)的網(wǎng)絡(luò)系統(tǒng)中,使用一臺主負(fù)載平衡器負(fù)責(zé)處理用戶端的數(shù)據(jù),再使用另一臺次負(fù)載平衡器作為備份數(shù)據(jù),只有在主負(fù)載平衡器失效時,次負(fù)載平衡器才會接管主平衡器的工作,不至于讓用戶端有中斷的感覺。主負(fù)載平衡器的優(yōu)點是服務(wù)器可以運行任何支持TCP/IP的操作系統(tǒng),它只需要一個網(wǎng)絡(luò)網(wǎng)址地址配置在負(fù)載平衡器上,服務(wù)器組可以用私有網(wǎng)絡(luò)網(wǎng)址地址。缺點是它的負(fù)載能力有限,因為在網(wǎng)絡(luò)中請求和響應(yīng)封包都需要通過主負(fù)載平衡器,當(dāng)主負(fù)載平衡器超載時,會導(dǎo)致用戶端長時間的等待,另外主負(fù)載平衡器的擴充有限,所以主負(fù)載平衡器本身有可能成為系統(tǒng)的新瓶頸。
發(fā)明內(nèi)容
本發(fā)明的所要解決的技術(shù)問題在于提供一種具有備份及可擴充數(shù)據(jù)流量的方法,借以解決先前技術(shù)所存在的問題。
為實現(xiàn)上述目的,本發(fā)明所公開的擴充數(shù)據(jù)流量的方法,應(yīng)用于網(wǎng)絡(luò)系統(tǒng)中,網(wǎng)絡(luò)系統(tǒng)包含至少一用戶端、至少兩個負(fù)載平衡器及至少一服務(wù)器,包含有下列步驟第一負(fù)載平衡器建立判別值及設(shè)定碼;服務(wù)器通過第一負(fù)載平衡器與各個用戶端進行三方交握;各個用戶端傳送聯(lián)機請求至第一負(fù)載平衡器;第一負(fù)載平衡器計算接收的聯(lián)機請求數(shù)目;第一負(fù)載平衡器確認(rèn)聯(lián)機請求數(shù)目不小于判別值;第一負(fù)載平衡器以設(shè)定碼編輯鏈接表,以增加第二負(fù)載平衡器;第一負(fù)載平衡器及第二負(fù)載平衡器接收聯(lián)機請求;第一負(fù)載平衡器及第二負(fù)載平衡器將各個聯(lián)機請求轉(zhuǎn)發(fā)至服務(wù)器;及各個用戶端與服務(wù)器進行數(shù)據(jù)存取。
采用本發(fā)明的擴充數(shù)據(jù)流量的方法,第一負(fù)載平衡器能自動確認(rèn)是否超載的情況來編輯鏈接表,以激活第二負(fù)載平衡器,達到迅速將用戶端的請求轉(zhuǎn)發(fā)到服務(wù)器,因此增加負(fù)載平衡器的處理能力。
以下結(jié)合附圖和具體實施例對本發(fā)明進行詳細(xì)描述,但不作為對本發(fā)明的限定。
圖1為根據(jù)本發(fā)明所公開的實施例的方塊圖;及圖2為根據(jù)本發(fā)明所公開的擴充數(shù)據(jù)流量的方法流程圖。
其中,附圖標(biāo)記1、用戶端12、用戶端23、第一負(fù)載平衡器 4、第二負(fù)載平衡器6、封包過濾器 7、實際服務(wù)器
8、服務(wù)器 9、第一封包過濾器10、第二封包過濾器具體實施方式
用戶端數(shù)目和網(wǎng)絡(luò)流量以幾何級數(shù)增長,對網(wǎng)絡(luò)服務(wù)的可伸縮性提出很高的要求。為用戶端提供連結(jié)的Web站點會因為被連結(jié)的次數(shù)急劇增長和不能及時處理用戶端的請求,而導(dǎo)致用戶端長時間的等待。因此,根據(jù)本發(fā)明可以解決負(fù)載平衡器的超載情況。
圖1為根據(jù)本發(fā)明所公開的實施例,此實施例以兩個負(fù)載平衡器為例,其應(yīng)用于網(wǎng)絡(luò)系統(tǒng)中,網(wǎng)絡(luò)系統(tǒng)包含有至少一用戶端1、2、第一負(fù)載平衡器3、第二負(fù)載平衡器4、至少一個服務(wù)器8、第一封包過濾器9及第二封包過濾器10,而服務(wù)器8則包含有實際服務(wù)器7及封包過濾器6。第一負(fù)載平衡器3通過第一封包過濾器9所接收的請求數(shù)目,以自動判別是否超載的情況來激活第二負(fù)載平衡器4,以達到將用戶端1、2的請求直接轉(zhuǎn)發(fā)到服務(wù)器8,使得用戶端1、2不因受到第一負(fù)載平衡器3超載的影響,而導(dǎo)致用戶端1、2長時間的等待。當(dāng)?shù)谝回?fù)載平衡器3判別已超載時,第一負(fù)載平衡器3通過鏈接表(HashTable)將第二負(fù)載平衡器4的網(wǎng)絡(luò)網(wǎng)址地址及網(wǎng)絡(luò)卡的實體地址均設(shè)定為相同,以讓第一負(fù)載平衡器3及第二負(fù)載平衡器4均執(zhí)行將用戶端的請求直接轉(zhuǎn)發(fā)至選定的服務(wù)器8。
此時,第一負(fù)載平衡器3及第二負(fù)載平衡器4均可通過第一封包過濾器9及第二封包過濾器10接收來至多個用戶端1、2的請求,第一負(fù)載平衡器3及第二負(fù)載平衡器4可將接收的請求直接轉(zhuǎn)發(fā)至選定的服務(wù)器8。直到用戶端1、2的請求已不超過第一負(fù)載平衡器3時,再次編輯鏈接表,也就是更改回第二負(fù)載平衡器原本的網(wǎng)絡(luò)網(wǎng)址地址及網(wǎng)絡(luò)卡的實體地址,只讓第一負(fù)載平衡器3通過第一封包過濾器9接收來至用戶端的請求,并直接轉(zhuǎn)發(fā)至選定的服務(wù)器8,而第二負(fù)載平衡器4則執(zhí)行備份數(shù)據(jù)的動作。其中第一負(fù)載平衡器3內(nèi)儲存有設(shè)定碼及鏈接表,而鏈接表中儲存有鏈接算法,并通過鏈接演算將接收的請求分配于負(fù)載平衡器3、4中,以轉(zhuǎn)發(fā)到對應(yīng)到的服務(wù)器8。
用戶端1、2為使用者接口,可以依照使用者的需求送出請求及相對應(yīng)于請求的各種封包,并接受來自服務(wù)器8的數(shù)據(jù)或封包。第一負(fù)載平衡器3通過第一封包過濾器9檢視來自于使用者的請求的內(nèi)容,并負(fù)責(zé)將用戶端1、2的請求直接轉(zhuǎn)發(fā)到選定的服務(wù)器8上執(zhí)行。服務(wù)器8真正執(zhí)行用戶端1、2請求,執(zhí)行的請求服務(wù)有WEB、FTP和DNS等。當(dāng)服務(wù)器8執(zhí)行用戶端1、2的請求須通過第一負(fù)載平衡器3或第二負(fù)載平衡器4直接轉(zhuǎn)發(fā)至實際服務(wù)器7處理,而所有要自服務(wù)器8傳送出去的數(shù)據(jù)也須先由實際服務(wù)器7進入封包過濾器6傳送出去。其中封包過濾器6通常為服務(wù)器8中的軟件程序的形式存在來發(fā)揮功能,例如防火墻。其中封包過濾器6、第一封包過濾器9及第二封包過濾器10中的功能是一致的。其詳細(xì)運作及連接方塊將于下段中描述。
當(dāng)用戶端1、2通過第一負(fù)載平衡器3的外部網(wǎng)址(Virtual IP Address)進行連結(jié)服務(wù)時,第一負(fù)載平衡器3通過第一封包過濾器9將接收到多個用戶端1、2的聯(lián)機請求時,第一負(fù)載平衡器3計算接收到的聯(lián)機請求的數(shù)目是否已超過能處理的上限,當(dāng)?shù)谝回?fù)載平衡器3認(rèn)定接收到的聯(lián)機請求的數(shù)目已超過能負(fù)載的上限時,則會根據(jù)設(shè)置于第一負(fù)載平衡器3中的設(shè)定碼編輯鏈接表,來設(shè)定及激活第二負(fù)載平衡器4,以分擔(dān)第一負(fù)載平衡器3的負(fù)載量。
第一負(fù)載平衡器3及第二負(fù)載平衡器4均以負(fù)載平衡方法選出一個實際服務(wù)器7,并將目標(biāo)網(wǎng)址(即是第一負(fù)載平衡器3的外部網(wǎng)址)重新指向內(nèi)部實際提供服務(wù)服務(wù)器7的網(wǎng)址。同時,第一負(fù)載平衡器3及第二負(fù)載平衡器4將這個連接紀(jì)錄于鏈接表中。當(dāng)實際服務(wù)器7響應(yīng)用戶端1、2的請求時,需通過封包過濾器6再經(jīng)過之前轉(zhuǎn)發(fā)的負(fù)載平衡器(第一負(fù)載平衡器3或第二負(fù)載平衡器4),再由負(fù)載平衡器將來源地址(用戶端1、2的網(wǎng)絡(luò)網(wǎng)址)和來源端口(用戶端1、2的埠號)改為第一負(fù)載平衡器3的外部網(wǎng)址和相應(yīng)的埠,再直接將響應(yīng)發(fā)給用戶端1、2。當(dāng)連接終止或超時,第一負(fù)載平衡器3會將這個連接從鏈接表中刪除。這樣,用戶端1、2所看到的只在第一負(fù)載平衡器3的外部網(wǎng)址上提供的服務(wù)。其中當(dāng)?shù)谝回?fù)載平衡器3所接收到的聯(lián)機請求的數(shù)目未超過第一負(fù)載平衡器1的能負(fù)載的上限時維持現(xiàn)狀,也就是說第二負(fù)載平衡器4只有執(zhí)行備份數(shù)據(jù)的功能。
此外,當(dāng)?shù)谝回?fù)載平衡器3故障時,第二負(fù)載平衡器4通過對鏈接表的編輯,即可將聯(lián)機請求重新選至第二負(fù)載平衡器4,以繼續(xù)執(zhí)行轉(zhuǎn)發(fā)用戶端1、2的聯(lián)機請求的動作。其中鏈接表可通過第一及第二負(fù)載平衡器3、4及服務(wù)器8共同維護,以確保鏈接表的統(tǒng)一。
如圖2所示,為根據(jù)本發(fā)明所公開的擴充數(shù)據(jù)流量的方法流程圖,此方法應(yīng)用于網(wǎng)絡(luò)系統(tǒng)中,網(wǎng)絡(luò)系統(tǒng)包含至少一用戶端1、2、至少兩個負(fù)載平衡器3、4及至少一服務(wù)器8;而服務(wù)器包含有封包過濾器6及實際服務(wù)器7,包含有下列步驟首先,第一負(fù)載平衡器3建立判別值及設(shè)定碼(步驟100);服務(wù)器8通過第一負(fù)載平衡器3與各個用戶端1、2進行三方交握(步驟110);各個用戶端1、2傳送聯(lián)機請求至第一負(fù)載平衡器3(步驟120),也就是說通過第一負(fù)載平衡器3中的第一封包過濾器9接收來至用戶端1、2的聯(lián)機請求,而聯(lián)機請求的內(nèi)容為用戶端1、2的網(wǎng)絡(luò)網(wǎng)址地址、端口號及防火墻標(biāo)記的群組。第一負(fù)載平衡器3計算接收的聯(lián)機請求數(shù)目(步驟130);第一負(fù)載平衡器3確認(rèn)聯(lián)機請求數(shù)目不小于判別值(步驟140),其中當(dāng)?shù)谝回?fù)載平衡器3確認(rèn)聯(lián)機請求數(shù)目小于判別值時,執(zhí)行第一負(fù)載平衡器3直接將各個聯(lián)機請求轉(zhuǎn)發(fā)至服務(wù)器8(步驟170)。接著第一負(fù)載平衡器3以設(shè)定碼編輯鏈接表,以增加第二負(fù)載平衡器4(步驟150),也就是說第一負(fù)載平衡器3再根據(jù)鏈接表設(shè)定第二負(fù)載平衡器4,使其具有相同的網(wǎng)絡(luò)網(wǎng)址地址(步驟151),及相同的網(wǎng)絡(luò)卡的實體地址(步驟152)。
然后,第一負(fù)載平衡器3及第二負(fù)載平衡器4接收聯(lián)機請求(步驟160);也就是說,第一負(fù)載平衡器3及第二負(fù)載平衡器4以鏈接算法運算各個聯(lián)機請求的內(nèi)容,取得至少一個計算值(步驟161);且第一負(fù)載平衡器3及第二負(fù)載平衡器4將各個計算值對應(yīng)鏈接表,以選定可接收的聯(lián)機請求(步驟162)。其中鏈接算法儲存于鏈接表內(nèi),且鏈接算法以數(shù)學(xué)邏輯規(guī)則運算,取得至少一個計算值。其中數(shù)學(xué)邏輯規(guī)則為加法、減法、乘法及除法的組合。
此以一個聯(lián)機請求的內(nèi)容來舉例說明,聯(lián)機請求的內(nèi)容包含有用戶端1、2網(wǎng)絡(luò)網(wǎng)址地址10.190.5.16及端口號為5567等,則鏈接算法的程序為將用戶端1、2網(wǎng)絡(luò)網(wǎng)址地址10.190.5.16及端口號為5567做相加運算,以得到一總數(shù)值,也即是10+190+5+16+5567得到5788的總數(shù)值,接著再將5788除以模值8得到商數(shù)為723余數(shù)為4,而余數(shù)4也就是上述的計算值。其中模值根據(jù)鏈接表對比所得。
然后,第一及第二負(fù)載平衡器3、4將各個聯(lián)機請求轉(zhuǎn)發(fā)至服務(wù)器8(步驟170)。最后,各個用戶端1、2與服務(wù)器8進行數(shù)據(jù)存取(步驟180)。
本發(fā)明的效果在于第一負(fù)載平衡器3能自動確認(rèn)是否超載的情況來編輯鏈接表以激活第二負(fù)載平衡器4,達到將用戶端的請求轉(zhuǎn)發(fā)到服務(wù)器,以讓用戶端不因受到負(fù)載平衡器的影響而導(dǎo)致用戶端長時間的等待,因此增加負(fù)載平衡器的處理能力。
當(dāng)然,本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。
權(quán)利要求
1.一種擴充數(shù)據(jù)流量的方法,應(yīng)用于一網(wǎng)絡(luò)系統(tǒng)中,其特征在于,該網(wǎng)絡(luò)系統(tǒng)包含至少一用戶端、至少兩個負(fù)載平衡器及至少一服務(wù)器,包含有下列步驟一第一負(fù)載平衡器建立一判別值及一設(shè)定碼;該服務(wù)器通過該第一負(fù)載平衡器與各該用戶端進行三方交握;各該用戶端傳送一聯(lián)機請求至該第一負(fù)載平衡器;該第一負(fù)載平衡器計算接收的該聯(lián)機請求數(shù)目;該第一負(fù)載平衡器確認(rèn)該聯(lián)機請求數(shù)目不小于該判別值;該第一負(fù)載平衡器以該設(shè)定碼編輯一鏈接表,以增加一第二負(fù)載平衡器;該第一負(fù)載平衡器及該第二負(fù)載平衡器接收該聯(lián)機請求;該第一負(fù)載平衡器及該第二負(fù)載平衡器將各該聯(lián)機請求轉(zhuǎn)發(fā)至該服務(wù)器;及各該用戶端與該服務(wù)器進行數(shù)據(jù)存取。
2.根據(jù)權(quán)利要求1所述的擴充數(shù)據(jù)流量的方法,其特征在于,該第一負(fù)載平衡器以一設(shè)定碼編輯一鏈接表,以增加該第二負(fù)載平衡器的步驟,包含有下列步驟該第一負(fù)載平衡器根據(jù)該鏈接表設(shè)定該第二負(fù)載平衡器具有相同的一網(wǎng)絡(luò)網(wǎng)址地址;及該第一負(fù)載平衡器根據(jù)該鏈接表設(shè)定該第二負(fù)載平衡器具有相同的一網(wǎng)絡(luò)卡的實體地址。
3.根據(jù)權(quán)利要求1所述的擴充數(shù)據(jù)流量的方法,其特征在于,該第一負(fù)載平衡器及該第二負(fù)載平衡器接收該聯(lián)機請求的步驟,包含下列步驟該第一負(fù)載平衡器及該第二負(fù)載平衡器以一鏈接算法運算各該聯(lián)機請求的內(nèi)容,取得至少一個計算值;及該第一負(fù)載平衡器及該第二負(fù)載平衡器將各該計算值對應(yīng)該鏈接表,以選定可接收的該聯(lián)機請求。
4.根據(jù)權(quán)利要求3所述的擴充數(shù)據(jù)流量的方法,其特征在于,該聯(lián)機請求的內(nèi)容為該用戶端的網(wǎng)絡(luò)網(wǎng)址地址、端口號及防火墻標(biāo)記的群組。
5.根據(jù)權(quán)利要求3所述的擴充數(shù)據(jù)流量的方法,其特征在于,該鏈接算法儲存于鏈接表內(nèi)。
6.根據(jù)權(quán)利要求1所述的擴充數(shù)據(jù)流量的方法,其特征在于,當(dāng)該第一負(fù)載平衡器確認(rèn)該聯(lián)機請求數(shù)目小于該判別值時,執(zhí)行該第一負(fù)載平衡器直接將各該聯(lián)機請求轉(zhuǎn)發(fā)至該服務(wù)器的步驟。
7.根據(jù)權(quán)利要求1所述的擴充數(shù)據(jù)流量的方法,其特征在于,各該服務(wù)器包含有一實體服務(wù)器及一封包過濾器。
8.根據(jù)權(quán)利要求1所述的擴充數(shù)據(jù)流量的方法,其特征在于,各該用戶端傳送一聯(lián)機請求至該第一負(fù)載平衡器的步驟,通過該第一負(fù)載平衡器中的一第一封包過濾器接收。
全文摘要
本發(fā)明公開一種擴充數(shù)據(jù)流量的方法,應(yīng)用于網(wǎng)絡(luò)系統(tǒng)中,網(wǎng)絡(luò)系統(tǒng)包含至少一用戶端、至少兩個負(fù)載平衡器及至少一服務(wù)器,第一負(fù)載平衡器建立判別值及設(shè)定碼;服務(wù)器通過第一負(fù)載平衡器與各個用戶端進行三方交握;各個用戶端傳送聯(lián)機請求至第一負(fù)載平衡器;第一負(fù)載平衡器計算接收的聯(lián)機請求數(shù)目;第一負(fù)載平衡器確認(rèn)聯(lián)機請求數(shù)目不小于判別值;第一負(fù)載平衡器以設(shè)定碼編輯鏈接表,以增加第二負(fù)載平衡器;第一負(fù)載平衡器及第二負(fù)載平衡器接收聯(lián)機請求;第一負(fù)載平衡器及第二負(fù)載平衡器將各個聯(lián)機請求轉(zhuǎn)發(fā)至服務(wù)器;及各個用戶端與服務(wù)器進行數(shù)據(jù)存取。采用本發(fā)明可增加負(fù)載平衡器的處理能力,且讓用戶端不受到負(fù)載平衡器的影響而導(dǎo)致長時間的等待。
文檔編號H04L29/02GK1921475SQ20051009290
公開日2007年2月28日 申請日期2005年8月24日 優(yōu)先權(quán)日2005年8月24日
發(fā)明者李晟, 陳玄同, 劉文涵 申請人:英業(yè)達股份有限公司