欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法

文檔序號:7625884閱讀:176來源:國知局
專利名稱:下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法
技術(shù)領(lǐng)域
本發(fā)明涉及下一代網(wǎng)絡(luò)技術(shù),特別涉及下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)向媒體網(wǎng)關(guān)控制器上報事件的處理方法。
背景技術(shù)
媒體網(wǎng)關(guān)控制器(Media Gateway Controller,簡稱“MGC”)和媒體網(wǎng)關(guān)(Media Gateway,簡稱“MG”)是下一代網(wǎng)絡(luò)(Next Generation Network,簡稱“NGN”)中的兩個關(guān)鍵構(gòu)件。MGC負責(zé)呼叫控制功能,MG負責(zé)業(yè)務(wù)承載功能,由此實現(xiàn)呼叫控制平面和業(yè)務(wù)承載平面的分離,從而充分共享網(wǎng)絡(luò)資源,簡化設(shè)備升級和業(yè)務(wù)擴展,大大降低開發(fā)和維護成本。
圖1示出了NGN網(wǎng)絡(luò)各組件的關(guān)系及通信協(xié)議。其中核心分組網(wǎng)一般為網(wǎng)際協(xié)議(Internet Protocol,簡稱“IP”)網(wǎng)絡(luò),它承載了MG與MG之間、MG與MGC之間的連接,MG負責(zé)用戶終端通過接入網(wǎng)接入核心網(wǎng)絡(luò)。MGC與MG之間通過媒體網(wǎng)關(guān)控制協(xié)議進行通信,實現(xiàn)MGC對MG的控制和網(wǎng)絡(luò)控制功能。MG與MG之間通信完成媒體流的承載,一般采用實時傳輸協(xié)議(Real-time Transport Protocol,簡稱“RTP”)實現(xiàn)。
媒體網(wǎng)關(guān)控制協(xié)議是MG和MGC之間通信的主要協(xié)議,目前應(yīng)用較為廣泛的有H.248和“媒體網(wǎng)關(guān)控制協(xié)議”(Media Gateway Control Protocol,簡稱“MGCP”)兩種。其中,MGCP協(xié)議由互聯(lián)網(wǎng)工程任務(wù)組(InternetEngineering Task Force,簡稱“IETF”)于1999年10月制訂并于2003年1月修訂;H.248協(xié)議(又稱MeGaCo協(xié)議)是由IETF和國際電信聯(lián)盟(International Telecommunication Union,簡稱“ITU”)于2000年11月共同制訂并于2003年6月修訂。
在H.248協(xié)議中,MG對于業(yè)務(wù)的承載是通過其上的資源來實現(xiàn),MG上的各種資源被抽象表示為終端(Termination)。終端又分為物理終端和臨時終端,前者代表一些具有半永久存在性的物理實體,例如時分復(fù)用(TimeDivision Multiplexing,簡稱“TDM”)通道等,后者代表一些臨時申請用后釋放的公共資源,例如RTP流等。終端之間的組合被抽象表示為上下文(Context)。上下文可以包含多個終端,可以用拓撲來描述終端間的相互關(guān)系?;谶@樣一個抽象模型,呼叫控制實際上就可以抽象地描述成對終端和上下文的各種操作和處理。
媒體網(wǎng)關(guān)協(xié)議通信中,MGC和MG之間通過協(xié)議命令(Command)進行交互,命令所攜帶的參數(shù)被劃分為信號(Signal)、事件(Event)等類別,其中信號被MGC用來指示MG進行資源的操作,例如向用戶放撥號音、回鈴音、忙音等,事件被MGC用來指示MG進行狀態(tài)的監(jiān)測,例如監(jiān)測用戶摘機、掛機、撥號、拍叉等。
類似信號、事件之類的命令包含了MG對呼叫接續(xù)和資源操作中的各種控制細節(jié),因此命令的執(zhí)行需要嚴格的保證順序。但是IP分組網(wǎng)絡(luò)本身的不可靠性可能導(dǎo)致命令的傳輸使得順序混亂、甚至命令丟失,這將導(dǎo)致嚴重的后果。因此媒體網(wǎng)關(guān)協(xié)議通信中必須采取一定的機制來保證命令有序地被傳輸和執(zhí)行。
在H.248協(xié)議中,已經(jīng)采用所謂事務(wù)的機制來實現(xiàn)命令的傳送和執(zhí)行。命令的相關(guān)性以事務(wù)為限定范圍,即同一事務(wù)內(nèi)的命令按其先后順序執(zhí)行,而不同事務(wù)內(nèi)的命令可以并行執(zhí)行。另外,對于不同事務(wù)內(nèi)命令的執(zhí)行順序有以下幾點規(guī)則規(guī)則一(Rule 1)針對不同終端的命令可以并行發(fā)送;規(guī)則二(Rule 2)對于不保證消息順序傳遞的傳輸,如用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol,簡稱“UDP”),一個終端上應(yīng)該最多只有一個未完成的H.248協(xié)議的通知(Notify)命令;規(guī)則三(Rule 3)H.248協(xié)議的審計值(AuditValue)命令,不受任何順序限制。
其中Rule2是保證了對于一個終端的操作必須有序進行,因為每個操作命令必須由Notify響應(yīng),Rule2保證了一條命令在沒有響應(yīng)之前不執(zhí)行下一條命令。Rule3中的AuditValue命令是用于返回終端特性的當(dāng)前狀態(tài)的特殊命令,不與其他任何操作沖突,因此可以不受順序限制。
基于上述三條規(guī)則,命令的接收方是以事務(wù)作為獨立執(zhí)行單位的,同一事務(wù)內(nèi)若存在多個命令則按其先后順序執(zhí)行,而不同事務(wù)內(nèi)的命令則既可以按接收順序串行執(zhí)行,也可以忽略順序并行執(zhí)行。因此命令之間若存在相關(guān)性,則命令的發(fā)送方必須依據(jù)規(guī)則有效保障其在接收方的執(zhí)行順序。
從MGC下發(fā)命令給MG時,MGC需要保障一個終端上最多只有一個未完成的H.248協(xié)議的添加(Add)、修改(Modify)或刪除(Move)命令。對于可以控制呼叫進程的MGC而言,只要在前一命令被響應(yīng)后再發(fā)送后一命令即可??梢?,從MGC下發(fā)給MG的命令來看,MGC不需要太復(fù)雜的機制即可實現(xiàn)事件發(fā)送順序的控制處理。
而對于MG而言,MG上報MGC事件時需要保障一個終端上最多只有一個未完成的H.248協(xié)議的Notify命令。由于MG上報MGC的信息大多是用戶的操作,例如話音業(yè)務(wù)中的摘機(Off-hook)、掛機(Hang-up)、撥號(Dialling)、拍叉(Flash-hook)等,而用戶操作往往是隨機的,因此MG需要建立比MGC復(fù)雜得多的機制來保障自己的上報命令在MGC被串行執(zhí)行,而不產(chǎn)生混亂。在MG實現(xiàn)有序上報事件的這種機制被稱為輕量級的狀態(tài)機(LightWeight State Machine)。
MG的這種處理上報事件的方法是當(dāng)前NGN網(wǎng)絡(luò)技術(shù)的關(guān)鍵問題,是熱點問題也是難點問題。
目前業(yè)界主要有兩種技術(shù)方案用以解決MG上報事件處理問題。一種是基于可靠傳輸協(xié)議的技術(shù),另一種是基于MGC控制的技術(shù)。
第一方案使用可靠連接的傳輸協(xié)議,比如傳輸控制協(xié)議(Transfer ControlProtocol,簡稱“TCP”)或者流控制傳輸協(xié)議(Stream Control TransmissionProtocol,簡稱“SCTP”)來保證命令傳輸?shù)挠行虼?,這樣發(fā)送方有序發(fā)送即可保證接收方有序執(zhí)行。發(fā)送方的應(yīng)用層只需將準備發(fā)送的命令消息交付給傳輸層,利用傳輸協(xié)議的可靠性機制來保證每一條消息順序抵達接收方。在前一命令尚未得到響應(yīng)之前,后續(xù)命令將緩存在傳輸層的發(fā)送隊列內(nèi),通過傳輸層的緩存和命令串行發(fā)送的機制就自然地達到了命令串行執(zhí)行的目的。
該方案使用可靠連接的傳輸協(xié)議雖然能夠避免因為傳輸原因造成命令的執(zhí)行亂序,但是這同時也就限定了應(yīng)用可以選擇的傳輸協(xié)議,尤其是對于廣泛需要采用非可靠連接的環(huán)境將無法適用。另外,傳輸協(xié)議的可靠性機制將減緩消息的傳遞速度,因而也就必然帶來命令交互效率方面的下降。
另一種基于MGC控制的方案是使用事件緩存(EventBuffer)機制來保證命令串行,即當(dāng)某個終端上出現(xiàn)事件上報尚未得到Notify響應(yīng)時,后續(xù)檢測到的事件基于一定的篩選條件先暫時緩存到一個為該終端建立的先進先出(First In First Out,簡稱“FIFO”)隊列中,等接收到前一事件上報的響應(yīng)后再根據(jù)一定的條件從該隊列中選取事件上報,而不符合選擇條件的事件將被丟棄。但由于H.248協(xié)議使用了Events描述符(Events Descriptor)設(shè)置事件的上報條件,使用EventBuffer描述符設(shè)置事件的緩存條件,使用EventBufferControl屬性來控制事件緩存這個FIFO隊列是關(guān)閉(off)還是基于Events描述符所設(shè)條件從中單次選取和上報事件(LockStep),因此這一上報事件處理過程事實上是需要有MGC下發(fā)Event描述符來控制的。
該方案中,通過EventBuffer和Events描述符的聯(lián)合使用,才可以保證上述三條規(guī)則得到滿足。當(dāng)MGC需要MG檢測并上報某些特定事件時,就生成一個Events描述符包含這些特定的事件,然后下發(fā)給MG。一般的Events描述符都具有單次上報限制,即該描述符中的事件被檢測并上報一次后,該描述符即出于鎖定狀態(tài),不再發(fā)生作用。MGC需要MG檢測和上報其它事件,必需另外發(fā)送新的Events描述符。一旦描述符中的事件被檢測到,MG通過Notify命令向MGC上報,在MGC返回的Notify應(yīng)答被MG收到之前,該Notify命令就處于未完成(unfinished)狀態(tài)。跟據(jù)Rule2,此時再有事件到來,則只能進入該終端的EventBuffer進行緩存。等到MG收到MGC對于Notify命令的應(yīng)答,如果此時有處于活動狀態(tài)的Events描述符,MG繼續(xù)從EventBuffer中按照一定規(guī)則提取事件上報。
該方案使用事件緩存機制雖然能夠保證命令的串行傳輸和執(zhí)行,但是這種復(fù)雜度較高的機制在MG上啟動必須依賴于MGC提前下發(fā)控制,而實際應(yīng)用中僅由MG保證來上報命令的串行是必要的。另外,若在FIFO隊列中積累的事件較多,則逐個檢查和上報的方式也將大大延遲MG和MGC的命令交互效率。實際應(yīng)用中,這些積累的事件往往已經(jīng)成為實際上的失效事件,上報給MGC不再有任何意義,反而會浪費時間、降低處理效率。極端情況下將使MG和MGC的終端狀態(tài)信息嚴重失去同步。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,使得媒體網(wǎng)關(guān)可以高效實現(xiàn)上報事件的串行處理。
為實現(xiàn)上述目的,本發(fā)明提供了一種下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,包含以下步驟,A針對業(yè)務(wù)邏輯執(zhí)行與事件的關(guān)系,對事件分類;
B根據(jù)協(xié)議規(guī)定的事件處理規(guī)則,結(jié)合業(yè)務(wù)邏輯和業(yè)務(wù)狀態(tài)的轉(zhuǎn)移機制,建立由事件驅(qū)動的狀態(tài)機;C媒體網(wǎng)關(guān)執(zhí)行所述狀態(tài)機處理事件。
其中,所述狀態(tài)機中設(shè)置掛起狀態(tài),用于確保命令串行;所述媒體網(wǎng)關(guān)中設(shè)置事件緩存隊列,用于在所述狀態(tài)機的掛起狀態(tài)下緩存事件;所述狀態(tài)機在除掛起狀態(tài)以外的任何狀態(tài)下,當(dāng)上報通知命令時,即進入所述掛起狀態(tài);在所述掛起狀態(tài)下,所述媒體網(wǎng)關(guān)將檢測到的事件存入所述事件緩存隊列,且當(dāng)所述通知命令得到響應(yīng)時,所述狀態(tài)機即返回進入所述掛起狀態(tài)前的狀態(tài)。
此外在所述方法中,所述步驟C包含以下子步驟,C1所述媒體網(wǎng)關(guān)接收事件,并根據(jù)事件驅(qū)動所述狀態(tài)機進行狀態(tài)轉(zhuǎn)移;C2當(dāng)所述通知命令上報時,所述狀態(tài)機進入所述掛起狀態(tài);C3在所述掛起狀態(tài)下,所述媒體網(wǎng)關(guān)將事件按照先進先出方式存入所述事件緩存隊列;C4當(dāng)所述通知命令得到響應(yīng)時,所述狀態(tài)機退出所述掛起狀態(tài),所述媒體網(wǎng)關(guān)處理所述事件緩存隊列中的事件,并繼續(xù)執(zhí)行所述狀態(tài)機處理上報事件。
此外在所述方法中,在所述步驟A中,事件分為特征事件與雜類事件,其中所述特征事件影響業(yè)務(wù)處理的狀態(tài)轉(zhuǎn)移,所述雜類事件不影響業(yè)務(wù)處理的狀態(tài)轉(zhuǎn)移;所述特征事件進一步分為純狀態(tài)事件與非純狀態(tài)事件,其中所述純狀態(tài)事件僅影響業(yè)務(wù)處理的狀態(tài)轉(zhuǎn)移,所述非純狀態(tài)事件除影響業(yè)務(wù)處理的狀態(tài)轉(zhuǎn)移外還帶有業(yè)務(wù)邏輯執(zhí)行需要的信息。
此外在所述方法中,在所述步驟B中,以有向圖的形式描述所述狀態(tài)機,并計算任意起始狀態(tài)到終止?fàn)顟B(tài)之間的最短路,用于表示從該起始狀態(tài)到該終止?fàn)顟B(tài)所需要的最短必要驅(qū)動事件串;在所述步驟C4中,所述媒體網(wǎng)關(guān)保留屬于所述最短路的事件,保留不屬于所述最短路的雜類事件并基于對此類事件預(yù)先定義的規(guī)則進行進一步處理,根據(jù)處理結(jié)果最終決定此類事件的保留或者刪除;保留不屬于所述最短路的非純狀態(tài)事件,并基于對此類事件預(yù)先定義的規(guī)則進行進一步處理,根據(jù)處理結(jié)果最終決定此類事件的保留或者刪除;刪除不屬于所述最短路的所述純狀態(tài)事件。
此外在所述方法中,在所述步驟A中,定義所述非純狀態(tài)事件規(guī)則,用于描述處理所述非純狀態(tài)事件規(guī)則的方法;在所述步驟C4中,所述媒體網(wǎng)關(guān)根據(jù)所述非純狀態(tài)事件規(guī)則處理所述非純狀態(tài)事件;在所述步驟A中,定義雜類事件規(guī)則,用于描述所述雜類事件的處理方法;在所述步驟C4中,執(zhí)行狀態(tài)機處理所述特征事件,按所述雜類事件規(guī)則處理所述雜類事件。
此外在所述方法中,當(dāng)所述媒體網(wǎng)關(guān)處理兩種及兩種以上業(yè)務(wù)時,對于所有業(yè)務(wù)分別執(zhí)行所述步驟A和步驟B,對各種業(yè)務(wù)對應(yīng)的事件分別分類,并分別建立對應(yīng)的所述狀態(tài)機;然后在所述步驟C中由所述媒體網(wǎng)關(guān)分別執(zhí)行各種業(yè)務(wù)對應(yīng)的所述狀態(tài)機來處理其對應(yīng)的事件。
此外在所述方法中,當(dāng)所述媒體網(wǎng)關(guān)處理兩種及兩種以上業(yè)務(wù)時,在所述步驟A中,將所有事件分為特征事件與雜類事件,其中所述特征事件影響至少一種業(yè)務(wù)處理的狀態(tài)轉(zhuǎn)移,所述雜類事件不影響任何一種業(yè)務(wù)處理的狀態(tài)轉(zhuǎn)移,并定義雜類事件規(guī)則,用于描述所述雜類事件的處理方法;在所述步驟C4中,執(zhí)行各種業(yè)務(wù)對應(yīng)的所述狀態(tài)機的同時,按所述雜類事件規(guī)則處理所述雜類事件。
此外在所述方法中,所述媒體網(wǎng)關(guān)將所述步驟A和步驟B中產(chǎn)生的各種業(yè)務(wù)對應(yīng)的事件分類、所述狀態(tài)機、所述有向圖、所述最短路、所述非純狀態(tài)事件規(guī)則和所述雜類事件規(guī)則信息保存為配置數(shù)據(jù),對所述下一代網(wǎng)絡(luò)進行配置,并維護所述配置數(shù)據(jù)。
此外在所述方法中,當(dāng)所述媒體網(wǎng)關(guān)新增業(yè)務(wù)時,對于該新增業(yè)務(wù)執(zhí)行所述步驟A和步驟B,對該新增業(yè)務(wù)對應(yīng)的事件分別分類,并建立對應(yīng)的所述狀態(tài)機及其他屬于配置數(shù)據(jù)的信息,更新所述配置數(shù)據(jù)中的相關(guān)信息;然后在所述步驟C中由所述媒體網(wǎng)關(guān)執(zhí)行該新增業(yè)務(wù)對應(yīng)的所述狀態(tài)機來處理其對應(yīng)的事件。
此外在所述方法中,當(dāng)所述媒體網(wǎng)關(guān)取消業(yè)務(wù)時,刪除該取消業(yè)務(wù)對應(yīng)的事件及其分類信息,刪除其對應(yīng)的所述狀態(tài)機信息,更新所述配置數(shù)據(jù)中的相關(guān)信息;在所述步驟C中停止執(zhí)行該取消業(yè)務(wù)對應(yīng)的所述狀態(tài)機。
此外在所述方法中,當(dāng)所述媒體網(wǎng)關(guān)業(yè)務(wù)邏輯變更時,重新定義該業(yè)務(wù)對應(yīng)的事件及其分類信息,刪除其對應(yīng)的所述狀態(tài)機信息,刪除所述配置數(shù)據(jù)中的相關(guān)信息;
對于該更新業(yè)務(wù)重新執(zhí)行步驟A和B以建立狀態(tài)機和其他屬于配置數(shù)據(jù)的信息,重新建立該業(yè)務(wù)對應(yīng)的新的配置數(shù)據(jù);在所述步驟C中停止執(zhí)行該取消業(yè)務(wù)對應(yīng)的所述狀態(tài)機。
此外在所述方法中,所述媒體網(wǎng)關(guān)處理話音業(yè)務(wù)時,所述特征事件可以是摘機、掛機、撥號和拍叉事件。
此外在所述方法中,所述媒體網(wǎng)關(guān)處理話音業(yè)務(wù)時,所述純狀態(tài)事件可以是摘機、掛機和拍叉事件;所述非純狀態(tài)事件可以是撥號事件。
此外在所述方法中,所述媒體網(wǎng)關(guān)根據(jù)事件描述符檢測并處理上報事件;所述媒體網(wǎng)關(guān)根據(jù)所述媒體網(wǎng)關(guān)控制器下發(fā)的命令更新所述事件描述符。
此外,所述方法可應(yīng)用于所述媒體網(wǎng)關(guān)與媒體網(wǎng)關(guān)控制器之間根據(jù)H.248媒體網(wǎng)關(guān)控制協(xié)議或媒體網(wǎng)關(guān)控制協(xié)議進行通信的情況。
通過比較可以發(fā)現(xiàn),本發(fā)明的技術(shù)方案與現(xiàn)有技術(shù)的主要區(qū)別在于,根據(jù)業(yè)務(wù)和事件的關(guān)系對事件分類,采用有限狀態(tài)機機制實現(xiàn)處理上報事件的一般化方法,并結(jié)合上報事件處理規(guī)則,在狀態(tài)機中引入掛起狀態(tài)及相應(yīng)事件,在遵循現(xiàn)有技術(shù)中對媒體網(wǎng)關(guān)的一組規(guī)則的前提下,通過等待Notify響應(yīng)并對上報事件進行緩存的方法,實現(xiàn)上報事件的有序執(zhí)行;基于狀態(tài)機的有向圖理論描述,采用最短路簡化方法對緩存事件進行處理,在確保業(yè)務(wù)正確執(zhí)行的前提下刪除無效緩存事件;針對與狀態(tài)轉(zhuǎn)移無關(guān)的雜類事件和帶有額外信息的非純狀態(tài)事件,分別采用事先定義的雜類事件規(guī)則和非純狀態(tài)事件規(guī)則進行專門處理,提供給設(shè)備管理者根據(jù)需要靈活定義這些雜類事件和非純狀態(tài)事件的處理規(guī)則的系統(tǒng)接口;另外,對于一般情況下媒體網(wǎng)關(guān)同時處理多種不同業(yè)務(wù)的情況,通過分別建立各種業(yè)務(wù)相應(yīng)的事件及其分類、狀態(tài)機等,并分別執(zhí)行各種業(yè)務(wù)對應(yīng)的狀態(tài)機來處理其相應(yīng)事件,還采用配置數(shù)據(jù)來描述和維護各類業(yè)務(wù)的相應(yīng)事件分類及狀態(tài)機信息,對于業(yè)務(wù)種類的增加、取消以及已有業(yè)務(wù)邏輯的變更的情況,也分別給出了相應(yīng)的處理方法。
這種技術(shù)方案上的區(qū)別,帶來了較為明顯的有益效果,即通過引入掛起機制的狀態(tài)機的執(zhí)行及緩存事件的機制,在媒體網(wǎng)關(guān)上獨立、方便地實現(xiàn)了上報事件處理的一般化方法,確保了事件上報符合協(xié)議規(guī)則,大大提高了系統(tǒng)的適應(yīng)性和可靠性。
通過基于有向圖理論的最短路簡化,提高了上報事件處理效率,節(jié)省了網(wǎng)絡(luò)帶寬和處理資源,增強了媒體網(wǎng)關(guān)和媒體網(wǎng)關(guān)控制器之間的同步,而該同步是下一代網(wǎng)絡(luò)正常運行的重要前提條件。
通過對雜類事件和非純狀態(tài)事件的專門處理,保證了狀態(tài)機處理上報事件和最短路簡化的方法有效執(zhí)行。
針對多種業(yè)務(wù)同時處理及新增、取消業(yè)務(wù)、已有業(yè)務(wù)邏輯的更改等情況的處理,增強了系統(tǒng)的靈活性和可擴張性,并保證和促進了下一代網(wǎng)絡(luò)業(yè)務(wù)多樣性的發(fā)展。


