SP端短信網(wǎng)關(guān)平臺(tái)對(duì)于信息隊(duì)列的分布式的框架
來(lái)源:原創(chuàng) 時(shí)間:2018-02-27 瀏覽:0 次SP短消息網(wǎng)關(guān)是無(wú)線增值業(yè)務(wù)提供商的短消息增值業(yè)務(wù)與移動(dòng)運(yùn)營(yíng)商的Internet短消息網(wǎng)關(guān)(ISMG)之間的中間接口。其主要功能是:將ISMG發(fā)送的上行短消息分發(fā)給相關(guān)業(yè)務(wù)應(yīng)用程序,收集各業(yè)務(wù)應(yīng)用程序的下行短消息,并發(fā)送給ISMG.SP短消息網(wǎng)關(guān),這是短信增值業(yè)務(wù)運(yùn)作中的一個(gè)極其重要的環(huán)節(jié)。業(yè)務(wù)應(yīng)用對(duì)SP短消息網(wǎng)關(guān)的速度和穩(wěn)定性提出了很高的要求。本研究的目的是設(shè)計(jì)和實(shí)現(xiàn)一個(gè)兼容性好、可擴(kuò)展性強(qiáng)、穩(wěn)定性好的監(jiān)控系統(tǒng),并提供完善的監(jiān)控功能。高效SP短消息網(wǎng)關(guān)支持最新的短消息協(xié)議:中國(guó)移動(dòng)的CMPP3.0、中國(guó)聯(lián)通的SGIP1.2和中國(guó)電信的SMGP3.0。

