專利名稱:一種分流集群流量的方法及相關(guān)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機及通訊領(lǐng)域,特別涉及一種分流集群流量的方法及相關(guān)裝置。
背景技術(shù):
計算機集群簡稱集群是一種計算機系統(tǒng),它通過一組松散集成的計算機軟件和/ 或硬件連接起來高度緊密地協(xié)作完成計算工作。在某種意義上,他們可以被看作是一臺計 算機。集群系統(tǒng)中的單個計算機通常稱為節(jié)點,本專利申請中以處理裝置命名,其通常通過 局域網(wǎng)連接,但也有其它的可能連接方式。集群計算機通常用來改進單個計算機的計算速 度和/或可靠性。一般情況下集群計算機比單個計算機,比如工作站或超級計算機性能價 格比要高得多。目前,分流集群流量的技術(shù)已成為集群高可用性的重要指標(biāo),其標(biāo)志著集群內(nèi)部 負(fù)荷分擔(dān)的能力、容錯處理的能力,能有效保證集群內(nèi)部將相關(guān)應(yīng)用和資源從繁忙的處理 裝置轉(zhuǎn)移到不繁忙的處理裝置,或從有故障的處理裝置轉(zhuǎn)移到無故障的處理裝置或備份的
處理裝置?,F(xiàn)有的一種分流集群流量的技術(shù)一般為負(fù)荷分擔(dān)模式,即集群中流量的負(fù)荷分擔(dān) 采用比例分流或區(qū)域分流的方式。其中比例分流是對于傳送過來的流量采用百分比或計數(shù) 的方式向集群中的各個處理裝置進行分流;區(qū)域分流是將該集群面向的用戶劃分為不同的 區(qū)域,集群中各個處理裝置按照不同區(qū)域來處理來自各區(qū)域的流量。
發(fā)明內(nèi)容
本發(fā)明旨在提供一種分流集群流量的方法及相關(guān)裝置,能夠依據(jù)各個處理裝置的 運行信息,調(diào)節(jié)集群中各處理裝置的流量分配,從而提高該集群的高可用性。為了實現(xiàn)發(fā)明目的,本發(fā)明提供了一種分流集群流量的方法,其包括獲取各個處理裝置的運行信息;根據(jù)所述運行信息判斷所述各個處理裝置是否發(fā)生異常;若判斷其中有發(fā)生異常的處理裝置,則向與所述異常的處理裝置相連的裝置發(fā)送 指示信息,所述指示信息包括減少對所述異常的處理裝置發(fā)送流量的信息。本發(fā)明還提供了一種分流集群流量的裝置,包括獲取模塊,用于獲取各個處理裝置的運行信息;判斷模塊,用于根據(jù)所述運行信息判斷所述各個處理裝置是否發(fā)生異常;發(fā)送模塊,用于若判斷其中有發(fā)生異常的處理裝置,則向與所述異常的處理裝置 相連的裝置發(fā)送指示信息,所述指示信息包括減少對所述異常的處理裝置發(fā)送流量的信 肩、ο本發(fā)明還提供了一種分流服務(wù)器,包括接收模塊,用于接收分流集群流量的裝置發(fā)送的指示信息,上述述指示信息包括 減少對異常的處理裝置發(fā)送流量的信息,
處理模塊,用于根據(jù)上述指示信息,減少對異常的處理裝置發(fā)送流量。本發(fā)明提供的方法及相關(guān)裝置通過根據(jù)各個處理裝置的運行信息判斷各個處理 裝置是否發(fā)生異常,若判斷其中有發(fā)生異常的處理裝置時,指示與該異常的處理裝置相連 的裝置減少對該異常的處理裝置發(fā)送的流量,從而可以充分發(fā)揮集群中各個處理裝置的能 力,提高集群的可用性。
圖1為本發(fā)明一個實施例提供的一種分流集群流量的方法的流程圖;圖2為本發(fā)明另一個實施例提供的一種分流集群流量的方法的流程圖;圖3為本發(fā)明又一個實施例提供的一種分流集群流量的方法的流程圖;圖4為本發(fā)明一個實施例提供的一種分流集群流量的裝置的示意圖;圖5為本發(fā)明一個實施例提供的一種分流服務(wù)器的示意圖。
具體實施例方式為更好地理解本發(fā)明,現(xiàn)結(jié)合附圖及實施例對本發(fā)明作進一步描述本發(fā)明一個實施例提供一種分流集群流量的方法,請參圖1所示,該方法包括以 下步驟101、獲取各個處理裝置的運行信息;分流集群流量的裝置如集中控制裝置接收各個處理裝置的運行信息。該運行信息 可以為當(dāng)前流量、系統(tǒng)負(fù)荷、剩余負(fù)荷、硬件狀態(tài)、連接狀態(tài)等運行信息數(shù)據(jù)。這里的運行信 息可以是集中控制裝置通過向各個處理裝置發(fā)送查詢信息,各個處理裝置將各自的運行信 息返回給集中控制裝置。同樣的,各個處理裝置也可以定時或需要時將運行信息主動上報 給集中控制裝置。102、根據(jù)上述運行信息判斷所述各個處理裝置是否發(fā)生異常;集中控制裝置根據(jù)上述運行信息判斷所述各個處理裝置是否發(fā)生異常。這里的異 ??梢允翘幚硌b置目前處于過載狀態(tài),或發(fā)生故障的狀態(tài)等,也可以是示忙的狀態(tài)等。例如 某個處理裝置本身能處理的最大處理能力為IOOOmps (條/秒),當(dāng)該處理裝置的當(dāng)前流量 達到SOOmps時即為示忙狀態(tài),而當(dāng)該處理裝置的當(dāng)前流量超過IOOOmps時,即為過載狀態(tài), 當(dāng)某個處理裝置沒有返回查詢響應(yīng)時,集中控制裝置即判斷該處理裝置發(fā)生了故障。當(dāng)然, 集中控制裝置也可以根據(jù)處理裝置返回的查詢響應(yīng)或上報的運行信息中的數(shù)據(jù)來判斷處 理裝置是否故障。103、若判斷其中有發(fā)生異常的處理裝置,則向與所述異常的處理裝置相連的裝置 發(fā)送指示信息,所述指示信息包括減少對所述異常的處理裝置發(fā)送流量的信息。上述與異常的處理裝置相連的裝置可以是連接裝置。本實施例中的處理裝置可以 是消息業(yè)務(wù)中心,如短消息業(yè)務(wù)中心SMSC,若其中有發(fā)生異常的SMSC,則與該發(fā)生異常的 SMSC相連的連接裝置可以是短消息網(wǎng)關(guān)GIW;本實施例中的處理裝置也可以是多媒體業(yè)務(wù) 中心MMSC,則與該發(fā)生異常的MMSC相連的連接裝置可以是多媒體消息網(wǎng)關(guān)MMSG ;上述與異 常的處理裝置相連的裝置還可以是處理裝置,例如短消息業(yè)務(wù)中心SMSC或多媒體業(yè)務(wù)中 心MMSC。上述與異常的處理裝置相連的處理裝置或連接裝置可以根據(jù)上述指示減少對該異常的處理裝置發(fā)送的流量。該減少可以是所有與該異常的處理裝置相連的裝置發(fā)送給該異 常的處理裝置的流量之和的減少,也可以是其中某些與該異常的處理裝置相連的裝置發(fā)送 給該異常的處理裝置的流量的減少,且上述減少可以按照一定比例減少,如30%等,也可以 減少為0,如當(dāng)該異常的處理裝置具體為發(fā)生故障時。另外,上述指示信息還包括與所述 異常的處理裝置相連的裝置向與其相連的裝置發(fā)送流量的信息,如具體可以發(fā)送的流量。通過以上提供的分流集群流量的方法,可以充分發(fā)揮集群中各個處理裝置的能 力,提高集群的可用性。本發(fā)明另一個實施例提供了一種分流集群流量的方法,該實施例請參圖2所示, 該方法包括如下步驟201、集中控制裝置向各個處理裝置發(fā)送查詢運行信息的查詢消息;202、各個處理裝置根據(jù)上述查詢消息各自判斷其自身的運行狀態(tài),并向上述集中 控制裝置發(fā)送其自身的運行信息;各個處理裝置亦可以不根據(jù)查詢消息來進行判斷,而是主動判斷其自身的運行狀 態(tài),并主動將運行信息上報給集中控制裝置。203、集中控制裝置根據(jù)各個處理裝置發(fā)送過來的運行狀態(tài)判斷各個處理裝置是 否發(fā)生異常,本實施例以判斷處理裝置1發(fā)生異常,處理裝置2和處理裝置3與處理裝置1 兩兩相連為例進行說明。204、集中控制裝置向處理裝置2和處理裝置3發(fā)送指示信息,所述指示信息包括 減少對所述異常的處理裝置1發(fā)送流量的信息。205、處理裝置2和處理裝置3則分別按照上述指示減少對處理裝置1發(fā)送流量, 并將減少發(fā)給處理裝置1的流量各自發(fā)送給處理裝置3和處理裝置2。通過以上提供的分流集群流量的方法,可以充分發(fā)揮集群中各個處理裝置的能 力,提高集群的可用性。本發(fā)明又一個實施例提供了一種分流集群流量的方法,該實施例請參圖3所示, 本實施例中以處理裝置為SMSC,連接裝置為GIW為例進行說明,終端用戶發(fā)送過來的短消 息均經(jīng)過GIW而發(fā)送到SMSC進行處理。其中SMSC,GIff均為3個,GIffU GIW2與GIW3均 兩兩相連,且均與SMSCl、SMSC2、SMSC3相連接,本實施例中假設(shè)SMSC的最大處理能力為 lOOOmps,在正常情況下GIW1、GIW2、GIW3均是分別首先將短消息發(fā)送給SMSC1、SMSC2及 SMSC3進行處理的。本實施例包括以下步驟301、在某一時刻SMSC1、SMSC2及SMSC3分別判斷自身的運行狀態(tài),并將運行信 息主動上報給集中控制裝置,假如此刻GIWl發(fā)送給SMSCl的流量為lOOOmps,即處于異 常狀態(tài);GIW2發(fā)送給SMSC2的流量為800mps,處于正常狀態(tài);GIW3發(fā)送給SMSC的流量為 600mps,處于正常狀態(tài),且GIWl發(fā)送給SMSC2和SMSC3的流量為0,GIW2發(fā)送給SMSCl和 SMSC3的流量為0,GIW3發(fā)送給SMSCl和SMSC2的流量為0。這里也可以是集中控制裝置通過發(fā)送查詢消息給SMSC來獲取SMSC的運行信息。302、集中控制裝置根據(jù)上述SMSC發(fā)送的運行狀態(tài)判斷SMSCl處于異常狀態(tài), SMSC2和SMSC3處于正常狀態(tài),則指示和SMSCl相連的GIWl、GIW2及GIW3減少向SMSCl發(fā)送 短消息的流量,如減少一定的比例,這里以減少30%為例,且減少的30%以SMSC2及SMSC3 的空閑比例進行分配,即SMSC2和SMSC3按照(1000-800) (1000—600) = 1 2進行分配,
6即此時GIWl需發(fā)送給SMSCl的流量為1000X (1-30%) = 700mps ;GIWl需發(fā)送給SMSC2的 流量為(1000-700) X 1/(1+2) = IOOmps ;GIffl 需發(fā)送給 SMSC3 的流量為(1000-700) X 2/ (1+2) = 200mps,且GIW2和GIW3發(fā)送給SMSCl、SMSC2、SMSC3的流量均不變,則上述發(fā)給 GIWUGIW2及GIW3的指示信息中可以包括減少向SMSCl發(fā)送短消息的流量的信息外,還可 以包括具體的GIW1、GIW2及GIW3分別向SMSCl、SMSC2、SMSC3發(fā)送的流量。303、GIWl、GIW2及GIW3在下一個時刻按照集中控制裝置的指示減少對SMSCl發(fā) 送的流量,并按照指示信息中包括的流量向SMSC1、SMSC2、SMSC3發(fā)送。若上述GIW2及GIW3在步驟301中的時刻發(fā)送給SMSCl的流量不為0,則亦需按照 30%的比例減少發(fā)送給SMSCl,同樣亦需要將此部分減少的流量按照比例分配給SMSC2及 SMSC3,這里不在累述。304、當(dāng)集中控制裝置根據(jù)獲取的GIWl上的運行信息判斷SMSCl已由異常狀態(tài)轉(zhuǎn) 變?yōu)檎顟B(tài)時,如某一時刻GIWl處需轉(zhuǎn)發(fā)的處理流量從IOOOmps變?yōu)?00mps,而GIW2和 GIW3需轉(zhuǎn)發(fā)的流量均不變時,則集中控制裝置向GIW1、GIW2及GIW3發(fā)送轉(zhuǎn)變指令,該轉(zhuǎn)變 指令可以為指令GIW1、GIW2及GIW3向SMSCl、SMSC2及SMSC3發(fā)送短消息的流量按照最初 的缺省值處理,即此時,GIWl僅需要向SMSCl發(fā)送短消息,而無需向SMSC2及SMSC3發(fā)送短 消息,GIW2和GIW3亦分別只需向SMSC2和SMSC3發(fā)送短消息,而無需向其他SMSC發(fā)送短 消息,即GIWl向SMSC傳送的流量為500mps,向其他SMSC傳送的流量為0。該轉(zhuǎn)變指令也 可以是按照其他策略進行流量的重新分配。305、GIffU GIW2及GIW3根據(jù)上述轉(zhuǎn)變指令向各SMSC發(fā)送短消息。通過以上提供的分流集群流量的方法,通過對各個處理裝置進行運行狀態(tài)的監(jiān) 控,并在各個處理裝置發(fā)生異常的時候指示集群中其他與該異常的處理裝置減少發(fā)送流量 給該異常的處理裝置,故能充分利用各個處理裝置的能力,調(diào)整各個處理裝置的流量的流 程簡單,且該集中控制裝置無需直接承載多余的流量,對其硬件要求不高,可以有效降低集 群的成本和維護的難度。對應(yīng)于上述圖1至圖3所示的方法實施例,本發(fā)明實施例還提供一種分流集群流 量的裝置,如集中控制裝置,請參圖4所示,該裝置包括獲取模塊41,用于獲取各個處理裝置的運行信息;判斷模塊42,用于根據(jù)所述運行信息判斷上述各個處理裝置是否發(fā)生異常;發(fā)送模塊43,用于若判斷其中有發(fā)生異常的處理裝置,則向與所述異常的處理裝 置相連的裝置發(fā)送指示信息,所述指示信息包括減少對所述異常的處理裝置發(fā)送流量的信 肩、ο進一步地,所述發(fā)送模塊43具體用于若判斷其中有發(fā)生異常的處理裝置時,向 與所述異常的處理裝置相連的處理裝置或連接裝置發(fā)送指示信息。更進一步地,所述獲取模塊41具體用于向各個處理裝置發(fā)送查詢運行信息的查 詢消息,獲取各個處理裝置根據(jù)所述查詢消息發(fā)送的運行信息;或具體用于獲取各個處理 裝置主動上報的運行信息。更進一步地,發(fā)送模塊43還用于當(dāng)判斷上述異常的處理裝置已轉(zhuǎn)變?yōu)檎?態(tài),則向與上述與已轉(zhuǎn)變?yōu)檎顟B(tài)的處理裝置相連的裝置發(fā)送轉(zhuǎn)變指令。通過以上提供的分流集群流量的裝置,可以充分發(fā)揮集群中各個處理裝置的能力,提高集群的可用性。對應(yīng)于上述圖1至圖3所示的方法實施例,本發(fā)明實施例還提供一種分流服務(wù)器, 如前述實施例中提到的處理裝置或連接裝置,請參圖5所示,該裝置包括接收模塊51,用于接收分流集群流量的裝置發(fā)送的指示信息,所述指示信息包括 減少對異常的處理裝置發(fā)送流量的信息,處理模塊52,用于根據(jù)所述指示信息,減少對異常的處理裝置發(fā)送流量。進一步 地,所述指示信息還包括與所述異常的處理裝置相連的裝置向與其相連的裝置發(fā)送流量的信息,所述處理 模塊還用于根據(jù)所述指示信息,向與所述分流服務(wù)器相連的裝置發(fā)送相應(yīng)的流量。通過以上提供的分流服務(wù)器,可以充分發(fā)揮集群中各個處理裝置的能力,提高集 群的可用性。另外,實現(xiàn)本發(fā)明實施例的軟件可以存儲于一計算機可讀存儲介質(zhì)中,該軟件在 執(zhí)行時,包括以下步驟獲取各個處理裝置的運行信息;根據(jù)所述運行信息判斷所述各個 處理裝置是否發(fā)生異常;若判斷其中有發(fā)生異常的處理裝置,則向與所述異常的處理裝置 相連的裝置發(fā)送指示信息,所述指示信息包括減少對所述異常的處理裝置發(fā)送流量的信 息。所述的存儲介質(zhì)可以為Rom/Ram,磁盤,光盤等。以上所述僅為本發(fā)明的常見實施方案,并不用以限制本發(fā)明,凡在本發(fā)明的精神 和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
一種分流集群流量的方法,其特征在于,包括獲取各個處理裝置的運行信息;根據(jù)所述運行信息判斷所述各個處理裝置是否發(fā)生異常;若判斷其中有發(fā)生異常的處理裝置,則向與所述異常的處理裝置相連的裝置發(fā)送指示信息,所述指示信息包括減少對所述異常的處理裝置發(fā)送流量的信息。
2.如權(quán)利要求1所述的方法,其特征在于,所述向與所述異常的處理裝置相連的裝置發(fā)送指示信息具體為向與所述異常的處理 裝置相連的處理裝置或連接裝置發(fā)送指示信息。
3.如權(quán)利要求2所述的方法,其特征在于,所述處理裝置為消息中心,所述連接裝置為 消息網(wǎng)關(guān)。
4.如權(quán)利要求1所述的方法,其特征在于,所述獲取各個處理裝置的運行信息具體包括向各個處理裝置發(fā)送查詢運行信息的查詢消息,以獲取各個處理裝置根據(jù)所述查詢消 息發(fā)送的運行信息;或獲取各個處理裝置主動上報的運行信息。
5.如權(quán)利要求1所述的方法,其特征在于,還包括若判斷所述異常的處理裝置已轉(zhuǎn)變?yōu)檎顟B(tài),則向與所述與已轉(zhuǎn)變?yōu)檎顟B(tài)的處 理裝置相連的裝置發(fā)送轉(zhuǎn)變指令。
6.如權(quán)利要求1所述的方法,其特征在于,所述指示信息還包括與所述異常的處理裝置相連的裝置向與其相連的裝置發(fā)送流量的信息。
7.一種分流集群流量的裝置,其特征在于,包括獲取模塊,用于獲取各個處理裝置的運行信息;判斷模塊,用于根據(jù)所述運行信息判斷所述各個處理裝置是否發(fā)生異常;發(fā)送模塊,用于若判斷其中有發(fā)生異常的處理裝置,則向與所述異常的處理裝置相連 的裝置發(fā)送指示信息,所述指示信息包括減少對所述異常的處理裝置發(fā)送流量的信息。
8.如權(quán)利要求8所述的裝置,其特征在于,所述發(fā)送模塊具體用于若判斷其中有發(fā)生異常的處理裝置時,向與所述異常的處理 裝置相連的處理裝置或連接裝置發(fā)送指示信息。
9.如權(quán)利要求8或9所述的裝置,其特征在于,所述獲取模塊具體用于向各個處理 裝置發(fā)送查詢運行信息的查詢消息,以獲取各個處理裝置根據(jù)所述查詢消息發(fā)送的運行信 息;或用于獲取各個處理裝置主動上報的運行信息。
10.如權(quán)利要求10所述的裝置,其特征在于,發(fā)送模塊還用于當(dāng)判斷所述異常的處理 裝置已轉(zhuǎn)變?yōu)檎顟B(tài),則向與所述與已轉(zhuǎn)變?yōu)檎顟B(tài)的處理裝置相連的裝置發(fā)送轉(zhuǎn)變 指令。
11.一種分流服務(wù)器,其特征在于,包括接收模塊,用于接收分流集群流量的裝置發(fā)送的指示信息,所述指示信息包括減少對 異常的處理裝置發(fā)送流量的信息,處理模塊,用于根據(jù)所述指示信息,減少對異常的處理裝置發(fā)送流量。
12.如權(quán)利要求12所述的分流服務(wù)器,其特征在于,所述指示信息還包括 與所述異常的處理裝置相連的裝置向與其相連的裝置發(fā)送流量的信息,所述處理模塊 還用于根據(jù)所述指示信息,向與所述分流服務(wù)器相連的裝置發(fā)送相應(yīng)的流量。
全文摘要
本發(fā)明公開了一種分流集群流量的方法及相關(guān)裝置,該分流集群流量的方法包括獲取各個處理裝置的運行信息;根據(jù)所述運行信息判斷所述各個處理裝置是否發(fā)生異常;若判斷其中有發(fā)生異常的處理裝置,則向與所述異常的處理裝置相連的裝置發(fā)送指示信息,所述指示信息包括減少對所述異常的處理裝置發(fā)送流量的信息。通過本發(fā)明提供的方法及相關(guān)裝置,可以充分發(fā)揮集群中各個處理裝置的能力,提高集群的可用性。
文檔編號H04L29/06GK101938401SQ20091010855
公開日2011年1月5日 申請日期2009年6月30日 優(yōu)先權(quán)日2009年6月30日
發(fā)明者肖白沙 申請人:華為技術(shù)有限公司