報文轉(zhuǎn)發(fā)系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種報文轉(zhuǎn)發(fā)系統(tǒng)及方法。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)通信業(yè)務(wù)的迅猛發(fā)展,多媒體業(yè)務(wù)的種類和應(yīng)用越來越多,各業(yè)務(wù)之間通信的數(shù)據(jù)流量也越來越大,當(dāng)多個客戶端的多個業(yè)務(wù)同時與服務(wù)器端進行對話時,服務(wù)器端在轉(zhuǎn)發(fā)消息時會因為業(yè)務(wù)數(shù)據(jù)流量較大而產(chǎn)生堵塞,尤其對時間延遲較敏感的語音類報文而言,其堵塞現(xiàn)象會更明顯。當(dāng)消息在服務(wù)端堵塞時,會使得接收端接收的消息產(chǎn)生延遲,從而影響用戶的業(yè)務(wù)體驗,轉(zhuǎn)發(fā)效率也不高。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決的技術(shù)問題是克服現(xiàn)有技術(shù)中服務(wù)器端在轉(zhuǎn)發(fā)報文時會因報文的數(shù)據(jù)流量較大而容易堵塞影響轉(zhuǎn)發(fā)效率的缺陷,提供一種報文轉(zhuǎn)發(fā)系統(tǒng)及方法。
[0004]本發(fā)明是通過下述技術(shù)方案來解決上述技術(shù)問題的:
[0005]本發(fā)明提供了一種報文轉(zhuǎn)發(fā)系統(tǒng),其特點在于,包括一會話管理模塊、一報文處理模塊、一第一判斷模塊、一第二判斷模塊、一接收隊列及一發(fā)送隊列,所述發(fā)送隊列包括一優(yōu)先隊列及一普通隊列;
[0006]所述會話管理模塊用于與多個客戶端建立會話,為每個客戶端分配IP地址及端口號,并將每個客戶端發(fā)送的報文放入所述接收隊列中;
[0007]所述報文處理模塊用于取出所述接收隊列中的報文,并從取出的報文中解析出客戶端的IP地址和端口號以及報文的協(xié)議類型和報文的長度;
[0008]所述第一判斷模塊用于判斷解析出的IP地址是否為一第一 IP地址以及端口號是否為一第一端口號,在判斷均為是時,調(diào)用所述第二判斷模塊,否則,調(diào)用所述報文處理模塊將取出的報文放入所述普通隊列中;
[0009]所述第二判斷模塊用于判斷解析出的協(xié)議類型是否為一第一協(xié)議類型以及長度是否為一第一長度,在判斷均為是時,調(diào)用所述報文處理模塊將取出的報文放入所述優(yōu)先隊列中,否則,調(diào)用所述報文處理模塊將取出的報文放入所述普通隊列中;
[0010]所述報文處理模塊還用于優(yōu)先轉(zhuǎn)發(fā)所述優(yōu)先隊列中的報文,然后再轉(zhuǎn)發(fā)所述普通隊列中的報文。
[0011]在本方案中,會話管理模塊在與多個客戶端進行會話時,第一判斷模塊與第二判斷模塊會對多個客戶端發(fā)出的報文進行篩選,并調(diào)用報文處理模塊將滿足判斷條件的報文放入優(yōu)先隊列進行優(yōu)先轉(zhuǎn)發(fā),然后再轉(zhuǎn)發(fā)普通隊列內(nèi)的報文,這樣能夠及時將一些需要立刻轉(zhuǎn)發(fā)的報文進行優(yōu)先轉(zhuǎn)發(fā),避免了大數(shù)據(jù)流量的報文在轉(zhuǎn)發(fā)端產(chǎn)生堵塞的情況。
[0012]其中,在判斷時可以先針對報文的地址來源即IP (互聯(lián)網(wǎng)協(xié)議)地址和端口號進行優(yōu)先轉(zhuǎn)發(fā)。該第一 IP地址及該第一端口號可以是某幾個客戶端的IP地址和端口號,即只要是某個客戶端的某個端口發(fā)出的報文,就可以作為進一步衡量是否需要優(yōu)先轉(zhuǎn)發(fā)的判斷基礎(chǔ);進一步地,由于客戶端發(fā)出的報文類型不一,報文自身的詳細(xì)信息也不同,根據(jù)用戶需要對一些特定類型或特定長度的報文進行優(yōu)先轉(zhuǎn)發(fā),如對時延敏感的報文的協(xié)議類型,報文長度較大或較小的,進行進一步篩選,這樣能夠精確地定位某一種或某幾種報文,并對該些報文進行實際優(yōu)先轉(zhuǎn)發(fā),而不會形成誤轉(zhuǎn)發(fā)的情況。
[0013]較佳地,所述第一協(xié)議類型為UDP (用戶數(shù)據(jù)協(xié)議)協(xié)議。此處的第一協(xié)議類型可以是用戶設(shè)定的音頻類協(xié)議,視頻類協(xié)議或其它的私有協(xié)議等。
[0014]較佳地,所述第一長度的范圍為O?250字節(jié)。
[0015]本發(fā)明的目的在于還提供了一種報文轉(zhuǎn)發(fā)方法,其特點在于,其利用上述報文轉(zhuǎn)發(fā)系統(tǒng)實現(xiàn),包括以下步驟:
[0016]S1、所述會話管理模塊與多個客戶端建立會話,為每個客戶端分配IP地址及端口號,并將每個客戶端發(fā)送的報文放入所述接收隊列;
[0017]S2、所述報文處理模塊取出所述接收隊列中的報文并從取出的報文中解析出客戶端的IP地址和端口號以及報文的協(xié)議類型和報文的長度;
[0018]S3、所述第一判斷模塊判斷解析出的IP地址是否為所述第一 IP地址,端口號是否為所述第一端口號,若判斷均為是,則執(zhí)行步驟S4,否則,調(diào)用所述報文處理模塊將所述報文放入所述普通隊列,然后執(zhí)行步驟S5 ;
[0019]S4、所述第二判斷模塊判斷解析出的協(xié)議類型是否為所述第一協(xié)議類型,報文的長度是否為所述第一長度,若判斷均為是,則調(diào)用所述報文處理模塊將所述報文放入所述優(yōu)先隊列,否則,調(diào)用所述報文處理模塊將所述報文放入所述普通隊列;
[0020]S5、所述報文處理模塊優(yōu)先轉(zhuǎn)發(fā)所述優(yōu)先隊列內(nèi)的報文,然后再轉(zhuǎn)發(fā)所述普通隊列內(nèi)的報文。
[0021 ] 較佳地,所述第一協(xié)議類型為UDP協(xié)議。
[0022]較佳地,所述第一長度的范圍為O?250字節(jié)。
[0023]本發(fā)明的積極進步效果在于:通過將客戶端發(fā)送的報文經(jīng)過兩次篩選,使得本方案的報文轉(zhuǎn)發(fā)系統(tǒng)及方法能夠及時將一些需要立刻轉(zhuǎn)發(fā)的報文進行優(yōu)先轉(zhuǎn)發(fā),避免了大數(shù)據(jù)流量的報文在轉(zhuǎn)發(fā)端產(chǎn)生堵塞的情況,還能提高報文轉(zhuǎn)發(fā)的精確性和轉(zhuǎn)發(fā)效率。
【附圖說明】
[0024]圖1為本發(fā)明實施例1的報文轉(zhuǎn)發(fā)系統(tǒng)的結(jié)構(gòu)示意圖。
[0025]圖2為本發(fā)明實施例1的報文轉(zhuǎn)發(fā)方法的流程圖。
【具體實施方式】
[0026]下面通過實施例的方式進一步說明本發(fā)明,但并不因此將本發(fā)明限制在所述的實施例范圍之中。
[0027]實施例1
[0028]本實施例提供一種報文轉(zhuǎn)發(fā)系統(tǒng),如圖1所不,包括一會話管理模塊1、一報文處理模塊2、一第一判斷模塊3、一第二判斷模塊4、一接收隊列5及一發(fā)送隊列6,所述發(fā)送隊列包括一優(yōu)先隊列60及一普通隊列61 ;
[0029]會話管理模塊I用于與多個客戶端建立會話,為每個客戶端分配IP地址及端口號,并將每個客戶端發(fā)送的報文放入接收隊列5中;
[0030]報文處理模塊2用于取出接收隊列5中的報文,并從取出的報文中解析出客戶端的IP地址和端口號以及報文的協(xié)議類型和報文的長度;
[0031]第一判斷模塊3用于判斷解析出的IP地址是否為一第一 IP地址以及端口號是否為一第一端口號,在判斷均為是時,調(diào)用第二判斷模塊4,否則,調(diào)用報文處理模塊2將取出的報文放入普通隊列61中;
[0032]第二判斷模塊4用于判斷解析出的協(xié)議類型是否為一第一協(xié)議類型以及長度是否為一第一長度,其中,該第一協(xié)議類型為m)P協(xié)議,該第一長度的范圍為O?250字節(jié),在判斷均為是時,調(diào)用報文處理模2塊將取出的報文放入優(yōu)先隊列60中,否則,調(diào)用報文處理模塊2將取出的報文放入普通隊列61中;
[0033]報文處理模塊2還用于優(yōu)先轉(zhuǎn)發(fā)優(yōu)先隊列60中的報文,然后再轉(zhuǎn)發(fā)普通隊列61中的報文。