談燕
摘要:該文闡述了建設(shè)廣播發(fā)射臺短信預(yù)警系統(tǒng)的意義,以及系統(tǒng)的設(shè)計與說明;通過實例,詳細(xì)介紹了基于J2EE架構(gòu)的短信預(yù)警系統(tǒng)的編程方法。
關(guān)鍵詞:短信預(yù)警系統(tǒng);GSM Modem;SMSLib
中圖分類號:TP31 文獻標(biāo)識碼:A 文章編號:1009-3044(2014)21-5109-03
1 建立廣播發(fā)射臺短信預(yù)警系統(tǒng)的意義
國家新聞出版廣電總局無線局直屬廣播發(fā)射臺(以下簡稱“廣播發(fā)射臺”)肩負(fù)著“中央三臺”及部分省市廣播節(jié)目的播出任務(wù)。從節(jié)目接收、傳送到發(fā)射機,發(fā)射機將信號放大、調(diào)制,轉(zhuǎn)變成電磁波,通過天線發(fā)射出去,整個傳輸發(fā)射過程系統(tǒng)龐大、環(huán)節(jié)重多,任何一個地方出現(xiàn)問題,均會影響到節(jié)目的播出效果。為了保證節(jié)目播出工作中出現(xiàn)突發(fā)事件時,能夠準(zhǔn)確、迅速地采取有效措施進行處理,減少停播時間,結(jié)合節(jié)目播出工作特點,廣播發(fā)射臺制定了安全、有效、完備的應(yīng)急管理體系。
廣播發(fā)射臺短信預(yù)警系統(tǒng)是發(fā)射臺安全播出應(yīng)急體系的重要組成部分,它是一個基于通信網(wǎng)絡(luò)和業(yè)務(wù)平臺的系統(tǒng)。當(dāng)廣播發(fā)射臺節(jié)目播出工作中出現(xiàn)突發(fā)事件時,應(yīng)急指揮中心通過短信預(yù)警系統(tǒng),對全臺職工手機進行應(yīng)急信息發(fā)布,大大提高了廣播發(fā)射臺突發(fā)事件應(yīng)急處置反映速度及防范處理等方面的能力。
廣播發(fā)射臺短信預(yù)警系統(tǒng)的實現(xiàn)方法很多,大致可歸納為以下三種方法:
1) 使用中國移動或聯(lián)通公司提供的短信網(wǎng)關(guān)來實現(xiàn)預(yù)警信息的發(fā)送,如中國移動公司提供的和通訊錄手機應(yīng)用軟件、企信通服務(wù)平臺等。這種方法的優(yōu)點是短信發(fā)送質(zhì)量高、并發(fā)性能好。缺點是需要向運營商申請辦理,此類業(yè)務(wù)的辦理,對申請者有一定的條件限制;同時運營商不提供API接口,不能針對廣播發(fā)射臺應(yīng)急處突的特定需求進行二次開發(fā)。
2) 找第三方短信群發(fā)服務(wù)網(wǎng)站付費來實現(xiàn)預(yù)警信息的發(fā)送。這種方法的優(yōu)點是一次性投資費用低廉,對方能夠提供相應(yīng)的CGI接口,有利于二次開發(fā)。缺點是短信發(fā)送并發(fā)性能不佳,安全性沒有保障;此外,在做二次開發(fā)時,需要編寫代碼來實現(xiàn)消息排隊等機制。
3) 采用GSM modem + 服務(wù)器的開發(fā)模式進行二次開發(fā),實現(xiàn)預(yù)警信息的發(fā)送。 這種方式的優(yōu)點是成本低廉,可以根據(jù)業(yè)務(wù)需要,進行二次開發(fā)實現(xiàn)高級的短信功能;缺點是要求具體一定編程能力的技術(shù)人員完成二次開發(fā)工作。
2 短信預(yù)警系統(tǒng)的設(shè)計與說明
本文重點介紹采用GSM modem + 服務(wù)器的模式,實現(xiàn)預(yù)警信息發(fā)送的設(shè)計方法。在進行系統(tǒng)設(shè)計之前,我們首先要了解什么是GSM Modem 。
2.1 什么是GSM Modem
GSM Modem是一種用于接收、發(fā)送短信的專用設(shè)備,通常稱之為短信貓。其使用方法很簡單,在GSM Modem中插入一張SIM手機卡,采用USB口或串口與計算機連接,通過調(diào)用短信發(fā)送管理軟件,來實現(xiàn)信息收發(fā)等功能。
GSM Modem分為手機版和工業(yè)模塊版兩種類型,技術(shù)成熟、穩(wěn)定性好的是西門子和WAVECOM兩家的產(chǎn)品。如西門子的TC35 、TC37 MC,WAVECOM的 2303A 、2403 、2403A、2406A等型號。廣播發(fā)射臺短信預(yù)警系統(tǒng)中選用了WAVECOM 2303A工業(yè)級GSM Modem,通過USB接口與服務(wù)器連接,通過調(diào)用AT指令實現(xiàn)預(yù)警信息的發(fā)送。
2.2 GSM Modem的開發(fā)應(yīng)用
實現(xiàn)GSM Modem的開發(fā)應(yīng)用的方法可分為以下三種:
1) 通過接口直接調(diào)用AT指令,驅(qū)動GSM Modem硬件收發(fā)短信。這種方法屬于最底層的開發(fā)應(yīng)用,開發(fā)靈活,但要求編程員熟悉短信模塊AT指令調(diào)用方法。
2) 采用GSM Modem廠商提供的封閉了AT指令的二次開發(fā)包,通過調(diào)用短信收發(fā)API接口實現(xiàn)開發(fā)應(yīng)用。
3) 采用GSM Modem廠商提供的基于數(shù)據(jù)庫接口的GSM Modem通信中間件來實現(xiàn)開發(fā)應(yīng)用,這是一種更高級的短信開發(fā)解決方案,實用于大、中型短信群發(fā)平臺的開發(fā)應(yīng)用。
2.3 短信預(yù)警系統(tǒng)的架構(gòu)原則
短信預(yù)警系統(tǒng)中所采用的GSM Modem是典型的串行通訊設(shè)備,在提交短信發(fā)送信息后必須等待回應(yīng)后方可發(fā)送下一條信息,否則會造成死機。在廣播短信預(yù)警系統(tǒng)應(yīng)用中,存在多線程同時并發(fā)操作短信模塊的需求,為避免發(fā)生GSM Modem死機的問題,我們在進行軟件編寫時,應(yīng)遵循如下架構(gòu)原則:
1) 創(chuàng)建相應(yīng)的數(shù)據(jù)庫表,實現(xiàn)短信隊列。在發(fā)送預(yù)警短信時,先將短信接收者與發(fā)送內(nèi)容提交到短信發(fā)送隊列。
2) 開發(fā)獨立的短信服務(wù)后臺,從短信發(fā)送隊列中讀取發(fā)送信息,再調(diào)用GSM Modem開發(fā)包發(fā)送短信;通過調(diào)用開發(fā)包,讀取GSM Modem收到的短信,并放入短信接收隊列。
3) GSM Modem開發(fā)包內(nèi)部封裝的是GSM Modem與計算機之間的通訊接口程序,通過調(diào)用封裝的AT指令驅(qū)動短信模塊收發(fā)短信。
2.4 短信預(yù)警系統(tǒng)架構(gòu)
如圖1所示,短信預(yù)警系統(tǒng)采用GSM Modem+服務(wù)器的開發(fā)應(yīng)用模式,用戶通過客戶端瀏覽器訪問短信服務(wù)器,提交短信發(fā)送請求,短信服務(wù)器通過USB口與GSM Modem連接,將客戶端提交的短信發(fā)送請求轉(zhuǎn)換為AT指令發(fā)送GSM Modem,達到發(fā)送接收短信的目的。
2.5 短信預(yù)警系統(tǒng)主要功能
通過對廣播發(fā)射臺應(yīng)急處突需求進行調(diào)研, 短信預(yù)警系統(tǒng)主要包括:發(fā)送預(yù)警信息、預(yù)警信息自動重發(fā)、地址本管理、常用短信設(shè)置、發(fā)送結(jié)果查詢、發(fā)送報表查詢、用戶管理等功能。
2.6 系統(tǒng)設(shè)計特點
1) 短信預(yù)警系統(tǒng)使用J2EE平臺,MyEclipse8.5作為開發(fā)環(huán)境,采用應(yīng)用層、業(yè)務(wù)層、集成層和數(shù)據(jù)庫層的四層構(gòu)架, 實現(xiàn)了業(yè)務(wù)邏輯與表示邏輯的分離;為保證系統(tǒng)高效、安全、穩(wěn)定的運行,開發(fā)中采用分布式的數(shù)據(jù)管理、事務(wù)處理以及多線程的異步消息通訊等機制,提高系統(tǒng)通信的效率和可靠性。
2) 數(shù)據(jù)庫采用MySQL5.0,數(shù)據(jù)部署在服務(wù)器上,包含用戶信息表、短消息收發(fā)信息、短消息收發(fā)日志等表單。
2.7 調(diào)用SMSLIB 庫實現(xiàn)預(yù)警信息的發(fā)送功能
SMSLib是Apache支持短信發(fā)送的一個開源項目,分.Net和JAVA兩個版本。短信預(yù)警系統(tǒng)是在Windows環(huán)境下,MyEclipse8.5開發(fā)環(huán)境中,通過調(diào)用JAVA版的SMSLIB 庫,采用java編程實現(xiàn)開發(fā)應(yīng)用的。
調(diào)用SMSLIB 庫包括加載SMSLib庫和配置運行環(huán)境兩個重要步驟。
2.7.1 如何加載SMSLib庫
2.7.2 配置運行環(huán)境
2.8 運行SMSServer實現(xiàn)預(yù)警信息的發(fā)送功能
3 結(jié)束語
短信預(yù)警系統(tǒng)在廣播發(fā)射臺突發(fā)事件處置中,能夠及時將預(yù)警信息告知廣大干部職工,提高防范處理的有效手段。基于J2EE平臺的短信預(yù)警系統(tǒng)的好處在于:
1) 根據(jù)廣播發(fā)射臺突發(fā)事件處置的業(yè)務(wù)特點,進行二次開發(fā),提高處突的工作效率。
2) 降低短信預(yù)警的運營成本:短信預(yù)警系統(tǒng)開發(fā)簡單,快速,開發(fā)成本很低;短信費用只需按照運營商的收費付費,沒有額外費用;維護簡單,不需要專業(yè)人員維護。
本文歸納的編程方法適用于有類似短信業(yè)務(wù)需求的系統(tǒng),不足之處,請大家批評指正。
參考文獻:
[1] xyang81. SMSLib開發(fā)指南[J/OL].(2012-05-20).http://blog.csdn.net/xyang81/article/details/7584970.