專利名稱:雙歸屬同步數(shù)據(jù)傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種通訊技術(shù),具體說,涉及一種雙歸屬主備域訪問位置寄存器(VLR)同步中采用的雙歸屬同步數(shù)據(jù)傳輸方法。
技術(shù)背景目前,軟交換技術(shù)應(yīng)用日趨廣泛,在基于軟交換技術(shù)的軟交換網(wǎng)絡(luò)中, 將原有的MSC分解為MSC Server (移動交換中心服務(wù)器)與MGW (Media GateWay:媒體網(wǎng)關(guān)) 其中,MSC Server承擔呼叫控制部分功能,也就 是軟交換設(shè)備,其覆蓋范圍廣、用戶容量較大。在網(wǎng)絡(luò)運行中,如果軟交換 設(shè)備出現(xiàn)故障而不能正常工作,大范圍的業(yè)務(wù)將會中斷。為保證網(wǎng)絡(luò)運行的 可靠性、穩(wěn)定性,現(xiàn)網(wǎng)中大量采用雙歸屬的方法實現(xiàn)軟交換的異地容災(zāi)。參照圖1所示,對現(xiàn)有技術(shù)中使用的一種雙歸屬軟交換構(gòu)架做詳細描述?,F(xiàn)有技術(shù)中,基于軟交換的雙歸屬容突可采用l+l組網(wǎng)方式,即一個主 用設(shè)備配備一個備用設(shè)備。兩個獨立的MSC Server分別作為主用MSC Server、備用軟交換設(shè)備組成雙歸屬,主備雙方都與MGW1、 MGW2、歸屬 位置寄存器(HLR, home location register)相連。實線為外圍設(shè)備與主用軟 交換之間的信號鏈路連接;虛線為外圍設(shè)備與備用軟交換的信號鏈路連接; 兩個MSC Server間的雙虛線為心跳線,用于設(shè)備狀態(tài)監(jiān)控。在正常情況下, 外圍設(shè)備只與主用軟交換設(shè)備進行交互以實現(xiàn)業(yè)務(wù),備用軟交換設(shè)備通過心 跳消息實時監(jiān)測主用軟交換設(shè)備,當主用軟交換設(shè)備發(fā)生異常時,備用軟交 換設(shè)備立刻激活Mc 口,等待主用的媒體網(wǎng)關(guān)(MGW1)注冊,并在注冊之 后接管主用軟交換的所有業(yè)務(wù),轉(zhuǎn)為主用狀態(tài),通過這樣的方式對其他網(wǎng)元 及業(yè)務(wù)將不產(chǎn)生影響。在雙歸屬中,如果備用軟交換設(shè)備需要保證切換后簽約用戶的業(yè)務(wù)正
常,就必須保持主備域之間用戶數(shù)據(jù)的一致性。因此,主備軟交換設(shè)備之間 需要進行用戶數(shù)據(jù)同步, 一般可采用定時同步或?qū)崟r同步的方式。而對于雙歸屬VLR同步數(shù)據(jù)的傳遞方法,由于沒有協(xié)議規(guī)范,由設(shè)備商自行定義實 現(xiàn),因而實現(xiàn)方式多樣,不宜互通對接。
目前,較常采用的數(shù)據(jù)傳輸方法包括以下幾類第一種、釆用自定義結(jié)構(gòu)或者VLR數(shù)據(jù)庫表結(jié)構(gòu)為用戶數(shù)據(jù)單元,生 成相應(yīng)的數(shù)據(jù)包/文件,以文件方式進行傳遞;第二種、數(shù)據(jù)包/文件傳遞中, 除了數(shù)據(jù)內(nèi)容外,攜帶數(shù)據(jù)結(jié)構(gòu)描述或者數(shù)據(jù)字段的特征信息,在接收端依 據(jù)數(shù)據(jù)描述或特征信息,通過比較確定是否對接收的數(shù)據(jù)保存。
如圖2所示,對上述兩種數(shù)據(jù)同步方式的處理過程的基本步驟做詳細描述。
步驟S201:主用的MSCServerl發(fā)送同步數(shù)據(jù)請求,包含需要同步的數(shù) 據(jù),要求進行數(shù)據(jù)封裝。
步驟S202:通過鏈路向?qū)Χ税l(fā)送同步數(shù)據(jù)請求。
數(shù)據(jù)文件處理部分以自定義結(jié)構(gòu)、DB (Data Base)表結(jié)構(gòu)數(shù)據(jù)單元直 接封裝生成數(shù)據(jù)包/文件;或者,分別封裝數(shù)據(jù)結(jié)構(gòu)、特征描述和數(shù)據(jù)內(nèi)容, 生成傳遞的數(shù)據(jù)包/文件。之后,通過主備軟交換設(shè)備之間的鏈路(特定協(xié) 議?;騀TP等)傳遞同步數(shù)據(jù)請求。
步驟S203:解析數(shù)據(jù),向上層發(fā)送同步數(shù)據(jù)指示。
備用的MSCServer2的數(shù)據(jù)處理部分接收同步數(shù)據(jù)請求后,按照內(nèi)部定 義結(jié)構(gòu)/DB表解析數(shù)據(jù)內(nèi)容;或者參考封裝的數(shù)據(jù)描述對數(shù)據(jù)內(nèi)容進行解 析,并且依據(jù)數(shù)據(jù)特征提取需要保存的數(shù)據(jù)。之后,將解析完成的同步數(shù)據(jù) 指示發(fā)送給MSCServer2進行處理。
步驟S204: MSCServer2保存同步數(shù)據(jù)后,發(fā)送同步數(shù)據(jù)成功響應(yīng)。
步驟S205:數(shù)據(jù)文件處理部分完成對消息中數(shù)據(jù)內(nèi)容的封裝后,通過 底層鏈路返回同步數(shù)據(jù)響應(yīng)。
步驟SM6: MSCServerl的數(shù)據(jù)處理部分,解析同步數(shù)據(jù)響應(yīng)消息后, 向MSCServerl發(fā)送同步確認,完成同步流程。
采用上述方法數(shù)據(jù)同步實現(xiàn),仍然有一些問題需要改進。對于上述第一 種同步方式,設(shè)備商本身配套的核心網(wǎng)(CN)軟件版本,可能由于升級而引起數(shù)據(jù)單元的結(jié)構(gòu)變化,這會造成CN軟件高低版本之間的消息不能完全 互通(兼容),低版本的備用設(shè)備將不能按照原有結(jié)構(gòu)正確解析同步數(shù)據(jù), 帶來版本的互通與升級問題。
對于上述第二種同步傳遞方式,主備設(shè)備都需要使用數(shù)據(jù)庫記錄數(shù)據(jù)特 征信息或者解析數(shù)據(jù)描述用于識別和比較數(shù)據(jù)。這樣的方式雖然可以一定程 度上保證CN高低版本之間消息的兼容,但當協(xié)議版本的變遷(R99->R5) 時數(shù)據(jù)特征發(fā)生變化時,仍會發(fā)生不能完全互通的問題。同時,特征信息與 對應(yīng)數(shù)據(jù)內(nèi)容、以及消息結(jié)構(gòu)的組織都依賴于具體的實現(xiàn)策略,不易在不同 設(shè)備商的互通實現(xiàn)中推廣。
另外,需要同步到備機的數(shù)據(jù)主要是用戶的靜態(tài)數(shù)據(jù),也包括少量動態(tài) 信息,如位置信息(LAI)。對于動態(tài)數(shù)據(jù),可能較快變化而被頻繁同步, 如果直接采用用戶數(shù)據(jù)結(jié)構(gòu)或表結(jié)構(gòu)作為數(shù)據(jù)單元進行傳遞,那么在動態(tài)數(shù) 據(jù)同步中,結(jié)構(gòu)中無效的非動態(tài)內(nèi)容也會占用數(shù)據(jù)包內(nèi)容一起傳遞;而在同 消息中攜帶數(shù)據(jù)描述/特征信息的方法,也會額外增加同步數(shù)據(jù)包的大小。 這樣,在設(shè)備用戶容量巨大、動態(tài)信息變化頻繁的情況,會占用較多的帶寬, 給鏈路造成較大負荷。
發(fā)明內(nèi)容
本發(fā)明所解決的技術(shù)問題是提供一種雙歸屬同步數(shù)據(jù)傳輸方法,克服了 雙歸屬主備雙方的兼容互通問題,同時適應(yīng)了高頻度數(shù)據(jù)同步對鏈路資源 (帶寬)要求較高的情況。技術(shù)方案如下
一種雙歸屬同步數(shù)據(jù)傳輸方法,步驟包括(1) 對主用軟交換設(shè)備和備用軟交換設(shè)備之間需要交換的同步數(shù)據(jù)的語義進4于定義;(2) 構(gòu)造編解碼處理模塊,將所述編解碼處理模塊在所述主用軟交換 設(shè)備和備用軟交換設(shè)備上進行裝配,所述編解碼處理模塊中包含有根據(jù)所述同步數(shù)據(jù)定義的編碼函數(shù)和解碼函數(shù);(3) 當所迷主用軟交換設(shè)備和備用軟交換設(shè)備之間需要同步時,所述 備用軟交換設(shè)備調(diào)用所述編解碼處理模塊中的編碼函數(shù)生成包含所述同步 數(shù)據(jù)的碼流,并通過底層協(xié)議棧向所述備用軟交換設(shè)備發(fā)送所述碼流;(4) 所述備用軟交換設(shè)備接收所述碼流,調(diào)用所述編解碼處理模塊中 的解碼函數(shù)解析出所述碼流中的所述同步數(shù)據(jù),將所述同步數(shù)據(jù)保存并完成自身同步,并通過所述底層協(xié)議棧向所述主用軟交換設(shè)備完成同步響應(yīng)。進一步,步驟(l)中,按照抽象語法定義對所述同步數(shù)據(jù)的語義進行 定義,所述同步數(shù)據(jù)包括靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)。進一步,步驟(1)中,在所述定義中,對所述同步數(shù)據(jù)按類別細分進 行定義,并且所述同步數(shù)據(jù)被定義為具有擴展性。進一步,步驟(i)中,所述同步數(shù)據(jù)與用戶標識相關(guān)聯(lián),用于使同步 請求中的每類同步數(shù)據(jù)都相互獨立。進一步,步驟(2)中,所述編碼函數(shù)和解碼函數(shù)用于所述同步數(shù)據(jù)的 編碼或者解碼處理,其編碼規(guī)則中包括標簽、長度和內(nèi)容。進一步,步驟(3)包括(31) 主用軟交換設(shè)備的數(shù)據(jù)庫模塊將所述同步數(shù)據(jù)傳遞給所述主用的 編解碼處理模塊,請求對需要同步的數(shù)據(jù)進行編碼;(32) 所述主用的編解碼處理模塊,根據(jù)抽象語法定義和編碼規(guī)則,調(diào) 用編碼函數(shù)生成所述碼流,所迷碼流中包含所述同步數(shù)據(jù);并將編碼后的所 述碼流返回給所述的數(shù)據(jù)庫模塊;(33 )所述的編解碼處理模塊將返回的所述同步數(shù)據(jù)封裝成同步數(shù)據(jù)請 求消息,向主用的雙歸屬管理模塊發(fā)送;(34 )通過主用和備用移動交換中心服務(wù)器之間通訊所采用的底層協(xié)議 棧,所述主用的雙歸屬管理模塊在接收到同步數(shù)據(jù)請求消息后,向備用的雙 歸屬管理模塊發(fā)送同步請求消息。進一步,步驟(4)包括
(41 )備用軟交換設(shè)備的雙歸屬模塊通過底層協(xié)議棧接收到主用軟交換設(shè)備發(fā)出的同步請求消息后,向備用的數(shù)據(jù)庫模塊轉(zhuǎn)發(fā)同步指示消息;(42 )在備用的數(shù)據(jù)庫模塊接收到同步指示消息后,轉(zhuǎn)發(fā)給備用的編解 碼處理模塊,同時傳入備用設(shè)備版本所對應(yīng)的同步消息數(shù)據(jù)結(jié)構(gòu),請求所述 備用的編解碼處理模塊進行碼流解析;(43 )備用的編解碼處理模塊調(diào)用抽象語法定義對應(yīng)的解碼函數(shù),對所 述同步指示消息進行解析,將解析出來的所述同步數(shù)據(jù)返回給備用的數(shù)據(jù)庫 模塊;(44 )在所述備用的數(shù)據(jù)庫模塊接收到解碼完成的同步消息數(shù)據(jù)結(jié)構(gòu) 后,依據(jù)用戶標識將各類的同步數(shù)據(jù)進行保存并同步,并發(fā)送同步響應(yīng)消息 給所述備用的雙歸屬模塊;(45 )所述備用的雙歸屬模塊通過主備軟交換設(shè)備之間通訊所采用的底 層協(xié)議棧返回同步響應(yīng)消息給主用的雙歸屬模塊;所述主用的雙歸屬模塊接 收到所述同步響應(yīng)消息以后,向主用的數(shù)據(jù)庫模塊發(fā)送同步證實消息。
進一步,步驟(44)中,如果所述備用的數(shù)據(jù)庫模塊同步成功,則向備 用的雙歸屬模塊發(fā)送同步成功的同步響應(yīng)消息,否則發(fā)送帶有錯誤原因的同 步失敗的同步響應(yīng)消息給備用的雙歸屬模塊。
進一步,步驟(45)中,所述主用的數(shù)據(jù)庫模塊接收到所述同步證實消 息后,如果結(jié)杲為成功,則修改相應(yīng)的同步數(shù)據(jù)標記后結(jié)束處理;如果結(jié)果 為失敗,則直接結(jié)束本次同步過程。
進一步,步驟(4)中,所述底層協(xié)議棧采用流控制傳輸協(xié)議。
與現(xiàn)有技術(shù)相比,由于本發(fā)明在雙歸屬主備同步數(shù)據(jù)的傳輸過程中,引 入了編解碼的處理機制,實現(xiàn)了數(shù)據(jù)的靈活同步,大幅減少冗余/附加數(shù)據(jù) 的傳遞,在實時的高頻度的數(shù)據(jù)同步的同時降低了鏈路載荷。同時,通過消 息參數(shù)定義的可選性與擴展性,實現(xiàn)了高低版本的兼容,對不可識別的高版 本參數(shù)可以忽略,便于版本的平滑升級。
另外,本發(fā)明所用的實現(xiàn)方式,對于網(wǎng)元設(shè)備自身單板的主備板同步數(shù) 據(jù)同樣適用,配合適當?shù)牡讓渔溌穫鬏攨f(xié)議,主備單板也可以采用該方式實現(xiàn)版本兼容與平滑升級。
圖1是現(xiàn)有技術(shù)中1 + 1主備雙歸屬容災(zāi)方式的組網(wǎng)簡圖; 圖2是現(xiàn)有技術(shù)中主備設(shè)備數(shù)據(jù)同步傳輸基本處理流程圖; 圖3是本發(fā)明中采用ASN.l編解碼的數(shù)據(jù)同步實現(xiàn)流程圖。
具體實施方式
本發(fā)明提供了一種使用抽象語法定義(ASN.l, Abstract Syntax Notation One)編解碼的數(shù)據(jù)同步方法,其實現(xiàn)步驟如下1、 首先,針對主備軟交換設(shè)備之間需要交換的同步數(shù)據(jù),按照ASN.l 規(guī)范對該同步數(shù)據(jù)的語義進行定義。同步數(shù)據(jù)包括靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù),其中靜態(tài)數(shù)據(jù)多為簽約數(shù)據(jù),變化 較少;動態(tài)數(shù)據(jù)為位置信息等,隨著用戶活動而較頻繁變化。在定義中,規(guī)定了幾個進行同步數(shù)據(jù)ASN.l定義的準則(1) 對同步數(shù)據(jù)按類別細分進行定義,每類數(shù)據(jù)在同步消息中都是可 選的,非必選。如靜態(tài)數(shù)據(jù)可分為基本業(yè)務(wù)、補充業(yè)務(wù)等,在分別定義之后 進行組合成為同步消息。(2) 對每類同步數(shù)據(jù)中非關(guān)鍵參數(shù)選用可選類型的定義,少量重要數(shù) 據(jù)定義為必選參數(shù)。其中,必選參數(shù)必須被同步消息包含;可選參數(shù)即選擇 性的包含在同步消息中,根據(jù)實際需要決定是否被同步消息包含。(3) 對每類同步數(shù)據(jù)的定義都要求具有可擴展性。采用這樣的定義準則可以實現(xiàn)同步數(shù)據(jù)的靈活同步,當用戶某類同步數(shù) 據(jù)發(fā)生變化時,可以就該同步類數(shù)據(jù)單獨進行同步,并且有選擇性的同步其 中的關(guān)鍵數(shù)據(jù)。同時,可選性和可擴展的定義便于版本的后續(xù)開發(fā),對版本 兼容也有重要意義。2、 根據(jù)ASN.l對同步數(shù)據(jù)的定義構(gòu)造相應(yīng)的編解碼處理模塊,將編解
碼處理模塊在雙歸屬的主備軟交換設(shè)備雙方網(wǎng)元上進行裝配,由相關(guān)模塊調(diào) 用。對于主用軟交換設(shè)備,在確定同步消息中的同步數(shù)據(jù)以后,調(diào)用編解碼處理模塊中的編碼函數(shù),生成包含同步數(shù)據(jù)的碼流;對于備用軟交換設(shè)備, 將接收到的同步消息按照ASN.l定義,調(diào)用編解碼處理模塊中的解碼函數(shù), 完成碼流解析,解析出其中的同步數(shù)據(jù),最終將同步數(shù)據(jù)保存并完成自身同步。通過調(diào)用編解碼處理模塊中的編碼函數(shù)和解碼函數(shù),使得主用軟交換設(shè) 現(xiàn)互通。3、在主備軟交換設(shè)備之間同步消息選擇合適的底層協(xié)議棧進行傳遞(如 STCP等IP協(xié)議)。在雙歸屬實施中的底層鏈路不拘于某種特定協(xié)議棧,可結(jié)合實際的系統(tǒng) 構(gòu)件部署,選擇適當?shù)逆溌穫鬏敺绞?如TUP)來實現(xiàn)編解碼方式的數(shù)據(jù)同 步。下面結(jié)合附圖,對本發(fā)明的優(yōu)選實施例作進一步詳細的說明。參照圖3所示,是本實施例的一種雙歸屬主備數(shù)據(jù)同步的流程圖,描述 了釆用ASN.l編解碼處理實現(xiàn)數(shù)據(jù)同步的實現(xiàn)方法,其中將對同步數(shù)據(jù)的 編碼與解析單獨作為一個處理過程。首先,確定同步數(shù)據(jù)的ASN.l定義,也就是同步數(shù)據(jù)的結(jié)構(gòu)定義,它 是本發(fā)明中的關(guān)鍵。主用備用軟交換設(shè)備對同步數(shù)據(jù)的編解碼處理都以此定 義為依據(jù)。下面給出的是同步數(shù)據(jù)的中文語義描述。 同步數(shù)據(jù)請求=結(jié)構(gòu)基本用戶數(shù)據(jù) 標記[O] 可選, 基本業(yè)務(wù)數(shù)據(jù)標記[l] 可選,CUG業(yè)務(wù)數(shù)據(jù)標記[2] OCSI簽約數(shù)據(jù)標記[3] TCSI簽約數(shù)據(jù)標記[4] ...... /*表示可擴展*/OCSI數(shù)據(jù)=結(jié)構(gòu){分組標識 標記[o]OCSI單元標記[l]...... /*表示可擴展*/OCSI單元=結(jié)構(gòu){用戶標識 標記[o] 序列標識 標記[l]業(yè)務(wù)觸發(fā)準則 標記[2] Camel能力階段標記[3]可選, 可選, 可選,必選, 必選,必選,/*結(jié)構(gòu)中必須包含,否則認為非法*/必選,必選,可選,/*結(jié)構(gòu)中可以不包含,可認為合法通知CSE 標記[4] 可選,Csi激活 標記[5] 可選,.... /*表示可擴展*/對ASN.l定義,可首先將同步數(shù)據(jù)進行分類,便于數(shù)據(jù)變化時同步的 靈活性。上述"同步數(shù)據(jù)請求,,可分為基本用戶數(shù)據(jù)、基本業(yè)務(wù)數(shù)據(jù)、CUG 業(yè)務(wù)數(shù)據(jù)等等。對于每一類同步數(shù)據(jù),都定義為可選類型(ASN.l中以 OPTIONAL標識,不進行標識認為是必選),可選擇性地被同步消息所包 含;同時,每類同步數(shù)據(jù)通過單獨與用戶標識關(guān)聯(lián),可以使同步請求中的每 類同步數(shù)據(jù)都相互獨立,不存在關(guān)聯(lián)性,如上文描述中"OCSI單元,,與參
數(shù)"用戶標識"關(guān)聯(lián)。當用戶簽約數(shù)據(jù)(靜態(tài))或者動態(tài)數(shù)據(jù)變化時,采用 這樣的定義方式,主備軟交換設(shè)備之間可以單獨同步用戶發(fā)生變化的某 一 類 同步數(shù)據(jù),而不攜帶其他的額外內(nèi)容,最大程度地減少同步數(shù)據(jù)的附加內(nèi)容, 降低對鏈路帶寬的占用。對于同步數(shù)據(jù)的語法定義,還需要考慮到軟件版本升級和兼容問題。對 每一類同步數(shù)據(jù)的自身定義,除了關(guān)鍵字段和關(guān)聯(lián)性較強的字段需要定義為必選類型以外,其余參數(shù)都可以定義為可選字段。如上面"OCSI單元"定 義所示,用戶標識(IMSI)、序列號(number)以及業(yè)務(wù)觸發(fā)準則(OTDP Data)為簽約數(shù)據(jù)中的最關(guān)鍵內(nèi)容,其余參數(shù)次重要,因此分別定義為必選 與可選參數(shù)。另外,對于每類同步數(shù)據(jù)定義的結(jié)尾都以省略號"...,,標識, 表明在后續(xù)高版本中,該類同步數(shù)據(jù)可通過添加新的參數(shù)進行擴展?;谶@ 樣的定義準則,主備軟交換設(shè)備之間可以方便地實現(xiàn)高版本兼容。在雙歸屬 中,備用軟交換設(shè)備版本較低情況下,備用軟交換設(shè)備對接收的同步消息, 除必選字段以及可以識別的可選字段進行解析外,對高版本中帶來的不可識 別的參數(shù)直接丟棄,從而保證重要數(shù)據(jù)的保存,提高版本之間的兼容性;對 于備用軟交換設(shè)備版本較高的情況,則可以識別同步消息中的所有參數(shù),不 存在丟棄內(nèi)容的情況。可選參數(shù)在結(jié)構(gòu)中可以被包含,也可以不被包含,都 認為合法;必選參數(shù)在結(jié)構(gòu)中必需包含,否則認為非法。對應(yīng)上面的同步數(shù)據(jù)請求中文描述和上文所述的結(jié)構(gòu)定義準則,下面給 出了相應(yīng)的同步數(shù)據(jù)請求ASN.l語法定義的部分內(nèi)容DH一Synchronization 一Arg::- SEQUENCE{ /*同步數(shù)據(jù)請求承/tuple—rms
TUPLE_R_MSOPTIONAL, /*基本用戶數(shù)據(jù)*/tuple—rbsg [1]TUPLE_R_BSGOPTIONAL, /*基本業(yè)務(wù)*/tuple—r—icug [2]TUPLE—R—ICUG OPTIONAL, /*CUG*/tuple一r一ocsi [3]TUPLE—R—OCSI OPTIONAL, /*OCSI*/tuple—r一tcsi [4]TUPLE一R—TCSI OPTIONAL, /*TCSI*/ 以下省略TUPLE—R—OCSI ::= SEQUENCE SIZE (L.mTDPDataNum—M) R—OCSIR一OCSI ::= SEQUENCE{/* OCSI數(shù)據(jù)*/OFtupleNo r—ocsi_tuple[O]TUPLENo, [1]R—OCSI—TUPLE,R—OCSI—TUPLE ::謹INumberOTDPDataCamCapHdnotificationToCSEcsiActiveSEQUENCE{/*OCSI單元*/[O]IMSI, /*用戶標識*/[l]Serialnumber, [2]0國BcsmCamelTDPData, [3]CamelCapabilityHandling OPTIONAL, [4]NULL OPTIONAL,[5]NULL OPTIONAL,Serialnumber::= INTEGE眼255) CamelCapabilityHandling : := INTEGER( 1 16)在完成同步消息結(jié)構(gòu)定義之后,結(jié)合圖3,對采用編解碼的數(shù)據(jù)同步方 法進行說明,具體實現(xiàn)流程的步驟如下當用戶數(shù)據(jù)發(fā)生變化時(如OCSI數(shù)據(jù)發(fā)生變化),訪問位置寄存器 (VLR, Visitor Location Register)修改用戶數(shù)據(jù)表,數(shù)據(jù)庫(DB )標記修 改后的OCSI數(shù)據(jù)記錄,同步流程被觸發(fā)開始。步驟S301, DB-A模塊傳遞同步數(shù)據(jù)到編解碼模塊-A,請求編碼。 DB-A模塊將變動的用戶數(shù)據(jù)(如OCSI數(shù)據(jù))對應(yīng)到ASN.l定義的結(jié)
構(gòu)中,即同步數(shù)據(jù)請求結(jié)構(gòu),結(jié)構(gòu)中的其他數(shù)據(jù)由于沒有變化,都置為空。結(jié)構(gòu)賦值精確到參數(shù),并將結(jié)構(gòu)傳遞給編解碼模塊-A,請求對同步數(shù)據(jù)數(shù)據(jù) 進行編碼。步驟S302,當接收DB-A模塊傳入的同步消息后,編解碼模塊-A根據(jù) 同步消息中標識需要同步的參數(shù)(如OCSI數(shù)據(jù)),調(diào)用編碼函數(shù)生成碼流。 碼流中僅包含變化的OCSI數(shù)據(jù),而不包含其他附帶內(nèi)容。將編碼之后的碼 流返回給DB-A模塊,作為同步數(shù)據(jù)。編解碼模塊-A根據(jù)ASN.l語法定義和編碼規(guī)則,采用TLV編碼格式, 即標簽(Tag) +長度(Length) +內(nèi)容(Value)的方式,提供了對應(yīng)的一套 函數(shù),用于同步數(shù)據(jù)的編碼解碼處理。步驟S3(B, DB-A模塊將編解碼模塊-A返回的碼流封裝后,向雙歸屬 管理模塊-A發(fā)送同步數(shù)據(jù)請求消息。步驟S304,雙歸屬管理模塊-A在接收到同步數(shù)據(jù)請求消息后,通過 MSC Sever主備之間通訊所采用的底層協(xié)議棧(如流控制傳輸協(xié)議(Stream Control Transmission Protocol, SCTP)),向?qū)Χ说碾p歸屬管理模塊-B發(fā)送 同步請求消息。步驟S305,備用軟交換設(shè)備的雙歸屬模塊-B通過底層協(xié)議棧接收到主 用軟交換設(shè)備發(fā)出的同步請求消息后,向DB-B模塊轉(zhuǎn)發(fā)同步指示消息。步驟S306,在DB-B模塊接收數(shù)據(jù)包以后,從碼流中提取同步數(shù)據(jù),并 將同步數(shù)據(jù)轉(zhuǎn)發(fā)給編解碼模塊-B,同時傳入備用設(shè)備版本所對應(yīng)的同步消息 數(shù)據(jù)結(jié)構(gòu),即DH—Synchronizatioi^Arg定義所對應(yīng)的結(jié)構(gòu),請求進行碼流解 析。步驟S307,編解碼模塊-B調(diào)用ASN.l定義對應(yīng)的解碼函數(shù)對碼流進行 解析,將解析完成的同步數(shù)據(jù)指示消息返回給DB-B模塊,其中的同步數(shù)據(jù) 中僅包含OCSI數(shù)據(jù)。對于備機版本不可識別的碼流的內(nèi)容將自動丟棄,不 會造成解析失敗。例如,當主用軟交換設(shè)備版本較高時,OCSI數(shù)據(jù)在高版本中新增的擴 展參數(shù)在備用軟交換設(shè)備的軟件版本中是無法識別的,將被丟棄,但并不影 響對重要的可識別的參數(shù)的獲取。如果對ASN.l語法定義的必選字段解析 錯誤,則返回解碼錯誤,本次同步失敗。步驟S308,在DB-B模塊接收到解碼完成的消息結(jié)構(gòu)后,依據(jù)用戶標識 將各類的同步數(shù)據(jù)(OCSI)進行保存。如果DB-B模塊同步成功,則向雙歸 屬模塊-B發(fā)送同步成功的同步響應(yīng)消息,否則發(fā)送帶有錯誤原因的同步失 敗的同步響應(yīng)消息。步驟S309,雙歸屬模塊-B通過主備軟交換設(shè)備之間通訊所采用的底層 協(xié)議棧(如SCTP)返回同步響應(yīng)消息給雙歸屬模塊-A。步驟S310,主用軟交換設(shè)備的雙歸屬^i塊-A接收到該同步響應(yīng)消息以 后,向DB-A模塊轉(zhuǎn)發(fā)同步證實消息(內(nèi)容包括成功或失敗)。DB-A模塊接收到該證實消息,如果結(jié)果為成功,修改相應(yīng)的同步數(shù)據(jù) 標記后結(jié)束處理;如果結(jié)果為失敗,則直接結(jié)束本次同步過程。至此, 一個 雙歸屬數(shù)據(jù)同步過程完成。在已有的雙歸屬數(shù)據(jù)同步方式中,數(shù)據(jù)一般都以自定義結(jié)構(gòu)/表結(jié)構(gòu)為 數(shù)據(jù)單元的數(shù)據(jù)包或文件方式發(fā)送。在本實施例中,主要改進了同步數(shù)據(jù)在 鏈路上的傳遞形式,使用新增的ASN.l編解碼處理(例如本實施例中的步 驟S302,和步驟S307),將同步數(shù)據(jù)以ASN.l編碼的碼流形式通過底層協(xié) 議棧傳送,并在接收端進行解析。綜上所述,采用本發(fā)明方法,應(yīng)用于雙歸屬用戶數(shù)據(jù)同步的過程,可以 有效地降低在用戶量較大時,數(shù)據(jù)同步對鏈路帶寬的占用,解決了主備用軟 交換設(shè)備版本兼容與升級的問題。同樣的,對于設(shè)備單板的主備板數(shù)據(jù)同步 與版本升級,類似的處理方式可以借鑒使用,并能取得良好的效果。
權(quán)利要求
1、一種雙歸屬同步數(shù)據(jù)傳輸方法,步驟包括(1)對主用軟交換設(shè)備和備用軟交換設(shè)備之間需要交換的同步數(shù)據(jù)的語義進行定義;(2)構(gòu)造編解碼處理模塊,將所述編解碼處理模塊在所述主用軟交換設(shè)備和備用軟交換設(shè)備上進行裝配,所述編解碼處理模塊中包含有根據(jù)所述同步數(shù)據(jù)定義的編碼函數(shù)和解碼函數(shù);(3)當所述主用軟交換設(shè)備和備用軟交換設(shè)備之間需要同步時,所述備用軟交換設(shè)備調(diào)用所述編解碼處理模塊中的編碼函數(shù)生成包含所述同步數(shù)據(jù)的碼流,并通過底層協(xié)議棧向所述備用軟交換設(shè)備發(fā)送所述碼流;(4)所述備用軟交換設(shè)備接收所述碼流,調(diào)用所述編解碼處理模塊中的解碼函數(shù)解析出所述碼流中的所述同步數(shù)據(jù),將所述同步數(shù)據(jù)保存并完成自身同步,并通過所述底層協(xié)議棧向所述主用軟交換設(shè)備完成同步響應(yīng)。
2、 根據(jù)權(quán)利要求1所述的雙歸屬同步數(shù)據(jù)傳輸方法,其特征在于,步 驟(l)中,按照抽象語法定義對所述同步數(shù)據(jù)的語義進行定義,所述同步 數(shù)據(jù)包括靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)。
3、 根據(jù)權(quán)利要求2所述的雙歸屬同步數(shù)據(jù)傳輸方法,其特征在于,步 驟(1)中,在所述定義中,對所述同步數(shù)據(jù)按類別細分進行定義,并且所 述同步數(shù)據(jù)被定義為具有擴展性。
4、 根據(jù)權(quán)利要求2所述的雙歸屬同步數(shù)據(jù)傳輸方法,其特征在于,步 驟(l)中,所述同步數(shù)據(jù)與用戶標識相關(guān)聯(lián),用于使同步請求中的每類同 步數(shù)據(jù)都相互獨立。
5、 根據(jù)權(quán)利要求1所述的雙歸屬同步數(shù)據(jù)傳輸方法,其特征在于,步 驟(2)中,所述編碼函數(shù)和解碼函數(shù)用于所述同步數(shù)據(jù)的編碼或者解碼處 理,其編碼規(guī)則中包括標簽、長度和內(nèi)容。
6、 根據(jù)權(quán)利要求1所述的雙歸屬同步數(shù)據(jù)傳輸方法,其特征在于,步 驟(3 )包括(31 )主用軟交換設(shè)備的數(shù)據(jù)庫模塊將所述同步數(shù)據(jù)傳遞給所述主用的 編解碼處理模塊,請求對需要同步的數(shù)據(jù)進行編碼;(32)所述主用的編解碼處理模塊,根據(jù)抽象語法定義和編碼規(guī)則,調(diào) 用編碼函數(shù)生成所述碼流,所述碼流中包含所述同步數(shù)據(jù);并將編碼后的所 述碼流返回給所述的數(shù)據(jù)庫模塊;(33 )所述的編解碼處理模塊將返回的所述同步數(shù)據(jù)封裝成同步數(shù)據(jù)請 求消息,向主用的雙歸屬管理模塊發(fā)送;(34 )通過主用和備用移動交換中心服務(wù)器之間通訊所采用的底層協(xié)議 棧,所述主用的雙歸屬管理模塊在接收到同步數(shù)據(jù)請求消息后,向備用的雙 歸屬管理模塊發(fā)送同步請求消息。
7、 根據(jù)權(quán)利要求1所述的雙歸屬同步數(shù)據(jù)傳輸方法,其特征在于,步 驟(4)包括(41 )備用軟交換設(shè)備的雙歸屬模塊通過底層協(xié)議棧接收到主用軟交換 設(shè)備發(fā)出的同步請求消息后,向備用的數(shù)據(jù)庫模塊轉(zhuǎn)發(fā)同步指示消息;(42)在備用的數(shù)據(jù)庫模塊接收到同步指示消息后,轉(zhuǎn)發(fā)給備用的編解 碼處理模塊,同時傳入備用設(shè)備版本所對應(yīng)的同步消息數(shù)據(jù)結(jié)構(gòu),請求所述 備用的編解碼處理模塊進行碼流解析;(43 )備用的編解碼處理模塊調(diào)用抽象語法定義對應(yīng)的解碼函數(shù),對所 述同步指示消息進行解析,將解析出來的所述同步數(shù)據(jù)返回給備用的數(shù)據(jù)庫 模塊;(44 )在所述備用的數(shù)據(jù)庫模塊接收到解碼完成的同步消息數(shù)據(jù)結(jié)構(gòu) 后,依據(jù)用戶標識將各類的同步數(shù)據(jù)進行保存并同步,并發(fā)送同步響應(yīng)消息 給所述備用的雙歸屬模塊; (45 )所述備用的雙歸屬模塊通過主備軟交換設(shè)備之間通訊所采用的底 層協(xié)議棧返回同步響應(yīng)消息給主用的雙歸屬模塊;所述主用的雙歸屬模塊接 收到所述同步響應(yīng)消息以后,向主用的數(shù)據(jù)庫模塊發(fā)送同步證實消息。
8、 根據(jù)權(quán)利要求7所述的雙歸屬同步數(shù)據(jù)傳輸方法,其特征在于,步 驟(44)中,如果所述備用的數(shù)據(jù)庫模塊同步成功,則向備用的雙歸屬模塊 發(fā)送同步成功的同步響應(yīng)消息,否則發(fā)送帶有錯誤原因的同步失敗的同步響 應(yīng)消息給備用的雙歸屬模塊。
9、 根據(jù)權(quán)利要求7所述的雙歸屬同步數(shù)據(jù)傳輸方法,其特征在于,步 驟(45)中,所述主用的數(shù)據(jù)庫模塊接收到所述同步證實消息后,如果結(jié)果 為成功,則修改相應(yīng)的同步數(shù)據(jù)標記后結(jié)束處理;如果結(jié)果為失敗,則直接 結(jié)束本次同步過程。
10、 根據(jù)權(quán)利要求1所述的雙歸屬同步數(shù)據(jù)傳輸方法,其特征在于,步 驟(4)中,所述底層協(xié)議棧采用流控制傳輸協(xié)議。
全文摘要
本發(fā)明公開了一種雙歸屬同步數(shù)據(jù)傳輸方法,步驟包括對主備用軟交換設(shè)備之間需要交換的同步數(shù)據(jù)的語義進行定義;構(gòu)造編解碼處理模塊并在主備用軟交換設(shè)備上進行裝配,編解碼處理模塊中包含有根據(jù)同步數(shù)據(jù)定義的編碼函數(shù)和解碼函數(shù);當主備用軟交換設(shè)備之間需要同步時,備用軟交換設(shè)備調(diào)用編碼函數(shù)生成包含同步數(shù)據(jù)的碼流,并通過底層協(xié)議棧向備用軟交換設(shè)備發(fā)送碼流;備用軟交換設(shè)備接收碼流,調(diào)用解碼函數(shù)解析出碼流中的同步數(shù)據(jù),將同步數(shù)據(jù)保存并完成自身同步,并通過底層協(xié)議棧向主用軟交換設(shè)備完成同步響應(yīng)。本發(fā)明方法克服了雙歸屬主備雙方的兼容互通問題,同時適應(yīng)了高頻度數(shù)據(jù)同步對鏈路資源(帶寬)要求較高的情況。
文檔編號H04L29/08GK101159757SQ20071016733
公開日2008年4月9日 申請日期2007年10月25日 優(yōu)先權(quán)日2007年10月25日
發(fā)明者袁立罡 申請人:中興通訊股份有限公司