新聞中心

EEPW首頁(yè) > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 移動(dòng)網(wǎng)數(shù)據(jù)庫(kù)系統(tǒng)接口協(xié)議分析

移動(dòng)網(wǎng)數(shù)據(jù)庫(kù)系統(tǒng)接口協(xié)議分析

作者: 時(shí)間:2011-11-18 來源:網(wǎng)絡(luò) 收藏
3 業(yè)務(wù)流程設(shè)計(jì)

本文引用地址:http://2s4d.com/article/155505.htm

  為了實(shí)現(xiàn)完整的NP業(yè)務(wù),在中共定義“NP業(yè)務(wù)申請(qǐng)流程”、“NP業(yè)務(wù)生效流程”、“NP業(yè)務(wù)取消流程”、“NP業(yè)務(wù)注銷流程”、“NP業(yè)務(wù)審計(jì)流程”、“欠費(fèi)處理流程”等6大類的業(yè)務(wù)流程。而在每一個(gè)大類中,基于正常的或者可能出現(xiàn)異常的情況,還定義出了若干的子流程。

  在CSMS業(yè)務(wù)流程中,兩個(gè)主要元素就是“消息”和“定時(shí)器”。下面就以成功的NP業(yè)務(wù)申請(qǐng)流程為例說明CSMS中的流程設(shè)計(jì)思路,以及消息和定時(shí)器的定義方法(圖2)。

  

  圖2成功的NP業(yè)務(wù)申請(qǐng)流程

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

  在流程圖中,每一條消息(申請(qǐng)請(qǐng)求、申請(qǐng)響應(yīng)、申請(qǐng)結(jié)果告知)都對(duì)應(yīng)一種消息結(jié)構(gòu),用于傳遞相應(yīng)的信息。例如,在申請(qǐng)響應(yīng)消息中,就包含了“消息ID”、“請(qǐng)求消息ID”、“消息命令碼”、“業(yè)務(wù)類型”、“NP號(hào)碼”、“NP流程ID”、“返回代碼”、“拒絕消息”等參數(shù)字段。每個(gè)參數(shù)的用法、長(zhǎng)度、數(shù)據(jù)類型在協(xié)議中也都進(jìn)行了嚴(yán)格的定義。比如“消息ID”是由發(fā)送方維護(hù)的流水號(hào),用于唯一標(biāo)識(shí)的消息,采用l6位的定長(zhǎng)字符串的方式來存儲(chǔ)和傳遞。

  除了消息,另一種對(duì)流程影響非常大的元素就是定時(shí)器??梢哉f,定時(shí)器嚴(yán)格的限定了NP業(yè)務(wù)節(jié)點(diǎn)的行為方式。在圖2中,Tl-1定時(shí)器是申請(qǐng)請(qǐng)求與申請(qǐng)響應(yīng)之間最大間隔的定時(shí)器,此定時(shí)器要求CSMS在收到申請(qǐng)請(qǐng)求消息后,必須在T1-1超時(shí)之前發(fā)送申請(qǐng)響應(yīng)消息;而攜入方一旦在T1-1的時(shí)間內(nèi)沒有正確地收到申請(qǐng)響應(yīng)消息,將會(huì)進(jìn)行重發(fā)和告警。

  4 協(xié)議高可靠性的設(shè)計(jì)

  為了提高CSMS接口協(xié)議的可靠性,在設(shè)計(jì)過程中引入了以下三種機(jī)制:

  ·ACK快速反饋機(jī)制;

  ·完善的錯(cuò)誤定義和后處理機(jī)制;

  ·心跳檢測(cè)機(jī)制。

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

  其次,在CSMS接口協(xié)議中,定義了50多種錯(cuò)誤消息代碼,并且根據(jù)實(shí)際應(yīng)用情況,還有可能繼續(xù)擴(kuò)充。這些錯(cuò)誤消息代碼的定義,最大程度上細(xì)化了NP業(yè)務(wù)中可能出現(xiàn)的異常情況,而細(xì)化的結(jié)果就是針對(duì)每一種錯(cuò)誤情況都定義了完備的后處理機(jī)制。例如當(dāng)消息發(fā)送方收到的ACK消息中攜帶“500”(接收方服務(wù)器異常)錯(cuò)誤代碼,則發(fā)送方應(yīng)在五分鐘后使用新的MessageID號(hào)重發(fā)此消息。

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



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