999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于AIS 和GIS 的海上風電場船舶監控系統軟件設計

2018-08-01 01:10:12沈思曦陳元林安博文盧學佳
現代計算機 2018年20期
關鍵詞:船舶數據庫系統

沈思曦,陳元林,安博文,盧學佳

(1.上海海事大學信息工程學院,上海 201306;2.國網衡水供電公司,衡水 053000)

0 引言

海上風電系統由陸上集控中心、海上升壓站和海上風機組成。陸上集控中心與海上升壓站之間、海上升壓站與各個風機之間分別用用220kv和35kv的海纜進行串接。風電場工作人員需要對所有鋪設海纜的海域進行船舶監控,保護海纜不受錨害。

文獻[1]提出了一種單機版的海上船舶監控系統,其能夠對海域內傳播進行有效監控。文獻[2]在文獻[1]的基礎上提出了基于C/S結構的多客戶端監控系統的想法,但其只有想法沒有具體的實施方案。文獻[3]將文獻[2]中的想法成功實現,且系統能夠穩定運行,但文獻[1-3]的系統均只支持單個AIS設備進行數據采集,使得系統穩定性得不到保障,且其告警系統不夠完善,均只能系統報警而不能向目標船舶發送告警信息。這些不足點在文獻[4]中被提及,作者提出了一系列方案來完善系統,但最終只有部分功能完成模擬測試,且系統整體設計沒有完成。本系統完成了文獻[1-4]中的設計,并對其中部分功能進行補充和優化。

本系統采用的技術主要包括AIS解碼編碼技術、MapWinGIS地圖開發技術、PostGIS地理信息空間數據庫管理技術、基于分布式數據庫(MySQL)的數據發布訂閱技術、基于分布式數據庫(MySQL)的配置信息管理技術和多線程技術。

1 需求分析

(1)支持多個AIS設備同時接入

單個AIS設備監測海域的范圍有限,且穩定性較差。因此要求系統支持多個設備同時接入和動態可配置。

(2)GIS電子海圖形式的表示層

以電子海圖的形式顯示觀測海域、警戒區和海上船舶,使用戶更直觀地了解海上船舶的航行情況。

(3)多客戶端設計

工程上需要在海上升壓站、陸上集控中心等地點查看監控系統信息,所以系統需滿足多客戶端同時在線訪問。

(4)船舶告警功能

系統需要有自動告警功能(系統界面彈出告警框并產生警報),并向滯航船舶自動發送告警信息和向目標船舶手動發送短消息的功能。

(5)歷史信息查詢功能

系統應包含船舶歷史信息和歷史航跡繪制的功能,方便用戶對歷史船舶進行數據查詢和事故追責。

本系統要求的系統指標如表1所示。

表1 技術指標

2 系統設計

2.1 硬件框架

硬件設備主要包含AIS設備、服務器和客戶端,其連接框架如圖1所示。

圖1 硬件框架

2.2 軟件結構

本系統軟件結構如圖2所示,包含以下功能模塊:AIS數據采集模塊、AIS數據編解碼模塊、AIS可視化模塊、預警與報警模塊、AIS數據發送模塊、報表管理模塊、歷史數據查詢模塊和用戶管理模塊。

3 關鍵技術分析

3.1 AIS信息采集/編解碼模塊

系統中的AIS設備包括A類設備、B類設備和基站。系統通過RS-232串口/RJ-45網口接收AIS信息并進行解碼。AIS消息的接收和解碼流程如圖3所示。

數據進入串口緩沖區后,服務器對緩沖區數據進行提取解析,解碼信息通過安全隊列送至服務器處理模塊進行處理;當有消息發送給目標船舶時,服務器處理模塊將短消息通過安全隊列發送給數據編碼線程進行編碼,再通過串口將編碼數據進行發送。

圖2 軟件結構

圖3 數據采集/編解碼流程

