《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 移動網間號碼攜帶集中數據庫系統接口協議設計
移動網間號碼攜帶集中數據庫系統接口協議設計
泰爾網
曹遠
摘要: 在我國開始實施的移動網間號碼攜帶(NP:Number Portability)現網試驗,采用了一種集中數據庫的方式,即在號碼攜帶業(yè)務網絡中設置一個集中的數據庫,也稱為集中業(yè)務管理系統(CSMS:Central Service Management System),運營商的號碼攜帶業(yè)務節(jié)點
Abstract:
Key words :

1 設計背景

在我國開始實施的移動網號碼攜帶(NP:Number Portability)現網試驗,采用了一種集中數據庫的方式,即在號碼攜帶業(yè)務網絡中設置一個集中的數據庫,也稱為集中業(yè)務管理系統(CSMS:Central Service Management System),運營商的號碼攜帶業(yè)務節(jié)點通過此集中數據庫系統進行通信,實現號碼攜帶的業(yè)務協商及NP數據下發(fā)。此體系結構如圖1所示。

圖1 NP業(yè)務體系架構

本地業(yè)務管理系統(LSMS)保存本地的號碼攜帶數據,并負責管理運營商內部的網元設備;業(yè)務受理系統(SOA)主要負責受理和處理用戶提出的號碼攜帶申請;而CSMS處理所有SOA之問的交互信息,并負責向LSMS同步號碼攜帶數據。

在此體系架構中,需要在CSMS與SOA/LSMS之間定義一種協議,以實現各方之間的通信,CSMS接口協議應運而生。

2 設計原則

在開始進行CSMS接口協議設計之前,首先擬定了如下的幾條設計原則,協議的具體內容也都是遵循這幾條原則進行設計的。

(1)滿足各種NP業(yè)務流程的需求

這一條是最基本的設計原則。由于此接口協議是直接服務于NP業(yè)務流程,因此通過協議定義的各種流程,都與實際的NP業(yè)務需求相對應。例如NP業(yè)務開展的第一步就是受理NP申請,在協議中就定義了與之對應的規(guī)范化的流程。

(2)協議有較高的可靠性

提出這點原則,是與協議的應用環(huán)境有關的。一方面,運營商側的NP業(yè)務節(jié)點以及CSMS都是IT設備,基于TCP/IP的網絡環(huán)境進行信息傳輸,網絡可靠性并不高;另一方面此協議對于NP業(yè)務體系又至關重要,一旦出現問題會影響NP業(yè)務的正常開展,這就需要在協議可靠性方面做一些特殊的考慮。

(3)易于開發(fā)和維護

一個易于開發(fā)和維護的協議將擁有更強的生命力。CSMS接口協議雖然是一個自定義的協議,但是自定義的部分主要是在應用層,在基礎承載協議還會選擇現成的協議。選擇一種通用性強、規(guī)范化程度高、使用范圍廣的承載協議,無疑能夠降低協議開發(fā)和實現的難度,也更利于今后的擴展和升級。

下面將會逐一介紹上述設計原則是如何體現在CSMS接口協議中的。

3 業(yè)務流程設計

為了實現完整的NP業(yè)務,在接口協議中共定義“NP業(yè)務申請流程”、“NP業(yè)務生效流程”、“NP業(yè)務取消流程”、“NP業(yè)務注銷流程”、“NP業(yè)務審計流程”、“欠費處理流程”等6大類的業(yè)務流程。而在每一個大類中,基于正常的或者可能出現異常的情況,還定義出了若干的子流程。例如在NP業(yè)務申請流程中,就包括“成功的申請流程”、“CSMS拒絕流程”、“攜出方SOA拒絕流程”等。

在CSMS接口協議業(yè)務流程中,兩個主要元素就是“消息”和“定時器”。下面就以成功的NP業(yè)務申請流程為例說明CSMS接口協議中的流程設計思路,以及消息和定時器的定義方法(圖2)。

圖2成功的NP業(yè)務申請流程

從圖2可以看到,攜入方SOA首先需要將用戶的申請信息發(fā)送給CSMS,CSMS響應后轉發(fā)給攜出方SOA,SOA驗證通過后,將響應結果返回CSMS,并由CSMS告知攜入SOA申請成功。

在流程圖中,每一條消息(申請請求、申請響應、申請結果告知)都對應一種消息結構,用于傳遞相應的信息。例如,在申請響應消息中,就包含了“消息ID”、“請求消息ID”、“消息命令碼”、“業(yè)務類型”、“NP號碼”、“NP流程ID”、“返回代碼”、“拒絕消息”等參數字段。每個參數的用法、長度、數據類型在協議中也都進行了嚴格的定義。比如“消息ID”是由發(fā)送方維護的流水號,用于唯一標識的消息,采用l6位的定長字符串的方式來存儲和傳遞。在CSMS接口協議中,共定義了34種消息,應用于各種流程之中。