圖1是NGN各功能實體的相互連接示意圖;圖2是話音業(yè)務(wù)的業(yè)務(wù)邏輯狀態(tài)機示意圖;圖3是根據(jù)本發(fā)明的第一實施例的話音業(yè)務(wù)上報事件處理狀態(tài)機示意圖;
圖4是根據(jù)本發(fā)明的第三實施例的上報事件處理方法流程圖;圖5是根據(jù)本發(fā)明的第四實施例的上報事件處理方法流程圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明作進一步地詳細描述。
本發(fā)明通過對業(yè)務(wù)、事件、狀態(tài)機的抽象建立一種媒體網(wǎng)關(guān)的上報事件的處理的通用方法。首先將各種事件和業(yè)務(wù)之間的關(guān)系進行抽象描述,建立業(yè)務(wù)事件驅(qū)動的狀態(tài)機模型,并依據(jù)上述Rulel、2、3修正狀態(tài)機,建立一般化的描述方法,采用掛起緩存隊列方法,確保上報事件串行;還利用有向圖理論給出基于最短路的簡化處理方法,增加處理效率,檢測上報事件的有效性,確保MG和MGC信息同步。本發(fā)明給出的通用處理方法是建立在一般化描述理論之上的,適用于任意媒體網(wǎng)關(guān)的上報事件處理,與具體協(xié)議無關(guān)。
本發(fā)明以業(yè)務(wù)為中心,把終端可能檢測到的所有事件分為特征事件集合和雜類事件集合,從業(yè)務(wù)狀態(tài)及事件驅(qū)動的關(guān)系建立業(yè)務(wù)狀態(tài)機模型,形成業(yè)務(wù)和業(yè)務(wù)特征事件集合之間關(guān)系的一般化描述理論。
基于該業(yè)務(wù)、事件、狀態(tài)機理論,依據(jù)規(guī)則Rule1~Rule3,修正業(yè)務(wù)狀態(tài)機,結(jié)合MG上事件緩存機制,實現(xiàn)上報事件處理的通用方法,嚴格實現(xiàn)事件上報的正確順序,確保MGC和MC上信息的同步。其中對雜類事件定義專門的規(guī)則進行處理。
此處,根據(jù)針對狀態(tài)機的有向圖理論,發(fā)展基于最短路的簡化處理方法,對純狀態(tài)事件和非純狀態(tài)事件定義專門處理規(guī)則,并對事件有效性進行檢測,提高事件處理效率,完全避免緩存事件的積累導(dǎo)致失效事件上報問題,提高系統(tǒng)可靠性。
本發(fā)明的第一實施例中的MG上報事件處理方法的流程大致分為以下三大步驟針對業(yè)務(wù)處理與事件的關(guān)系,對事件分類;根據(jù)協(xié)議規(guī)定的事件處理規(guī)則,建立由事件驅(qū)動的狀態(tài)機;媒體網(wǎng)關(guān)執(zhí)行所述狀態(tài)機處理事件。
實際應(yīng)用中,NGN的業(yè)務(wù)邏輯執(zhí)行是按照狀態(tài)機進行的,從初始狀態(tài)開始,新的事件到來,則使得業(yè)務(wù)從一個狀態(tài)轉(zhuǎn)移到另外一個狀態(tài)。業(yè)務(wù)的進行過程其實就是一個狀態(tài)不斷轉(zhuǎn)移的過程,這個過程是由用戶輸入事件來驅(qū)動的。因此業(yè)務(wù)狀態(tài)和它的事件之間的相互關(guān)系可以用有限狀態(tài)機(FiniteState Machine,簡稱“FSM”)來描述。
在本發(fā)明的第一實施例中,即根據(jù)業(yè)務(wù)與事件的關(guān)系將每種業(yè)務(wù)的上報事件處理過程用狀態(tài)機模擬,業(yè)務(wù)存在各種狀態(tài),由事件驅(qū)動狀態(tài)的轉(zhuǎn)移。使用FSM進行建??梢院喕幚頇C制,只用簡單的數(shù)據(jù)結(jié)構(gòu)和If-then形式的規(guī)則來表示,實現(xiàn)起來簡單方便。而且FSM是一種一般化的描述方法,基于此可以建立一般化的事件處理方法,再結(jié)合上述規(guī)則Rulel-Rule3和H.248事件緩存和上報機制,所建立的一般化方法就能夠正確保證規(guī)則的遵守,處理效率高,擴展性強,除了支持話音業(yè)務(wù)外,還可以支持更為復(fù)雜的多媒體業(yè)務(wù)。
因此,在第一步中首先將業(yè)務(wù)進行分類,根據(jù)事件對于業(yè)務(wù)狀態(tài)的影響,將業(yè)務(wù)分為特征事件(Eigen Events)與雜類事件(Miseellaneous Events)。特征事件就是影響業(yè)務(wù)狀態(tài)轉(zhuǎn)移的事件;而雜類事件就是不影響業(yè)務(wù)狀態(tài)轉(zhuǎn)移的事件,具有一定突發(fā)性的隨機事件,可以隨時處理。在NGN的各種業(yè)務(wù)中,根據(jù)事件和業(yè)務(wù)的關(guān)系,每種業(yè)務(wù)都有各自的事件集合。比如對于話音業(yè)務(wù),上面提到的四種典型事件摘機(Off-hook)、掛機(Hang-up)、撥號(Dialling)、拍叉(Flash-hook)就是該業(yè)務(wù)的特征事件。隨著NGN業(yè)務(wù)多樣化的發(fā)展,尤其是多種多媒體業(yè)務(wù)的出現(xiàn),不同的業(yè)務(wù)將產(chǎn)生很多新的事件和該業(yè)務(wù)相關(guān)聯(lián)。比如可視電話業(yè)務(wù)中,除了上述四種事件外,還可以有選擇視頻、禁止視頻事件、申請發(fā)言、申請主席、發(fā)送文本事件等等。
這里為描述方便,假設(shè)某種類型的終端上即某種業(yè)務(wù)的所有可能被檢測到的M個事件用集合AllEvents={E1,E2,E3,...........,EM}表示,其中包含Q個特征事件組成的集合即特征事件集合(Eigen Event Set,簡稱“EES”)表示為EES={EEG1,EEG2,EEG3,...,EEGQ},以及M-Q個雜類事件集合(MisEvents)。而業(yè)務(wù)的狀態(tài)集合(N個狀態(tài))用SVCST={S0,S1,S2,.......,SN-1}表示。比如對于話音業(yè)務(wù),其EES={O,F(xiàn),D,H},其狀態(tài)集為SVCST={S0,S1,S2}。其中,O,F(xiàn),D,H即為用首字母代表的四種事件;狀態(tài)分別為S0表示未摘機狀態(tài)、S1表示已摘機狀態(tài),還未開始撥號、S2表示撥號狀態(tài)。
在本發(fā)明的第一實施例的第二步中,對事件和狀態(tài)進行分析定義以后,需要建立狀態(tài)機,用于執(zhí)行處理上報事件。首先需要得到業(yè)務(wù)邏輯本身處理事件的狀態(tài)機。執(zhí)行業(yè)務(wù)邏輯的狀態(tài)機可以根據(jù)特征事件及其邏輯關(guān)系推演得到。比如話音業(yè)務(wù)的狀態(tài)機模型如圖2所示。其中初始狀態(tài)S0用雙層圓圈表示。在業(yè)務(wù)邏輯的狀態(tài)機的基礎(chǔ)上,根據(jù)Rule1-3需要對狀態(tài)機進行修正,以符合事件執(zhí)行串行的規(guī)則。
在MGC和MC之間的配合中,MG先檢測特定終端上發(fā)生的來自于用戶輸入的事件,然后通過Notify命令上報給MGC進行處理。根據(jù)Rule 1、Rule 2、Rule 3,MG上報事件必須串行有序進行,但是由于MG與MGC傳輸不可靠,或者因為MG上報和MGC處理的速度不平衡,可能導(dǎo)致規(guī)則的破壞,因此本發(fā)明的第一實施例采用事件緩存隊列(EventBuffer)來緩存暫時不能上報的事件。除此之外,為了保證上報事件在MGC串行執(zhí)行,必須保證前面事件都已得到響應(yīng)后才能繼續(xù)上報。因此本發(fā)明的第一實施例通過在狀態(tài)機中加入一個特殊狀態(tài)“掛起”狀態(tài)(Suspension),用于等待Notify命令的響應(yīng),即在發(fā)出Notify命令后馬上進入掛起狀態(tài),直到收到響應(yīng)后,才從掛起態(tài)回到進入掛起態(tài)之前所處的狀態(tài),重新開始處理事件。
在業(yè)務(wù)邏輯狀態(tài)機基礎(chǔ)上,引入掛起狀態(tài)SSusp和相應(yīng)的事件ENot對應(yīng)Notify命令發(fā)送事件和ERNot對應(yīng)Notify命令得到響應(yīng)事件,得到所需要建立的狀態(tài)機。圖3示出了根據(jù)Rulel~Rule3規(guī)則進行緩存處理的話音業(yè)務(wù)的上報事件處理狀態(tài)機??梢娡ㄟ^加入一個掛起狀態(tài)和事件緩存隊列來實現(xiàn)MG上獨立控制上報事件的串行,不僅實現(xiàn)起來非常方便,而且所用模型具有通用性,對于任何協(xié)議、任何業(yè)務(wù)都適用。
最后,在本發(fā)明的第一實施例的第三步中,即可在MG上執(zhí)行第二步所建立的狀態(tài)機來處理上報事件。其中對于雜類事件,由于其和狀態(tài)轉(zhuǎn)移無關(guān),因此事先定義專門的雜類事件規(guī)則,MG按照該規(guī)則處理雜類事件。
為了進一步提高上報事件處理效率,避免信息失去同步,在本發(fā)明的第二實施例中,根據(jù)圖論和最短路理論實現(xiàn)了對事件緩存隊列進行的處理方法,以提高上報事件處理效率。首先將狀態(tài)機模型抽象成圖論中的有向圖(Directed Graph Representation),有向圖由頂點和弧組成,其弧均有方向。把狀態(tài)機中的狀態(tài)表示為頂點,事件表示為弧,則狀態(tài)機模型可以抽象成一個有向圖。
由于狀態(tài)機的特性,即各個狀態(tài)之間都是相互可達的,從任何一個狀態(tài)可以經(jīng)過有限次的轉(zhuǎn)移,到達任何其它狀態(tài),因此對應(yīng)的有向圖也就是連通的。根據(jù)有向圖中路的理論,具有連通性的圖中,任意兩個頂點Si,Sj,之間必然存在至少一條路徑(Path),從Si出發(fā)到Sj終止,該路徑由若干弧即事件串組成。比如話音業(yè)務(wù)中,狀態(tài)S0,S2之間存在的路徑是事件串O,D,對應(yīng)的意義是從未摘機狀態(tài),經(jīng)過O,D兩個事件,可以轉(zhuǎn)移到撥號狀態(tài)。如果在Si,Sj之間存在多條路徑,那么必然存在一條最短路,該路徑包含的弧(事件)最少,即從Si到Sj需要經(jīng)過的轉(zhuǎn)移次數(shù)最少。根據(jù)有向圖理論,連通有向圖的任意一對頂點Si,Sj之間都可以計算出其最短路SPath(Si,Sj)。
因此,在狀態(tài)機所對應(yīng)的有向圖中,本發(fā)明的第二實施例定義最短路SPath(Si,Sj)為從起始狀態(tài)Si到終止?fàn)顟B(tài)Sj的所必須經(jīng)過的且是最少事件數(shù)的路徑即事件串。也就是說,任何可能的從狀態(tài)Si到狀態(tài)Sj的事件串長度均長于、均包含一個完全與其最短路SPath(Si,Sj)匹配的子串。由此,進一步考慮兩種情況從狀態(tài)Si出發(fā)經(jīng)過某一事件串后到達狀態(tài)Sj,和直接經(jīng)過最短路SPath(Si,Sj)到達,前一種情況所需要的事件數(shù)必然多于最短路,如果這一事件串中所有事件僅僅對狀態(tài)轉(zhuǎn)移起了作用,則兩種情況效果完全相等。例如在話音業(yè)務(wù)中,從未摘機狀態(tài)S0出發(fā),經(jīng)過輸入事件O,D,F(xiàn)驅(qū)動,狀態(tài)經(jīng)過S1到S2再回到S1,效果和沿著最短路徑SPath(S0,S1)=O直接到達S1是一樣的。根據(jù)這一點,本發(fā)明的第二實施例通過用緩存事件串中的最短路子串簡化整個緩存事件串的方法實現(xiàn)了高效處理上報事件的目的。
但是注意到,滿足最短路簡化緩存串的前提條件是所有事件都是僅起到狀態(tài)轉(zhuǎn)移的作用。而從特征事件來說,有些特征事件的作用就僅僅是驅(qū)動業(yè)務(wù)狀態(tài)進行轉(zhuǎn)移的,而其他的特征事件除了這個作用外,還本身攜帶信息。比如撥號事件,撥一個號碼后,號碼就增加一位,號碼是業(yè)務(wù)邏輯需要的信息。由此,本發(fā)明的第二實施例將特征事件分為純狀態(tài)事件(Pure State Event,簡稱“PSE”)和非純狀態(tài)事件(Non-Pure State Event,簡稱“NPSE”)。其中純狀態(tài)事件僅影響業(yè)務(wù)處理的狀態(tài)轉(zhuǎn)移,非純狀態(tài)事件除影響業(yè)務(wù)處理的狀態(tài)轉(zhuǎn)移外還帶有業(yè)務(wù)邏輯執(zhí)行所需要的信息。對于事件緩存隊列中的純狀態(tài)事件可以用最短路簡化,而非純狀態(tài)事件則需要定義專門的非純狀態(tài)規(guī)則進行處理。
在狀態(tài)機從掛起態(tài)返回原來狀態(tài)后,當(dāng)前狀態(tài)為Si,而EventBuffer中緩存的事件串BE1,BE2,.......,BEL,共L個事件,如果順序作用于狀態(tài)機,將能夠驅(qū)動狀態(tài)轉(zhuǎn)移到目的狀態(tài)Sj??梢娛录彺骊犃兄惺录礃?gòu)成一條從當(dāng)前狀態(tài)為Si到目的狀態(tài)Sj的路徑,該路徑中包含最短路SPath(Si,Sj)。在本發(fā)明第二實施例中,對事件緩存隊列掃描得到最短路,保留屬于最短路的事件,對于不屬于最短路的其他事件,如果是純狀態(tài)事件則刪除,如果是非純狀態(tài)事件則按事先定義的非純狀態(tài)事件規(guī)則進行處理。
比如話音業(yè)務(wù)中,進入掛起態(tài)之前為已摘機狀態(tài),用戶在掛起期間,先后輸入了撥號事件,后來發(fā)現(xiàn)所撥號碼錯誤,輸入拍叉事件,這時從掛起態(tài)返回,顯然最終到達的還是已摘機狀態(tài)。那么狀態(tài)與本身之間最短路為空,撥號事件和拍叉事件都不屬于最短路。其中拍叉事件是純狀態(tài)事件可以刪除,而撥號事件是非純狀態(tài)事件,根據(jù)其處理規(guī)則。比如對于話音業(yè)務(wù)的撥號事件,可以定義其非純狀態(tài)事件規(guī)則如下Step1.如果目的狀態(tài)為撥號狀態(tài)S2,且EventBuffer的最后一個事件為撥號事件D,轉(zhuǎn)步驟Step2,否則轉(zhuǎn)步驟Step4;Step2.在EventBuffer中,從后向前順序掃描事件,如果掃描到的事件為撥號事件D,則繼續(xù)向前掃描,否則停止掃描,進入步驟Step3;Step3.如果當(dāng)前掃描到的一段事件串必然為一串連續(xù)的撥號事件D,保留該串事件,終止流程;Step4.刪除EventBuffer中的所有撥號事件。
由此可見,采用最短路簡化和非純狀態(tài)規(guī)則處理的方法后,剔除了失效事件,不僅保證上報事件處理結(jié)果的正確性,而且節(jié)省了MGC的處理資源和網(wǎng)絡(luò)帶寬,避免惡性循環(huán)導(dǎo)致信息失去同步。
綜上易見,本發(fā)明給出的通用處理方法是建立在一般化理論之上的,適用于任意媒體網(wǎng)關(guān)的上報事件處理,與具體協(xié)議無關(guān)。對于H.248、MGCP或者以后可能出現(xiàn)的任何MGC與MG之間的通信和控制協(xié)議都適用,具有通用性。
為了明確描述本發(fā)明給出的上報事件處理方法,圖4示出了本發(fā)明的第三實施例中上報事件處理的整個流程。
首先在步驟401中,對NGN業(yè)務(wù)和事件之間關(guān)系進行分析,并對事件進行分類。在所有事件AllEvents={E1,E2,E3,...........,EM}中,根據(jù)事件是否驅(qū)動業(yè)務(wù)狀態(tài)轉(zhuǎn)移分為特征事件EES={EEG1,EEG2,EEG3,......,EEGQ}和雜類事件MisEvents={ME1,ME2,ME3,...........,MEMMis},其中根據(jù)是否除驅(qū)動狀態(tài)轉(zhuǎn)移外還帶有其他信息,特征事件又分為純狀態(tài)事件和非純狀態(tài)事件。
接著進入步驟402,根據(jù)Rule1-3以及業(yè)務(wù)狀態(tài)和特征事件的驅(qū)動關(guān)系建立狀態(tài)機模型,并根據(jù)該狀態(tài)機模型,進一步導(dǎo)出(建立)其有向圖描述,并生成計算機內(nèi)部表示。具體實現(xiàn)時,先將所有業(yè)務(wù)狀態(tài)SVCST={S0,S1,S2,......,SN-1}列為狀態(tài)機的狀態(tài),根據(jù)事件驅(qū)動關(guān)系加上特征事件,最后引入掛起狀態(tài)SSusp和相應(yīng)的ENot對應(yīng)Notify命令發(fā)送事件和ERNot對應(yīng)Notify命令得到響應(yīng)事件。通過狀態(tài)對應(yīng)頂點,有向弧直接對應(yīng)事件的方法,可以由狀態(tài)機得到有向圖描述。計算機內(nèi)部表示可以有多種方法表示,比如用三維數(shù)組或者鏈表等數(shù)據(jù)結(jié)構(gòu)表示。
然后進入步驟403,對完成其他配置,包含對雜類事件規(guī)則、非純狀態(tài)事件規(guī)則的定義、有向圖任意頂點間最短路的計算,及MG上設(shè)置事件緩存隊列。對于每種雜類事件或非純狀態(tài)事件都應(yīng)該根據(jù)具體業(yè)務(wù)設(shè)置及處理邏輯定義其處理規(guī)則,定義的方法是一系列If-then規(guī)則,并建立其計算機內(nèi)部表示,對于所有雜類事件、非純狀態(tài)事件的處理規(guī)則進行單獨定義。然后采用圖論最短路算法,計算任何兩個狀態(tài)之間的最短路徑,得到最短路表,每個表項其實是一個由若干特征事件組成的事件串,并生成計算機內(nèi)部表示,比如用二維數(shù)組或者鏈表表示。
之后進入步驟404,MG啟動狀態(tài)機,根據(jù)Events描述符檢測事件,由事件驅(qū)動進行狀態(tài)轉(zhuǎn)移,處理上報事件。在NGN業(yè)務(wù)邏輯啟動后,啟動狀態(tài)機,并接收MGCEvents描述符的下發(fā)。業(yè)務(wù)邏輯執(zhí)行啟動后,從初始狀態(tài)開始,MG上的狀態(tài)機由事件驅(qū)動。此時,MGC會根據(jù)業(yè)務(wù)邏輯向MG下發(fā)Events描述符,規(guī)定合法的特征事件集合,MG根據(jù)收到Events描述符,檢測并上報事件,根據(jù)事件驅(qū)動執(zhí)行狀態(tài)轉(zhuǎn)移。在處理上報事件過程中,MG還將根據(jù)MGC下發(fā)的Events描述符進行更新。
在步驟405中,如果檢測到需要上報的事件或要上報緩存事件,則發(fā)送Notify消息(其中含有該事件的信息),觸發(fā)ENot事件,進入掛起狀態(tài),在此掛起狀態(tài)下如果再檢測到事件,根據(jù)FIFO原則緩存入事件緩存隊列EventsBuffer中。
在步驟406中,當(dāng)Notify消息得到響應(yīng),則退出掛起狀態(tài)返回前一狀態(tài),并根據(jù)以下規(guī)則處理事件緩存隊列檢測EventBuffer中緩存的事件,發(fā)現(xiàn)有BE1,BE2,.......,BEL,共L個事件,推得從當(dāng)前狀態(tài)Sp出發(fā)經(jīng)由該事件串最終到達的目的狀態(tài)Sq,查最短路表得到最短路SPath(Sp,Sq);掃描EventBuffer得到與SPath(Sp,Sq)完全匹配的事件串(Matched ShortestPath,簡稱“MSP”);對EventBuffer中的事件進行以下判斷a)如果該事件屬于MSP,則保留該事件;b)如果該事件不屬于MSP且為純狀態(tài)事件,則刪除該事件;c)如果該事件不屬于MSP且為非純狀態(tài)事件,則按照定義的該非純狀態(tài)特征事件的非純狀態(tài)事件規(guī)則進行處理,保留或者刪除;d)如果是雜類事件,則按照定義的該雜類事件的雜類事件規(guī)則進行處理,保留或者刪除。
最后在步驟407中,處理完畢所有EventBuffer中的緩存事件后,檢測是否存在處于活動狀態(tài)的Events描述符,如果是,并且EventBuffer保留的事件符合Events描述符條件,回到步驟405,用Notify命令上報該事件,并進入掛起狀態(tài),繼續(xù)處理上報事件。
至此,上面描述的三個實施例給出對于MG處理單獨某種業(yè)務(wù)的具體技術(shù)方案和實現(xiàn)細節(jié)。但是隨著NGN業(yè)務(wù)多樣化的發(fā)展,尤其是多種多媒體業(yè)務(wù)的出現(xiàn),不同的業(yè)務(wù)將產(chǎn)生很多新的事件和該業(yè)務(wù)相關(guān)聯(lián)。比如可視電話業(yè)務(wù)中,除了上述四種事件外,還可以有選擇視頻、禁止視頻事件、申請發(fā)言、申請主席、發(fā)送文本事件等等。也就是說各種業(yè)務(wù)的具體設(shè)置包括事件、狀態(tài)機等都會不同,因此,本發(fā)明為了更好支持業(yè)務(wù)多樣化的發(fā)展,專門給出了多種業(yè)務(wù)同時處理上報事情的方法及相關(guān)的技術(shù)解決方案。
在本發(fā)明的第四實施例中,對于MG所處理的所有業(yè)務(wù)、業(yè)務(wù)各種類型分別進行上述的處理對業(yè)務(wù)相關(guān)的事件進行分類、根據(jù)業(yè)務(wù)邏輯建立相應(yīng)的狀態(tài)機、并執(zhí)行各自的狀態(tài)機來處理其相應(yīng)的事件。
首先,按照這個思路,對各種業(yè)務(wù)對應(yīng)的事件分別分類,可以把業(yè)務(wù)及其相關(guān)的事件組合起來,這樣就可以把各種業(yè)務(wù)相關(guān)事件歸為各自業(yè)務(wù)的事件集中。先設(shè)共有K種業(yè)務(wù),夠成業(yè)務(wù)集,表示為AllServices={SVC1,SVC2,SVC3,.......,SVCK}。同樣的每個業(yè)務(wù)都有一個EES,用上標(biāo)i來區(qū)分第i種業(yè)務(wù)的事件集EESi={E(i)1,E(i)2,E(i)3,...,E(i)Mi-1},對應(yīng)有Mi-1種事件。每個業(yè)務(wù)還對應(yīng)有自己的狀態(tài)集SVCSTi={S(i)0,S(i)1,S(i)2,......,S(i)Ni-1},共有Ni個不同的狀態(tài)。關(guān)于每種業(yè)務(wù)內(nèi)部,其事件集和狀態(tài)集之間的條件等都與上面所述相同,這里不再贅述。
值得注意的是,雜類事件的定義可以是相同的,即雜類事件與所有業(yè)務(wù)都不關(guān)聯(lián),因此EES1、EES2、EES3、....、EESK、MisEvents并起來才是所有事件集AllEvents。這里對于事件、狀態(tài)的分類和定義都是針對多種業(yè)務(wù)并存的情況。而對于每種業(yè)務(wù)的相關(guān)事件內(nèi)部也同樣分為純狀態(tài)事件和非純狀態(tài)事件,并定義非純狀態(tài)事件相應(yīng)的處理規(guī)則。另外,雜類事件同樣的也是根據(jù)雜類事件規(guī)則進行特殊處理,這一點無論那種業(yè)務(wù)對應(yīng)的狀態(tài)機執(zhí)行時都應(yīng)該滿足。
其次,對于每種業(yè)務(wù)及其狀態(tài)集,也建立相應(yīng)的狀態(tài)機,生成狀態(tài)機的圖形表示。根據(jù)每種業(yè)務(wù)的特征事件及其邏輯關(guān)系推演得到執(zhí)行業(yè)務(wù)邏輯的狀態(tài)機。與上文相同,也用有向圖表示和存儲,并計算每個業(yè)務(wù)狀態(tài)圖上任意兩個狀態(tài)之間的最短路。比如第i種業(yè)務(wù)SVCi的狀態(tài)集中的第m,n個狀態(tài)之間,計算其最短路為SPath(S(i)m,S(i)n)。這樣最短路其實就是一個三維的表格了,多了一維業(yè)務(wù)類型。
之后,在MG中需要對各種業(yè)務(wù)分別執(zhí)行其相應(yīng)的狀態(tài)機來處理其上報事件對于第i種業(yè)務(wù)SVCi,業(yè)務(wù)邏輯執(zhí)行啟動;從初始狀態(tài)S(i)0開始,狀態(tài)機啟動;MGC根據(jù)業(yè)務(wù)邏輯,不斷向MG下發(fā)含有某些特定特征事件的Events描述符;MG收到Events描述符,此Events描述符為活動狀態(tài)。對于狀態(tài)改變及各種事件處理等特殊方面的考慮與上文描述的實施例相同。
圖5的處理流程總結(jié)了上述對于多種業(yè)務(wù)同時處理的情況。
這里需要說明的一點是,對于一個處理器的實體碰到需要同時處理多種不同業(yè)務(wù)的情況,本發(fā)明通過在該實體上實現(xiàn)多任務(wù)執(zhí)行機制實現(xiàn)對多個業(yè)務(wù)狀態(tài)機的分別同時執(zhí)行,各個處理進程之間進行必要的協(xié)調(diào)并采用現(xiàn)有的成熟機制來避免資源沖突等異常情況。
另外,本發(fā)明還采用配置數(shù)據(jù)的方法配置整個NGN系統(tǒng),使得整個系統(tǒng)能夠協(xié)調(diào)運行,況且這樣能夠極大的方便了多種業(yè)務(wù)、多種事件、多種狀態(tài)及多種規(guī)則的保存、描述和維護更新。因此,對于上述各個步驟產(chǎn)生的結(jié)果,比如事件分類集設(shè)置信息、狀態(tài)圖和最短路信息、處理規(guī)則信息等,都要作為數(shù)據(jù)和可動態(tài)生成的規(guī)則保存到相應(yīng)的配置數(shù)據(jù),并配置到NGN系統(tǒng)中去。該配置數(shù)據(jù)便于系統(tǒng)保存和維護,在系統(tǒng)設(shè)置變化時進行更新。
在給出多種業(yè)務(wù)同時處理的事情的解決方案后,自然會聯(lián)想到業(yè)務(wù)種類變化和動態(tài)維護的問題。在NGN發(fā)展中,可能出現(xiàn)動態(tài)調(diào)整業(yè)務(wù)種類的情況,比如需要增加一些新開發(fā)的業(yè)務(wù)類型,或者取消一些舊的業(yè)務(wù)類型。這些情況下,需要對系統(tǒng)配置等進行更新,包括上述上報事件處理中所涉及到的事件集、分類方案、狀態(tài)機等。
因此,在本發(fā)明的第四實施例中,當(dāng)MG新增業(yè)務(wù)時,對于該新增業(yè)務(wù)執(zhí)行上文所述各個步驟,對該新增業(yè)務(wù)對應(yīng)的事件分別分類,設(shè)置特征事件集,并按照業(yè)務(wù)邏輯建立對應(yīng)的狀態(tài)機,更新配置數(shù)據(jù)中的相關(guān)信息;然后在MG執(zhí)行該新增業(yè)務(wù)對應(yīng)的狀態(tài)機來處理其對應(yīng)的特征事件。而當(dāng)所述媒體網(wǎng)關(guān)取消業(yè)務(wù)時,刪除該取消業(yè)務(wù)對應(yīng)的事件及其分類信息,刪除其對應(yīng)的狀態(tài)機信息,更新配置數(shù)據(jù)中的相關(guān)信息,而MG也停止運行其狀態(tài)機。
在新的參數(shù)下,重復(fù)上述各個步驟。當(dāng)新的業(yè)務(wù)出現(xiàn)后,定義該業(yè)務(wù)和相關(guān)事件所符合的FSM模型,并且轉(zhuǎn)化成機器可以理解的數(shù)據(jù)結(jié)構(gòu)和相應(yīng)形式的規(guī)則系統(tǒng),就可以通過對于NGN的配置使得MGC、MG支持該種新業(yè)務(wù)及其相關(guān)事件。同時通過對于新增業(yè)務(wù)和新增事件之間的關(guān)系分析和建模,就可以生成配置信息,然后對于NGN更新相應(yīng)的配置,新業(yè)務(wù)就可以被支持了。從而大大提高了系統(tǒng)靈活性和可擴展性。
熟悉本領(lǐng)域的技術(shù)人員可以理解,上述處理上報事件的方法是通用方法可以應(yīng)用于除H.248以外的MGC與MG之間的通信協(xié)議(如MGCP等),達到高效處理上報事件的發(fā)明目的,而不影響本發(fā)明的實質(zhì)和范圍。
雖然通過參照本發(fā)明的某些優(yōu)選實施例,已經(jīng)對本發(fā)明進行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在形式上和細節(jié)上對其作各種改變,而不偏離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,其特征在于,包含以下步驟,A針對業(yè)務(wù)邏輯執(zhí)行與事件的關(guān)系,對事件分類;B根據(jù)協(xié)議規(guī)定的事件處理規(guī)則,結(jié)合業(yè)務(wù)邏輯和業(yè)務(wù)狀態(tài)的轉(zhuǎn)移機制,建立由事件驅(qū)動的狀態(tài)機;C媒體網(wǎng)關(guān)執(zhí)行所述狀態(tài)機處理事件。
2.根據(jù)權(quán)利要求1所述的下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,其特征在于,所述狀態(tài)機中設(shè)置掛起狀態(tài),用于確保命令串行;所述媒體網(wǎng)關(guān)中設(shè)置事件緩存隊列,用于在所述狀態(tài)機的掛起狀態(tài)下緩存事件;所述狀態(tài)機在除掛起狀態(tài)以外的任何狀態(tài)下,當(dāng)上報通知命令時,即進入所述掛起狀態(tài);在所述掛起狀態(tài)下,所述媒體網(wǎng)關(guān)將檢測到的事件存入所述事件緩存隊列,且當(dāng)所述通知命令得到響應(yīng)時,所述狀態(tài)機即返回進入所述掛起狀態(tài)前的狀態(tài)。
3.根據(jù)權(quán)利要求2所述的下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,其特征在于,所述步驟C包含以下子步驟,C1所述媒體網(wǎng)關(guān)接收事件,并根據(jù)事件驅(qū)動所述狀態(tài)機進行狀態(tài)轉(zhuǎn)移;C2當(dāng)所述通知命令上報時,所述狀態(tài)機進入所述掛起狀態(tài);C3在所述掛起狀態(tài)下,所述媒體網(wǎng)關(guān)將事件按照先進先出方式存入所述事件緩存隊列;C4當(dāng)所述通知命令得到響應(yīng)時,所述狀態(tài)機退出所述掛起狀態(tài),所述媒體網(wǎng)關(guān)處理所述事件緩存隊列中的事件,并繼續(xù)執(zhí)行所述狀態(tài)機處理上報事件。
4.根據(jù)權(quán)利要求3所述的下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,其特征在于,在所述步驟A中,事件分為特征事件與雜類事件,其中所述特征事件影響業(yè)務(wù)處理的狀態(tài)轉(zhuǎn)移,所述雜類事件不影響業(yè)務(wù)處理的狀態(tài)轉(zhuǎn)移;所述特征事件進一步分為純狀態(tài)事件與非純狀態(tài)事件,其中所述純狀態(tài)事件僅影響業(yè)務(wù)處理的狀態(tài)轉(zhuǎn)移,所述非純狀態(tài)事件除影響業(yè)務(wù)處理的狀態(tài)轉(zhuǎn)移外還帶有業(yè)務(wù)邏輯執(zhí)行需要的信息。
5.根據(jù)權(quán)利要求4所述的下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,其特征在于,在所述步驟B中,以有向圖的形式描述所述狀態(tài)機,并計算任意起始狀態(tài)到終止?fàn)顟B(tài)之間的最短路,用于表示從該起始狀態(tài)到該終止?fàn)顟B(tài)所需要的最短必要驅(qū)動事件串;在所述步驟C4中,所述媒體網(wǎng)關(guān)保留屬于所述最短路的事件,保留不屬于所述最短路的雜類事件并基于對此類事件預(yù)先定義的規(guī)則進行進一步處理,根據(jù)處理結(jié)果最終決定此類事件的保留或者刪除;保留不屬于所述最短路的非純狀態(tài)事件,并基于對此類事件預(yù)先定義的規(guī)則進行進一步處理,根據(jù)處理結(jié)果最終決定此類事件的保留或者刪除。刪除不屬于所述最短路的所述純狀態(tài)事件。
6.根據(jù)權(quán)利要求5所述的下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,其特征在于,在所述步驟A中,定義所述非純狀態(tài)事件規(guī)則,用于描述處理所述非純狀態(tài)事件規(guī)則的方法;在所述步驟C4中,所述媒體網(wǎng)關(guān)根據(jù)所述非純狀態(tài)事件規(guī)則處理所述非純狀態(tài)事件;在所述步驟A中,定義雜類事件規(guī)則,用于描述所述雜類事件的處理方法;在所述步驟C4中,執(zhí)行狀態(tài)機處理所述特征事件,按所述雜類事件規(guī)則處理所述雜類事件。
7.根據(jù)權(quán)利要求6所述的下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,其特征在于,當(dāng)所述媒體網(wǎng)關(guān)處理兩種及兩種以上業(yè)務(wù)時,對于所有業(yè)務(wù)分別執(zhí)行所述步驟A和步驟B,對各種業(yè)務(wù)對應(yīng)的事件分別分類,并分別建立對應(yīng)的所述狀態(tài)機;然后在所述步驟C中由所述媒體網(wǎng)關(guān)分別執(zhí)行各種業(yè)務(wù)對應(yīng)的所述狀態(tài)機來處理其對應(yīng)的事件。
8.根據(jù)權(quán)利要求7所述的下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,其特征在于,當(dāng)所述媒體網(wǎng)關(guān)處理兩種及兩種以上業(yè)務(wù)時,在所述步驟A中,將所有事件分為特征事件與雜類事件,其中所述特征事件影響至少一種業(yè)務(wù)處理的狀態(tài)轉(zhuǎn)移,所述雜類事件不影響任何一種業(yè)務(wù)處理的狀態(tài)轉(zhuǎn)移,并定義雜類事件規(guī)則,用于描述所述雜類事件的處理方法;在所述步驟C4中,執(zhí)行各種業(yè)務(wù)對應(yīng)的所述狀態(tài)機的同時,按所述雜類事件規(guī)則處理所述雜類事件。
9.根據(jù)權(quán)利要求8所述的下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,其特征在于,所述媒體網(wǎng)關(guān)將所述步驟A和步驟B中產(chǎn)生的各種業(yè)務(wù)對應(yīng)的事件分類、所述狀態(tài)機、所述有向圖、所述最短路、所述非純狀態(tài)事件規(guī)則和所述雜類事件規(guī)則信息保存為配置數(shù)據(jù),對所述下一代網(wǎng)絡(luò)進行配置,并維護所述配置數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,其特征在于,當(dāng)所述媒體網(wǎng)關(guān)新增業(yè)務(wù)時,對于該新增業(yè)務(wù)執(zhí)行所述步驟A和步驟B,對該新增業(yè)務(wù)對應(yīng)的事件分別分類,并建立對應(yīng)的所述狀態(tài)機及其他屬于配置數(shù)據(jù)的信息,更新所述配置數(shù)據(jù)中的相關(guān)信息;然后在所述步驟C中由所述媒體網(wǎng)關(guān)執(zhí)行該新增業(yè)務(wù)對應(yīng)的所述狀態(tài)機來處理其對應(yīng)的事件。
11.根據(jù)權(quán)利要求9所述的下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,其特征在于,當(dāng)所述媒體網(wǎng)關(guān)取消業(yè)務(wù)時,刪除該取消業(yè)務(wù)對應(yīng)的事件及其分類信息,刪除其對應(yīng)的所述狀態(tài)機信息,更新所述配置數(shù)據(jù)中的相關(guān)信息;在所述步驟C中停止執(zhí)行該取消業(yè)務(wù)對應(yīng)的所述狀態(tài)機。
12.根據(jù)權(quán)利要求10所述的下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,其特征在于,當(dāng)所述媒體網(wǎng)關(guān)業(yè)務(wù)邏輯變更時,重新定義該業(yè)務(wù)對應(yīng)的事件及其分類信息,刪除其對應(yīng)的所述狀態(tài)機信息,刪除所述配置數(shù)據(jù)中的相關(guān)信息;在所述步驟C中停止執(zhí)行該取消業(yè)務(wù)對應(yīng)的所述狀態(tài)機。對于該更新業(yè)務(wù)重新執(zhí)行步驟A和B以建立狀態(tài)機和其他屬于配置數(shù)據(jù)的信息,重新建立該業(yè)務(wù)對應(yīng)的新的配置數(shù)據(jù)。然后在所述步驟C中由所述媒體網(wǎng)關(guān)執(zhí)行該變更邏輯的業(yè)務(wù)對應(yīng)的所述狀態(tài)機來處理其對應(yīng)的事件。
13.根據(jù)權(quán)利要求1至12中任一項所述的下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,其特征在于,所述媒體網(wǎng)關(guān)處理話音業(yè)務(wù)時,所述特征事件可以是摘機、掛機、撥號和拍叉事件。
14.根據(jù)權(quán)利要求13所述的下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,其特征在于,所述媒體網(wǎng)關(guān)處理話音業(yè)務(wù)時,所述純狀態(tài)事件可以是摘機、掛機和拍叉事件;所述非純狀態(tài)事件可以是撥號事件。
15.根據(jù)權(quán)利要求1至12中任一項所述的下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,其特征在于,所述媒體網(wǎng)關(guān)根據(jù)事件描述符檢測并處理上報事件;所述媒體網(wǎng)關(guān)根據(jù)所述媒體網(wǎng)關(guān)控制器下發(fā)的命令更新所述事件描述符。
16.根據(jù)權(quán)利要求15所述的下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,其特征在于,所述方法可應(yīng)用于所述媒體網(wǎng)關(guān)與媒體網(wǎng)關(guān)控制器之間根據(jù)H.248媒體網(wǎng)關(guān)控制協(xié)議或媒體網(wǎng)關(guān)控制協(xié)議進行通信的情況。
全文摘要
本發(fā)明涉及下一代網(wǎng)絡(luò)技術(shù),公開了一種下一代網(wǎng)絡(luò)中媒體網(wǎng)關(guān)上報事件處理方法,使得媒體網(wǎng)關(guān)可以高效實現(xiàn)一種或多種業(yè)務(wù)上報事件的串行處理。本發(fā)明中,對于不同業(yè)務(wù)分別處理,每種業(yè)務(wù)根據(jù)業(yè)務(wù)和事件的關(guān)系對事件分類,采用有限狀態(tài)機機制處理上報事件,并結(jié)合上報事件處理規(guī)則,在狀態(tài)機中引入掛起狀態(tài)及相應(yīng)事件,在遵循既有規(guī)則的前提下,通過等待Notify響應(yīng)并對上報事件進行緩存,實現(xiàn)上報事件的有序執(zhí)行;還基于狀態(tài)機的有向圖理論描述,采用最短路簡化方法對緩存事件進行處理以刪除無效緩存事件;針對與狀態(tài)轉(zhuǎn)移無關(guān)的雜類事件和帶有額外信息的非純狀態(tài)事件,采用事先定義并且可以靈活擴展的處理規(guī)則進行專門處理。
文檔編號H04L29/06GK1855931SQ20051011302
公開日2006年11月1日 申請日期2005年10月11日 優(yōu)先權(quán)日2005年4月20日
發(fā)明者羅忠 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
靖州| 精河县| 和平县| 武鸣县| 探索| 孟村| 松潘县| 公主岭市| 宁波市| 科技| 古田县| 修文县| 齐河县| 乃东县| 靖边县| 定结县| 武夷山市| 滦平县| 鸡西市| 兰溪市| 瑞丽市| 安丘市| 巴彦淖尔市| 额尔古纳市| 获嘉县| 昔阳县| 黄冈市| 子长县| 大安市| 绿春县| 黄冈市| 周宁县| 崇文区| 巴马| 扶绥县| 永胜县| 敦化市| 云龙县| 囊谦县| 扶绥县| 临洮县|