李文倚 武 鵬 龐長才 張?zhí)煲?/p>
(中海油研究總院 北京 100028)
海上平臺水文氣象數(shù)據(jù)監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)
李文倚 武 鵬 龐長才 張?zhí)煲?/p>
(中海油研究總院 北京 100028)
基于.NET開發(fā)平臺和云存儲、并行計算、多線程和應(yīng)用程序托管等技術(shù)設(shè)計并實現(xiàn)了面向海上平臺水文氣象數(shù)據(jù)的監(jiān)測系統(tǒng)。系統(tǒng)集海量數(shù)據(jù)的采集、發(fā)送、處理、管理和可視化于一體,解決了海上平臺的風、海流、波浪、泥溫和鹽度等海量水文氣象數(shù)據(jù)難以采集、無法遠程快捷智能傳輸、難以進行有效處理和挖掘以及難以可視化的問題。為長期有效獲得并處理海量連續(xù)水文氣象觀測數(shù)據(jù),進而提供有效水文氣象信息指導(dǎo)給出了解決方案。
海上平臺 海量數(shù)據(jù) 高頻采集 數(shù)據(jù)處理 可視化
海上平臺水文氣象數(shù)據(jù)是海上油氣田開發(fā)各個階段的重要基礎(chǔ)數(shù)據(jù)之一,由于海上條件的限制,海上油氣田區(qū)域長期連續(xù)的水文氣象觀測數(shù)據(jù)十分缺乏,傳統(tǒng)的浮標和潛標方式投入大、觀測時間短,數(shù)據(jù)監(jiān)測作用受限[1]。由于水文氣象數(shù)據(jù)具有高頻采集特點,一個監(jiān)測點一年的數(shù)據(jù)量達近億條規(guī)模,形成海量數(shù)據(jù),同時鑒于平臺條件所限,相應(yīng)應(yīng)用程序的運行需要自動化無人值守,相應(yīng)數(shù)據(jù)的傳輸也受到平臺通信網(wǎng)絡(luò)帶寬和傳輸速度的限制[2]?;谝陨咸攸c,海上平臺的風、海流、波浪、泥溫和鹽度等海量水文氣象數(shù)據(jù)監(jiān)測面臨難以采集、無法遠程快捷智能傳輸、難以進行有效處理和挖掘、難以可視化,進而無法有效和科學利用的問題。
本文針對海上平臺水文氣象環(huán)境條件研究領(lǐng)域[3],基于.NET開發(fā)平臺,采用分布式架構(gòu),結(jié)合數(shù)據(jù)倉庫和云存儲技術(shù),設(shè)計與實現(xiàn)了海上平臺水文氣象監(jiān)測系統(tǒng)。除了有效的數(shù)據(jù)采集外,同時集成了完善的海量數(shù)據(jù)接收、數(shù)據(jù)解析、數(shù)據(jù)加解密、數(shù)據(jù)處理、數(shù)據(jù)入庫和數(shù)據(jù)可視化等過程,形成了一整套面向水文氣象數(shù)據(jù)的海上平臺水文氣象數(shù)據(jù)一體化自動數(shù)據(jù)監(jiān)測系統(tǒng)。系統(tǒng)革新了目前通過將監(jiān)測數(shù)據(jù)按一定時間進行傳統(tǒng)人工拷貝傳輸再進行線下處理的方式,實現(xiàn)了海上平臺端到目標數(shù)據(jù)中心端之間,海量數(shù)據(jù)的不間斷持續(xù)入庫、處理與數(shù)據(jù)管理和可視化,為海上平臺設(shè)計環(huán)境條件研究,油氣田開發(fā)生產(chǎn)提供了全面、翔實的水文氣象數(shù)據(jù)與信息支持。
系統(tǒng)總體結(jié)構(gòu)如圖1所示,主要包括:(1) 數(shù)據(jù)采集;(2) 數(shù)據(jù)發(fā)送服務(wù);(3) 數(shù)據(jù)處理;(4) 數(shù)據(jù)管理與可視化四個部分。其中數(shù)據(jù)采集部分負責對水文氣象監(jiān)測儀器采集的實時數(shù)據(jù)生成序列化文件及對監(jiān)測要素的實時顯示。數(shù)據(jù)發(fā)送服務(wù)負責在平臺端將監(jiān)測數(shù)據(jù)按一定的時間間隔定時發(fā)送到目標數(shù)據(jù)中心。數(shù)據(jù)處理部分負責在數(shù)據(jù)中心端接收傳輸?shù)娘L、海流、波浪、泥溫、鹽度等數(shù)據(jù)[4],并對數(shù)據(jù)進行處理后存儲到數(shù)據(jù)庫。數(shù)據(jù)管理與可視化部分實現(xiàn)對所有數(shù)據(jù)的管理,可以實現(xiàn)任意時間段數(shù)據(jù)的按需查詢,并可以經(jīng)過一定的數(shù)學計算和數(shù)據(jù)加工按需形成數(shù)據(jù)曲線、剖面圖及多種關(guān)鍵統(tǒng)計指標[5]。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
本文設(shè)計實現(xiàn)了面向水文氣象海量數(shù)據(jù)采集、發(fā)送、處理、管理和可視化于一體的綜合應(yīng)用平臺。整個系統(tǒng)采用分布式架構(gòu)處理多個平臺數(shù)據(jù)傳輸請求并進行數(shù)據(jù)處理。
本文首先設(shè)計實現(xiàn)了平臺端數(shù)據(jù)采集模塊,通過分析不同被監(jiān)測對象的多種不同屬性,數(shù)據(jù)采集模塊綜合了各監(jiān)測設(shè)備的被監(jiān)測數(shù)據(jù)對象的多種不同屬性。氣象參數(shù)主要包括氣壓、氣溫、濕度、風速及風向。海流主要包括波長、周期。海浪包括波高、周期、方向譜。把這些數(shù)據(jù)分別統(tǒng)一生成標準序列化文件作為系統(tǒng)接收采集設(shè)備的標準數(shù)據(jù)文件。標準化數(shù)據(jù)文件滿足一定數(shù)據(jù)格式,通過各監(jiān)測設(shè)備的數(shù)據(jù)接口按一定的時間間隔(時間間隔采用可配置方式,可按需配置,時間間隔可根據(jù)網(wǎng)絡(luò)條件、實時性要求進行調(diào)整)生成,作為數(shù)據(jù)發(fā)送服務(wù)的發(fā)送對象。同時,平臺端提供儀表盤功能,實現(xiàn)監(jiān)測數(shù)據(jù)的實時解析并將數(shù)據(jù)組織成特定意義的要素(比如風速和風向)進行顯示,為平臺生產(chǎn)端提供氣象實時數(shù)據(jù)支持。
其次,在通過數(shù)據(jù)采集獲得標準化數(shù)據(jù)文件的基礎(chǔ)上,本文采用WINDOWS服務(wù)的方式設(shè)計并實現(xiàn)了數(shù)據(jù)發(fā)送服務(wù)。數(shù)據(jù)發(fā)送服務(wù)重點實現(xiàn)了自動化無人值守功能,用于自動發(fā)送標準化數(shù)據(jù)文件。此數(shù)據(jù)發(fā)送服務(wù)是數(shù)據(jù)自動傳輸?shù)暮诵?,解決了平臺通信網(wǎng)絡(luò)帶寬和傳輸速度的限制問題。該模塊采用了C/S模式實現(xiàn)了程序托管。除此之外,為了確保數(shù)據(jù)發(fā)送服務(wù)持續(xù)正常的運行,設(shè)計并實現(xiàn)了系統(tǒng)級程序監(jiān)控服務(wù)對數(shù)據(jù)發(fā)送服務(wù)進行全程監(jiān)控,在無人值守的情況下,自動應(yīng)答并處理各種異常(如軟件意外關(guān)閉、網(wǎng)絡(luò)中斷、系統(tǒng)宕機等),自動激活數(shù)據(jù)發(fā)送服務(wù)。數(shù)據(jù)發(fā)送服務(wù)通過定時輪詢機制,定時抓取待發(fā)送的數(shù)據(jù)文件,并對待發(fā)送的數(shù)據(jù)文件進行壓縮與加密,壓縮率達到八分之一,同時支持斷點續(xù)傳功能。傳輸層協(xié)議使用TCP,應(yīng)用層基于FTP協(xié)議將壓縮加密后的數(shù)據(jù)包發(fā)送到目標數(shù)據(jù)中心,能夠很好地適應(yīng)帶寬網(wǎng)絡(luò)較小的條件進行持續(xù)不間斷地數(shù)據(jù)發(fā)送,數(shù)據(jù)發(fā)送相關(guān)服務(wù)的邏輯結(jié)構(gòu)如圖2所示。
在數(shù)據(jù)發(fā)送服務(wù)的基礎(chǔ)上,本文設(shè)計了數(shù)據(jù)處理模塊,數(shù)據(jù)處理模塊包括數(shù)據(jù)接收服務(wù),主要依據(jù)每個平臺的數(shù)據(jù)發(fā)送請求,形成隊列處理作業(yè),處理作業(yè)自動完成數(shù)據(jù)文件的接收,并把數(shù)據(jù)文件存儲在指定的數(shù)據(jù)共享目錄。數(shù)據(jù)接收服務(wù)是數(shù)據(jù)處理模塊設(shè)計和實現(xiàn)的基礎(chǔ),數(shù)據(jù)接收服務(wù)除了將數(shù)據(jù)文件存儲在共享目錄,還將數(shù)據(jù)推送到核心數(shù)據(jù)處理流程,通過對數(shù)據(jù)接口的管理、數(shù)據(jù)預(yù)處理和數(shù)據(jù)解析入庫等流程將數(shù)據(jù)存儲到數(shù)據(jù)庫中,如圖3所示。
圖3 數(shù)據(jù)處理流程示意圖
本文特別針對海量數(shù)據(jù)的特點,對于存儲需要面對高頻采集的海量數(shù)據(jù),存儲架構(gòu)上充分考慮了數(shù)據(jù)的持續(xù)增長、數(shù)據(jù)讀取和數(shù)據(jù)處理的效率問題。數(shù)據(jù)存儲模塊采用分布式架構(gòu)進行設(shè)計和實現(xiàn),設(shè)置了一個主服務(wù)器、多個數(shù)據(jù)存儲服務(wù)器。主服務(wù)器部署數(shù)據(jù)接口管理模塊及數(shù)據(jù)接收作業(yè)調(diào)度程序。數(shù)據(jù)接口管理模塊首先把接收的原始文件保存到文件服務(wù)器,同時數(shù)據(jù)接口管理模塊針對接收的數(shù)據(jù)包文件進行格式檢查,對符合格式規(guī)范的文件包進行分類,把風、海流、波浪、泥溫等數(shù)據(jù)包文件放置到各類數(shù)據(jù)處理作業(yè)中。數(shù)據(jù)接收作業(yè)調(diào)度程序,負責把數(shù)據(jù)存儲到不同的數(shù)據(jù)存儲服務(wù)器,同時通過對數(shù)據(jù)預(yù)處理服務(wù)器的計算資源的檢測,自動判斷啟動數(shù)據(jù)預(yù)處理模塊。數(shù)據(jù)預(yù)處理模塊采用多線程處理和并行計算模式完成多個平臺的風、海流、波浪、泥溫和鹽度等多類數(shù)據(jù)質(zhì)量檢查、數(shù)據(jù)滑動平均等處理流程,示意圖見圖4。在完成預(yù)處理后把數(shù)據(jù)存儲到數(shù)據(jù)存儲服務(wù)器的數(shù)據(jù)庫中,比如針對風數(shù)據(jù)進行的滑動平均計算,將原始1秒采樣數(shù)據(jù)通過計算轉(zhuǎn)換為1分鐘、3分鐘及1小時平均數(shù)據(jù),轉(zhuǎn)換后數(shù)據(jù)同步存入到數(shù)據(jù)庫中。數(shù)據(jù)質(zhì)量檢查包括對采集數(shù)據(jù)的合理性和時間連續(xù)性進行檢查,對不符合檢查標準的數(shù)據(jù)自動標注為異常數(shù)據(jù),為以后數(shù)據(jù)深度應(yīng)用與挖掘提供支持。
圖4 多平臺多種數(shù)據(jù)并行處理示意圖
數(shù)據(jù)管理與可視化模塊采用B/S架構(gòu),綜合了圖形圖像技術(shù)、數(shù)據(jù)庫技術(shù)、AJAX技術(shù),基于ASP.NET、Javascript和C#進行開發(fā)。該模塊在數(shù)據(jù)存儲中基于數(shù)據(jù)倉庫技術(shù)[6]和云存儲[7],應(yīng)用了“塊+時間”雙索引,在數(shù)據(jù)庫中建立DATApacket表(如圖5所示)用于存儲接收的文件數(shù)據(jù)包信息,主要包括PackDataID、數(shù)據(jù)起始時間(DataStartTime)及數(shù)據(jù)結(jié)束時間(DataEndTime)等。同時建立各數(shù)據(jù)表,以風數(shù)據(jù)表為例(如圖6所示),主要包括所在包ID(PacketDataID)、接收數(shù)據(jù)時間(WindTime)及數(shù)據(jù)屬性。在查詢時,通過“塊+時間”雙索引檢索解決了時間單索引情況下的查詢超時問題,使數(shù)億條海浪數(shù)據(jù)的查詢速度達到常規(guī)數(shù)據(jù)的查詢速度。
圖5 DATApacket表
圖6 風數(shù)據(jù)表
在處理風、波浪、海浪的月度和年度等統(tǒng)計數(shù)據(jù)中采用了空間換時間的策略,在對海量數(shù)據(jù)進行統(tǒng)計時,并不對數(shù)據(jù)進行實時處理,而是在后臺定期完成常用數(shù)據(jù)的統(tǒng)計并將統(tǒng)計結(jié)果進行存儲。在前臺展示需要讀取相應(yīng)數(shù)據(jù)并進行處理的時候,先自動搜索中間存儲,如果中間存儲有滿足要求的數(shù)據(jù),直接調(diào)用中間存儲結(jié)果進行二次處理,前臺可以快速展示相應(yīng)處理結(jié)果(如圖7所示),總體處理效率提升近百倍。完成數(shù)據(jù)處理后,繪制各類數(shù)據(jù)的曲線圖、玫瑰圖(如圖8所示)等。
圖7 某平臺風數(shù)據(jù)月度平均數(shù)據(jù)
圖8 某平臺風速分布風向玫瑰圖
內(nèi)部終端用戶和外部終端用戶通過門戶系統(tǒng),按照相應(yīng)授權(quán),通過系統(tǒng)認證可以在線訪問相應(yīng)數(shù)據(jù),對數(shù)據(jù)和相應(yīng)信息進行瀏覽、下載等操作。例如:可以依據(jù)不同的時間段下載歷史水文數(shù)據(jù);可以通過數(shù)據(jù)儀表盤觀察一定時間點和時間段的風、海流、波浪、泥溫和鹽度等平臺水文氣象情況。
截止目前已通過本系統(tǒng)分別采集了9個平臺的水文氣象監(jiān)測數(shù)據(jù),實時不間斷數(shù)據(jù)傳輸,入庫數(shù)據(jù)量百億條。如南海東部某平臺,距離數(shù)據(jù)中心2 000多公里,實測平均傳輸速度僅為16.07 KB/s,原監(jiān)測為自容方式,過一段時間須更換存儲,把存儲數(shù)據(jù)的介質(zhì)拿回到數(shù)據(jù)中心處理后才能進行具體應(yīng)用。數(shù)據(jù)采集周期長且質(zhì)量無法保障。該平臺部署海上平臺水文氣象數(shù)據(jù)監(jiān)測系統(tǒng)后,局域網(wǎng)授權(quán)用戶每時每刻都能瀏覽、下載該監(jiān)測到的最新數(shù)據(jù),并可快速瀏覽每年、月的統(tǒng)計圖表,能夠為海上平臺設(shè)計環(huán)境條件研究,油氣田開發(fā)生產(chǎn)提供綜合的水文氣象數(shù)據(jù)信息支持。
本文設(shè)計并實現(xiàn)了面向海上平臺水文氣象數(shù)據(jù)的監(jiān)測系統(tǒng),該系統(tǒng)給出了遠程海量數(shù)據(jù)批量采集,窄帶寬不間斷傳輸,海量數(shù)據(jù)存儲、管理和可視化的技術(shù)解決方案,在實際工作中取得了很好的應(yīng)用效果。 在下一步工作中,可以引入GIS技術(shù),實現(xiàn)氣象觀測點的查詢導(dǎo)航及氣象格點數(shù)據(jù)的動態(tài)顯示功能[8],進一步提高水文氣象數(shù)據(jù)監(jiān)測系統(tǒng)的應(yīng)用支持能力和適應(yīng)性。
[1] 劉在科,李家鋼,雷方輝.海上油氣平臺水文氣象監(jiān)測系統(tǒng)標準化研究[C]//2015年深海能源大會論文集,2015.
[2] 王亞丁,唐軍武,徐俊臣,等.海洋觀測水文氣象通用數(shù)據(jù)采集器架構(gòu)設(shè)計[J].海洋技術(shù)學報,2013,32(2):11-15.
[3] 張喜驗.海洋臺站自動化觀測系統(tǒng)模塊化的實現(xiàn)[J].海洋技術(shù)學報,2000,19(3):21-25.
[4] 李民,袁新,劉勇,等.國內(nèi)大型海洋水文氣象資料浮標的現(xiàn)狀及發(fā)展方向[J].氣象水文海洋儀器,2002(2):1-4.
[5] 馬瑞,周謝,彭舟,等.考慮氣溫因素的負荷特性統(tǒng)計指標關(guān)聯(lián)特征數(shù)據(jù)挖掘[J].中國電機工程學報,2015,35(1):43-51.
[6] 沈飛飛,郭忠文,胡克勇.一種海洋環(huán)境數(shù)據(jù)存儲模型設(shè)計與應(yīng)用[J].中國海洋大學學報(自然科學版),2015,45(6):122-127.
[7] 趙芳云,張明富.基于云存儲的海量海洋監(jiān)測數(shù)據(jù)平臺設(shè)計[J].艦船科學技術(shù),2016,38(13):143-148.
[8] 劉健,姜曉軼,范湘濤.海洋環(huán)境信息可視化研究進展[J].海洋通報,2014(2):235-240.
DESIGNANDIMPLEMENTATIONOFOFFSHOREPLATFORMHYDROMETEOROLOGICALDATAMONITORINGSYSTEM
Li Wenyi Wu Peng Pang Zhangcai Zhang Tianyi
(ResearchInstitute,ChinaNationalOffshoreOilCorporation,Beijing100028,China)
Based on the .Net development platform and cloud storage, parallel computing, multithreading and application hosting technology, a monitoring system for the hydrometeorological data of offshore platforms is designed and implemented. The system had integrated the collection of massive data, data send, data processing, data management, and data visualization. The system solved issues that massive hydrometeorological data of offshore platform environment, such as the wind, the ocean currents, the waves, the mud temperature and the salinity were difficult to collect, including the issues that the massive hydrometeorological data was unable to transmit remotely, intelligently and quickly, and the issues that hydrometeorological data were difficult to effectively deal with, to visualize and to mining. The results show that the system can effectively obtain and process massive continuous hydrological and meteorological observation data. Therefore, our system provides an effective solution of hydrometeorological information guidance.
Offshore platform Massive data High frequency collection Data processing Visualization
2017-02-22。李文倚,高工,主研領(lǐng)域:企業(yè)信息集成,數(shù)據(jù)庫應(yīng)用系統(tǒng)。武鵬,高工。龐長才,工程師。張?zhí)煲?,工程師?/p>
TP311
A
10.3969/j.issn.1000-386x.2017.12.062