除了消息,另一種對流程影響非常大的元素就是定時器??梢哉f,定時器嚴格的限定了NP業(yè)務節(jié)點的行為方式。在圖2中,Tl-1定時器是申請請求與申請響應之間最大間隔的定時器,此定時器要求CSMS在收到申請請求消息后,必須在T1-1超時之前發(fā)送申請響應消息;而攜入方一旦在T1-1的時間內沒有正確地收到申請響應消息,將會進行重發(fā)和告警。在CSMS接口協議中,共定義了20個定時器,分布于各個流程之中。

受篇幅的限制,對于協議中更多的流程不再介紹,感興趣的讀者可查閱網間移動號碼攜帶CSMS接口協議規(guī)范。

4 協議高可靠性的設計

為了提高CSMS接口協議的可靠性,在設計過程中引入了以下三種機制:

·ACK快速反饋機制;

·完善的錯誤定義和后處理機制;

·心跳檢測機制。

首先,在CSMS接口協議中,定義了一種特殊的消息,稱為ACK消息。在業(yè)務節(jié)點接收到任何一條NP消息后,將首先返回一條ACK消息。ACK消息不攜帶任何應用層面上的信息,僅僅是告知發(fā)送方我已經接收到了你方發(fā)來的消息。有了ACK消息,發(fā)送方就能立刻確認對方是否已經正確地接收到了消息,而不是在等待對方超時仍然沒有返回響應消息時才發(fā)現上一條消息對方并沒有正確接收到。通過使用ACK機制,無疑是提高了協議的可靠性。

其次,在CSMS接口協議中,定義了50多種錯誤消息代碼,并且根據實際應用情況,還有可能繼續(xù)擴充。這些錯誤消息代碼的定義,最大程度上細化了NP業(yè)務中可能出現的異常情況,而細化的結果就是針對每一種錯誤情況都定義了完備的后處理機制。例如當消息發(fā)送方收到的ACK消息中攜帶“500”(接收方服務器異常)錯誤代碼,則發(fā)送方應在五分鐘后使用新的MessageID號重發(fā)此消息。這些錯誤代碼和后處理流程的定義,保證了協議具有較強的容錯性和自愈能力。

最后,CSMS接口協議中還定義了心跳檢測機制,CSMS會定期通過網絡層的消息(例如Ping消息)檢測對端的健康狀態(tài)。一旦發(fā)現與對端之間的網絡出現問題,則暫停發(fā)送消息,避免在網絡故障時出現大量重發(fā)消息的堆積。

5 底層承載協議的選擇

CSMS接口協議是一種自定義的協議,但是自定義的部分主要是為了實現NP特有的業(yè)務流程,即自定義了各種消息和定時器。而從協議的網絡模型上看,接口協議然是構建于一些底層的承載協議之上。CSMS接口協議的層次結構如圖3所示。

圖3 CSMS接口協議層次結構

采用以上這種協議架構,是基于CSMS接口協議的網絡環(huán)境決定的。CSMS接口協議需要應用于TCP/IP的網絡環(huán)境之下,在此網絡環(huán)境下,HTTP協議具有最強的適應性,可以很好地解決私網穿越、防火墻隔離等問題。

而使用SOAP協議,是因為SOAP協議一方面具備自定義應用語義的能力,另一方面標準化程度相對較高,有完善的協議規(guī)范,并且已經在各種領域(包括電信領域)得到了較為廣泛的應用。

誠然,TCP/IP網絡和HTTP協議在先天上都具有可靠性不夠強的缺陷,但是作為主流的應用協議,基于它們進行協議開發(fā),能夠大大降低開發(fā)周期和開發(fā)難度,自然也就提高了協議的易用性和可維護性。而對于可靠性不高的問題,也可以通過各種提高可靠性的機制加以彌補??傮w而言,這種協議架構還是具有很大的優(yōu)勢的。

6 結語

我國的移動網間號碼攜帶現網試驗工作很快就要開展了,CSMS接口協議也已經在CSMS設備和運營商的SOA/LSMS設備上獲得了實現。從內部測試和試運行的情況來看,這套協議基本達到了當初的設計目標,能夠很好地支撐各種NP業(yè)務流程。

隨著號碼攜帶業(yè)務的不斷深入,這套協議將接受進一步的考驗,并且定將繼續(xù)發(fā)展和完善下去,以服務于全國網間移動號碼攜帶業(yè)務的開展。
 

此內容為AET網站原創(chuàng),未經授權禁止轉載。