亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

處理Diameter協議消息的方法

文檔序號:6603552閱讀:769來源:國知局
專利名稱:處理Diameter協議消息的方法
技術領域
本發(fā)明涉及通信技術領域,尤其涉及一種處理Diameter協議消息的方法。
背景技術
Diameter協議被IETF的AAA工作組作為下一代的AAA協議標準。Diameter (為直徑,意味著Diameter協議是RADIUS協議的升級版本)協議包括基本協議、NAS (網絡接 入服務)協議、EAP(可擴展鑒別)協議、MIP(移動IP)協議、CMS(密碼消息語法)協議等。 Diameter協議支持移動IP、NAS請求和移動代理的認證、授權和計費工作,協議的實現和 RADIUS類似,也是采用AVP (Attribute Value Pair,屬性值對)來實現,但是其中詳細規(guī)定 了錯誤處理、failover機制,采用TCP協議,支持分布式計費,克服了 RADIUS的許多缺點, 是最適合未來移動通信系統(tǒng)的AAA協議。各通信運營商對Diameter協議的實現,主要涉及中國移動的Diameter協議、中國 電信的OCP協議和中國聯通的DCC(Diameter Credit Control)協議。應用的場景有(1) 網元設備和在線計費系統(tǒng)(Online ChargingSystem)交互;(2)在線計費系統(tǒng)和余額管理 中心交換等等。在線計費系統(tǒng)(Online Charging System,簡稱0CS)是指參與通信過程控 制的計費系統(tǒng),能夠解決用戶實時信用控制、預付費使用數據業(yè)務和增值業(yè)務實時計費等 問題。OCS是3GPP網絡架構中最重要的組成部分之一。為更好地指導3G環(huán)境下計費支 撐體系的建設,3GPP組織在32. 815提出了 OCS的參考結構,給出了具有開放性和通用性的 實時計費系統(tǒng)框架,支持基于承載、會話和內容事件的統(tǒng)一計費。這一框架將話務控制功能 與計費功能相分離,使計費系統(tǒng)參與到服務的使用過程中,用戶邊使用業(yè)務,OCS邊計費。作 為系統(tǒng)協議支撐Diameter,必須提供有力的實時性保證?,F有的Diameter實現性能存在一 定的瓶頸,在一定程度上限制了 OCS的并發(fā)處理能力。Diameter消息體可以認為是一個Grouped類型AVP,每個Grouped類型的AVP里 面包含一組AVP (可以是Grouped類型)元素,也就是說,Diameter的消息體為多個AVP (屬 性值對,即消息中的信息單元)組成,因此Diameter消息可以看作以AVP元素作為節(jié)點的 樹?,F在以電信的信用控制請求(Credit-Control-Request)消息為例,使用ABNF格式定 義如下<Credit-Control-Request) = <Diameter Header 272, REQ, PXY>Diameter ^ 議頭,REQ表示該消息為一個請求消息,其中272表示由Diameter協議標準組織分配該命 令碼的值;<Session-Id>{Origin-Host}源主機信息{Origin-Realm}源服務域信息{Destination-Realm}目的服務域信息{Auth-App1i cat i on-Id}
{Service-Context-Id}{CC-Request-Type}{CC-Request-Number}[Destination-Host][User-Name]
[Origin-State-Id][Event-Timestamp]*[Subscription-Id][Termination-Cause]氺[Route-Record][Requested-Action][Requested-Service-Unit]*[Used-Service-Unit][Multiple-Services-Indicator]*[Multiple-Services-Credit Control][CC-Correlation-Id][User-Equipment-Info]*[Proxy-Info][Service-Information];“<>”符號表示必選而且位置必須是在消息的開頭的AVP,“{}”符號表示必選的 AVP, “ [] ”符號表示可選的AVP,“* [] ”符號表示可重復的可選的AVP0針對以上Diameter消息結構抽象出的主要類有,用于存儲AVP屬性和值的 類(⑶iameterAVP),用于管理AVP的容器(OTiameterGroup)和用于管理整個消息的類 (CDiameterMessage)。這些類實現基本消息結構和基本數據的存儲,通過這些類可以很輕松的搞定消息 的管理。由于Diameter消息中存在“[]”和“*[] ”類型的AVP,每個消息的結構都不是固 定的。因此每次Diameter消息使用時都必須做一次OTiameterMessage的構造和析構操 作,對應的CDiameterGroup和CDiameterAVP也需要構造和析構。如果以new(生成)和 delete (銷毀)操作時間為1 μ s (UNIX機器實測結果)來計算,具有100個AVP的消息其 自身消耗的時間大概就是0. Ims0現在以電信OCS系統(tǒng)為例,當系統(tǒng)壓力為1000CAPS(Call Attempts Per Second,每秒建立呼叫數量)時,每秒處理的CCR消息數目為2500個,每個 消息業(yè)務處理的時間為0. 4ms。消息自身處理時間和業(yè)務處理時間是同一個數量級,這個處 理性能是滿足不了 OCS系統(tǒng)的?;蛟S內存池可以解決這個問題,當發(fā)生頻繁的內存操作時 大家傾向于利用內存池來解決。但是,內存池只是解決了消息new和delete的性能,并沒 有解決消息中所有AVP的生成和銷毀問題,采用內存池的實測結果也是同樣的性能,因此 并不能有效縮短消息處理時間。

