許麗梅 劉敬彪 余小非 江曉 翁曉偉
摘 要:針對傳統(tǒng)近海數(shù)據(jù)監(jiān)控系統(tǒng)無法跨平臺,維護升級麻煩,人力物力成本高等問題,文中設(shè)計了基于云平臺的數(shù)據(jù)監(jiān)控系統(tǒng)。該系統(tǒng)具有水下數(shù)據(jù)采集、跨平臺數(shù)據(jù)實時監(jiān)測、集中管理等功能。通過實驗證明,該系統(tǒng)具有跨平臺性、實時性、共享性、可靠性和穩(wěn)定性等優(yōu)點,滿足了科研工作的要求。
關(guān)鍵詞:云平臺;數(shù)據(jù)監(jiān)控;近海淺水試驗;C/S架構(gòu)
中圖分類號:TP271.5;TN409文獻標識碼:A文章編號:2095-1302(2019)01-00-05
0 引 言
在海洋科考和開發(fā)中,傳統(tǒng)的近海淺水?dāng)?shù)據(jù)監(jiān)控系統(tǒng)一般采用C/S架構(gòu)實現(xiàn)。采用C/S架構(gòu)必須在服務(wù)器端和客戶端安裝特定的軟件,且不能跨平臺[1]。在實際應(yīng)用中,必須開發(fā)不同的軟件以滿足客戶對不同平臺的操作需求,不僅耗費人力物力,維護以及升級也給雙方帶來了極大不便,加之產(chǎn)品升級速度快,傳統(tǒng)的C/S架構(gòu)已無法滿足當(dāng)今需求。傳統(tǒng)的近海淺水?dāng)?shù)據(jù)監(jiān)控系統(tǒng)局限于局域網(wǎng)中,只有在現(xiàn)場的工作人員才能實時監(jiān)測數(shù)據(jù)和控制水下設(shè)備[2-3],導(dǎo)致近海淺水?dāng)?shù)據(jù)監(jiān)控系統(tǒng)無法大規(guī)模發(fā)布和集中管理。
基于C/S架構(gòu)的近海淺水?dāng)?shù)據(jù)監(jiān)控系統(tǒng)存在規(guī)模小、操作復(fù)雜、維護繁瑣、跨平臺難度大等問題[4-5],已經(jīng)無法滿足當(dāng)今海洋信息化、智能化的要求。
基于云平臺的數(shù)據(jù)監(jiān)控系統(tǒng)通過計算機網(wǎng)絡(luò)對工作現(xiàn)場進行自動化管理和監(jiān)測。將工作現(xiàn)場采集到的數(shù)據(jù)存儲到本地數(shù)據(jù)庫中,最后同步到云端數(shù)據(jù)庫供不同的客戶端訪問并實時監(jiān)測。且云平臺具有強大的數(shù)據(jù)處理能力,其實時性、跨平臺性和穩(wěn)定性較優(yōu)良[6]。因此采用云平臺可以方便地進行部署和擴展,無需在現(xiàn)場部署特定設(shè)備,有效節(jié)約成本[7]。將試驗數(shù)據(jù)存放到云端,方便進行統(tǒng)一管理和分析。
管理人員只要在有網(wǎng)絡(luò)的地方就能夠隨時隨地對近海淺水試驗場的數(shù)據(jù)進行實時監(jiān)控和分析,并做出相應(yīng)指導(dǎo)。
本文針對近海淺水試驗場設(shè)計了基于云平臺的數(shù)據(jù)監(jiān)控系統(tǒng),實現(xiàn)了對淺水試驗場數(shù)據(jù)的共享、查詢、監(jiān)控功能。該系統(tǒng)具有良好的跨平臺性、實時性,且操作簡單、易擴展、維護方便,有著較好的應(yīng)用價值和經(jīng)濟價值。
1 總體設(shè)計
本文系統(tǒng)將云平臺技術(shù)運用于近海淺水試驗場數(shù)據(jù)監(jiān)控系統(tǒng)中。淺水試驗場的水下通用平臺不僅可為水下設(shè)備供電,還可以采集需要的水下信號,如溫度、鹽度、濕度等。水下采集的數(shù)據(jù)通過光纜傳輸?shù)浆F(xiàn)場監(jiān)控的上位機中,經(jīng)上位機處理存儲到本地數(shù)據(jù)庫并同步到云端數(shù)據(jù)庫中,然后在云服務(wù)器中搭建相應(yīng)的開發(fā)環(huán)境進行監(jiān)控系統(tǒng)的開發(fā)。最終可以通過不同的終端設(shè)備(電腦、手機、平板電腦)實現(xiàn)淺水試驗場數(shù)據(jù)的共享、查詢、監(jiān)控等。本文系統(tǒng)的總體框架圖如圖1所示。
2 水下通用平臺設(shè)計
本文系統(tǒng)的水下通用平臺主要包括電源電路單元設(shè)計模塊和電壓電流采集單元設(shè)計模塊。其用途包含以下兩方面:
(1)作為一個穩(wěn)定的電壓源,可滿足不同類型的傳感器以及其他水下設(shè)備的供電需求;
(2)信號采集。
2.1 電源電路設(shè)計部分
水下通用平臺由于需要適配多種不同類型的傳感器,因此需穩(wěn)定產(chǎn)生不同大小電壓為不同的傳感器供電。本文的電源電路設(shè)計本著高效、方便、一體化的設(shè)計原則,設(shè)計了多路電壓輸出接口供不同傳感器以及其他水下設(shè)備使用。本文系統(tǒng)電源設(shè)計由輸入為220 V的交流電壓和鋰電池組組成。將220 V交流電壓通過明緯RSP-320-48型開關(guān)電源產(chǎn)生48 V
直流電壓。220 V交流電壓通過橋式整流電路轉(zhuǎn)變成直流電壓,再經(jīng)兩塊V375A24E600BL型號的Vicor模塊后降壓產(chǎn)生24 V電壓。在前級電路產(chǎn)生24 V電壓的總線上并聯(lián)兩塊WD100-24S12Q1降壓產(chǎn)生12 V電壓。此外,該電源設(shè)計方案中還加入了鋰電池組,以便水下電源供電系統(tǒng)無220 V交流電壓輸入時,給外圍設(shè)備提供需要的電壓接口。并且當(dāng)鋰電池組電量不足時,可通過明緯PB-120P-27充電器充電。電源電路設(shè)計框圖如圖2所示。
2.2 電壓電流采集部分
水下傳感器的種類較多,不同的傳感器產(chǎn)生信號的種類也不盡相同。有些傳感器的信號為模擬電流信號,如溫度傳感器、壓力傳感器;而有些傳感器的信號為模擬電壓信號。由于電壓信號比較容易處理,所以模擬量電流采集電路設(shè)計的思想是將電流量的檢測間接轉(zhuǎn)化為對電壓量的檢測。由于壓力傳感器的帶負載能力比較弱,所以需要在輸入端加上一個跟隨放大電路進行負載匹配。另外傳感器的輸出電流為4~20 mA,經(jīng)過150 Ω的精密電阻后,將電流信號轉(zhuǎn)化為電壓信號,電壓信號范圍為0.6~3 V。然而ADC采樣電路的基準電壓為3 V,為了充分利用ADC的采樣精度,需要設(shè)計一個減法器將電壓范圍轉(zhuǎn)化為0~2.4 V,再通過放大器(放大增益為1.25),將電壓范圍轉(zhuǎn)化為0~3 V,盡最大可能利用ADC的采樣分辨率獲得更為精確的采樣值。該平臺的模擬電流采集電路選擇美國TI公司生產(chǎn)的OPA2335作為減法器和同向比例放大器的運放芯片。模擬電流采集電路如圖3所示。
上文描述了模擬電流量的采集電路,相對于模擬電流量的采集,模擬電壓量的采集則更方便、簡單,本文系統(tǒng)采用直接電阻分壓的方式,原理同上述電流量的采集類似,因此不再贅述。
3 軟件設(shè)計
本文系統(tǒng)軟件設(shè)計部分分為三個單元,即數(shù)據(jù)采集單元、Web服務(wù)器單元和云平臺監(jiān)控單元。
在數(shù)據(jù)采集單元實現(xiàn)水下通用平臺數(shù)據(jù)的采集以及數(shù)據(jù)在本地數(shù)據(jù)庫和云端數(shù)據(jù)庫的存儲功能。
在Web服務(wù)器單元實現(xiàn)用戶注冊登錄、數(shù)據(jù)處理、實時監(jiān)測、歷史數(shù)據(jù)訪問等功能。
在云平臺監(jiān)控單元實現(xiàn)用戶權(quán)限管理、數(shù)據(jù)管理、監(jiān)控服務(wù)等功能。
管理人員可以跨平臺,方便、高效地通過各種終端設(shè)備進行訪問,從而實現(xiàn)對淺水試驗場數(shù)據(jù)的監(jiān)控。軟件設(shè)計總體框架如圖4所示。
3.1 數(shù)據(jù)采集單元
數(shù)據(jù)采集單元的主要作用是將上位機與水下通用平臺進行連接,采集數(shù)據(jù),最終將數(shù)據(jù)存儲在本地數(shù)據(jù)庫和云端數(shù)據(jù)庫。水下通用平臺采集設(shè)備的壓力、溫度、鹽度等信號,然后通過UDP協(xié)議將采集到的數(shù)據(jù)發(fā)送到上位機進行初步的數(shù)據(jù)處理。上位機對數(shù)據(jù)處理后,將數(shù)據(jù)保存到本地數(shù)據(jù)庫和云端數(shù)據(jù)庫中,以圖像、圖表等形式將數(shù)據(jù)直觀地呈現(xiàn)在上位機界面。數(shù)據(jù)采集單元框架如圖5所示。
3.2 Web服務(wù)器單元
在云服務(wù)器中搭建開發(fā)環(huán)境,運用Web服務(wù)器(Tomcat)與Eclipse開發(fā)工具進行Web項目的開發(fā)以實現(xiàn)用戶注冊登錄、實時監(jiān)測、數(shù)據(jù)處理、歷史數(shù)據(jù)訪問功能。為保證數(shù)據(jù)可被實時監(jiān)控,主要采用Ajax輪詢,每隔100 ms便訪問云數(shù)據(jù)庫中的數(shù)據(jù)。為了使得數(shù)據(jù)圖表化,也運用了相應(yīng)的Echarts開發(fā)控件。為了快速、方便地進行動態(tài)Web項目的開發(fā),該單元還使用了JSP技術(shù)。JSP很好地將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計的顯示進行了分離,支持可重用的基于組件的設(shè)計,使Web項目的開發(fā)變得迅速、簡單[8]。JSP是一種動態(tài)頁面技術(shù),其主要目的是將表示邏輯從Servlet中分離出來。當(dāng)用戶請求一個*.jsp頁面時,該請求通過網(wǎng)絡(luò)被發(fā)送到相應(yīng)的Web服務(wù)器;Web服務(wù)器響應(yīng)該HTTP請求,從硬盤或內(nèi)存中獲取相應(yīng)的jsp文件并發(fā)送到腳本引擎(jsp.dl1)文件中;腳本引擎解釋處理其中的服務(wù)器端腳本代碼,通過jdbc驅(qū)動程序連接數(shù)據(jù)庫,由數(shù)據(jù)庫訪問組件完成數(shù)據(jù)庫的操作;最后生成符合HTML語言頁面,發(fā)送給用戶并顯示。Web服務(wù)器單元框架如圖6所示。
3.3 云平臺監(jiān)控單元
按照云平臺提供的服務(wù)種類,云平臺可以劃分為三層架構(gòu),即Infrastructure as a Service(IaaS),Platform as a Service
(PaaS)以及 Software as a Service (SaaS)[9]。為了在云平臺監(jiān)控單元實現(xiàn)對用戶權(quán)限、數(shù)據(jù)庫、Web程序的管理,必須在云平臺的IaaS層部署JDK,Eclipse,數(shù)據(jù)庫服務(wù)器、Tomcat服務(wù)器等開發(fā)環(huán)境,最后通過各終端訪問進行實時監(jiān)控。云平臺監(jiān)控單元框架如圖7所示。
4 實驗結(jié)果與分析
本文系統(tǒng)的實驗結(jié)果將從水下通用平臺的實現(xiàn)和軟件設(shè)計部分的實現(xiàn)進行說明。其中水下通用平臺的實現(xiàn)主要從水下電源部分進行說明,軟件設(shè)計部分的實現(xiàn)主要從上位機的實現(xiàn)和云平臺數(shù)據(jù)監(jiān)控系統(tǒng)的實現(xiàn)進行說明。
4.1 水下電源部分
水下通用平臺的電源測試首先將電源控制板安裝到金屬艙中,然后利用外部電池組通過水密纜連接到金屬艙,電池組提供24 V直流電壓和220 V交流電壓,最后通過串口
RS 232連接到水下電源監(jiān)測上位機進行調(diào)試。由于金屬艙上會輸出48 V,24 V,12 V,5 V等不同的多路電壓信號,因此在進行負載測試時,需將額定功率為1 000 W、電阻值為100 Ω的滑動電阻串聯(lián)在艙蓋5 V的輸出端口,同時串聯(lián)一個電流表測量實際電流,并聯(lián)一個電壓表測量實際電壓。打開對應(yīng)的繼電器開關(guān),水下電源監(jiān)測上位機會顯示電路此時的測量電壓和電流量,并將這一結(jié)果記錄在表格中,依此類推,對所有艙蓋輸出電壓的端口進行負載試驗。測試結(jié)果記錄見表1所列。
4.2 軟件部分
4.2.1 上位機的實現(xiàn)
上位機實現(xiàn)了在局域網(wǎng)內(nèi)部對水下平臺關(guān)鍵變量、水下視頻信息、近海深度、溫度、鹽度等信息的實時監(jiān)測功能。將采集到的數(shù)據(jù)經(jīng)過一定的處理存儲到本地數(shù)據(jù)庫中并保存到云端數(shù)據(jù)庫。上位機界面如圖8所示。
4.2.2 云平臺數(shù)據(jù)監(jiān)控系統(tǒng)的實現(xiàn)
近海淺水?dāng)?shù)據(jù)監(jiān)控系統(tǒng)基于云平臺實現(xiàn)。云平臺數(shù)據(jù)監(jiān)控系統(tǒng)主要由用戶登錄注冊、權(quán)限設(shè)置和監(jiān)控模塊組成。用戶登錄注冊模塊如圖9所示。權(quán)限設(shè)置在數(shù)據(jù)庫中進行,只有擁有權(quán)限的相關(guān)人員才能訪問云平臺并進行實時數(shù)據(jù)監(jiān)控。監(jiān)控模塊如圖10所示,可以實時查看實驗數(shù)據(jù)和數(shù)據(jù)的趨勢變化。
本文監(jiān)控系統(tǒng)實現(xiàn)了跨平臺的功能。平臺測試如圖11所示。本文設(shè)計的云平臺數(shù)據(jù)監(jiān)控系統(tǒng)可以在電腦、平板電腦和手機上同時查看,解決了傳統(tǒng)儀器中不能跨平臺,維護升級繁瑣,人力物力成本高以及只能在現(xiàn)場查看實驗數(shù)據(jù)的問題,在跨平臺性、實時性、共享性、可靠性方面都得到了有效提升。
該測試平臺在近海淺水試驗場的數(shù)據(jù)監(jiān)控領(lǐng)域具有以下重要意義:
(1)跨平臺性。一定程度上解決了操作人員將數(shù)據(jù)保存到U盤等設(shè)備,事后再發(fā)布和必須安裝驅(qū)動才能查看的問題。并且操作人員無需在服務(wù)器端和客戶端安裝特定軟件,只需瀏覽器就能訪問。
(2)實時性。實現(xiàn)了對近海淺水試驗場數(shù)據(jù)的監(jiān)控、發(fā)布和管理功能。讓管理人員都能看到過去只有操作人員才能查看的實時工業(yè)現(xiàn)場數(shù)據(jù)。
(3)共享性。把云平臺技術(shù)運用到近海淺水試驗場,方便工作人員利用各種終端設(shè)備對現(xiàn)場數(shù)據(jù)進行隨時訪問,并且為近海淺水試驗場現(xiàn)場數(shù)據(jù)的統(tǒng)一管理提供了極大便利。
(4)可靠性。在本地服務(wù)器關(guān)閉或者癱瘓的情況下,工作人員可以訪問云平臺,對工業(yè)現(xiàn)場的數(shù)據(jù)進行監(jiān)控。
5 結(jié) 語
本文以近海淺水試驗場為背景,設(shè)計了基于云平臺的數(shù)據(jù)監(jiān)控系統(tǒng)。經(jīng)過實驗調(diào)試,說明了本文系統(tǒng)具有很好的跨平臺性、實時性、共享性、可靠性和穩(wěn)定性等優(yōu)點,為近海淺水試驗場的實驗帶來了諸多幫助。
參 考 文 獻
[1]孟麗麗.基于B/S和C/S模式的海洋環(huán)境監(jiān)測信息系統(tǒng)開發(fā)與研究[J].艦船科學(xué)技術(shù),2016,38(8):82-84.
[2]張世民,盧君峰,林選躍,等.基于C/S與B/S混合模式的海洋預(yù)報信息產(chǎn)品制作發(fā)布系統(tǒng)[J].海洋預(yù)報,2013,30(3):66-72.
[3]姜偉.基于云平臺的工業(yè)現(xiàn)場數(shù)據(jù)發(fā)布系統(tǒng)[D].蘭州:蘭州理工大學(xué),2016.
[4]陶佰睿,李春輝,苗鳳娟,等.基于云端的農(nóng)業(yè)大數(shù)據(jù)采集與管理系統(tǒng)淺析[J].工業(yè)和信息化教育,2016(9):81-89.
[5]周威.對基于Web的云存儲技術(shù)的幾點探討[J].電腦迷,2016(4):161.
[6]劉宏銀.基于云平臺的工業(yè)儀表監(jiān)測系統(tǒng)的研究[D].合肥:合肥工業(yè)大學(xué),2016.
[7]陳懿.工業(yè)互聯(lián)網(wǎng)云平臺的大數(shù)據(jù)實踐[J].軟件和集成電路,2017(5):26-27.
[8]夏蕓蕓.基于樂聯(lián)網(wǎng)云平臺的物聯(lián)網(wǎng)的研究及實現(xiàn)[D].蘇州:蘇州大學(xué),2016.
[9]李中海.車聯(lián)網(wǎng)云端大數(shù)據(jù)完整性檢測與恢復(fù)技術(shù)研究[D].南京:南京郵電大學(xué),2016.
[10]董輝.基于Android智能終端的工業(yè)監(jiān)測系統(tǒng)設(shè)計[D].太原:中北大學(xué),2017.