數據采集模塊會根據系統連接AIS設備的數量設置線程數,每個AIS設備設一個獨立線程,并通過相應的串口將數據發送至服務器,在服務器收發控制層中進行與處理。

系統的信息處理主要包括AIS解碼、AIS編碼、基于UDP協議的數據發送。

(1)AIS解碼

本系統嚴格按照ITU-1371[4]標準的規定進行AIS解碼,對于包含多條AIVDM的信息(如5號報文),系統將對其語句信號和連續消息標識進行識別,將同一組的多條消息進行自動整合再進行解碼。

(2)AIS編碼

本系統對AIS設備進行二次開發,使得其可以接受上位機的短消息發送指令,具備向海域船舶自動發送短消息功能。本文自主設計了一套AIS編碼技術,用于短消息指令編碼和傳輸,其格式為:

$XNMSG,短信 ID,九位碼,短信類型,語句內容*校驗碼

短消息ID:使用三位數字代表所發消息ID

短消息類型:如表2所示。

表2 短消息類型

校驗碼:取$和*之間的字符串異或校驗,為兩位16進制數。

(3)基于UDP協議的數據收發

系統對客戶端與服務器端之間數據傳輸的實時性要求很高,考慮到UDP協議的無連接、高速率、占用資源少等一系列優點,系統采用UDP協議而不是TCP協議進行數據發送,但是UDP存在丟包的問題,不能保證傳輸數據的正確性,為此,系統在發送端的UDP數據尾部加上校驗碼進行傳輸數據校驗。

3.2 多線程技術

系統中的線程主要分為服務器主線程、數據采集/處理線程、UDP數據發送線程和UDP數據接收線程。各線程之間相互獨立,互不影響。

服務器主線程主要負責控制用戶界面的控件、加載INI配置文件和開設其它線程的工作。

數據采集/處理線程的數量與串口數(AIS設備數)一致。系統會根據如表3所示的INI配置文件,設置AIS設備的數目并自動分配串口數據處理線程,每個串口數據處理線程分配兩個線程安全隊列,分別用于數據發送和數據接收。

表3 雙機雙客戶端系統INI配置文件

系統各線程間采用線程安全隊列進行數據傳輸,如圖4所示,在程序中設置一個輪詢,服務器端發送數據時,各個串口數據處理線程的數據發送安全隊列將依次向UDP數據發送線程發送數據,不斷循環。避免使用線程鎖時,線程數量過多導致的數據傳輸效率低下和死鎖的情況。服務器接受數據時,UDP數據接收線程將依次向各個串口數據處理線程的數據接受安全隊列發送消息,無需等待,提高了系統的運行速度。

圖4 多線程間數據傳輸流程

3.3 GIS可視化

(1)MapWinGIS

MapWinGIS是一個功能強大的開源GIS平臺,是為小中型GIS應用開發的免費開源的組件及桌面的集合。本系統使用MapWinGIS實現GIS可視化。GIS可視化由如圖5所示的四個圖層繪制而成,分別為:海圖圖層、海纜圖層、觀測警戒圖層和AIS船舶圖層。不同的圖層全部設置在同一坐標系(WGS1984坐標系)下,使得不同圖層的各個位置在同一個坐標系下疊加并對應起來。

圖5 系統海圖圖層

①海圖圖層

海圖圖層主要功能是為整個系統提供海纜所在海域的地理信息,并將相關海域以地圖的方式繪制出來。

傳統地圖文件往往只使用一份地圖文件來表示整個地圖,這樣會導致若地圖文件太小則分辨率低;若地圖文件過大系統運行速度降低。

本系統將多張不同文件格式、不同分辨率的文件疊加在一起,組成一份新的地圖文件,既解決了地圖分辨率的問題,又提高了系統的運行速率。

海圖圖層是整個系統表示層的基礎,海纜圖層、觀測警戒圖層和AIS圖層均繪制在該圖層上面。

②海纜圖層

