電信數據的編碼和解碼的方法
2023-10-11 22:19:59 2
專利名稱:電信數據的編碼和解碼的方法
技術領域:
本發明涉及一種編碼和解碼的方法,特別涉及電信數據的編碼和解碼的方法。
背景技術:
目前電信業務系統中用dcc (Diameter Credit Control)協議傳輸的主要是在c 版本的基礎上去交互消息。現有的通過接口傳輸的消息一般都是用webservice的xml,然後通過中間表或socket和帳務側進行交互。中間表的交互造成消息還是有時間間隔,不能夠準確去做處理。但隨著電信業務的快速發展,基本上各個系統直接的消息都是用dcc交互的,為了統一接口,Java做的接口也需要用dcc協議交互
發明內容
本發明的目的是通過一種新的編碼解碼方法解析接口接收的消息。通過此方法可以使接收到的xml消息更加實時的和別的模塊交互。。
本發明解決上述技術問題的技術方案如下
電信數據編碼的方法包括
步驟I :讀取配置文件;
步驟2:解析配置文件;
步驟3:調用編碼方法;
步驟4:將待編碼消息的消息頭寫入buffer ;將待編碼消息的其他內容寫入消息1今;
步驟5:給每個node賦值組成avp ;
步驟6:把每個avp添加到消息體中;
步驟7:計算消息頭和消息體的長度;
步驟8:對消息進行編碼。
優選的,所述配置文件位於指定路徑。
優選的,所述待編碼消息為CCR消息。
電信數據解碼的方法包括
步驟I :讀取配置文件;
步驟2:解析配置文件;
步驟3:調用解碼方法;
步驟4:計算消息頭和消息體的長度;
步驟5:將字節數組包裝成buffer ;
步驟6:遞歸解析buffer為avp ;
步驟7:對消息進行解碼。
優選的,所述配置文件位於指定路徑。
3
優選的,所述待解碼消息為dcc消息。本發明的有益效果是能夠很方便的對dcc消息作出解碼。也統一了消息的交互用相同的協議。
圖I為本發明的編碼和解碼的流程圖。
具體實施例方式以下結合附圖對本發明的原理和特徵進行描述,所舉實例只用於解釋本發明,並非用於限定本發明的範圍。message消息包括消息頭和消息體,不同用途的消息組成可以不同,因此使用配置文件可以用配置的方式來編碼或解碼具體的消息。待編碼的消息都是事先約定的編碼方式,在配置文件中描述了消息中每個avp的數據類型和數據長度,按照配置中定義好的方式對每個node賦值組成avp,最後組成消息。解碼的時候同樣需要根據配置配置文件中描述了消息中每個avp的數據類型和數據長度獲得node的賦值。消息的本質是字節數組, buff是對字節數組的對象方式的包裝,處理起來方便。編碼和解碼的時候先處理消息頭,再處理消息體。編碼的時候計算消息頭和消息體的長度,解碼消息的時候需要知道消息的長度才能正確的解析出消息的含義。消息體本質上是字節數組,可以抽象為是由avp組成的,這樣可以以對象的方式描述消息的結構。Diameter消息的消息體部分以AVP(Attribute-Value-Pair)為單位, Diameter把與一條消息相關的的各種信息用一個個的AVP封裝起來,然後逐個頭尾銜接。一種java版的編碼解碼的方法。步驟如下例如編碼CCR消息第一步讀取位於指定路徑的配置文件並用document解析文件,例如dcc_01_ QueryServ. xml第二步調用配置文件中保存的編碼方法,將電信數據的各種數據類型,例如整型等轉換為字節數組,並區分需要放在消息體中和數據和放在消息頭中的數據;第三步對消息頭字節數據進行封裝,將消息頭的數據封裝為字節緩衝區 (buffer);第四步給消息體中每個節點(node)賦值組成屬性值對 avp (Attribute-Value-Pair),把 avp 添加到消息體中;第五步對消息體字節數據進行封裝,將消息體的數據封裝為字節緩衝區 (buffer);第六步計算消息頭和消息體一共的長度寫入消息頭中第七步組裝消息頭和消息體。解碼過程如下第一步讀取取位於指定路徑的配置文件並用document解析文件,例如dcc_01_ QueryServ. xml ;獲得消息的總長度;第二步將需要解碼的dcc消息中的字節數組包裝為buffer ;
第三步調用解碼方法,獲得消息頭和消息體各自的長度;第四步遞歸調用消息體的buffer獲得avp,第五步獲得相應的數據。相關程序如下最後解析出來的
權利要求
1.一種電信數據編碼的方法,包括步驟1:讀取配置文件;步驟2 :解析配置文件;步驟3 :調用編碼方法;步驟4 :將待編碼消息的消息頭寫入字節緩衝區(buffer);將待編碼消息的其他內容寫入消息體;步驟5 :給每個節點(node)賦值組成屬性值對avp (Attribute-Value-Pair );步驟6 :把每個avp添加到消息體中;步驟7 :計算消息頭和消息體的長度;步驟8:對消息進行編碼。
2.根據權利要求I所述的方法,其特徵在於所述配置文件位於指定路徑。
3.根據權利要求I所述的方法,其特徵在於所述待編碼消息為直徑額度控制CCR (Diameter Credit Control )消息。
4.一種電信數據解碼的方法,包括步驟I :讀取配置文件;步驟2 :解析配置文件;步驟3 :調用解碼方法;步驟4 :計算消息頭和消息體的長度;步驟5 :將字節數組包裝成buffer ;步驟6 :遞歸解析buffer為avp ;步驟7 :對消息進行解碼。
5.根據權利要求4所述的方法,其特徵在於所述配置文件位於指定路徑。
6.根據權利要求4所述的方法,其特徵在於所述待解碼消息為dcc消息。
全文摘要
本發明公開一種電信數據編碼和解碼的方法,編碼方法包括步驟1讀取配置文件;步驟2解析配置文件;步驟3調用編碼方法;步驟4將待編碼消息的消息頭寫入buffer;將其他內容寫入消息體;步驟5給每個node賦值組成avp;步驟6把每個avp添加到消息體中;步驟7計算消息頭和消息體的長度;步驟8對消息進行編碼。解碼方法包括步驟1讀取配置文件;步驟2解析配置文件;步驟3調用解碼方法;步驟4計算消息頭和消息體的長度;步驟5將字節數組包裝成buffer;步驟6遞歸解析buffer為avp;步驟7對消息進行解碼。本發明使接收到的xml消息更加實時的和別的模塊交互。
文檔編號H04L1/00GK102611530SQ201210059999
公開日2012年7月25日 申請日期2012年3月8日 優先權日2012年3月8日
發明者廖小波 申請人:北京神州數碼思特奇信息技術股份有限公司