摘 要:在智能手機(jī)上,正由于流量、電量寶貴的原因,使得與服務(wù)器保持持續(xù)不斷的長(zhǎng)連接的代價(jià)太高,長(zhǎng)連接的維護(hù)依賴(lài)于頻繁的網(wǎng)絡(luò)訪(fǎng)問(wèn),而網(wǎng)絡(luò)訪(fǎng)問(wèn)將導(dǎo)致流量和電量的消耗,這給實(shí)現(xiàn)推送功能帶來(lái)的難處;在應(yīng)用程序中使用定期查詢(xún)的方案來(lái)實(shí)現(xiàn)消息刷新,雖然可以減少維護(hù)長(zhǎng)連接的代價(jià),但也具有明顯的弊端--消息實(shí)時(shí)性差。本文就基于OOB(帶外)信道的智能手機(jī)應(yīng)用推送方案進(jìn)行分析研究。
關(guān)鍵詞:智能手機(jī);OOB信道;推送方案
中圖分類(lèi)號(hào):TN929.5
在當(dāng)代社會(huì),手機(jī)正在趨向于智能化發(fā)展,越來(lái)越多的人使用智能手機(jī)進(jìn)行查收郵件,瀏覽互聯(lián)網(wǎng)網(wǎng)頁(yè)等操作,智能手機(jī)很大程度覆蓋了電腦的功能,給人們帶來(lái)很多方便之處。如靈活性:智能手機(jī)相對(duì)于電腦來(lái)說(shuō),具有輕便的特點(diǎn),十分適合攜帶;娛樂(lè)性,智能手機(jī)擁有各式各樣的傳感器,利用這些傳感器可以實(shí)現(xiàn)指南針,翻轉(zhuǎn)關(guān)閉鬧鐘等功能;實(shí)時(shí)性,通過(guò)網(wǎng)絡(luò)運(yùn)營(yíng)商,智能手機(jī)可以隨時(shí)隨地連接互聯(lián)網(wǎng),消息更具有實(shí)時(shí)性。然而,智能手機(jī)也面臨著一些問(wèn)題,如流量資費(fèi)昂貴,電量消耗過(guò)快等,因此,傳統(tǒng)的電腦程序的一些技術(shù)方案無(wú)法平移到智能手機(jī)的應(yīng)用程序中。
1 方案概述
OOB(Out-Of-Bound)短信,相對(duì)于移動(dòng)應(yīng)用的實(shí)際業(yè)務(wù)通道而言,也稱(chēng)為帶外短信;OOB對(duì)于終端手機(jī)來(lái)講是不可見(jiàn)的,終端應(yīng)用可以截取該OOB短信,從而達(dá)到服務(wù)端向客戶(hù)端推送數(shù)據(jù)的目的。
一種基于OOB(帶外)信道的智能手機(jī)應(yīng)用程序推送方案,包括OOB推送服務(wù)器和OOB解析程序;OOB推送服務(wù)器,用于接收應(yīng)用服務(wù)器的推送請(qǐng)求,當(dāng)收到推送請(qǐng)求時(shí),根據(jù)推送請(qǐng)求描述的推送對(duì)象,將內(nèi)容通過(guò)OOB信道推送到OOB解析程序;OOB解析程序,接收并解析由OOB推送服務(wù)器推送的內(nèi)容,將解析結(jié)果傳遞給智能手機(jī)應(yīng)用程序,最終達(dá)到推送的目的;本發(fā)明解決了智能手機(jī)應(yīng)用程序在不與服務(wù)器保持長(zhǎng)連接的情況下的消息推送問(wèn)題,具有節(jié)省手機(jī)流量、節(jié)省手機(jī)電量的特點(diǎn),主要應(yīng)用于對(duì)信息的實(shí)時(shí)性有一定要求的應(yīng)用程序。
本方案所要解決的技術(shù)問(wèn)題是提供一種基于OOB(帶外)信道的智能手機(jī)應(yīng)用程序推送方案,以解決現(xiàn)有技術(shù)在移動(dòng)互聯(lián)網(wǎng)中實(shí)現(xiàn)推送帶來(lái)的弊端。
2 OOB推送
2.1 邏輯架構(gòu)。(1)OOB推送服務(wù)器,用于接收應(yīng)用服務(wù)器的推送請(qǐng)求,推送請(qǐng)求包括推送內(nèi)容和推送對(duì)象,OOB推送服務(wù)器接收推送請(qǐng)求后,將推送內(nèi)容通過(guò)OOB信道發(fā)送到OOB解析程序;(2)OOB解析程序,用于接收并解析由OOB推送服務(wù)器推送的內(nèi)容,將解析結(jié)果傳遞給智能手機(jī)的應(yīng)用程序。
圖1
2.2 OOB特點(diǎn)。(1)OOB(帶外)信道與應(yīng)用程序服務(wù)端和客戶(hù)端之間的網(wǎng)絡(luò)信道相互獨(dú)立,分別遵循不同的網(wǎng)絡(luò)傳輸協(xié)議;(2)OOB(帶外)信道是單向的,消息的發(fā)送方為OOB推送服務(wù)器,消息的接收方為OOB解析程序;(3)使用已有的通訊網(wǎng)絡(luò)的短信網(wǎng)絡(luò)作為OOB信道,推送的接收方為指定手機(jī)號(hào)碼,推送內(nèi)容以短信的形式,通過(guò)網(wǎng)絡(luò)運(yùn)營(yíng)商轉(zhuǎn)發(fā)到接收方手機(jī)號(hào)碼上;(4)推送的內(nèi)容為文字消息,根據(jù)內(nèi)容的類(lèi)型,劃分為控制消息和內(nèi)容消息,控制消息和內(nèi)容消息的協(xié)議由具體應(yīng)用程序進(jìn)行制訂,OOB推送服務(wù)器和OOB解析程序遵循該協(xié)議進(jìn)行通信;(5)對(duì)于推送的內(nèi)容,控制消息為控制信號(hào)的標(biāo)識(shí),OOB解析程序?qū)⒃摽刂葡⑥D(zhuǎn)發(fā)到應(yīng)用程序,應(yīng)用程序根據(jù)協(xié)議和控制消息實(shí)現(xiàn)不同的操作;對(duì)于推送的內(nèi)容,內(nèi)容消息的表現(xiàn)形式為“鍵-值”對(duì)的內(nèi)容的表現(xiàn)形式。
2.3 消息流程。流程說(shuō)明:步驟1,應(yīng)用服務(wù)器根據(jù)業(yè)務(wù)需要,發(fā)送推送請(qǐng)求到OOB推送服務(wù)器;步驟2,OOB推送服務(wù)器根據(jù)步驟1中應(yīng)用服務(wù)器發(fā)送的請(qǐng)求,解析得到推送的內(nèi)容和接受推送的對(duì)象;步驟3,OOB推送服務(wù)器通過(guò)SMPP(短消息點(diǎn)對(duì)點(diǎn)協(xié)議),將步驟2中得到的推送內(nèi)容和接受推送的對(duì)象,發(fā)送短信到短信運(yùn)營(yíng)商;步驟4,短信運(yùn)營(yíng)商發(fā)送SMS(短信)到OOB解析程序所在的手機(jī);步驟5,OOB解析程序解析SMS的內(nèi)容,獲得控制消息和內(nèi)容消息;步驟6,OOB解析程序?qū)⒔馕鼋Y(jié)果發(fā)送給應(yīng)用程序。
圖2
3 OOB實(shí)現(xiàn)
3.1 基于Android系統(tǒng)。該OOB短信實(shí)際上是二進(jìn)制短信(Android里的Data_SMS),Android系統(tǒng)收到該短信后并不會(huì)入庫(kù)也不會(huì)發(fā)送系統(tǒng)廣播事件,所以通過(guò)繼承ContentObserver使用觀察者模式并不能截取該OOB短信。
在Android系統(tǒng)中,截取二進(jìn)制短信是采用Receiver方式,并配置指定的監(jiān)聽(tīng)端口,收取該端口的二進(jìn)制短信數(shù)據(jù)、解析以及后續(xù)業(yè)務(wù)處理。(1)SMPP發(fā)送端設(shè)置。發(fā)送端在短信發(fā)送模塊,在發(fā)送該OOB短信時(shí),需要設(shè)置以下幾個(gè)字段replace_if_present_flag、esm_class、protocol_id、data_coding,此外還需要設(shè)置UDH,該UDH用于指定OOB短信需要發(fā)送到終端的哪個(gè)端口;(2)Android客戶(hù)端設(shè)置。在Android客戶(hù)端中如果需要截取二進(jìn)制短信,需要在指定的端口上進(jìn)行監(jiān)聽(tīng)(正常情況下,接收到的二進(jìn)制短信不會(huì)存到短信庫(kù)中)。
即在AndroidManifest.xml中receiver中加入過(guò)濾器為android.intent.action.DATA_SMS_RECEIVED,并且指定監(jiān)聽(tīng)端口等信息,如下:
3.2 基于BlackBerry系統(tǒng)。BlackBerry客戶(hù)端設(shè)置,在Blackberry客戶(hù)端沒(méi)有相關(guān)的配置文件,只能通過(guò)程序來(lái)指定監(jiān)聽(tīng)端口(正常情況下,接收到的二進(jìn)制短信不會(huì)存到短信庫(kù)中)。
4 結(jié)束語(yǔ)
由上可見(jiàn),本方案提供的一種基于OOB(帶外)信道的智能手機(jī)應(yīng)用程序推送方案,有以下優(yōu)點(diǎn):(1)可靠性高。本發(fā)明使用傳統(tǒng)的網(wǎng)絡(luò)運(yùn)營(yíng)商的短信網(wǎng)絡(luò)作為OOB信道,由于網(wǎng)絡(luò)運(yùn)營(yíng)商提供7*24小時(shí)不間斷的服務(wù),而且相對(duì)于互聯(lián)網(wǎng)網(wǎng)絡(luò),覆蓋面更為廣泛,因此本發(fā)明具有高可靠性的特點(diǎn);(2)應(yīng)用范圍廣。推送的內(nèi)容協(xié)議可由具體應(yīng)用程序自行定制,通信類(lèi)應(yīng)用程序可以使用本發(fā)明實(shí)現(xiàn)實(shí)時(shí)聊天消息推送,新聞?lì)悜?yīng)用程序可以使用本發(fā)明實(shí)現(xiàn)新聞推送,協(xié)議的唯一的限制為,每條推送內(nèi)容的文字必須小于短信文字的個(gè)數(shù)上限,因此本發(fā)明具有應(yīng)用范圍廣的特點(diǎn)。
參考文獻(xiàn):
[1]郎為民,孫月光,王逢?yáng)|.LTE系統(tǒng)頻段與信道配置研究[J].電信快報(bào):網(wǎng)絡(luò)與通信,2010(04):3-5.
[2]顧正敏.一種面向Android平臺(tái)的輕量級(jí)推送技術(shù)研究與應(yīng)用[D].北京大學(xué),2013.
作者單位:佳都新太科技股份有限公司,廣州 510665