陳春凱 馬婭 劉付祥
(1.江蘇食品藥品職業技術學院 江蘇省淮安市 223001 2.淮安市實驗小學新城校區 江蘇省淮安市 223001)
(3.揚州振華航標器材有限公司 江蘇省揚州市 225000)
航標被稱為“水上紅綠燈”,保障了內河航運中航行的安全。隨著移動互聯網、物聯網、大數據、人工智能等技術的發展,毛熊磊等人指出,智能航道的發展是大勢所趨,也是必然的[1]。本文主要研究的是智能航標管理系統的設計與開發,本平臺操作簡單,航標管理人員可以隨時隨地進行航標燈的管理,減輕維護人員的維護強度與成本。
本文主要使用THINKPHP框架,采用MVC三層模式進行設計開發,數據庫使用Mysql進行物理數據模型設計。MVC即模型、視圖、控制器,使三層進行分離,具有開發靈活、多人協同等優點。MVC模式可以使每一層修改甚至替換容易方便,保證了層的可擴展性和可移植性[2]。智能航標管理系統的MVC三層結構如圖1所示。模型層包括用戶、角色、航標、短信等數據源。控制層包括系統管理、用戶管理、航標管理、統計管理等控制管理,是連接模型層與視圖層的橋梁。視圖層包括系統設置頁、用戶角色管理頁、航標管理頁、航標遙測頁、統計查詢頁等用戶交互管理界面。

圖1:智能航標系統的MVC三層架構模型
根據實際業務需要,采用RBAC(基于角色的訪問控制)進行系統權限設計,如圖2為RBAC控制模型。

圖2:RBAC模型
筆者設置了超級管理員、航道處管理員、分站管理員三種角色,如圖3展示了角色擁有的權限。

圖3:角色功能圖
超級管理員:擁有系統所有權限,包括用戶、角色、航標的增刪改查,對系統全部航標燈遠程遙測以及統計分析。
航道處管理員:只針對本航道處各分站航標的管理,遙測信息統計。
分站管理員:只能對本站的航標進行增加、修改、查看的管理以及遙測信息統計。
本系統是基于B/S架構,分為客戶端和服務端,客戶端可以用PC或者移動設備進行訪問,系統的功能結構設計如圖4所示。

圖4:功能結構
該系統主要有常規管理模塊、權限管理模塊、航標管理模塊、遙測信息管理模塊以及短信管理模塊。常規管理模塊可以對系統的站點名、備案號等基礎信息進行設置;權限管理模塊可以對用戶、角色、菜單進行管理;航標管理模塊包括航標的增刪改查等功能;遙測信息管理即是對航標燈發送過來的遙測信息進行統計分析;短信管理模塊對具體的遙測短信進行查閱。
本系統開發主要使用到ThinkPHP、Bootstrap開發框架,關鍵技術包括前端的HTML5、CSS3、JavaScript、Ajax等技術,后端的PHP以及MySql數據庫技術。ThinkPHP是一個免費開源的PHP開發框架,基于框架的開發會節省很多開發成本,該框架具有低耦合高內聚的優點。 Bootstrap是深受歡迎的HTML、CSS和JS框架,一次開發即可實現PC與移動端界面的布局。
本系統主要由遙測信息、航標管理、短信管理三部分組成。
2.2.1 遙測信息
遙測:航標人員可以方便查看到航標總數、正常運行數、報警總數。筆者結合百度地圖,將航標燈實時顯示在地圖上,綠色燈表示正常,紅色燈表示異常,如圖5所示。鼠標點擊地圖中的航標會彈出航標的詳細信息,如圖6所示。

圖5:遙測圖

圖6:航標詳情圖
昨日遙測信息:針對昨日航標燈運行狀況進行信息采集,在該界面可以根據管理處、航標編號等條件篩選查看到昨日航標的燈的閃光、閃光周期、實測電壓、實測電流、充電電流、工作狀態等信息,如圖7所示。

圖7:昨日遙測信息
歷史遙測信息:相比于昨日遙測信息,歷史遙測信息頁面中可以對任何時間段的航標進行查詢。
2.2.2 航標管理
添加航標:根據航標的具體信息,對航標的名稱、編號、管理處、航標類型、標題顏色等進行設置添加,如圖8所示。

圖8:航標添加
維護航標:根據管理處、航標編號等條件對航標進行篩選查詢,該模塊實現航標燈的查看修改、遠程遙測、定時信息采集等功能,如圖9所示。

圖9:維護航標
2.2.3 短信管理
該模塊實現了對航標燈發送過來的原始短信息進行查詢的功能。
本系統采用ThinkPHP框架和Mysql數據庫,實現了航標燈管理以及實時定位報警功能,方便了航標管理人員日常維護管理。目前實現了初步的功能,后期還需要進一步優化,比如航標預警提醒功能有待完善,系統管理人員需要手動刷新頁面才可查看到最新預警信息。