一種業(yè)務(wù)處理模塊負(fù)載均衡的方法及媒體服務(wù)器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種業(yè)務(wù)處理模塊負(fù)載均衡的方法及媒體服務(wù)器。
【背景技術(shù)】
[0002]媒體服務(wù)器(Media Server,簡(jiǎn)稱MS)是軟交換體系中提供專用媒體資源功能的獨(dú)立設(shè)備,也是分組網(wǎng)絡(luò)中的重要設(shè)備,提供基本和增強(qiáng)業(yè)務(wù)中的媒體處理功能,用于所有與音視頻相關(guān)的媒體處理,包括視頻和音頻RTP (Real-timeTransport Protocol,實(shí)時(shí)傳輸協(xié)議)數(shù)據(jù)流到視音頻文件的相互轉(zhuǎn)換。同時(shí),也負(fù)責(zé)接收用戶通過(guò)終端的DTMF(Dual ToneMulti Frequency,即雙音多頻)輸入、播放業(yè)務(wù)的引導(dǎo)語(yǔ)音、顯示動(dòng)態(tài)的引導(dǎo)畫面。它具有的SIP協(xié)議(會(huì)話發(fā)起協(xié)議)和MSML/M0ML(媒體服務(wù)器標(biāo)記語(yǔ)言/媒體對(duì)象標(biāo)記語(yǔ)言)能力使得其能在應(yīng)用服務(wù)器APP的控制下完成整個(gè)會(huì)話過(guò)程與用戶的交互。
[0003]應(yīng)用服務(wù)器(Applicat1n Server,簡(jiǎn)稱App)負(fù)責(zé)各種增值業(yè)務(wù)和智能業(yè)務(wù)的邏輯產(chǎn)生和管理,并且還提供各種開放的API (Applicat1n Programming Interface,應(yīng)用程序編程接口),為第三方業(yè)務(wù)的開發(fā)提供創(chuàng)作平臺(tái)。應(yīng)用服務(wù)器是一個(gè)獨(dú)立的組件,與控制層的軟交換無(wú)關(guān),從而實(shí)現(xiàn)了業(yè)務(wù)與呼叫控制的分離,有利于新業(yè)務(wù)的引入。
[0004]消息分發(fā)單元(MDU),接收APP下發(fā)的sip信令,并且將信令轉(zhuǎn)發(fā)到各個(gè)模塊。
[0005]如圖1所示,在MDU任意轉(zhuǎn)發(fā)信令處理的情況下,各業(yè)務(wù)處理模塊(以下用CP表示)通信信令口參數(shù)(IP、Port)直接配置在網(wǎng)管界面上,MDU服務(wù)節(jié)點(diǎn)解析sip頭字段callid信息(用戶唯一標(biāo)識(shí)),并且將其轉(zhuǎn)換成整型數(shù)據(jù),采用與配置模塊數(shù)模后取余的方法來(lái)確定信令轉(zhuǎn)發(fā)模塊。
[0006]采用以上方法處理信令轉(zhuǎn)發(fā)有如下缺點(diǎn):1、如果所發(fā)某個(gè)已配CP狀態(tài)異常,信令仍然會(huì)發(fā)到該CP,引起呼損;2、通過(guò)解析callid的方式確定所轉(zhuǎn)發(fā)CP,如果callid不是按照一定規(guī)律生成,會(huì)導(dǎo)致信令集中轉(zhuǎn)發(fā)的同一 CP,引起某一 CP上呼叫量過(guò)大,用戶達(dá)到上限會(huì)出現(xiàn)呼損,并且會(huì)話處理性能明顯下降。
【發(fā)明內(nèi)容】
[0007]本發(fā)明要解決的技術(shù)問(wèn)題是提供一種業(yè)務(wù)處理模塊負(fù)載均衡的方法及媒體服務(wù)器,用以解決現(xiàn)有的信令轉(zhuǎn)發(fā)處理方式,因未考慮已配業(yè)務(wù)處理模塊的狀態(tài)以及業(yè)務(wù)處理模塊對(duì)用戶業(yè)務(wù)的已轉(zhuǎn)發(fā)情況,從而影響用戶通信質(zhì)量的問(wèn)題。
[0008]為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供一種業(yè)務(wù)處理模塊負(fù)載均衡的方法,包括:
[0009]接收信令消息;
[0010]利用負(fù)載均衡算法,從媒體服務(wù)器的多個(gè)業(yè)務(wù)處理模塊中選擇出用于處理所述信令消息的第一業(yè)務(wù)處理模塊;
[0011]將所述信令消息轉(zhuǎn)發(fā)到所述第一業(yè)務(wù)處理模塊進(jìn)行轉(zhuǎn)發(fā)處理。
[0012]進(jìn)一步地,所述利用負(fù)載均衡算法,從媒體服務(wù)器的多個(gè)業(yè)務(wù)處理模塊中選擇出用于處理所述信令消息的第一業(yè)務(wù)處理模塊的步驟包括:
[0013]獲取滿足預(yù)設(shè)條件的所有業(yè)務(wù)處理模塊的用戶量信息,所述用戶量信息包括業(yè)務(wù)處理模塊的可用總用戶量以及當(dāng)前已在用的用戶量;
[0014]確定每個(gè)所述業(yè)務(wù)處理模塊的用戶量占用百分比;
[0015]選取用戶占用量百分比最小的一個(gè)業(yè)務(wù)處理模塊作為處理所述信令消息的第一業(yè)務(wù)處理模塊。
[0016]進(jìn)一步地,所述預(yù)設(shè)條件為:業(yè)務(wù)處理模塊處于正常工作狀態(tài)且CPU占用量小于預(yù)設(shè)值。
[0017]進(jìn)一步地,所述確定每個(gè)所述業(yè)務(wù)處理模塊的用戶量占用百分比具體為:
[0018]根據(jù)當(dāng)前已在用的用戶量與可用總用戶量的比值,計(jì)算得到每個(gè)所述業(yè)務(wù)處理模塊的用戶量占用百分比。
[0019]進(jìn)一步地,在所述選取用戶占用量百分比最小的一個(gè)業(yè)務(wù)處理模塊作為處理所述信令消息的第一業(yè)務(wù)處理模塊之后,還包括:獲取所述第一業(yè)務(wù)處理模塊的地址信息,所述地址信息包括所述第一業(yè)務(wù)處理模塊的IP地址以及端口號(hào)信息;
[0020]進(jìn)一步根據(jù)所述地址信息,將所述信令消息轉(zhuǎn)發(fā)到所述第一業(yè)務(wù)處理模塊進(jìn)行轉(zhuǎn)發(fā)處理。
[0021]本發(fā)明實(shí)施例提供一種媒體服務(wù)器,包括多個(gè)業(yè)務(wù)處理模塊,其中,還包括:
[0022]消息分發(fā)單元,用于接收信令消息;
[0023]選擇單元,利用負(fù)載均衡算法,從媒體服務(wù)器的多個(gè)業(yè)務(wù)處理模塊中選擇出用于處理所述信令消息的第一業(yè)務(wù)處理模塊;
[0024]所述消息分發(fā)單元還用于將所述信令消息轉(zhuǎn)發(fā)到所述第一業(yè)務(wù)處理模塊進(jìn)行轉(zhuǎn)發(fā)處理。
[0025]進(jìn)一步地,所述選擇單元包括:
[0026]獲取子單元,用于獲取滿足預(yù)設(shè)條件的所有業(yè)務(wù)處理模塊的用戶量信息,所述用戶量信息包括業(yè)務(wù)處理模塊的可用總用戶量以及當(dāng)前已在用的用戶量;
[0027]計(jì)算子單元,用于確定每個(gè)所述業(yè)務(wù)處理模塊的用戶量占用百分比;
[0028]選取子單元,用于選取用戶占用量百分比最小的一個(gè)業(yè)務(wù)處理模塊作為處理所述信令消息的第一業(yè)務(wù)處理模塊。
[0029]進(jìn)一步地,所述預(yù)設(shè)條件為:業(yè)務(wù)處理模塊處于正常工作狀態(tài)且CPU占用量小于預(yù)設(shè)值。
[0030]進(jìn)一步地,所述計(jì)算子單元根據(jù)當(dāng)前已在用的用戶量與可用總用戶量的比值,計(jì)算得到每個(gè)所述業(yè)務(wù)處理模塊的用戶量占用百分比。
[0031]進(jìn)一步地,所述媒體服務(wù)器,還包括:
[0032]獲取單元,用于獲取所述第一業(yè)務(wù)處理模塊的地址信息,所述地址信息包括所述第一業(yè)務(wù)處理模塊的IP地址以及端口號(hào)信息;
[0033]進(jìn)一步所述消息分發(fā)單元根據(jù)所述地址信息,將所述信令消息轉(zhuǎn)發(fā)到所述第一業(yè)務(wù)處理模塊進(jìn)行轉(zhuǎn)發(fā)處理。
[0034]本發(fā)明的有益效果是:
[0035]上述方案,通過(guò)利用負(fù)載均衡算法獲取得到較適合的信令轉(zhuǎn)發(fā)的業(yè)務(wù)處理模塊,解決了因未考慮已配業(yè)務(wù)處理模塊的狀態(tài)以及業(yè)務(wù)處理模塊對(duì)用戶業(yè)務(wù)的已轉(zhuǎn)發(fā)情況,從而影響用戶通信質(zhì)量的問(wèn)題,此種方式,提高了媒體服務(wù)器的整體容錯(cuò)能力,同時(shí)提升了用戶體驗(yàn)效果。
【附圖說(shuō)明】
[0036]圖1表示現(xiàn)有的信令消息轉(zhuǎn)發(fā)過(guò)程示意圖;
[0037]圖2表示本發(fā)明實(shí)施例的所述方法的總體流程圖;
[0038]圖3表示本發(fā)明實(shí)施例的信令消息轉(zhuǎn)發(fā)過(guò)程示意圖;
[0039]圖4表示本發(fā)明信令消息轉(zhuǎn)發(fā)的處理時(shí)序圖。
【具體實(shí)施方式】
[0040]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
[0041]本發(fā)明針對(duì)因未考慮已配業(yè)務(wù)處理模塊的狀態(tài)以及業(yè)務(wù)處理模塊對(duì)用戶業(yè)務(wù)的已轉(zhuǎn)發(fā)情況,從而影響用戶通信質(zhì)量的問(wèn)題,提供一種業(yè)務(wù)處理模塊負(fù)載均衡的方法及媒體服務(wù)器。
[0042]如圖2所示,本發(fā)明實(shí)施例提供一種業(yè)務(wù)處理模塊負(fù)載均衡的方法,包括:
[0043]步驟10,接收信令消息;
[0044]步驟20,利用負(fù)載均衡算法,從媒體服務(wù)器的多個(gè)業(yè)務(wù)處理模塊中選擇出用于處理所述信令消息的第一業(yè)務(wù)處理模塊;
[0045]步驟30,將所述信令消息轉(zhuǎn)發(fā)到所述第一業(yè)務(wù)處理模塊進(jìn)行轉(zhuǎn)發(fā)處理。
[0046]應(yīng)當(dāng)說(shuō)明的是,上述實(shí)施例,考慮了已配業(yè)務(wù)處理模塊的狀態(tài)以及業(yè)務(wù)處理模塊對(duì)用戶業(yè)務(wù)的已轉(zhuǎn)發(fā)情況,通過(guò)利用負(fù)載均衡算法,獲取得到較適合的信令轉(zhuǎn)發(fā)的業(yè)務(wù)處理模塊,避免了使用原來(lái)的信令轉(zhuǎn)發(fā)方式,可能造成的通信損失的情況。
[0047]本發(fā)明另一實(shí)施例中,所述步驟20具體為:
[0048]步驟21,獲取滿足預(yù)設(shè)條件的所有業(yè)務(wù)處理模塊的用戶量信息,所述用戶量信息包括業(yè)務(wù)處理模塊的可用總用戶量以及當(dāng)前已在用的用戶量;
[0049]所述預(yù)設(shè)條件為:業(yè)務(wù)處理模塊處于正常工作狀態(tài)且CPU占用量小于預(yù)設(shè)值;
[0050]步驟22,確定每個(gè)所述業(yè)務(wù)處理模塊的用戶量占用百分比;
[0051]步驟23,選取用戶占用量百分比最小的一個(gè)業(yè)務(wù)處理模塊作為處理所述信令消息的第一業(yè)務(wù)處理模塊。
[0052]具體的,所述步驟22的具體實(shí)現(xiàn)為:根據(jù)當(dāng)前已在用的用戶量與可用總用戶量的比值,計(jì)算得到每個(gè)所述業(yè)務(wù)處理模塊的用戶量占用百分比。
[0053]應(yīng)當(dāng)說(shuō)明的是,在媒體服務(wù)器的數(shù)據(jù)庫(kù)中存有業(yè)務(wù)處理模塊的信息表,所述信息表中主要包含有每個(gè)業(yè)務(wù)處理模塊的狀態(tài)信息(正常工作狀態(tài)、非正常工作狀態(tài))、CPU占用量信息、業(yè)務(wù)處理模塊的可用總用戶量以及當(dāng)前已在用的用戶量,在選取業(yè)務(wù)處理模塊時(shí),首先根據(jù)信息表中的業(yè)務(wù)處理模塊的狀態(tài)信息和CPU占用量信息選擇出處于正常工作狀態(tài)的且CPU占用量小于給定閥值(該閥值的大小可以依據(jù)實(shí)際情況進(jìn)行配置,例如配置只有CPU占用量小于70%時(shí),所述業(yè)務(wù)處理模塊的信息才會(huì)被選取得到)的業(yè)務(wù)處理模塊列表,根據(jù)此條件選擇出的業(yè)務(wù)處理模塊,確保了所述信令消息能被處理,而避免了因選取到了有問(wèn)題的業(yè)務(wù)處理模塊,耽擱了信令消息的處理,造成通信的中斷;在獲取到滿足條件的業(yè)務(wù)處理模塊之后,根據(jù)業(yè)務(wù)處理模塊的可用總用戶量以及當(dāng)前已在用的用戶量計(jì)算得到每個(gè)業(yè)務(wù)處理模塊的用戶量占用百分比(具體公式為:用戶占用量百分比=當(dāng)前已在用的用戶量/可用總用戶量X 100%),然后按照用戶量占用百分比從大到小的原則對(duì)所有滿足預(yù)設(shè)條件的業(yè)務(wù)處理模塊進(jìn)行排序,從排序后的序列中選取得到用戶占用量百分比最小的業(yè)務(wù)處理模塊,即作為處理所述信令消息的第一業(yè)務(wù)處理模塊,將所述信令消息轉(zhuǎn)發(fā)到所述第一業(yè)務(wù)處理模塊,完成相應(yīng)的通信過(guò)程,此種方式保證了信令消息的處理的準(zhǔn)確性,保證了通信成功率。
[0054]應(yīng)當(dāng)說(shuō)明的是,在獲取得到所述第一業(yè)務(wù)處理模塊后,還需要獲取所述第一業(yè)務(wù)處理模塊的地址信息,作為所述信令消息的轉(zhuǎn)發(fā)依據(jù),所述地址信息包括第一業(yè)務(wù)處理模塊的IP地址以及端口號(hào)信息(此數(shù)據(jù)需要在數(shù)據(jù)庫(kù)中提取得到),依據(jù)所述地址信息將所述信令消息轉(zhuǎn)發(fā)到相應(yīng)的業(yè)務(wù)處理模塊,完成相應(yīng)的通信。
[0055]這里需要說(shuō)明的是,在接收到信令消息后,本發(fā)明提供了兩種獲取所述第一業(yè)務(wù)處理模塊的方式:
[0056]方式一:實(shí)時(shí)獲