?

基于WEB服務的短信發送平臺設計實現

2016-11-09 00:03徐樂趙榮輝
數字技術與應用 2016年9期

徐樂 趙榮輝

摘要:本文針對企業級短信應用,結合國內外短信業務的現狀,深入分析了短信貓的應用場景,實現原理和工作方式,結合工作需要,提出了基于web服務的短信貓發送平臺,詳細闡述了應用開發流程。運用java語言實現了短信貓的web service服務器端,企業級用戶可通過調用短信貓通信接口,實現中英文短信的發送功能,支持常用特殊字符,支持發送超長短信。本平臺通用性較好,可安裝在Linux的服務器上,也可以用于windows系統,具有穩定性高,易維護,易升級等特點。

關鍵詞:GSM短信貓 web service 超長短信

中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9416(2016)09-0193-02

1 引言

近年來,隨著信息技術的發展,全球數字移動通信系統(Global System for Mobile Communication,GSM)迅速發展起來,廣泛應用于各個行業和領域,是目前較為穩定、應用面較廣的移動通訊方法。短消息業務(Short Message Service,SMS)是基于GSM的一項短信通信功能,是GSM網絡提供給用戶的一種有別于語音傳輸的基本通訊業務[1],具有實時性強、成本低廉、無線傳輸等優勢,也引起了諸多系統運營商的高度關注,許多針對該業務的應用也迅速開發出來?;诩夹g發展現狀和業務需求,筆者開發了基于WEB的短信發送平臺,可應用于中小企業的即時短信通訊,便于提高企業內部的溝通能力和管理效率。

主要的短信傳輸方法:(1)通過運營商網關發送。開發者可向各大運營商申請網關,無需任何硬件配合,即可實現大規模的短信收發系統,較為便捷,但價格昂貴;(2)通過GSM MODEM模塊實現PC對手機收發信息。GSM MODEM通常為短信貓,通過此模塊,結合短信控制的AT指令以及串口傳輸協議,即可實現小規模的短信收發系統的開發;(3)通過一些網站提供的短信發送功能。這種方法易于實現,所需資源少,但對網絡的依賴性很強,不利于集成到企業的管理系統中。根據實際需要,本系統采用GSM MODEM模塊的方法來實現基于WEB的短信發送平臺。

2 短消息業務

短消息業務(SMS)指通過無線網絡和短消息中心,在手機之間以及手機和業務平臺之間,交換有限長度的文本或二進制短消息,實現信息的存儲和轉發功能。短消息業務是充分利用移動網信令資源前提下發展起來的業務,相對于移動話音基本業務,被確認為是增值業務。短消息服務具有應用面廣泛,成本較低,運行穩定等特點,可廣泛應用于頻繁遠距離小流量消息的傳輸。

短消息的基本業務特征:(1)短消息可發送的信息長度有嚴格規定,每條短信最多可傳輸140個字節,每個漢字占兩個字符,英文字母、標點符號均占用一個字符,長度大于140個字符的為超長短信,需分條發送;(2)短信屬于非實時性業務,對帶寬和時延要求低,屬于非面向連接的業務,是GSM系統中唯一不需要建立端到端信道的服務;(3)采用存儲轉發服務機制,即使用戶關機,沒有任何響應,也會自動保存短信,一旦用戶再次開機,會立刻再次發送短信,從而保證短信能夠發送成功,并返回發送結果。(4)當用戶空閑、通話過程中都可接收短消息。

3 系統設計

3.1 短信貓平臺結構

短信貓平臺結構如圖1所示。

3.2 短信貓的硬件連接

首先將作為短信中心的SIM卡放置到短信貓的卡槽內,將天線固定在信號強的位置,然后用串口線將短信貓與電腦或服務器的串口或USB口連接,最后給短信貓上電。檢測短信貓的NET指示燈閃爍狀況,確保短信貓成功與GSM網絡連接。

3.3 短信貓的軟件總體結構

軟件總體結構如圖2所示,包括三大主要模塊,具體功能模塊和子模塊描述如下:

3.3.1 接收客戶端請求消息

平臺作為web service服務器端,當收到客戶端發來的信息發送請求時,解析出要發送的目的號碼,發送的內容,并標記發送的信息(該標記便于將發送結果返回給客戶端),然后存入發送的消息隊列中。

3.3.2 發送消息

此模塊為本平臺的重要實現部分,用于實現短信發送業務,主要包括幾個方面:(1)通過定時器啟動發送線程,平臺定時從發送隊列頂部取出待發送的短消息,解析出相應的發送目的地址和發送內容,并通過編號標記短消息;(2)發送正常短消息,即長度在140個字符內的短消息;(3)發送超長短消息,對于消息內容長度超出限制的短消息,可通過相應指令和編碼控制將其分割為多條連續短消息,按多條方式連續發送給用戶,此模塊用于發送長度超過140個字符的短消息;(4)發送特殊字符,對于某些英文或中文的特殊字符,需要特殊的ASCII編碼和USC2編碼,此模塊用于實現特殊字符的編碼;(5)發送中文短信,中文采用UCS2編碼,通過PDU模式發送,最多可發送70個字符;(6)發送英文短信,英文采用ASCII編碼,可通過TEXT或PDU模式發送,最多可發送140個字符。

3.3.3 返回發送結果

為防止客戶端由于長期未收到短信發送結果而阻塞,采用了超時機制,即若在1分鐘內服務器端未收到短信發送結果,默認返回-1,以通知客戶端短信發送失敗,可改為調用備用短信貓。

3.4 短信貓的軟件流程

具體軟件發送過程如圖3所示。

(1)串口初始化。服務器啟動后,先遍歷所有的端口,查看哪個端口被占用,即外接有短信貓設備,找到后,設置該串口的波特率、停止位、數據位、奇偶校驗位等信息,建立連接,并啟動串口監聽,注意應加入支持串口通訊的jar包和.so文件;(2)設置短信貓格式。通過AT+CMGF設置短信發送模式,AT+CMGF=1,表示為PDU模式,AT+CMGF=0,表示為TEXT模式,還有Block模式,但較為少用。Text模式較為簡單,但只能發送英文短信;而PDU模式中英文短信均可發送。PDU模式收發短信可以使用3種編碼:7-bit、8-bit和UCS2編碼。(3)后臺啟動發送線程,定時從短信隊列的頂端取出消息,并解析出內容,若為中文,則調用ucs2編碼,若為英文,則調用7-bit編碼,內容編碼結束后,再判斷信息長度,若為正常短信,則正常發送,若為超長短信,則分段發送。利用串口發送AT指令驅動短信貓完成短信的收發,并將發送結果返回給客戶端。(4)若短信發送失敗,可再次加入到發送隊列中,等待下一次發送。

3.5 熱備系統

由于短信貓通過串行方式收發短信,即必須收到前一條短信的返回值,方可發送下一條,否則會導致短信貓死機[2]。隨著請求短信數量的增加,短信貓業務會更繁忙,即使通過多線程并行處理也無法解決。因此本次設計使用短信隊列結合主備兩個服務器的方式來完成。通過多個短信貓模塊,可提高短信貓并發傳輸的能力,并且預防短信貓欠費、運行故障或服務器掛機等意外,從而提高了整體服務的效率和質量。

4 結語

本平臺基于web service服務,以手機應用為基礎,以短信貓為收發短信的硬件設備,實現了實時、穩定、高效的短信收發系統,一小時可發送約660條短信。為企事業單位提供了新型短信應用,通過這個系統,可以向中國移動、中國聯通用戶提供短信服務。同時,本平臺是一個開放的平臺,便于為第三方應用提供接口,從而進一步開發。

參考文獻

[1]沈煒.化工企業短信平臺的開發與應用[D].浙江:浙江大學,2011.

[2]劉興淮.建立短信平臺實現醫療設備效益分析[J].中國醫療設備,2012(12):59-61.

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合