發(fā)明內容
因此,本發(fā)明的目的在于提供一種處理Diameter協議消息的方法,減少Diameter協議消息對象的生成和銷毀對系統(tǒng)資源的消耗。為實現上述目的,本發(fā)明提供一種處理Diameter協議消息的方法,其包括如下步 驟步驟1、應用根據Diameter消息的id獲取內存中預先存儲的Diameter消息模板, 并把該Diameter消息模板的結構作為構建Diameter消息對象結構的初始狀態(tài);步驟2、根據實際的消息結構,增加或刪除Diameter消息對象結構中的AVP對象, 從而修改Diameter消息對象的結構;步驟3、用棧來記錄步驟2中對Diameter消息結構的每次操作;步驟4、應用使用完消息后,根據棧中的記錄,將Diameter消息對象的結構恢復為 初始狀態(tài)。其中,步驟2中,如果增加或刪除的AVP對象為Grouped類型的AVP對象,采用遞 歸方式處理所有的AVP對象。其中,對于Diameter消息的接收方來說,步驟1中使用的Diameter消息模板為空 結構。其中,步驟1中,如果內存中該Diameter消息模板數量為1,則先克隆該Diameter 消息模板,然后在克隆的Diameter消息模板基礎上構建Diameter消息對象的結構。其中,在步驟3中,將步驟2中對Diameter消息結構的每次操作依次壓棧;步驟4 中恢復Diameter消息對象的結構時,將步驟3中記錄的操作依次出棧。其中,在內存中以Diameter消息模板為對象建立對象池,同一種的Diameter消息 模板存放于同一對象池中,多種Diameter消息模板分別以多個對象池來管理,用圖來管理 這些不同的對象池,以鄰接表來表示該圖,鄰接表中的每個鏈表都表示一個對象池,通過增 加或減少鄰接表實現對象種類的增加或減少;在任一鏈表中,把鏈表中的第一個Diameter消息模板對象作為種子,該種子具備 自身的克隆功能,外部的應用從鏈表中獲取Diameter消息模板對象時,當該鏈表中只有種 子對象時,則返回一個種子克隆的對象,否則從該鏈表的隊列中取一個對象返回。其中,應用所獲取的Diameter消息模板對象經過步驟1_4的處理后,應用釋放該 Diameter消息模板對象,并將該Diameter消息模板對象加入相應的對象池。其中,該圖通過控制鏈表長度的增加和減少來動態(tài)控制對象池中的對象數目。其中,所述鏈表具有單鏈表功能。其中,所述鏈表對外部應用提供獲取和釋放Diameter消息模板對象的接口。本發(fā)明所提供的處理Diameter協議消息的方法,通過具備智能記憶功能的 Diameter消息管理方式,以及能夠動態(tài)增加對象種類和對象池大小的存放Diameter消息 的動態(tài)對象池,方便應用對消息的管理,降低系統(tǒng)資源的消耗。