海纜圖層是覆蓋在海圖圖層上的第一張圖層,在該圖層中要顯示海纜的起點、所經過的坐標和終點,繪制出海纜的形狀。

③觀測警戒圖層

觀測警戒圖層包括觀測區和警區域。警戒區在觀測區內部,其區域形狀均為封閉的不規則多邊形。

繪制警戒區時,先確定警戒區所有頂點的經緯度坐標,將它們固定在繪制層上,再將這些頂點依次連接起來。觀測區的設置與警戒區相同,此處不再贅述。

④AIS船舶圖層的繪制

AIS圖層按照坐標信息將船舶顯示到繪制層上,根據船舶的坐標和實際航向進行貼圖,將船舶的形狀繪制在坐標上。該圖層上的AIS船舶信息會根據數據庫的刷新進行實時更新。

用戶瀏覽GIS表示層時,可以使用GIS地圖的所有功能,包括對地圖的放大、縮小、平移,對一些關鍵位置的標記、測距,通過坐標定位等功能,還能單擊目標船舶查看船舶具體信息,繪制船舶歷史航跡,這使得表示層功能更加強大。

(2)警戒區內船舶判斷算法

船舶警戒區為閉合區域,將其抽象為具有N個頂點(Xi,Yi)(i=0…N-1)的多邊形。

設一船舶所在點為(Xp,Yp),向右作一條平行于X軸的射線,通過該射線與該多邊形的交點數量(記作C)判斷(Xp,Yp)是否在閉合區域內。判斷方法如下:

若(Xp,Yp)在多邊形的邊線或頂點上,則船舶在警戒區域;若不在,定義C%2為交點數量C對2取余數,進而利用余數的奇偶性進行判斷:

如圖6所示,第一條射線與多邊形交點為2,點在警戒區外;第二條射線與多邊形交點為4,點在警戒區外;第三條射線與多邊形交點為3,點在警戒區內。

圖6 船舶位置模擬圖

3.4 多客戶端設計

(1)PostGIS地理信息數據庫

PostGIS是一種支持分布式網絡訪問的對象-關系型開源空間信息數據庫。本系統選用PostGIS地理信息數據庫來存儲電子海圖地理數據信息和警戒區空間數據信息。

由于系統采用多客戶端設計,客戶端只能通過網絡交互的方法對服務器端進行數據訪問,無法對服務器端本地文件進行訪問。普通地圖文件以shape格式進行本地存儲,客戶端無法對其進行有效讀取。選用PostGIS地理信息數據庫可以有效解決這一問題,對電子海圖地理數據信息進行存儲,使得服務器和客戶端都能夠訪問當前的地理信息數據,進行信息讀取。

系統設置兩級權限,分別為普通員工和管理員。只有管理員擁有權限對電子海圖數據信息和警戒區位置、大小信息進行修改。

(2)基于分布式數據庫(MySQL)的數據發布訂閱機制

本系統所有的船舶數據經解碼后將統一存放到在服務器端的MySQL數據庫的數據表中。服務器端數據處理流程如圖7所示,功能包括船舶數據更新和船舶冗余數據刪除。

①船舶數據更新

為優化系統設計,減輕數據表的訪問負擔,數據庫中采用數據表與日志表相結合的方式來處理數據。數據庫船舶數據周期性進行刷新,每5秒刷新一次,刷新完成后,數據庫將刷新時的時間信息存入日志表中,客戶端不斷訪問日志表。日志表更新后,客戶端訪問數據表,將船舶數據和PostGIS中的地理數據銜接客戶端,在電子海圖上顯示出各個船舶當前的位置并將其符號化。

②船舶冗余數據刪除

船舶數據必須具有一定的時效性,在線程中,系統會啟動定時器,定時遍歷船舶信息,將獲取到的船舶信息的時間與服務器時間進行對比,刪除數據庫中不具有時效性的船舶進行船舶歷史航跡繪制。

