引言
多年來,,氣象短信業(yè)務(wù)已成為重要的氣象公共服務(wù)形式,實(shí)用、便捷,、權(quán)威是其在競(jìng)爭(zhēng)激烈的信息服務(wù)業(yè)站穩(wěn)腳跟的重要因素,,它在指導(dǎo)人們生產(chǎn)生活及社會(huì)防災(zāi)減災(zāi)中已經(jīng)發(fā)揮重要作用,。因受國家對(duì)信息業(yè)管理多重限制,,用戶獲取氣象短信的方式目前主要靠上行指令的方式,用戶需要記住繁瑣的指令以及SP特服號(hào)碼,,不方便用戶操作,,尤其是定制業(yè)務(wù),需要二次確認(rèn)過程,,大大增加了用戶操作的復(fù)雜度,。USSD(非結(jié)構(gòu)化補(bǔ)充數(shù)據(jù)業(yè)務(wù))是一種新興的交互式短信平臺(tái)技術(shù),通過USSD方式進(jìn)行操作,,直觀便捷,,用戶輕松即可完成相關(guān)需求。筆者根據(jù)山東移動(dòng)氣象短信平臺(tái)現(xiàn)狀,,利用ASP腳本程序與USSD網(wǎng)關(guān)進(jìn)行鏈接,可以實(shí)現(xiàn)數(shù)據(jù)傳輸,,完成相關(guān)業(yè)務(wù)操作,,并根據(jù)相關(guān)協(xié)議要求,將信息內(nèi)容進(jìn)行BASE64編碼,,保證信息下發(fā)的安全性,。經(jīng)實(shí)際工作測(cè)試,,系統(tǒng)負(fù)載小、運(yùn)行穩(wěn)定,,同時(shí)也是利用成熟的網(wǎng)絡(luò)技術(shù)為氣象服務(wù)拓寬服務(wù)方式和服務(wù)領(lǐng)域一種探索和創(chuàng)新,。
USSD是一種新興的交互式短信平臺(tái)技術(shù)[1],它是一種基于全球移動(dòng)通信系統(tǒng)(GSM)網(wǎng)絡(luò)的新型交互式數(shù)據(jù)業(yè)務(wù),。USSD系統(tǒng)采用面向連接的交互式會(huì)話方式 , 可以提供綜合性,、交互式信息服務(wù)的數(shù)據(jù)業(yè)務(wù)。USSD,、SMS都屬于電路承載型的業(yè)務(wù),,但USSD在會(huì)話過程中一直保持無線連接,提供透明管道,,不進(jìn)行存儲(chǔ)轉(zhuǎn)發(fā),,因此,USSD每次消息發(fā)送不需要重新建立信道,,就響應(yīng)時(shí)間而言,,USSD比短消息的響應(yīng)速度快,從而提高用戶參與交互的積極性,。USSD具有如下特點(diǎn),。
功能強(qiáng)。能以對(duì)話方式和信息業(yè)務(wù)菜單方式提供服務(wù),。
操作簡(jiǎn)便,。用戶無需輸入繁瑣指令,根據(jù)菜單進(jìn)行操作,。直觀便利,。
高效。在交互式應(yīng)用中,,由于只需建立一次連接,,減少了多次建立信令連接的時(shí)延,提高了響應(yīng)速度,。
適用范圍廣,。USSD可在目前所有GSM手機(jī)上運(yùn)行并支持漫游功能。
USSD可以開展多種特色業(yè)務(wù),,利用其交互菜單的功能可以建立多種信息門戶服務(wù)例如移動(dòng)銀行,、金融股票交易、手機(jī)話費(fèi)查詢,、氣象信息查詢,、收發(fā)電子郵件等等。USSD技術(shù)單獨(dú)使用或與目前的SMS,、GPRS技術(shù)相結(jié)合,市場(chǎng)前景十分廣闊,。
USSD業(yè)務(wù)流程
USSD業(yè)務(wù)目前是以山東氣象移動(dòng)短信平臺(tái)為基礎(chǔ)設(shè)計(jì)實(shí)現(xiàn)的,。用戶進(jìn)入U(xiǎn)SSD門戶后,根據(jù)菜單選擇具體業(yè)務(wù),,USSD門戶將向移動(dòng)96159平臺(tái)發(fā)送請(qǐng)求(96159是山東移動(dòng)的自有業(yè)務(wù)平臺(tái)),,96159根據(jù)具體請(qǐng)求向SP方[2](氣象局就是SP之一)轉(zhuǎn)發(fā),氣象短信平臺(tái)收到請(qǐng)求后,,將業(yè)務(wù)結(jié)果生成XML報(bào)文,,返回給96159平臺(tái),再由96159平臺(tái)打包封裝后,,提交給USSD門戶,,最終展示在用戶終端上[3](見圖1)。其中,,傳輸過程報(bào)文采用XML格式,,96159平臺(tái)與SP平臺(tái)之間采用http短連接方式,而接口模式采取同步請(qǐng)求/響應(yīng)模式,。簡(jiǎn)而言之,,USSD門戶負(fù)責(zé)業(yè)務(wù)菜單的設(shè)計(jì)以及用戶的交互顯示,96159平臺(tái)在整個(gè)USSD處理流程中起到鑒權(quán)指令,、計(jì)費(fèi)判斷的作用,,SP平臺(tái)則負(fù)責(zé)具體的業(yè)務(wù)響應(yīng)和信息處理。
對(duì)于用戶使用來說,,只需要記住USSD業(yè)務(wù)服務(wù)號(hào)碼(可以保存在手機(jī)通訊錄里),,例如:目前山東移動(dòng)手機(jī)用戶通過直接撥打表1所列號(hào)碼即可獲取信息服務(wù)。對(duì)比傳統(tǒng)方式,,這樣的操作無疑大大提高了執(zhí)行效率,,平均響應(yīng)時(shí)間縮短80%。
ASP腳本程序設(shè)計(jì)接口
由于氣象短信平臺(tái)后臺(tái)數(shù)據(jù)庫是SQL SERVER,,而ASP程序具有與SQL SERVER數(shù)據(jù)庫良好的訪問模式,,本身又是腳本程序,精煉靈活,,同時(shí)ASP在讀取,、構(gòu)建XML報(bào)文時(shí)的技術(shù)應(yīng)用又很成熟[4],綜合考慮,,選擇ASP作為接口程序語言,。下面通過代碼簡(jiǎn)要說明asp腳本編寫過程。
第一步:首先解析96159平臺(tái)傳遞過來的SPServiceAccessReq 請(qǐng)求數(shù)據(jù)包,。
Set ReceivedDoc = server.CreateObject("Msxml2.DOMDocument") ReceivedDoc.load Request
TransactionID=ReceivedDoc.selectSingleNode("//Head/TransactionID").text
……
feemsisdn=ReceivedDoc.selectSingleNode("//Body/Request/FeeMSISDN").text
linkid=ReceivedDoc.selectSingleNode("//Body/Request/LinkID").text
第二步:調(diào)用函數(shù),,進(jìn)行數(shù)據(jù)庫查詢,此處利用了ASP中的ADO[5]組件,。
第三步:將查詢結(jié)果生成XML包,,返回給96159平臺(tái)。
第四步:USSD門戶接收到96159透?jìng)鞯男畔?,進(jìn)行解析,,并將結(jié)果響應(yīng)在用戶終端上,最終完成整個(gè)交互操作,。
BASE64編碼實(shí)現(xiàn)
Base64[6]是網(wǎng)絡(luò)上用于傳輸8Bit字節(jié)代碼的編碼方式,,為了將信息進(jìn)行加密,根據(jù)協(xié)議要求,,需要將返回包XML中的Property字段內(nèi)容進(jìn)行BASE64編碼,。考慮到ASP與Javascript有良好的結(jié)合能力,,故選擇在ASP程序里嵌套Javascript腳本,,并要求該腳本在服務(wù)器端進(jìn)行,即,,即