下面結合附圖,通過對本發(fā)明的具體實施方式
詳細描述,將使本發(fā)明的技術方案 及其他有益效果顯而易見。
附圖中,圖1為本發(fā)明處理Diameter協議消息的方法一較佳實施例中智能記憶消息的設計類圖;圖2為本發(fā)明處理Diameter協議消息的方法一較佳實施例中發(fā)送消息的記憶和 恢復處理流程圖;圖3為本發(fā)明處理Diameter協議消息的方法的流程圖; 圖4為本發(fā)明處理Diameter協議消息的方法一較佳實施例中動態(tài)對象池的設計 圖;圖5為本發(fā)明處理Diameter協議消息的方法一較佳實施例中動態(tài)對象池和智能 記憶消息的時序圖。
具體實施例方式簡化消息結構的管理,減少消息對象的生成和銷毀對系統(tǒng)資源的消耗(CPU和內 存),才能根本上減少消息的處理時間。如何做呢?本發(fā)明采用智能記憶消息的方式,通過 消息的智能記憶功能,達到消息的重復的利用。一次構造多次使用,從而避免了每次業(yè)務處 理時的消息構造和銷毀(這點類似于數據庫的一次pr印are,多次execute的道理)。因此,在本發(fā)明在一較佳實施中,增加了用于消息結構改動的記憶類 (CMemoryElem)和修改操作棧(statck<CMemoryElem*>),用于消息結構修改的記憶和消息 結構的恢復。如圖1所示,其為本發(fā)明處理Diameter協議消息的方法一較佳實施例中智能記 憶消息的設計類圖。圖中,CDiameterMessage 組合 CDiameterGroup 和 CDiameterAVP,用 以表示消息結構和AVP的存儲,并把這種結構作為消息的模板,通過消息id來區(qū)分。這 樣的消息模板可以根據Diameter協議預先確定并存儲于內存中,應用通過在預先構造 的消息模板的基礎上修改其結構,構建符合應用需求的消息結構。CDiameterGroup和 CDiameterAVP是雙向關聯的關系,首先CDiameterGroup是CDiameterAVP的容器,其次當 CDiameterAVP 表示 Grouped 類型的 AVP 時,對應的值為 CDiameterGroup。CMemoryElem 依 賴于 CDiameterGroup 和 CDiameterAVP,用于表示消息結構的改動,statck<CMemoryElem*> 用于表示消息改動的整個過程。在此較佳實施例中,對智能記憶消息的設計類圖中記憶功 能相關的主要方法說明如下DCDiameterMessage: clone,克隆方法實現OTiameterMessage對象結構的構造和拷貝功能,進一步可與對象池協作來 實現消息數目的動態(tài)增長。2) CDiameterMessage recover,恢復方法從修改后的CDiameterMessage對象中恢復過來,把用戶對CDiameterMessage對 象操作進行逆操作(例如增加AVP的操作變成刪除AVP的操作)3) CDiameterMessage :add (CDiameterGroup^group, int pos,int num),增刪 AVP 操作Group用來標識待修改的CDiameterGroup的對象;pos指示參照CDiameterAVP對 象的位置;num代表增刪的數目(> O表示增加,< O代表刪除)。4) CDiameterMessage: value,2Sl^I 白勺 CDiameterAVP ( iSS才目jS白勺 內存空間)
⑶iameterMessage對象管理了一組⑶iameterAVP對象,并且存在一些空閑的,用 來修改CDiameterMessage對象結構的時候用。5) CDiameterMessage: group,fgl^ 白勺 CDiameterGroup ( ^KffijS 的內存空間)⑶iameterMessage對象管理了一組⑶iameterGroup對象,并且存在一些空閑 的, 用來修改⑶iameterMessage對象結構的時候用。6)stack: :push,對象壓棧把修改操作(增加或刪除⑶iameterAVP對象)放入棧中,為⑶iameterMessage 對象恢復時用。7) stack pop,對象出棧把修改操作(增加或刪除CDiameterAVP對象)從棧中取出,用來恢復 CDiameterMessage 對象。對于每一種Diameter消息,有兩種原始狀態(tài),分別為發(fā)起方和接收方使用消息的 狀態(tài)。發(fā)送方使用的原始消息結構(消息模板)是由“ ”、“ {} ”和一個“[],,的AVP組 成。應用通過CDiameterMessage的add方法進行消息結構的調整,通過CDiameterMessage 的recover方法把消息恢復成原始消息結構。當對應的“ □”部分不需要時,通過 CDiameterMessage 的 add 方法把 CDiameterGroup 對應位置的 CDiameterAVP 刪除;當對 應的“[]”需要多組(n組)時,通過CDiameterMessage的add方法把CDiameterGroup對 應位置的CDiameterAVP增加n_l個。CDiameterMessage的每個add操作都會生成一個 CMemoryElem 壓入棧中,當調用 CDiameterMessage 的 recover 方法時,依次把 CMemoryElem 出棧,并執(zhí)行CMemoryElem的逆向操作。如圖2所示,其為本發(fā)明處理Diameter協議消息的方法一較佳實施例中發(fā)送消息 的記憶和恢復處理流程圖。發(fā)送消息的記憶和恢復處理流程如下1)build(),CDiameterMessage對象結構的構建,把該結構(Diameter消息模板) 作為初始狀態(tài),以后的恢復操作就恢復到這個狀態(tài)。2) get (),應用獲取到 CDiameterMessage 對象的句柄。3) add(),根據實際的消息結構,應用修改CDiameterMessage對象,為其增加一個 ⑶iameterAVP對象(本例程中僅僅是增加一個對象,實際上支持增加⑶iameterGroup對 象,可通過遞歸實現),從而生成滿足應用需求的Diameter消息。4) get (),獲取一個CDiameterAVP對象,用于表示新增加的CDiameterAVP對象。5) get (),獲取一個CMemoryElem對象,用于記錄剛才的增加操作。6)push(),把 CMemoryElem 對象壓棧,用于 CDiameterMessage 對象的恢復操作。7)recover (),把CDiameterMessage對象恢復成初始狀態(tài),也就是恢復為模板的 狀態(tài)。8) pop 0,把棧中的CMemoryElem對象彈出,并根據這個對象獲取對應的add ()操作。9) put (),把CMemoryElem對象釋放,該方法名與get ()配對,主要是考慮工整。10) put (),釋放 CDiameterAVP 對象。
整個操作過程就是AVP的增加和刪除的過程。通過這個過程簡單的展示了智能記 憶和恢復過程,實際情況可能會復雜的多,例如增加一個Grouped類型的AVP,需要遞歸的 處理完所有的AVP??梢园阎悄苡洃浝斫鉃檎僮骱湍娌僮鲀蓚€過程,應用修改消息結構是 正操作,恢復操作就是對應的逆操作,堆棧是輔助完成逆操作的工具。另一方面,接收方使用的原始消息結構(消息模板)是一個空結構,沒有 ⑶iameterGroup和⑶iameterAVP。接收方在網絡數據的解析過程中生成消息結構,遇到 Gouped類型的AVP時則增加CDiameterGroup,其它情況則增加CDiameterAVP。當應用回收 消息時,調用⑶iameterGroup的recover方法,把消息恢復到空結構狀態(tài)。接受消息的處 理流程與發(fā)送消息類似這里就不再贅述。綜上,可得出本發(fā)明處理Diameter協議消息的方法。如圖3所示,其為本發(fā)明處 理Diameter協議消息的方法的流程圖,本發(fā)明的處理Diameter協議消息的方法包括如下 步驟 步驟1、應用根據Diameter消息的id獲取內存中預先存儲的Diameter消息模 板,以該Diameter消息模板為基礎構建Diameter消息對象的結構,并把該結構作為初始狀 態(tài);步驟2、根據實際的消息結構,增加或刪除Diameter消息對象結構中的AVP對象, 從而修改Diameter消息對象的結構;步驟3、用棧來記錄步驟2中對Diameter消息結構的每次操作;步驟4、應用使用完消息后,根據棧中的記錄,將Diameter消息對象的結構恢復為 初始狀態(tài),也就是恢復了消息模板的原始結構,從而可以使該模板再次使用。步驟1中,如果內存中該Diameter消息模板數量為1,則先克隆該Diameter消息 模板,然后在克隆的Diameter消息模板基礎上構建Diameter消息對象的結構,從而可以保 證內存中總是存在可用的Diameter消息模板。在步驟3中,將步驟2中對Diameter消息結構的每次操作依次壓棧;步驟4中恢 復Diameter消息對象的結構時,將步驟3中記錄的操作依次出棧。在處理具體Diameter消息的方式上,本發(fā)明提供了這種具有智能記憶功能的 Diameter消息,該消息是基于文檔對象模型(Document Obiect Model)的機制設計,用于存 儲樹狀結構的AVP (Attribute-Length-Value),方便Diameter應用的消息操作,增刪消息 中的AVP和修改對應AVP的值;同時該消息具有記憶功能,能從修改操作中還原回來。對于Diameter消息模板的集合,可進一步采用對象池的方式來處理。對象池是一 組對象的集合,對應用提供獲取和釋放接口,實現對象的重用功能。但是,一般的對象池只 能存放一類對象,如果需要管理多種對象,就必須創(chuàng)建多個對象池,大大增加的應用的復雜 度。同時對象池的容量是固定的,容易造成對象不夠用和資源的浪費的情況。對于Diameter 消息模板組成的對象池來說,如何才能動態(tài)的增加對象的種類,滿足業(yè)務不斷的擴展的需 要?如何動態(tài)的控制對象的數目,合理有效的利用資源?本發(fā)明提供了以下的解決辦法在內存中以Diameter消息模板為對象建立對象池,同一種的Diameter消息模板 存放于同一對象池中,多種Diameter消息模板分別以多個對象池來管理,用圖來管理這些 不同的對象池,以鄰接表來表示該圖,鄰接表中的每個鏈表都表示一個對象池,通過增加或 減少鄰接表實現對象種類的增加或減少;
在任一鏈表中,把鏈表中的第一個Diameter消息模板對象作為種子,該種子具備 自身的克隆功能,外部的應用從鏈表中獲取Diameter消息模板對象時,當該鏈表中只有種 子對象時,則返回一個種子克隆的對象,否則從該鏈表的隊列中取一個對象返回。如圖4所示,其為本發(fā)明處理Diameter協議消息的方法一較佳實施例中動態(tài) 對象池的設計圖。本發(fā)明引入了圖的概念和克隆技術,解決了動態(tài)的增加對象的種類和 動態(tài)的控制對象的數目這兩個問題。根據以上描述結合圖4,在此較佳實施例中,用類 CObjectGraph實現圖,用來管理不同的對象池;用CObjectPool實現對象池,用來管理相同 類別的對象;通過模板機制定義的CObjectGraph和CObjectPool,提供了更大擴展空間。 CObjectGraph提供了 add和del方法,實現鏈表的動態(tài)增加和減少,也就是說,該圖通過控 制鏈表長度的增加和減少來動態(tài)控制對象池中的對象數目。通過out和in方法實現對象 的獲取和回收。CObiectPool繼承了標準庫的list,實現了單鏈表功能,也就是說,鄰接表 中的鏈表具有單鏈表功能。CObiectPool同時對外提供out和in方法,實現相同對象的獲 取和回收,也就是說,鏈表對外部應用提供獲取和釋放Diameter消息模板對象的接口。普通的對象池創(chuàng)建時指定對象的種類和池的大小,缺乏了靈活性和擴展性。本發(fā) 明所提供的存放Diameter消息模板的動態(tài)對象池,有別于普通的對象池,對象的種類和池 的大小可以進行動態(tài)的調整,在合理利用系統(tǒng)資源的同時大大的增加的應用的擴展性。與 普通的對象池類似,本發(fā)明所應用的動態(tài)對象池在對外提供對象前,首先需要進行必要的 初始化。有所不同的是,該動態(tài)對象池不需要創(chuàng)建最大數目的對象,只需要為每類對象創(chuàng)建 一個種子,對象池會隨著使用趨于平衡(找到對象的最大數目)。對象初始化完成后,就是 對象的重復利用,直至對象池的銷毀。也就是說,應用所獲取的Diameter消息模板對象按 照圖3經過步驟1-4的處理后,應用釋放該Diameter消息模板對象,并將該Diameter消息 模板對象加入相應的對象池,也就是使用過的Diameter消息模板對象會重新加入對象池 中,從而保證Diameter消息模板可以重復應用,而且Diameter消息模板的數量隨著系統(tǒng)應 用的需求而動態(tài)增加或減少,直至達到平衡狀態(tài)。如圖5所示,其為本發(fā)明處理Diameter協議消息的方法一較佳實施例中動態(tài)對象 池和智能記憶消息的時序圖。消息流轉時序如下1) out (),應用根據id從動態(tài)對象池中獲取Diameter消息模板。2) out (),從id對應的鏈表中獲取Diameter消息模板。3)siZe(),判斷id對應的鏈表大小,如果大小為1,則進行對象的克隆操作即操作 步驟4);否則執(zhí)行操作步驟6)。4) clone (),進行消息的克隆操作。5) return (),消息克隆操作返回。6) return (),鏈表操作返回。7) return (),動態(tài)對象池操作返回。8) operation (),修改Diameter消息的結構,增加或刪除消息中的avp。調用 CDiameterMessage :add()卞法。9) in (),應用釋放 Diameter 消息。10) in (),執(zhí)行鏈表的回收操作。11) recover (),Diameter 消息模板恢復。
12) return (),消息恢復返回。13) return (),鏈表操作返回。14) return (),動態(tài)對象池操作返回。綜上,本發(fā)明所提供的處理Diameter協議消息的方法,通過具備智能記憶功能的 Diameter消息管理方式,以及能夠動態(tài)增加對象種類和對象池大小的存放Diameter消息 的動態(tài)對象池,方便應用對消息的管理,降低系統(tǒng)資源的消耗。以上所述,對于本領域的普通技術人員來說,可以根據本發(fā)明的技術方案和技術 構思作出其他各種相應的改變和變形,而所有這些改變和變形都應屬于本發(fā)明后附的權利 要求的保護范圍。
權利要求
一種處理Diameter協議消息的方法,其特征在于,包括如下步驟步驟1、應用根據Diameter消息的id獲取內存中預先存儲的Diameter消息模板,并把該Diameter消息模板的結構作為構建Diameter消息對象結構的初始狀態(tài);步驟2、根據實際的消息結構,增加或刪除Diameter消息對象結構中的AVP對象,從而修改Diameter消息對象的結構;步驟3、用棧來記錄步驟2中對Diameter消息結構的每次操作;步驟4、應用使用完消息后,根據棧中的記錄,將Diameter消息對象的結構恢復為初始狀態(tài)。
2.如權利要求1所述的處理Diameter協議消息的方法,其特征在于,步驟2中,如果增 加或刪除的AVP對象為Grouped類型的AVP對象,采用遞歸方式處理所有的AVP對象。
3.如權利要求1所述的處理Diameter協議消息的方法,其特征在于,對于Diameter消 息的接收方來說,步驟1中使用的Diameter消息模板為空結構。
4.如權利要求1所述的處理Diameter協議消息的方法,其特征在于,步驟1中,如 果內存中該Diameter消息模板數量為1,則先克隆該Diameter消息模板,然后在克隆的 Diameter消息模板基礎上構建Diameter消息對象的結構。
5.如權利要求1所述的處理Diameter協議消息的方法,其特征在于,在步驟3中,將步 驟2中對Diameter消息結構的每次操作依次壓棧;步驟4中恢復Diameter消息對象的結 構時,將步驟3中記錄的操作依次出棧。
6.如權利要求1所述的處理Diameter協議消息的方法,其特征在于,在內存中以 Diameter消息模板為對象建立對象池,同一種的Diameter消息模板存放于同一對象池中, 多種Diameter消息模板分別以多個對象池來管理,用圖來管理這些不同的對象池,以鄰接 表來表示該圖,鄰接表中的每個鏈表都表示一個對象池,通過增加或減少鄰接表實現對象 種類的增加或減少;在任一鏈表中,把鏈表中的第一個Diameter消息模板對象作為種子,該種子具備自身 的克隆功能,外部的應用從鏈表中獲取Diameter消息模板對象時,當該鏈表中只有種子對 象時,則返回一個種子克隆的對象,否則從該鏈表的隊列中取一個對象返回。
7.如權利要求6所述的處理Diameter協議消息的方法,其特征在于,應用所獲取的 Diameter消息模板對象經過步驟1_4的處理后,應用釋放該Diameter消息模板對象,并將 該Diameter消息模板對象加入相應的對象池。
8.如權利要求6所述的處理Diameter協議消息的方法,其特征在于,該圖通過控制鏈 表長度的增加和減少來動態(tài)控制對象池中的對象數目。
9.如權利要求6所述的處理Diameter協議消息的方法,其特征在于,所述鏈表具有單 鏈表功能。
10.如權利要求6所述的處理Diameter協議消息的方法,其特征在于,所述鏈表對外部 應用提供獲取和釋放Diameter消息模板對象的接口。
全文摘要
本發(fā)明涉及一種處理Diameter協議消息的方法,包括如下步驟步驟1、應用根據Diameter消息的id獲取內存中預先存儲的Diameter消息模板,并把該Diameter消息模板的結構作為構建Diameter消息對象結構的初始狀態(tài);步驟2、根據實際的消息結構,增加或刪除Diameter消息對象結構中的AVP對象,從而修改Diameter消息對象的結構;步驟3、用棧來記錄步驟2中對Diameter消息結構的每次操作;步驟4、應用使用完消息后,根據棧中的記錄,將Diameter消息對象的結構恢復為初始狀態(tài)。本發(fā)明所提供的處理Diameter協議消息的方法,方便應用對消息的管理,降低系統(tǒng)資源的消耗。
文檔編號G06F9/44GK101872303SQ20101019139
公開日2010年10月27日 申請日期2010年6月3日 優(yōu)先權日2010年6月3日
發(fā)明者周發(fā)軍, 楊海, 梁林志, 汪東升, 蔣述庭 申請人:深圳天源迪科信息技術股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1