楊旭 田宇 董興楷 牛鵬 郭林 內蒙古工業大學
移動互聯網,將互聯網與移動通信緊密融合成一體,其涵蓋了互聯網模式和應用、移動通信技術及兩者結合產生的一切活動。2018年上半年,中國又增加了2000多萬移動互聯網用戶,人均單日使用移動互聯網約5h。
具體如下:安全性,保障用戶信息交互和傳遞安全;穩定性,保障用戶客戶端和服務器端的長期可靠運行;省電省流量,處理冗余數據少,待機開銷小;體積小,不過多占用有限的移動存儲空間。
該方案可以形象地稱之為“拉”信息。用戶手中的信息推送服務客戶端每隔一定的 間與服務器建立一次連發3D版本的訓練游戲,可有效提升用戶參與度。此外,目前游戲市場所占份額最多的仍屬低齡段的語文、數學、外語等主科教學,針對特殊教育等社會應用的游戲案例較少,面向自閉癥兒童的3D訓練游戲研發可彌補此類需求,在特殊教育機構、醫院自閉癥專科等部門有廣闊的市場。
查詢服務器上是否有信息發布出來,如果有就取回并顯示到客戶端上。這種方案看似簡單直接,但是輪詢間隔時間很難優化。輪詢間隔時間設置太長,信息推送的實時性就很差;而如果這個時間設置太短,勢必會增加網絡流量和消耗電量,對于移動互聯網而言,這是“大忌”。
移動通信運營商向用戶發送短信息,用戶的信息推送服務客戶端攔截該短信息并將其內容解析出來,根據解析內容跳轉訪問服務器的指定頁面。
用戶手中的信息推送服務客戶端與服務器建立一個持久連接,即使網絡中斷,連接信息不丟失、資源不回收,網絡恢復后仍使用原有資源進行連接,如果連接超時,客戶端將立即再次發起連接。該方案可以保證實時性,雖然也會消耗電量和流量,但可以從設計上進行優化,將信息推送損耗降至較低水平.對比上述幾套方案,選取最后一套方案,基于消息隊列遙測傳輸協議(MQTT)來實現。
源于IBM公司MQTT的設計思想是“發布—訂閱”模式。客戶端不直接與服務器交互,在兩者之間架設代理服務器(ProxyServer),從而做到應用程序與服務程序松耦合。MQTT協議的基本工作過程是:首先,ProxyServer作為broker角色開啟服務,然后客戶端與Broker創建連接并長時間維持連接,“訂閱”(準備接收特定的信息)已設定好的“主題”(Topic)。
信息內容主要包括兩種形式,一是信息內容的全部具體信息,另一種形式則是信息的主要內容或者信息目錄索引,由接受信息對象按照推送的通知,查詢具體信息內容。本系統推送的信息以后者的形式實現。
信息推送服務系統由3個子系統組成,分別是信息推送服務控制端、信息代理服務器、手機APP客戶端。
信息推送服務控制端和信息代理服務器運行在同一個物理服務器上。該物理服務器是自購服務器,安裝Windows2008Server操作系統,由第三方數據中心托管,固定國際互聯網IPv4地址。管理員從外部接入國際互聯網通過瀏覽器訪問該服務器。系統在推廣試用階段數據量不是很大,因此選擇性能較穩定,操作和配置都較靈活的MySql數據庫。服務控制端使用跨平臺的PHP腳本語言開發,管理員用瀏覽器即可操作,無需安裝繁瑣的控制軟件。
在早些時候,隨著MQTT協議的出現,IBM公司為應用該協議,編寫了RSMB組件。該組件有多種形式,可運行于Windows、Linux等操作系統,但是它沒有考慮用戶訪問的安全性,并且未開源。在搭建信息代理服務器時,最初選用的也是RSMB組件,進一步完善修改后,最終選用開源的、支持安全訪問的Mosquitto組件作為Broker角色來實現信息代理服務。
手機APP客戶端基于安卓(Android)操作系統設計。雖然Android用的是Linux內核,使用C、C++開發APP軟件效率高,但是信息推送服務主要關注點在應用層,不過多考慮底層的硬件接口、驅動,因此在開發手段上采用基于Java虛擬機的SDK實時運行環境。APP與用戶交互的主界面使用Android的Layout相對布局,查看推送信息的詳細內容使用WebView組件加載HTML5響應式網頁進行瀏覽。
管理員登錄系統采用Ajax設計理念,更新登錄信息輸入狀態而不刷新頁面。
配置信息推送Broker參數的源代碼如下:參數值的含義如下:
cishu=0表示推送最新的信息。
cishu=1表示推送其次新的信息。
cishu=2表示推送從時間順序上排在第3的信息(也就是在歷史信息表中第3行的信息)。
cishu=3表示更早的信息(也就是在歷史信息表中第4行的信息)。
以此類推,最大參數為cishu=9,也即本系統可以重新推送以前推送過的10條信息。填寫任意網址,推送的信息將會鏈接到該網址上。注意網址必須以帶問號的參數結尾。
例如http://192.168.1.88/index.asp?mk=9
或者http://192.168.1.66/?t=23
如果沒有參數,任意添加一個即可。
綜上所述,本系統的服務控制權完全在管理者手中,可以統計用戶對信息接收情況的反饋(依據設備識別碼唯一性),準確掌握用戶對信息效果的反應情況。它不僅能做到大面積統一推送,還可以做到定點準確推送。