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