畢方全 金月 聞光華 梁山
摘要:推送技術(shù)就是一種基于C/S機(jī)制,由服務(wù)器主動將信息發(fā)往客戶端的技術(shù)。論文通過對目前android平臺常用的推送方案分析,結(jié)合控制河段智能通行指揮實(shí)際需要,基于第三方推送技術(shù),設(shè)計(jì)和實(shí)現(xiàn)服務(wù)器向移動客戶端推送智能通信指揮系統(tǒng)揭示信號。相關(guān)推送測試結(jié)果通過移動終端達(dá)到個(gè)性化助航服務(wù)的目的。
關(guān)鍵詞:數(shù)據(jù)推送;第三方推送;控制河段;通行信號
中圖分類號:U617 文獻(xiàn)標(biāo)識碼:A 文章編號:1006-7973(2016)04-0026-03
長江上游航道控制河段由于灘多水急、通行斷面狹窄彎曲、多霧等,致使通行條件差,極易發(fā)生海損事故,船舶必須根據(jù)通行信號臺揭示的通行信號單向有序通行。通過“數(shù)字航道”和“智慧航道”建設(shè),長江上游部分控制河段已通過“控制河段船舶智能通行指揮系統(tǒng)”實(shí)現(xiàn)了通行信號的自動揭示。然而,揭示手段仍然是采用傳統(tǒng)的信號旗和信號燈的模式,通行船舶通過目視瞭望通行信號。這種單一的信號揭示方式,已無法滿足通行船舶對控制河段通行狀態(tài)服務(wù)綜合化、個(gè)性化的實(shí)時(shí)動態(tài)需求,已成為“智慧航道”建設(shè)中亟待解決的問題。
近年來,隨著無線網(wǎng)絡(luò)及智能手機(jī)的迅速普及,移動互聯(lián)網(wǎng)絡(luò)已逐漸成為人們獲取信息的一個(gè)重要平臺。因此,利用推送技術(shù)將控制河段通行動態(tài)及時(shí)或定時(shí)地發(fā)送給預(yù)定用戶,讓用戶也能隨時(shí)、隨地即時(shí)地獲取這些動態(tài)信息,可以實(shí)現(xiàn)控制河段通行信號揭示的‘互聯(lián)網(wǎng)+提升管理水平,提升服務(wù)水平。
推送技術(shù)就是Web應(yīng)用開發(fā)領(lǐng)域一種基于C/S(客戶端/服務(wù)器)機(jī)制,由服務(wù)器以主動方式將信息送達(dá)客戶端的技術(shù)。其優(yōu)點(diǎn)在于提升用戶體驗(yàn),避免用戶刷新頁面從服務(wù)端拉取數(shù)據(jù),確保信息發(fā)送的主動性和及時(shí)性,可隨時(shí)將信息推送到用戶面前(客戶端)。論文簡要介紹了移動互聯(lián)網(wǎng)中推送技術(shù)的原理,通過對它們優(yōu)缺點(diǎn)和使用場合的分析,探討Android平臺下實(shí)現(xiàn)消息推送水位一些解決方案?;诘谌酵扑图夹g(shù)一個(gè)推的數(shù)據(jù)推送服務(wù),通過建立基于第三方推送服務(wù)的推送服務(wù)器,實(shí)現(xiàn)針對移動終端的實(shí)時(shí)性要求較高信息進(jìn)行推送服務(wù),達(dá)到個(gè)性化助航信息推送服務(wù)。
1.基于Android的推送技術(shù)
1.1常見推送技術(shù)
(1)使用Google的GCM協(xié)議實(shí)現(xiàn)推送
GCM(Google Cloud Messaging)是Google公司推出的對C2DM改進(jìn)后的云推送消息服務(wù)。GCM雖然具有服務(wù)可靠性高、安全性好,客戶端功耗低優(yōu)點(diǎn),但是移動端操作系統(tǒng)需為Android2.2版本以上,并且國內(nèi)部分Android手機(jī)廠商去除了GCM功能,服務(wù)覆蓋不全面,GCM服務(wù)在國內(nèi)運(yùn)行不穩(wěn)定。
(2)使用IBM的MQTI協(xié)議實(shí)現(xiàn)推送
MQTT(Message Queue Telemetry Transport),是IBM公司在1999年發(fā)布的一款消息隊(duì)列遙測傳輸協(xié)議,它是為基于發(fā)布/訂閱模式的輕量級協(xié)議。MQTT協(xié)議是為網(wǎng)絡(luò)帶寬低,網(wǎng)絡(luò)不可靠的環(huán)境以及處理器和內(nèi)存受限的場景設(shè)計(jì)的,它的設(shè)計(jì)思想是開放、簡單、輕量以及易于實(shí)現(xiàn)。MQTT協(xié)議通常被用在與智能終端通信的環(huán)境中。
(3)使用IETF標(biāo)準(zhǔn)化的XMPP協(xié)議實(shí)現(xiàn)推送
XMPP協(xié)議來滿足數(shù)據(jù)推送方案,雖然具有跨平臺性,易擴(kuò)展,開發(fā)靈活優(yōu)點(diǎn),但是協(xié)議復(fù)雜,開發(fā)難度大,服務(wù)器不保存消息隊(duì)列,網(wǎng)絡(luò)故障時(shí),不會對消息再次向客戶端發(fā)送,客戶端信息不能被修復(fù)。
顯然,從上述三種推送方案分析可以看出,在實(shí)際應(yīng)用開發(fā)中,都將影響推送使用。
1.2第三方推送
第三方推送方案客戶端只需要嵌入第三方提供的SDK就可以使用穩(wěn)定的推送服務(wù),其中個(gè)推是國內(nèi)最專業(yè)的手機(jī)消息推送技術(shù)服務(wù)商,在第三方推送市場的占有率達(dá)90%以上。因此國內(nèi)供應(yīng)商基于國內(nèi)網(wǎng)絡(luò)與智能設(shè)備狀況,同時(shí)結(jié)合原生的Android建立適宜的推送服務(wù)平臺。第三方推送具有實(shí)現(xiàn)方便、成本低、保持消息隊(duì)列、保證客戶端信息不丟失的優(yōu)點(diǎn)。
針對以上情況,論文采用個(gè)推作為第三方推送的載體,通過建立基于第三方推送服務(wù)的推送服務(wù)器,實(shí)現(xiàn)實(shí)時(shí)性要求較高信息的推送服務(wù)。
2.基于第三方的推送服務(wù)設(shè)計(jì)
2.1數(shù)據(jù)推送服務(wù)器構(gòu)建
推送服務(wù)器分為局服務(wù)器與信號臺服務(wù)器兩類,服務(wù)器主要由后臺數(shù)據(jù)管理模塊和推送服務(wù)模塊組成,兩者相互配合完成推送服務(wù)。后臺數(shù)據(jù)管理模塊完成對后臺數(shù)據(jù)的維護(hù),并建立推送規(guī)則,對推送用戶進(jìn)行分類,管理用戶權(quán)限等,推送服務(wù)模塊主要功能是與移動終端保持長連接,維持消息隊(duì)列,完成推送服務(wù)。
推送服務(wù)器結(jié)構(gòu)框架設(shè)計(jì)如圖1所示:
2.2數(shù)據(jù)推送規(guī)則
在進(jìn)行推送服務(wù)過程中,服務(wù)器必須依據(jù)一定規(guī)則完成推送服務(wù),本文設(shè)計(jì)的推送規(guī)則如圖2所示:
2.3數(shù)據(jù)推送流程
基于第三方推送服務(wù)建立的推送服務(wù)器,第三方開發(fā)中心會提供開發(fā)者的唯一標(biāo)識,程序的ID、APP的API Key、合法性身份認(rèn)證Secret Key等信息。流程如圖3所示:
3.數(shù)據(jù)推送服務(wù)結(jié)果及分析
3.1服務(wù)器端手動推送信息
數(shù)據(jù)推送服務(wù)使得航道局服務(wù)器可以向航道局客戶端和信號臺客戶端推送數(shù)據(jù),信號臺可以向船舶客戶端推送數(shù)據(jù)。這樣分級管理,有效的下達(dá)各種通知、命令和注意事項(xiàng)等信息。客戶端獲取服務(wù)器推送信息如圖4所示:
3.2服務(wù)器自動推送指揮信息
信號臺部署的“控制河段船舶智能通行指揮系統(tǒng)”根據(jù)實(shí)際控制河段內(nèi)船舶通行狀況產(chǎn)生指揮信息,經(jīng)過內(nèi)外網(wǎng)安全穿透把指揮信息傳輸?shù)叫盘柵_服務(wù)器。服務(wù)器實(shí)時(shí)把這些指揮信息即時(shí)推送到控制河段內(nèi)滿足條件的移動客戶端。
4.結(jié)語
論文圍繞長江“數(shù)字航道”和“智能航道”建設(shè)需求,緊密結(jié)合移動互聯(lián)網(wǎng)快速發(fā)展給航道管理部門帶來的影響,運(yùn)用第三方推送技術(shù)實(shí)現(xiàn)控制河段通行信號向移動終端的主動推送,并在Android平臺下完成相關(guān)推送測試,達(dá)到個(gè)性化助航信息推送服務(wù)。