為了實(shí)現(xiàn)設(shè)計(jì)目標(biāo),系統(tǒng)采用分布式設(shè)計(jì),按功能劃分系統(tǒng)模塊。每個(gè)模塊都設(shè)計(jì)成一個(gè)獨(dú)立的過(guò)程。消息隊(duì)列用于進(jìn)程間的通信,實(shí)現(xiàn)子系統(tǒng)間的松散耦合。在系統(tǒng)結(jié)構(gòu)設(shè)計(jì)方面,充分借鑒了成熟的結(jié)構(gòu)化方法和設(shè)計(jì)模式。
整個(gè)系統(tǒng)按功能分層,合理定義層間接口,層間接口通過(guò)接口進(jìn)行交互,降低了系統(tǒng)的耦合程度,提高了系統(tǒng)的可擴(kuò)展性。第三方開(kāi)源類(lèi)庫(kù)和開(kāi)發(fā)包被合理地使用以提高開(kāi)發(fā)效率,并且主要關(guān)注業(yè)務(wù)邏輯的實(shí)現(xiàn)。
近年來(lái),移動(dòng)增值業(yè)務(wù)迅速發(fā)展,為廣大手機(jī)用戶(hù)提供豐富多彩的信息和娛樂(lè)服務(wù),為移動(dòng)運(yùn)營(yíng)商和spn等服務(wù)提供商帶來(lái)巨大利潤(rùn)。由于國(guó)內(nèi)許多互聯(lián)網(wǎng)泡沫破裂而陷入困境的LTL企業(yè)(如網(wǎng)易、新浪等)發(fā)展勢(shì)頭強(qiáng)勁,移動(dòng)數(shù)據(jù)增值業(yè)務(wù)的市場(chǎng)規(guī)模如何?中國(guó)SP的市場(chǎng)規(guī)模為五十三億元,用戶(hù)規(guī)模為二億三千五百萬(wàn)元,其中91%的移動(dòng)數(shù)據(jù)收入仍然來(lái)自短信。為了提高短信服務(wù)質(zhì)量,加強(qiáng)對(duì)SP的監(jiān)管,中國(guó)移動(dòng)公司于2004年底推出了中國(guó)移動(dòng)點(diǎn)對(duì)點(diǎn)協(xié)議3.0/CM。SP與移動(dòng)運(yùn)營(yíng)商的因特網(wǎng)短信網(wǎng)關(guān)通信,發(fā)送和接收短信。特定業(yè)務(wù)應(yīng)用程序與ISMG之間的中間接口層是S主體短消息網(wǎng)關(guān),其主要功能是將ISMG發(fā)送的上行消息分發(fā)到相關(guān)業(yè)務(wù)應(yīng)用程序序列,收集每個(gè)業(yè)務(wù)應(yīng)用程序的下行消息,并收集每個(gè)業(yè)務(wù)應(yīng)用程序的下行消息。
SMG.S的短信網(wǎng)關(guān)是短信增值業(yè)務(wù)運(yùn)作中的一個(gè)極其重要的環(huán)節(jié)。因此,對(duì)SP短消息網(wǎng)關(guān)的速度和穩(wěn)定性提出了更高的要求。目前,SP終端的短消息網(wǎng)關(guān)產(chǎn)品普遍存在以下缺陷:兼容性不強(qiáng),只適用于單個(gè)移動(dòng)運(yùn)營(yíng)商協(xié)議,可移植性不強(qiáng),對(duì)特定操作系統(tǒng)或數(shù)據(jù)庫(kù)管理系統(tǒng)的限制,不強(qiáng)監(jiān)控,缺乏對(duì)系統(tǒng)運(yùn)行的有效監(jiān)控;本文的目的是設(shè)計(jì)和實(shí)現(xiàn)一個(gè)S-body短消息。網(wǎng)關(guān)具有良好的兼容性、可擴(kuò)展性和穩(wěn)定性,完善的監(jiān)控功能,高效。
該網(wǎng)關(guān)支持最新的短信協(xié)議(如中國(guó)移動(dòng)的CMP P3.0和MISC平臺(tái)、中國(guó)聯(lián)通的SGIPI.2和中國(guó)電信的SMGP 3.0/1.2)的研究?jī)?nèi)容:1)通過(guò)實(shí)際調(diào)查,2)分析國(guó)內(nèi)主要移動(dòng)運(yùn)營(yíng)商短信通信協(xié)議的共同點(diǎn)和差異。設(shè)計(jì)了一種與主要短消息通信協(xié)議兼容的數(shù)據(jù)封裝方法,研究了克服程序?qū)Σ僮飨到y(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)依賴(lài)的方法。使程序具有良好的可移植性。4)研究了系統(tǒng)結(jié)構(gòu)的模塊化和層次化方法,構(gòu)建了一個(gè)層次清晰、模塊功能清晰、模塊間相對(duì)獨(dú)立的分布式系統(tǒng)。將系統(tǒng)劃分為幾個(gè)相對(duì)獨(dú)立的子系統(tǒng),每個(gè)子系統(tǒng)是一個(gè)獨(dú)立的過(guò)程。以實(shí)現(xiàn)子系統(tǒng)間的協(xié)作。
注重解決問(wèn)題:系統(tǒng)的總體架構(gòu)設(shè)計(jì);子系統(tǒng)之間的有效的溝通方法;對(duì)各種短消息通信協(xié)議數(shù)據(jù)封裝方法;預(yù)期的研究成果:一個(gè)良好的兼容性設(shè)計(jì)和實(shí)現(xiàn),擴(kuò)展性和穩(wěn)定性,完善的監(jiān)測(cè)功能,效率高的短消息網(wǎng)關(guān)SP端。1.3。在系統(tǒng)結(jié)構(gòu)設(shè)計(jì)方面,我們可以從成熟的結(jié)構(gòu)化方法和設(shè)計(jì)模式中吸取教訓(xùn),并將整個(gè)系統(tǒng)按其功能。層間的接口定義。系統(tǒng)分層和定義層間接口是關(guān)鍵步驟。如果不科學(xué)地定義層間和層間接口,則可以減少程序的可伸縮性,降低編碼效率。調(diào)試和維護(hù)是困難的。
為了避免這一問(wèn)題,在系統(tǒng)設(shè)計(jì)的初期就要考慮整個(gè)問(wèn)題,并利用軟件建模來(lái)輔助分析輔助設(shè)計(jì)問(wèn)題。在程序設(shè)計(jì)方面,采用統(tǒng)一建模語(yǔ)言(uml)對(duì)軟件進(jìn)行建模。堅(jiān)持建模在編碼前,當(dāng)它是必要的修改模型,然后修改代碼,保持模型和統(tǒng)一的數(shù)據(jù)庫(kù)設(shè)計(jì)編碼,使用數(shù)據(jù)庫(kù)建模工具Poweroesigner模型,然后利用尸體的建庫(kù)工具。不設(shè)計(jì)師建立實(shí)際的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)建模的問(wèn)題是它可以了解整個(gè)數(shù)據(jù)庫(kù)的結(jié)構(gòu)、表與表之間的關(guān)系有一個(gè)更直觀、全面的了解。單元測(cè)試框架JUnit進(jìn)行單元測(cè)試,實(shí)現(xiàn)測(cè)試自動(dòng)化,使系統(tǒng)的每一次修改可以遞歸進(jìn)行,各種錯(cuò)誤和漏洞被發(fā)現(xiàn)并及時(shí)糾正。測(cè)試用例的設(shè)計(jì)是一個(gè)難點(diǎn)。
實(shí)現(xiàn)測(cè)試自動(dòng)化需要一定的經(jīng)驗(yàn)和技巧。2.1系統(tǒng)結(jié)構(gòu):手機(jī)日、短消息增值服務(wù)系統(tǒng)結(jié)構(gòu)圖、短信增值業(yè)務(wù)模式。與Web應(yīng)用程序非常相似,SMS應(yīng)用程序是由用戶(hù)發(fā)送給應(yīng)用程序端的上行鏈路SMS應(yīng)用程序。返回的結(jié)果稱(chēng)為下行短信/ MTN。不同的是,應(yīng)用程序可以主動(dòng)地啟動(dòng)下行鏈路信息,而不需要上行鏈路。被動(dòng)接收用戶(hù)。
短信增值服務(wù)系統(tǒng)上行信道(MOO)和下行信道(MTN)。上行信道:移動(dòng)終端運(yùn)營(yíng)商短消息中心運(yùn)營(yíng)商因特網(wǎng)短消息網(wǎng)關(guān)因特網(wǎng)SP短消息網(wǎng)關(guān)。增值服務(wù):短信下行應(yīng)用application-s家短信網(wǎng)關(guān)、互聯(lián)網(wǎng)、運(yùn)營(yíng)商、短消息網(wǎng)關(guān)、企業(yè)短信中心手機(jī)終端簡(jiǎn)單的短的建立。信息應(yīng)用方法:移動(dòng)運(yùn)營(yíng)商的網(wǎng)關(guān)接口API直接與移動(dòng)網(wǎng)關(guān)連接。這種方法適用于單個(gè)SMS應(yīng)用程序。如果應(yīng)用程序的數(shù)量增加,因?yàn)轶w系結(jié)構(gòu),很難獲得好的性能。
在行業(yè)中,將文本消息的發(fā)送和接收與特定的業(yè)務(wù)應(yīng)用分開(kāi)是一種常見(jiàn)的做法。SP短消息網(wǎng)關(guān)是專(zhuān)門(mén)為與電信運(yùn)營(yíng)商的Internet短消息網(wǎng)關(guān)通信而開(kāi)發(fā)的。SP的每個(gè)服務(wù)都對(duì)應(yīng)一個(gè)服務(wù)號(hào)和一個(gè)收費(fèi)代碼。服務(wù)號(hào)是用戶(hù)發(fā)送的短消息的目的地號(hào)碼。計(jì)費(fèi)代碼是運(yùn)營(yíng)商短信增值業(yè)務(wù)的唯一標(biāo)志,運(yùn)營(yíng)商在運(yùn)營(yíng)商使用SP時(shí),都要由運(yùn)營(yíng)商指定。
由移動(dòng)電話(huà)用戶(hù)發(fā)送的短消息被稱(chēng)為上行鏈路短消息或MO(Mobile或1ginate)消息,而發(fā)送到移動(dòng)電話(huà)用戶(hù)的短消息被稱(chēng)為下行鏈路短消息。用戶(hù)的上行短消息以信令No.7的形式從移動(dòng)通信網(wǎng)PLMN發(fā)送到短消息,并根據(jù)目的業(yè)務(wù)號(hào)碼進(jìn)行路由,接收到MO后,SMG將將MO路由到SP側(cè)的SMS網(wǎng)關(guān),然后SP側(cè)的SMS網(wǎng)關(guān)將轉(zhuǎn)發(fā)到SMS增值業(yè)務(wù)應(yīng)用。SMS增值業(yè)務(wù)應(yīng)用可能在處理用戶(hù)的M0請(qǐng)求之后將一條或多條短消息MT返回給用戶(hù),并且返回的MT將首先被發(fā)送到SPSMS網(wǎng)關(guān)。然后,SPSMS網(wǎng)關(guān)根據(jù)目的移動(dòng)電話(huà)號(hào)碼確定路由,將MT轉(zhuǎn)發(fā)到目標(biāo)移動(dòng)電話(huà)用戶(hù)所在的區(qū)域中的ISMGNISMG,然后在MT之前將MT轉(zhuǎn)發(fā)到SMC,SMC通過(guò)PLMN向移動(dòng)電話(huà)用戶(hù)發(fā)送下行短信。然后,PLMN向SMC返回狀態(tài)消息,該狀態(tài)消息然后以MO的形式返回到SMC,指示相應(yīng)的MT是否成功發(fā)送(如果不是,則失敗的原因是。狀態(tài)報(bào)告將轉(zhuǎn)發(fā)到SP側(cè)的短消息網(wǎng)關(guān)。
因此,在SP側(cè)的SMS網(wǎng)關(guān)接收到的SMS消息可以是由移動(dòng)電話(huà)用戶(hù)發(fā)送的服務(wù)請(qǐng)求信息。也可以是SMC返回的狀態(tài)報(bào)告信息。應(yīng)當(dāng)注意,SMC返回的狀態(tài)報(bào)告信息的定時(shí)是不確定的??梢栽谔峤籑T后48小時(shí)內(nèi)返回狀態(tài)報(bào)告,或者甚至不返回狀態(tài)報(bào)告。它可能是PLMN本身的系統(tǒng)問(wèn)題,但是由于該目的的移動(dòng)電話(huà)號(hào)碼不存在/銷(xiāo)售/欠/關(guān)閉這一事實(shí),這是更多的原因。
如果目標(biāo)移動(dòng)電話(huà)用戶(hù)關(guān)閉計(jì)算機(jī),則MT將保留在SMC中48小時(shí)。在此期間,如果用戶(hù)重新啟動(dòng),則將發(fā)送短信。2.2短信增值業(yè)務(wù)可以根據(jù)計(jì)費(fèi)類(lèi)別進(jìn)行分類(lèi):1)月用戶(hù)先將訂單訂單發(fā)送給S主體。增值業(yè)務(wù)訂購(gòu)S本體,在建立訂單關(guān)系后,用戶(hù)每月向S本體支付固定業(yè)務(wù)費(fèi)用,2)訂購(gòu)用戶(hù)先將訂單訂單發(fā)送給SP的業(yè)務(wù)號(hào)碼,并訂購(gòu)SP的增值業(yè)務(wù)。在建立訂單關(guān)系后,取決于用戶(hù)使用服務(wù)向SP支付服務(wù)費(fèi)用的次數(shù),每月服務(wù)費(fèi)用最高,當(dāng)用戶(hù)在當(dāng)月花費(fèi)的時(shí)間超過(guò)此最大值時(shí),用戶(hù)將繼續(xù)使用該服務(wù)來(lái)進(jìn)行其余月份的服務(wù),而無(wú)需支付服務(wù)費(fèi)用。
在使用增值服務(wù)之前,需求上的用戶(hù)不需要建立訂閱關(guān)系。只需將指令發(fā)送到SP的服務(wù)編號(hào)。用戶(hù)只按增值業(yè)務(wù)的次數(shù)向SP支付服務(wù)費(fèi)。