系統客戶端進行歷史航跡繪制時,會從MySQL數據庫中調用船舶歷史信息,在電子海圖上進行模擬航跡顯示[5-6]。

圖7 數據流處理流程圖

4 系統測試

系統通過測試軟件進行數據源模擬實驗。從現場采集到的AIS報文數據中提取樣本,將其作為數據源進行壓力測試。設置模擬數據源船舶數量、警戒區同時報警船舶數量樣本均為系統指標的1.5倍,計算解析出的船舶數量與樣本數量的比值,判斷其是否達到系統指標。

經過多次測試,實驗結果如表4所示,各項數據均達到系統技術指標要求。

表4 實驗結果

5 結語

運用上述思路設計的海上風電場船舶監控系統軟件,成功彌補了海上風電場周邊海域自動監控領域的行業空白。將模塊化設計和多線程技術運用于該軟件設計,不但提高了系統的擴展性,而且提高了系統的執行效率。該軟件已成功應用于江蘇龍源蔣家沙海上風電項目,能夠很好地滿足監控要求。

猜你喜歡
船舶數據庫系統
計算流體力學在船舶操縱運動仿真中的應用
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
《船舶》2022 年度征訂啟事
船舶(2021年4期)2021-09-07 17:32:22
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
船舶!請加速
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 日韩大片免费观看视频播放| 亚洲成aⅴ人在线观看| 国产精品永久不卡免费视频| 国产日韩AV高潮在线| 人人澡人人爽欧美一区| 欧美区一区二区三| 99久久国产精品无码| 国产乱子伦视频三区| 亚洲天堂高清| 亚洲侵犯无码网址在线观看| 99久久精品免费看国产免费软件| 欧美成人a∨视频免费观看| 婷婷亚洲天堂| 日日噜噜夜夜狠狠视频| 国产乱人免费视频| 一级黄色网站在线免费看| 国产精品思思热在线| 午夜久久影院| 69精品在线观看| AV无码无在线观看免费| 国产精品xxx| 特级aaaaaaaaa毛片免费视频| 国产精品99r8在线观看| 亚洲无码不卡网| 亚州AV秘 一区二区三区| 国产麻豆aⅴ精品无码| 伊人久久久大香线蕉综合直播| 极品国产一区二区三区| 香蕉久人久人青草青草| 激情爆乳一区二区| 久久99国产综合精品1| 国产欧美在线观看视频| 四虎影视国产精品| 日韩中文字幕免费在线观看| 久久久久免费精品国产| 日韩区欧美区| 在线色国产| 欧美在线精品怡红院| 国产免费怡红院视频| 亚洲天堂自拍| 波多野结衣一二三| 国产乱人伦AV在线A| 久久国语对白| 999精品视频在线| 亚洲专区一区二区在线观看| 久久亚洲黄色视频| 一级黄色网站在线免费看| 黄色片中文字幕| 欧美一区二区三区香蕉视| 午夜国产小视频| 国产精品亚洲一区二区三区在线观看| 中文字幕永久视频| 国产精品亚洲精品爽爽| 国产女人爽到高潮的免费视频| 国产经典在线观看一区| 午夜色综合| 日韩精品成人网页视频在线| 欧美中出一区二区| 免费va国产在线观看| 亚洲一区二区三区在线视频| 中文字幕在线看| 久久精品国产精品青草app| 亚洲视频影院| 日韩最新中文字幕| 国产精品冒白浆免费视频| av尤物免费在线观看| 四虎精品国产永久在线观看| 91久久偷偷做嫩草影院精品| 午夜精品福利影院| 日韩福利视频导航| 小说 亚洲 无码 精品| 天堂中文在线资源| 亚洲天天更新| 国产白浆在线| 制服丝袜无码每日更新| a毛片在线免费观看| 日韩视频免费| 国产新AV天堂| 精品人妻系列无码专区久久| 国产精品亚洲五月天高清| 欧美激情伊人| 国产精品亚洲va在线观看|