龔素榮



摘 要:針對助航信息服務系統中面向移動用戶實時數據服務問題,提出采用推送(Push)與拉取(Pull)相結合的方式實現面向移動終端實時數據服務,為移動用戶提供個性化助航信息服務。基于Webervice和第三方推送服務完成了相關設計,測試結果顯示滿足移動終端信息服務的實時性和個性化的需求。
關鍵詞:助航系統;控制河段;信息服務;拉取;推送
中圖分類號:U617 文獻標識碼:A 文章編號:1006—7973(2017)03-0048-03
控制河段是長江航道的重要組成部分,一般具有多灘、水急、航道彎曲等特點,極易發生海損事故,而隨著長江航運發展迅速,運輸需求旺盛,現有輔助指揮系統已經滿足不了日益增長的需求,而現有的信號揭示手段主要有三種方式:①服務器產生信號通過信號旗或信號燈傳遞給通行船舶;②通過VHF自動語音廣播;③通過電子航道圖顯示符號傳遞信息。但是他們的缺點分別是:①需要船員目視觀察信號旗或信號燈,受到控制河段天氣和地理環境限制較大;②需要用到專門的船載終端裝置,不易推廣;③VHF語音廣播會占用頻道資源和干擾無關用戶。針對上述問題,順應“互聯網+”發展趨勢,加快云計算、物聯網、移動互聯網等現在通信技術在航道領域的集成和創新應用,實現通行信號的主動服務的一個關鍵是為移動終端提供合適的數據,實現“點對點“個性化服務,提高主動服務能力。
論文通過分析推送(Push)與拉取(Pull)技術的含義和實現方式,建立Webservice服務器實現針對助航信息服務系統的數據共享服務,用戶主動向Webservice服務器拉取助航信息數據。通過建立基于第三方推送[5]服務的推送服務器,實現針對助航信息服務系統中實時性要求較高的信息進行推送服務,助航信息服務系統主動向移動終端用戶進行推送服務。
1 拉取和推送技術
推送(PUSH)技術是一種建立在客戶服務器上的機制,就是服務器根據事先制定的觸發機制,而不是根據用戶實時要求,主動向客戶端遞送信息的技術。而傳統的拉取(PULL)技術則是根據客戶端用戶的需求,向服務器發出請求,查詢需要的信息。推送是服務器主動向客戶端信息的過程,而拉取則是客戶端主動向服務器索取信息的過程,根據事先設置好的條件或者時間間隔,在滿足條件或者固定的時間間隔后,觸發客戶端去服務器端獲取信息的一種方式,從用戶體驗來說在一定程度上提供了類似推送的效果。
推送的主要優點是:①對用戶要求低,適用于廣大公眾,不要求用戶有專門的技術:②實時性好,能及時向用戶推送最新的動態信息。其不足之處在于:①由于Push技術采用廣播的方式,而沒有反饋機制,不能確保客戶端收到信息;②個信化推送需在服務端建立復雜的判別機制才能推送給特定的用戶;③服務端工作量大。而拉取模式的主要優點是針對性強,能滿足用戶的個性化需求。其主要缺點是:實時性差,對用戶要求較高。論文根據控制河段助航信息的類別和重要性,以推送和拉取相結合的方式滿足移動客戶端數據服務的“實時性”和“個性化”需求,基本的推拉方式如圖1所示。
2 助航信息服務系統數據服務設計
根據控制河段通行信號的服務對象以及相關信息的用戶及重要性,基于拉取和推送技術將數據服務方式分為兩類,一類是數據共享需求服務,一類是數據推送需求服務。
(1)數據共享需求服務:主要通過構建基于Webservice技術的服務器實現針對移動終端的數據共享,當用戶對助航信息有需求時,主動向Webservice服務器獲取,此類信息中包括控制河段船舶位置列表等助航信息,同時用戶也可以獲取其它用戶分享的照片、留言等興趣信息,以上信息實時性要求不高,用戶可根據需要隨時獲取。
(2)數據推送需求服務:主要通過構建基于第三方推送技術的推送服務器,向移動終端推送實時性要求較高的信息,例如船舶通行指揮信號等信息,此類信息是控制河段通行指揮中不需向船舶用戶發送的信息,因此通過推送技術主動向用戶進行推送。
Webservice服務器數據共享用戶群主要分為航道主管部門用戶、控制河段信號員用戶和船舶用戶。各用戶群的需求如下:①航道主管部門用戶:對管轄區域內的控制河段通行數據進行宏觀的查詢;對控制河段信號臺工作情況、開收班情況進行實時管理。②控制河段信號員用戶:對管轄控制河段的通行指揮數據進行宏觀的查詢,同時根據船舶通行情況,懸掛指揮信號,可對控制河段實施遠程指揮控制;③船舶用戶:對所處控制河段的通行指揮數據進行宏觀的查詢,同時對河段中與其臨近船舶進行位置查詢,由此對船舶航速、航向等方面進行有效的控制,是助航服務系統中的主要用戶群;
根據上述用戶需求,要實現所有控制河段移動終端數據共享的管理,必須要把各個控制河段與航道主管部門以及船舶用戶通過網絡有機結合起來。這樣就需要系統有高度的數據共享性和集成性,而且要提供合理的統籌安排和管理功能。推送服務器主要面向的也是上述用戶群,但是推送服務要求實現個性化,這就需要對基于位置對用戶群進行更詳細的規則。
2.1 數據服務系統框架設計
船舶通行過程中所產生的數據量大,種類繁多,論文將數據共享和推送平臺分為兩級:航道局服務器與信號臺服務器。
航道局服務器包括外網服務器和內網服務器,內網服務器部署于航道局內網環境下,內網服務器通過航道局內網分別獲取各個信號臺的實時指揮相關數據,并通過網絡通信方式把相關數據及時傳輸給外網服務器。外網服務器安裝部署在航道局外網環境下,外網服務器及時接收來自內網服務器的數據推送并對其進行實時處理,外網服務器也負責與移動終端的數據交互。航道局局服務器設計如圖2所示。
信號臺服務器安裝部署在控制河段的指揮臺,每個控制河段都部署一臺信號臺服務器,提供控制河段具體指揮信息。信號臺服務器在外網環境下運行,服務器對所有數據進行加密處理,移動終端只有通過了身份驗證才可以獲取數據。指揮系統運行在內網,而信號臺服務器必須建立在外網,因此指揮系統產生的實時指揮信息同時通過串口向信號臺數據管理軟件和以Webservice方式向航道局內網服務器進行推送。
信號臺服務器數據庫單獨建立數據庫,信號臺服務器與指揮系統通過串口通信編程實現相互之間的數據交換,如圖3所示,通過串口及數據管理軟件,實現兩個數據庫實時同步,并使信號臺服務器與指揮系統之間實時交互。
局級服務器和控制河段服務器共同組成數據共享服務器,兩者相互配合完成共享服務。局服務器主要面向記錄任務,信號臺服務器主要面向指揮任務。
2.2 數據拉取服務設計
助航數據服務設計中拉取服務主要是通過Webservice實現,航道局內網服務器通過Webservice獲取所有信號臺的數據,并通過串口通信實時更新到外網服務器,移動終端通過訪問航道局外網服務器進行獲取數據,其拉取框架如圖4所示。
2.3 數據推送服務設計
助航數據服務設計中推送服務器包含推送功能模塊與數據管理功能模塊,推送服務器也依據數據服務功能不同分為航道局服務器與信號臺服務器兩類,服務器主要由后臺數據管理模塊和推送服務模塊組成,兩者相互配合完成推送服務。
航道局服務器主要推送信號臺工作狀況和控制河段通行公告。信號臺服務器主要推送控制河段的通行信號、船舶通行順序隊列、控制河段內船舶通行列表、實時提醒控制河段內違規船舶等實時信息。在進行推送服務中,服務器必須依據一定規則才能實現個性化推送服務,推送規則主要基于船舶與移動終端一致性判斷后,只對進入控制河段預定推送區域的用戶推送控制河段通行信號和船舶通行順序隊列等實時信息。其推送判斷規則示意如5所示。
在圖5所示的控制河段A和控制河段B兩個控制河段,移動終端系統根移動終端與船舶一致性判斷算法判別移動終端是否與注冊船舶一致;然后在判斷船舶是否在控制河段內,確定是否推送及時消息。圖5中推送服務器向船舶A與船舶C推送的即時消息,而不會向船舶B、船舶D和移動終端A推送即時消息,船舶B、船舶D和移動終端A可以通過拉取的方式獲得相關消息,從而體現出了根據位置服務的個性化指揮特點。移動終端與船舶一致性判斷流程如圖6所示。
3 數據服務結果及分析
數據共享服務使得移動終端能夠根據自己需求,主動發出請求獲取各個控制河段豐富的通行信息。同時,基于第三方推送服務使得管理者通過航道局服務器主動向目標移動終端發送信息,而信號臺服務器則依據預先設置的觸發機制根據移動終端的狀態實時向其發送針對性的通行信號。通過分級管理機制,以拉取和推送相結合的方式有效的下達各種通知、命令和注意事項等信息。
本系統數據共享服務的Webservice服務器采用C#作為開發語言,SQL Server 2008作為數據存儲管理工具,IIS作為服務器的寄主,移動終端用戶面向安卓4.0系統以上版本,經測試移動用戶能夠實時的接收到控制河段的助航信息,收效良好,其主要界面如圖7所示。
4 結語
本文針對控制河段助航信息服務系統中面向移動終端的信息服務的具體需求,通過設計航道局和信號臺服務器,以分布式數據服務方式提供公共與個性的服務,運用Webservice技術與第三方推送技術以拉取和推送相結合方式滿足移動終端對助航信息的需求。論文介紹的方法和技術已在移動助航信息服務系統中實現,并在三角磧等控制河段進行了成功測試,測試結果顯示移動終端信息服務滿足實時性和個性化的要求。
參考文獻:
[1] 畢方全,李修云,梁山等.控制河段智能通行指揮關鍵技術研究[J].中國水運(上半月),2016,(9):38-40.
[2] 李良雄.基于AIS的控制河段智能通行指揮系統的設計及實現[J].水運工程,2014,(11):39-43.
[3] 呂永祥. 長江航道局“十三五” 科技發展展望[J].水運工程 , 2016, 511(1):1-6.
[4] 李培遠. 基于位置服務的控制河段助航信息服務系統的設計與實現[D].重慶大學,2015.
[5] 解世杰. 控制河段通行指揮系統中的分布式數據服務設計與實現[D].重慶大學,2015.