專利名稱:一種分布式處理網關中h.248消息的處理方法及系統的制作方法
技術領域:
本發明涉及通信領域的信令處理,具體地說,涉及NGN(下一代網絡,如WCDMA/CDMA2000/TD-SCDMA/SOFTSWITCH)系統中Mc接口(MSCServer和MGW媒體網關間的接口)的H.248的信令處理。
背景技術:
H.248協議被3GPP/3GPP2等組織采用,作為Mc接口的協議標準,主要用于MSCServer和MGW之間的網關控制以及承載建立控制。
MSCServer與MGW之間通過H.248通信,消息可以選擇文本方式或二進制方式進行編碼。H.248消息長度通常在100到300字節之間。H.248的消息編碼呈層次性,如圖1所示,從外向內嵌套依次是事務(Transaction)/動作(Action)/命令(Command)事務事務由若干動作組成,事務具有完整性,同一個事務中的動作和命令要求順序執行。在移動應用中,事務有事務請求,事務應答,事務進行三類。
動作動作由若干命令組合而成,動作一般有具體的含義,特殊情況下,一個動作由一條命令組成。動作實際上是一組命令的標識。
命令命令是MSCServer和MGW實現交互信息的基本單位,命令中包括各種命令參數。命令的操作對象是上下文(Context),上下文以上下文標識(Context ID)區分。上下文與呼叫對應,維護參與呼叫的終結點(Termination)狀態。
一個消息(Message)中可以有多個事務,一個事務中可以封裝多個針對不同上下文的動作,一個動作中可以封裝針對同一個終結點的命令。
H.248規定,一個消息(Message)中的事務不需要順序的處理,但一個事務中的動作和一個動作中的命令需要順序處理。
目前常用的H.248協議處理方案中,H.248消息在同一模塊上處理,隨著需求的增加,網關需要處理的呼叫數量也不斷增加,而原有的單模塊處理方法受處理器能力限制很大。
在移動網絡中,存在大容量MSCServer和大容量MGW的應用,需要采用多個處理模塊協同工作來提高系統的處理能力。例如,中國專利申請(申請號03126453.0)中公開了一種分布式的MGW,由多個與外部通信網連接的H.248接口板、多個H.248分布式處理模塊和H.248集中維護處理模塊構成,各接口板、處理模塊之間通過內部通信網絡通信,需要說明的是,本發明并不限于某種具體的分布式處理系統結構。
在大容量的應用下,僅僅簡單地增加處理模塊并不能平滑地擴展系統處理能力,還必須設計一種分布式環境下H.248消息的分布式處理方法,使得多個處理模塊可以協同完成H.248消息的處理。
發明內容
本發明要解決的技術問題是提供一種分布式處理網關中H.248消息的處理方法,可以實現H.248信令消息的分級分布處理。
為了解決以上技術問題,本發明提供了一種分布式處理網關中H.248消息的處理方法,包括以下步驟(a)消息處理單元將一個進入MGW的H.248消息解碼為一組事務,根據解出的相關信息,將各事務分發到對應處理模塊或指定處理模塊的事務處理單元;(b)事務處理單元將接收的事務解碼為一組動作,將第一個動作發送到其對應上下文標識信息所在的處理模塊或指定處理模塊的動作處理單元;(c)動作處理單元將接收的動作解碼為一組命令;(d)解釋所述命令,將第一個命令發到命令所針對終結點所在處理模塊的命令執行單元;(e)命令執行單元負責執行命令,必要時向分發所述命令的動作處理單元返回命令執行結果;(f)動作處理單元保存命令的執行結果,將余下的命令按上述方式依次發送處理完畢,然后將組合后的命令執行結果發送給分發該動作的事務處理單元;
(g)事務處理單元接收到所述命令執行結果后,將余下的動作按上述方式依次分發完畢。
為了提高內部通信的可靠性,所述事務處理單元分發動作后,啟動時鐘等待,如果到時之前收到所述動作的執行結果,保存執行結果,否則進行失敗處理。
為了提高內部通信的可靠性,在發送的命令需要應答時,所述動作執行單元在發送后啟動一個時鐘,在到時之前收到所述命令的執行結果,執行步驟(f),否則認為命令執行失敗,進行錯誤處理。
當事務需要應答時,所述步驟(g)后還包括步驟事務處理單元生成事務的應答,并與同一處理模塊的其他事務應答組合成消息后發送。
所述步驟(a)中,對于應答和等待類事務,可直接根據解出的事務ID發送到對應事務請求的處理模塊,對于請求類事務,則利用事務ID結合本地制訂的分擔原則進行分發。
本發明要解決的另一技術問題是提供一種分布式處理網關中H.248消息的處理系統,可以實現H.248信令消息的分級分布處理。
為了解決上述技術問題,本發明還提供了一種分布式處理網關中H.248消息的處理系統,其特征在于,包括分布式的多個消息處理單元、事務處理單元、動作處理單元及命令執行單元,所述各單元在不同的處理模塊上時,通過內部通信網相互通信,其中所述消息處理單元包括消息解碼子單元,用于將一個進入MGW的H.248消息解碼為一組事務;消息分發子單元,用于根據解出的相關信息,將各事務分發到對應處理模塊或指定處理模塊的事務處理單元;所述事務處理單元包括事務解碼子單元,用于將接收的事務解碼為一組動作;事務分發子單元,用于將事務中的動作依次分發到其對應上下文標識信息所在的處理模塊或指定處理模塊的動作處理單元;所述動作處理單元包括動作解碼子單元,用于將接收的動作解碼為一組命令,并解釋所述命令;動作分發子單元,用于將動作中的命令依次發送到命令所針對終結點所在處理模塊的命令執行單元;動作應答子單元,保存各次的命令執行結果,并將組合后的命令執行結果發送給分發該動作的事務處理單元;所述命令執行單元用于執行命令,向給其發送命令的動作處理單元返回必要的命令執行結果。
為了提高內部通信的可靠性,所述事務處理單元還包括一個事務時鐘控制子單元,用于在發送一個動作后啟動時鐘等待,如果在到時之前收到所述動作的執行結果后,保存執行結果,否則進行失敗處理。
為了提高內部通信的可靠性,所述動作處理單元還包括一個動作時鐘控制子單元,用于在發送的命令需要應答時,啟動一個時鐘,在到時之前收到所述命令的執行結果,保存該結果,否則認為命令失敗,進行錯誤處理。
上述系統中,所述事務處理單元還包括一個事務應答子單元,用于將同一處理模塊的事務應答組合成為消息發送。
由上可知,本發明提供的H.248消息的處理方法及系統,可以實現H.248信令消息的分級分布處理,合理地利用分布式處理模塊的資源,提升網關的處理能力。
圖1是H.248編碼消息的層次結構圖。
圖2是本發明實施例H.248消息的分布式處理流程圖。
圖3是本發明實施例H.248消息的分布式處理系統的結構示意圖。
具體實施例方式
分布式處理系統中存在多個處理模塊,每個處理模塊上只保留一部分信令處理信息,具體到MGW上H.248信令消息處理而言,因為事務必須有事務應答,事務請求和事務應答的處理只能由同一個處理模塊來完成;動作針對某個上下文,MGW中上下文的信息不是全局的,某個上下文的信息只保存在一個或幾個處理模塊上;命令針對某個終結點,某個終結點的信息只存在于一個或幾個處理模塊上。
因為處理信息的分布,所以對于一個消息而言,其中包含的事務可能無法全部在同一個處理模塊上處理;對于一個事務而言,其中包含的動作對應的上下文數據可能位于不同的處理模塊。
對于一個動作而言,其中包含的命令所針對的終結點的信息也可能位于不同的處理模塊,這是因為大量的終結點的靜態信息(物理信息)是分布式存儲的,在上下文所在的處理模塊只保留終結點的動態信息,如H.248協議上提到的信號、事件等,由于一個上下文中可能有多個終結點,上下文所在的處理模塊和終結點靜態信息所在的單元不一定是一個處理模塊。
如背景技術中的介紹,在H.248編碼消息中可以有多個事務,一個事務可以封裝多個針對不同上下文的動作,各動作要順序執行,一個動作中可以封裝針對同一個終結點的命令,各命令要順序執行。消息中帶有事務、上下文和終結點的標識信息(事務ID、上下文ID及終結點信息)。
針對這種信息的分布及H.248消息的層次結構和處理要求,本發明實施例提出了一種從消息處理角度而言的分布式的處理方法。對消息、事務、動作的解碼是由相應的消息、事務、動作處理單元完成的,而命令執行單元負責執行命令,這些單元都是邏輯單元,可以在相同或不同的處理模塊上,在不同處理模塊上的處理/執行單元間可通過內部通信網發送請求及應答。
本發明方法將消息解碼為一組事務時,只是解出事務的相關信息,如事務類型、事務ID或者還有事務中的上下文ID等,但事務的具體內容不用解碼。同樣,將事務解碼為一組動作時,也只是解出動作針對的上下文的標識信息,但動作的具體內容不用解碼。
如圖2所示,本實施例方法包括以下步驟消息處理單元將一個進入MGW的H.248消息解碼為一組事務,S100;根據解出的相關信息,將各事務分發到對應處理模塊或指定處理模塊的事務處理單元,S110;事務處理單元將接收的事務解碼為一組動作,S120;將第一個動作發送到其對應上下文標識信息所在的處理模塊或指定處理模塊的動作處理單元,S130;動作處理單元接收到動作后,將接收的動作解碼為一組命令,S140;解釋所述命令,將第一個命令發到命令所針對終結點所在處理模塊的命令執行單元,S150;
命令執行單元負責執行命令,需要時將命令執行結果返回分發該命令的動作處理單元,S160;動作處理單元保存命令執行結果,將余下的命令按上述方式依次發送處理完畢,S170;動作處理單元將組合后的命令執行結果發送給分發該動作的事務處理單元,S180;事務處理單元收到所述動作的執行結果后,將余下的動作按上述方式依次分發處理完畢,S190;事務處理單元生成事務的應答,必要時與同一處理模塊的其他事務應答組合成為消息發送給MSCServer,S200。
為了防止通信時的消息丟失,提高通信的可靠性,如圖2所示,本實施例中,事務處理單元分發動作后,啟動時鐘等待,如果到時之前收到所述動作的執行結果,保存執行結果,否則進行失敗處理;動作執行單元在發送命令后也啟動一個時鐘,如果到時之前收到所述命令的執行結果,執行步驟S170,否則認為命令執行失敗,進行錯誤處理。
但是,如果可以確認通訊可靠,就沒有必要啟動等待時鐘。
事務中的動作和動作中的命令要依次進行,所以在事務處理單元和動作處理單元上要維護事務和動作當前的處理狀態。動作處理單元還要在作執行完成后,將組合后的執行結果發送給事務處理單元。命令執行單元則要維護終結點的狀態,因此如果收到的命令執行請求需要應答,在執行結束后應將執行結果返回給動作執行單元。
本發明對所涉及到的解碼方法不作規定。
下面將介紹幾種分發的方法在步驟S110中,是根據解出的標識信息來分發的,具體的說,對于應答和等待類事務,直接根據事務ID發送對應事務請求的處理模塊,對于請求類事務,則可以根據本地制訂的分擔原則進行指定。例如,如果ADD請求的分發是按照輪選處理模塊的方式,這樣可以達到負荷比較均衡的目的,但可能會增加處理模塊之間的通信量;如果ADD請求的分發是首選就近處理模塊,這樣可降低處理模塊的通信量,但難以保證負荷均衡。不可以在對事務解碼時,繼續解出事務中的第一個上下文ID,根據該上下文ID所屬的區間,或按輪選、就近的策略指定該事務的處理模塊。無論采用何種分配策略,本專利描述的處理方法都是有效的。
在步驟S130中,是根據上下文的標識信息(上下文ID)來分發的,上下文ID是MGW分配的,動作根據動作針對的上下文ID來進行分發,如果是需要MGW新分配的上下文,則分發策略可以根據MGW的終結點信息的分布策略,盡量將動作指定到和上下文中的終結點在同一個處理模塊上,以減少動作處理單元到命令執行單元這一步驟的單元間分發。
根據具體的實現,上下文和終端信息(比如使用通配符的上下文和終端)是可能存在于幾個處理單元。此時,這幾個處理單元的信息之間的關系如何決定了分發的方法,比如這些單元中有一個主導單元,就可以分發到主導單元,如果沒有主導單元,就可以組播到所有相關單元。
需注意的是,本發明的一種分布式處理方法可以采用各種分配策略,并不因此而局限上述實施例的范圍。
圖3所示是本發明實施例H.248消息的分布式處理系統的結構示意圖。圖中略去了各子單元。如圖所示,該H.248消息的處理系統包括分布式的多個消息處理單元、事務處理單元、動作處理單元及命令執行單元,所述各單元在不同的處理模塊上時,通過內部通信網相互通信,其中所述消息處理單元包括消息解碼子單元,用于將一個進入MGW的H.248消息解碼為一組事務;消息分發子單元,用于根據解出的相關信息,將各事務分發到對應處理模塊或指定處理模塊的事務處理單元;所述事務處理單元包括事務解碼子單元,用于將接收的事務解碼為一組動作;事務分發子單元,用于將事務中的動作依次分發到其對應上下文標識信息所在的處理模塊或指定處理模塊的動作處理單元;事務時鐘控制子單元,用于在發送一個動作后啟動時鐘等待,如果在到時之前收到所述動作的執行結果后,保存執行結果,否則進行失敗處理;事務應答子單元,用于將同一處理模塊的事務應答組合成為消息發送;
所述動作處理單元包括動作解碼子單元,用于將接收的動作解碼為一組命令,并解釋所述命令;動作分發子單元,用于將動作中的命令依次發送到命令所針對終結點所在處理模塊的命令執行單元;動作應答子單元,保存各次的命令執行結果,并將組合后的命令執行結果發送給分發該動作的事務處理單元;動作時鐘控制子單元,用于在發送的命令需要應答時,啟動一個時鐘,在到時之前收到所述命令的執行結果,保存該結果,否則認為命令失敗,進行錯誤處理;所述命令執行單元用于執行命令,向給其發送命令的動作處理單元返回必要的命令執行結果。
上述的事務和動作時鐘控制單元也可以省略。
綜上所述,本發明提供的H.248消息的處理方法,可以實現H.248信令消息的分級分布處理,合理地利用分布式處理模塊的資源,提升網關的處理能力。
權利要求
1.一種分布式處理網關中H.248消息的處理方法,包括以下步驟(a)消息處理單元將一個進入MGW的H.248消息解碼為一組事務,根據解出的相關信息,將各事務分發到對應處理模塊或指定處理模塊的事務處理單元;(b)事務處理單元將接收的事務解碼為一組動作,將第一個動作發送到其對應上下文標識信息所在的處理模塊或指定處理模塊的動作處理單元;(c)動作處理單元將接收的動作解碼為一組命令;(d)解釋所述命令,將第一個命令發到命令所針對終結點所在處理模塊的命令執行單元;(e)命令執行單元負責執行命令,必要時向分發所述命令的動作處理單元返回命令執行結果;(f)動作處理單元保存命令執行結果,將余下的命令按上述方式依次發送完畢,然后將組合后的命令執行結果發送給分發所述動作的事務處理單元;(g)事務處理單元接收到所述命令執行結果后,將余下的動作按上述方式依次分發完畢。
2.如權利要求1所述的處理方法,其特征在于,所述事務處理單元分發動作后,啟動時鐘等待,如果到時之前收到所述動作的執行結果,保存執行結果,否則進行失敗處理。
3.如權利要求1所述的處理方法,其特征在于,在發送的命令需要應答時,所述動作執行單元在發送后啟動一個時鐘,在到時之前收到所述命令的執行結果,執行步驟(f),否則認為命令執行失敗,進行錯誤處理。
4.如權利要求1所述的處理方法,其特征在于,所述步驟(g)后還包括步驟事務處理單元生成事務的應答,并與同一處理模塊的其他事務應答組合成消息后發送。
5.如權利要求1所述的處理方法,其特征在于,所述步驟(a)中,對于應答和等待類事務,直接根據解出的事務ID發送到對應事務請求的處理模塊,對于請求類事務,利用事務ID結合本地制訂的分擔原則進行分發。
6.一種分布式處理網關中H.248消息的處理系統,其特征在于,包括分布式的多個消息處理單元、事務處理單元、動作處理單元及命令執行單元,所述各單元在不同的處理模塊上時,通過內部通信網相互通信,其中所述消息處理單元包括消息解碼子單元,用于將一個進入MGW的H.248消息解碼為一組事務;消息分發子單元,用于根據解出的相關信息,將各事務分發到對應處理模塊或指定處理模塊的事務處理單元;所述事務處理單元包括事務解碼子單元,用于將接收的事務解碼為一組動作;事務分發子單元,用于將事務中的動作依次分發到其對應上下文標識信息所在的處理模塊或指定處理模塊的動作處理單元;所述動作處理單元包括動作解碼子單元,用于將接收的動作解碼為一組命令,并解釋所述命令;動作分發子單元,用于將動作中的命令依次發送到命令所針對終結點所在處理模塊的命令執行單元;動作應答子單元,保存各次的命令執行結果,并將組合后的命令執行結果發送給分發該動作的事務處理單元;所述命令執行單元用于執行命令,向給其發送命令的動作處理單元返回必要的命令執行結果。
7.如權利要求6所述的處理系統,其特征在于,所述事務處理單元還包括一個事務時鐘控制子單元,用于在發送一個動作后啟動時鐘等待,如果在到時之前收到所述動作的執行結果后,保存執行結果,否則進行失敗處理。
8.如權利要求6所述的處理系統,其特征在于,所述動作處理單元還包括一個動作時鐘控制子單元,用于在發送的命令需要應答時,啟動一個時鐘,在到時之前收到所述命令的執行結果,保存該結果,否則認為命令失敗,進行錯誤處理。
9.如權利要求6所述的處理系統,其特征在于,所述事務處理單元還包括一個事務應答子單元,用于將同一處理模塊的事務應答組合成為消息發送。
全文摘要
本發明公開了一種分布式處理網關中H.248協議的處理方法及系統,根據H.248消息的層次結構,本發明方法包括以下步驟一個進入MGW的H.248消息,首先將其解碼為一組事務,將這個事務分發到對應的事務處理單元。一個事務到達事務處理單元后,將這個事務中解碼為一組動作,將這個動作分發到動作對應的上下文信息所在的處理單元。一個處理單元在處理一個動作時,將這個動作解碼為一組命令,將這個命令解釋后,發到命令所針對的終端所在的處理單元進行執行。本發明提供的H.248消息的處理方法,可以實現H.248信令消息的分級分布處理,合理地利用分布式處理模塊的資源,提升網關的處理能力。
文檔編號H04Q3/00GK1545281SQ20031011348
公開日2004年11月10日 申請日期2003年11月12日 優先權日2003年11月12日
發明者周自春, 秦長鵬, 李寧, 董俊賢 申請人:中興通訊股份有限公司