李曉如,韓勇華,彭 燁
(深圳市深水龍崗水務(wù)集團(tuán)有限公司,廣東 深圳 518030)
大數(shù)據(jù)時(shí)代,數(shù)據(jù)資產(chǎn)將成為企業(yè)的核心資產(chǎn)[1]。數(shù)據(jù)資產(chǎn)能否集中管控,數(shù)據(jù)種類是否齊全、質(zhì)量是否良好、共享渠道是否通暢是目前許多企業(yè)面臨的共性挑戰(zhàn),也是急需解決的難題。目前在多源異構(gòu)數(shù)據(jù)集成、治理及應(yīng)用共享等方面已有相關(guān)研究[2-4],具體可涉及技術(shù)理論以及應(yīng)用系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)等各方面,相關(guān)技術(shù)已成熟應(yīng)用于地質(zhì)[5]、農(nóng)業(yè)[6]、醫(yī)學(xué)[7]、電力等行業(yè)領(lǐng)域,很好地解決了不同行業(yè)領(lǐng)域數(shù)據(jù)類別多、質(zhì)量差、共享難等問(wèn)題,為后續(xù)數(shù)據(jù)分析挖掘、釋放數(shù)據(jù)價(jià)值提供了保障。針對(duì)水務(wù)行業(yè),如何將多源異構(gòu)數(shù)據(jù)匯聚、監(jiān)控、共享等技術(shù)與實(shí)際業(yè)務(wù)融合,指導(dǎo)水務(wù)企業(yè)開(kāi)展多源異構(gòu)數(shù)據(jù)的接入與共享,其應(yīng)用研究相對(duì)欠缺。
發(fā)展智慧水務(wù),挖掘數(shù)據(jù)沉淀價(jià)值,是傳統(tǒng)水務(wù)企業(yè)發(fā)展轉(zhuǎn)型的新機(jī)遇[8]。本文從現(xiàn)有水務(wù)企業(yè)數(shù)據(jù)監(jiān)控管理存在的問(wèn)題出發(fā),提出了一種多源異構(gòu)數(shù)據(jù)匯聚方法,實(shí)現(xiàn)了從原水、水廠、管網(wǎng)、二供、客戶全流程在線監(jiān)測(cè)點(diǎn)及離線報(bào)表等多源異構(gòu)數(shù)據(jù)的集中接入與管控,并結(jié)合目前水務(wù)行業(yè)數(shù)據(jù)應(yīng)用需求,開(kāi)發(fā)了一套標(biāo)準(zhǔn)化數(shù)據(jù)接口,可根據(jù)第三方需求,靈活配置接口,實(shí)現(xiàn)跨企業(yè)、跨行業(yè)數(shù)據(jù)共享,助力智慧水務(wù)的快速發(fā)展。
平臺(tái)設(shè)計(jì)主要分?jǐn)?shù)據(jù)匯聚、數(shù)據(jù)展示、數(shù)據(jù)共享3部分,技術(shù)路線如圖1所示。
圖1 技術(shù)路線示意
平臺(tái)可實(shí)現(xiàn)企業(yè)全量數(shù)據(jù)的集中接入、存儲(chǔ)與管控。通過(guò)梳理企業(yè)生產(chǎn)過(guò)程中所屬的人、財(cái)、物等信息資源,針對(duì)不同數(shù)據(jù)業(yè)務(wù)及傳輸屬性,可采用不同數(shù)據(jù)接入方式,在線監(jiān)測(cè)數(shù)據(jù)借助傳感器技術(shù)和通訊技術(shù)可將數(shù)據(jù)按照約定的協(xié)議上傳至監(jiān)控管理平臺(tái),離線數(shù)據(jù)借助報(bào)表填報(bào)模塊可實(shí)現(xiàn)數(shù)據(jù)的錄入與存儲(chǔ)。數(shù)據(jù)匯聚完成后,監(jiān)控管理平臺(tái)可對(duì)接入數(shù)據(jù)進(jìn)行實(shí)時(shí)數(shù)據(jù)展示與歷史數(shù)據(jù)查詢,對(duì)于異常數(shù)據(jù)配有報(bào)警服務(wù),并可對(duì)數(shù)據(jù)進(jìn)行深入分析挖掘等。為滿足智慧水務(wù)發(fā)展需求,平臺(tái)配有一套標(biāo)準(zhǔn)化對(duì)外數(shù)據(jù)接口,可滿足企業(yè)內(nèi)外部數(shù)據(jù)對(duì)接的需求,為水務(wù)企業(yè)的智慧化生產(chǎn)、智慧化管理提供數(shù)據(jù)支撐。
數(shù)據(jù)匯聚主要是將企業(yè)在線和離線數(shù)據(jù)進(jìn)行集中采集、解析與分類存儲(chǔ)。目前,在感知層建設(shè)方面,存在較多問(wèn)題,由于不同廠家有不同技術(shù)標(biāo)準(zhǔn)和通訊協(xié)議,一個(gè)廠家一個(gè)平臺(tái),導(dǎo)致設(shè)備無(wú)法混聯(lián)互裝、數(shù)據(jù)共享困難、維護(hù)復(fù)雜[9]。針對(duì)存在問(wèn)題,綜合考慮企業(yè)長(zhǎng)遠(yuǎn)發(fā)展需求,從突破平臺(tái)網(wǎng)關(guān)技術(shù)角度出發(fā),解決了目前設(shè)備通訊協(xié)議標(biāo)準(zhǔn)不統(tǒng)一導(dǎo)致的平臺(tái)眾多、管理維護(hù)困難等問(wèn)題。另外,針對(duì)離線數(shù)據(jù)可通過(guò)報(bào)表填報(bào)模塊實(shí)現(xiàn)不同數(shù)據(jù)的收集與整理。數(shù)據(jù)匯聚采用自動(dòng)上傳與人工填報(bào)2種方式。
借助現(xiàn)有成熟的物聯(lián)感知技術(shù),可以實(shí)現(xiàn)設(shè)備層數(shù)據(jù)自動(dòng)上傳至監(jiān)控層。其中物聯(lián)匯聚網(wǎng)關(guān)扮演極其重要的角色,一方面能夠兼容不同協(xié)議在線監(jiān)測(cè)點(diǎn)設(shè)備數(shù)據(jù)的接入;另一方面,針對(duì)已建設(shè)的在線監(jiān)測(cè)點(diǎn),如果已有數(shù)據(jù)監(jiān)控平臺(tái),可以通過(guò)數(shù)據(jù)接口、消息隊(duì)列等方式將數(shù)據(jù)接入平臺(tái)。
2.1.1協(xié)議對(duì)接
在線監(jiān)測(cè)設(shè)備根據(jù)應(yīng)用場(chǎng)景不同通訊協(xié)議也不盡相同,常用通訊協(xié)議有OPC、MQTT、Modbus及廠家自定義通訊協(xié)議等[10]。目前,平臺(tái)網(wǎng)關(guān)已集成了多種通訊協(xié)議,覆蓋了市面上主流廠商設(shè)備,根據(jù)設(shè)備上傳報(bào)文,可自動(dòng)識(shí)別設(shè)備采用的通訊協(xié)議,然后按照目標(biāo)協(xié)議對(duì)傳輸報(bào)文進(jìn)行解析,并將解析數(shù)據(jù)上傳給物聯(lián)處理引擎模塊進(jìn)行數(shù)據(jù)清洗與分類存儲(chǔ)等。根據(jù)應(yīng)用需求,物聯(lián)網(wǎng)關(guān)也可進(jìn)行指令下發(fā),對(duì)現(xiàn)場(chǎng)設(shè)備進(jìn)行配置參數(shù)的設(shè)置,例如數(shù)據(jù)采集時(shí)間、上傳周期等。協(xié)議對(duì)接數(shù)據(jù)流如圖2所示。
圖2 協(xié)議對(duì)接數(shù)據(jù)流示意
2.1.2接口對(duì)接
針對(duì)已建設(shè)的在線監(jiān)測(cè)點(diǎn),如有第三方監(jiān)控平臺(tái),可采用消息隊(duì)列[11]、API接口[12]等方式實(shí)現(xiàn)數(shù)據(jù)的接入。一般消息隊(duì)列用于實(shí)時(shí)在線數(shù)據(jù)的接入,API接口用于業(yè)務(wù)類數(shù)據(jù)的接入。網(wǎng)關(guān)完成接口數(shù)據(jù)解析后將數(shù)據(jù)上傳給物聯(lián)處理引擎模塊進(jìn)行數(shù)據(jù)清洗和存儲(chǔ)。
針對(duì)視頻監(jiān)測(cè)點(diǎn),攝像頭廠家一般都會(huì)配置網(wǎng)絡(luò)硬盤(pán)錄像機(jī),常見(jiàn)的有??低?、浙江大華品牌。以海康攝像機(jī)為例,視頻數(shù)據(jù)對(duì)接可以通過(guò)設(shè)備廠家提供的流媒體接口(流媒體接口是由設(shè)備用戶名、密碼、設(shè)備IP地址、端口、通道號(hào)、碼流類型等參數(shù)拼接成的RTSP視頻流地址,不同廠商設(shè)備RTSP視頻流地址格式不同)實(shí)現(xiàn),平臺(tái)通過(guò)調(diào)用RTSP視頻流地址獲取??狄曨l,然后通過(guò)多媒體視頻處理工具ffmpeg將視頻流解析成web展現(xiàn)形式。接口對(duì)接流如圖3所示。
圖3 接口對(duì)接數(shù)據(jù)流示意
除了在線數(shù)據(jù),目前,企業(yè)也有很多離線業(yè)務(wù)數(shù)據(jù)收集的需求,為了實(shí)現(xiàn)離線數(shù)據(jù)的統(tǒng)一管理,在目前監(jiān)控管理平臺(tái)中增加報(bào)表填報(bào)管理模塊,可按需制定不同報(bào)表模板,填報(bào)人員只需按要求錄入數(shù)據(jù)保存即可。
數(shù)據(jù)展示可實(shí)現(xiàn)接入數(shù)據(jù)的可視化,具備實(shí)時(shí)監(jiān)控、視頻管理、報(bào)警提醒、數(shù)據(jù)查詢、統(tǒng)計(jì)分析、運(yùn)行管理、報(bào)表統(tǒng)計(jì)、系統(tǒng)設(shè)置等功能模塊。
實(shí)時(shí)監(jiān)控可按原水、生產(chǎn)、管網(wǎng)、二供、用戶全流程展示不同業(yè)務(wù)段在線監(jiān)測(cè)點(diǎn)實(shí)時(shí)數(shù)據(jù)信息,同時(shí)可按監(jiān)測(cè)功能分類展示不同在線監(jiān)測(cè)點(diǎn)數(shù)據(jù),例如壓力點(diǎn)、流量點(diǎn)、水質(zhì)點(diǎn)等。
視頻管理可實(shí)現(xiàn)終端攝像機(jī)視頻接入與展示。平臺(tái)通過(guò)調(diào)用流媒體接口并借助多媒體視頻處理工具ffmpeg可將終端攝像機(jī)視頻直接在監(jiān)控平臺(tái)展示。視頻管理模塊支持視頻新增、刪除、視頻放大與縮小、視頻打開(kāi)與關(guān)閉等操作配置。
平臺(tái)支持事件觸發(fā)機(jī)制,提供事件觸發(fā)引擎、自定義事件觸發(fā)引擎等功能,通過(guò)設(shè)定不同監(jiān)測(cè)參數(shù)上下限值等操作,可實(shí)現(xiàn)數(shù)據(jù)異常實(shí)時(shí)提醒,并可通過(guò)手機(jī)短信、移動(dòng)APP將異常信息第一時(shí)間推送給相關(guān)負(fù)責(zé)人。
提供全面的歷史數(shù)據(jù)管理與查詢功能??砂床煌瑯I(yè)務(wù)流程、監(jiān)測(cè)類型、監(jiān)測(cè)點(diǎn)、數(shù)據(jù)采集時(shí)間等內(nèi)容查詢數(shù)據(jù)。
統(tǒng)計(jì)分析可以對(duì)關(guān)鍵指標(biāo)進(jìn)行日、周、月、年的統(tǒng)計(jì),或者選定某一時(shí)間段,統(tǒng)計(jì)某些關(guān)鍵指標(biāo)的變化趨勢(shì)及百分比。
運(yùn)行管理主要是對(duì)接入數(shù)據(jù)進(jìn)行修復(fù)、清洗,確保接入數(shù)據(jù)質(zhì)量,同時(shí)可對(duì)漏傳數(shù)據(jù)進(jìn)行補(bǔ)錄以及在線設(shè)備遠(yuǎn)程設(shè)置等。
實(shí)現(xiàn)離線數(shù)據(jù)的收集,根據(jù)現(xiàn)有業(yè)務(wù)需求,制定不同日、周、月、年報(bào)表模板,也可根據(jù)臨時(shí)業(yè)務(wù)數(shù)據(jù)收集需求,靈活編制不同報(bào)表樣式。
系統(tǒng)管理可以對(duì)接入平臺(tái)設(shè)備協(xié)議、驅(qū)動(dòng)、網(wǎng)關(guān)進(jìn)行配置管理,同時(shí)可設(shè)置規(guī)則引擎、權(quán)限策略及系統(tǒng)審計(jì)等。
平臺(tái)接口分為授權(quán)服務(wù)接口和數(shù)據(jù)服務(wù)接口2大塊,接口服務(wù)統(tǒng)一采用POST+JSON請(qǐng)求方式請(qǐng)求,返回值為JSON。為保證數(shù)據(jù)傳輸安全和傳輸性能,接口服務(wù)以HTTPS加密服務(wù)方式提供并采用HTTP壓縮特性進(jìn)行在線壓縮。
4.1.1應(yīng)有授權(quán)(第三方應(yīng)用→平臺(tái))
功能:第三方應(yīng)用通過(guò)被分配的應(yīng)用ID和密鑰獲取應(yīng)用授權(quán)碼。
輸入:
{
grant_type: string - 授權(quán)類型;- 必須為”client_
credentials”
client_id: string - 應(yīng)用ID - 必填
client_secret: string - 應(yīng)用密鑰(加密) - 必填
}
輸出:
{
token_type: string - 憑據(jù)類型
access_token: string - 應(yīng)用憑據(jù)
refresh_token: string - 刷新憑據(jù)
expires_in: int - 失效周期(s)
}
4.1.2憑據(jù)刷新(第三方應(yīng)用->平臺(tái))
功能:第三方應(yīng)用通過(guò)刷新接口,保持授權(quán)碼可用性。
輸入:
{
grant_type: string - 授權(quán)類型;- 必填,”refresh_
token”
client_id: string - 應(yīng)用ID - 必填
client_secret: string - 應(yīng)用密鑰 - 必填
refresh_token: string - 刷新憑據(jù) - 必填
}
輸出:
{
token_type: string - 憑據(jù)類型
access_token: string - 應(yīng)用憑據(jù)
refresh_token: string - 刷新憑據(jù)
expires_in: int - 失效周期(s)
}
為了保密,第三方應(yīng)用需要一個(gè)access_token獲取和刷新接口服務(wù)。access_token的有效期通過(guò)返回的expire_in來(lái)傳達(dá)。接口服務(wù)器需要根據(jù)這個(gè)有效時(shí)間提前去刷新access_token。在刷新過(guò)程中,接口服務(wù)器對(duì)外輸出的依然是舊access_token,平臺(tái)后臺(tái)會(huì)保證在刷新短時(shí)間內(nèi),新舊access_token都可用,這保證了第三方應(yīng)用業(yè)務(wù)的平滑過(guò)渡。
4.2.1實(shí)時(shí)數(shù)據(jù)
功能:通過(guò)測(cè)點(diǎn)、傳感器編號(hào)獲取實(shí)時(shí)數(shù)據(jù)。
輸入:
{
access_token: string - 應(yīng)用授權(quán)碼 - 必填
codes: array[string] - 傳感器編碼 - 必填
}
輸出:
[{
station string - 監(jiān)測(cè)點(diǎn)編碼
code:string - 傳感器編碼
Time:int - 時(shí)間戳[s]
Value: any - 實(shí)時(shí)數(shù)值
}]
同一臺(tái)傳感器編碼是唯一的,用于標(biāo)識(shí)傳感器的身份。當(dāng)提供數(shù)據(jù)服務(wù)接口給第三方應(yīng)用系統(tǒng)時(shí),需配套提供傳感器編碼,為了確保數(shù)據(jù)共享的靈活性及安全性,只需提供具備訪問(wèn)權(quán)限的傳感器編碼給對(duì)方即可。
4.2.2歷史數(shù)據(jù)
功能:通過(guò)測(cè)點(diǎn)、傳感器編碼獲取分鐘級(jí)歷史數(shù)據(jù)。
輸入:
{
access_token: string - 應(yīng)用授權(quán)碼 - 必填
codes: array[string] - 傳感器編碼 - 必填
begin: int64 - 起始時(shí)間戳(s)- 必填
end: int64 - 結(jié)束時(shí)間戳(s) - 必填
}
輸出:
[{
code: string - 傳感器編碼
time: int- 時(shí)間
value: any - 數(shù)值
}]
以上是對(duì)監(jiān)測(cè)點(diǎn)實(shí)時(shí)和歷史數(shù)據(jù)對(duì)接的說(shuō)明,除在線監(jiān)測(cè)數(shù)據(jù),平臺(tái)還可對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行對(duì)接,對(duì)接模式可參考在線數(shù)據(jù)對(duì)接說(shuō)明。
目前該平臺(tái)已在某水務(wù)集團(tuán)試運(yùn)行6個(gè)月,就運(yùn)行情況來(lái)看,實(shí)現(xiàn)了現(xiàn)有集團(tuán)全量數(shù)據(jù)的集中采集、存儲(chǔ)、分析、應(yīng)用及共享,總體效果良好。平臺(tái)總覽如圖4所示。
圖4 系統(tǒng)總覽示意
平臺(tái)應(yīng)用統(tǒng)一了目前物聯(lián)網(wǎng)感知層設(shè)備接入方式,規(guī)范了企業(yè)對(duì)內(nèi)、外數(shù)據(jù)接口標(biāo)準(zhǔn),將員工從繁重的數(shù)據(jù)填報(bào)工作中解放出來(lái),提高了工作效率。系統(tǒng)總覽通過(guò)“一張圖”方式直觀展示了平臺(tái)接入設(shè)備總數(shù)、設(shè)備在線率及分類展示廠站、管網(wǎng)、二供設(shè)備總數(shù)量與運(yùn)行情況,并對(duì)第三方應(yīng)用系統(tǒng)取數(shù)速度和總量進(jìn)行了統(tǒng)計(jì),便于管理人員快速掌控企業(yè)設(shè)備運(yùn)行、數(shù)據(jù)收集與變化情況,為下一步工作決策提供數(shù)據(jù)支撐。
本文從現(xiàn)有企業(yè)數(shù)據(jù)匯聚存在的痛點(diǎn)和難點(diǎn)出發(fā),以水務(wù)企業(yè)數(shù)據(jù)監(jiān)控管理應(yīng)用為例,提出了一種多源異構(gòu)數(shù)據(jù)匯聚解決方法,開(kāi)發(fā)了一套物聯(lián)網(wǎng)關(guān)服務(wù)及報(bào)表填報(bào)模塊,實(shí)現(xiàn)了企業(yè)全量數(shù)據(jù)的集中采集、解析與存儲(chǔ)。通過(guò)統(tǒng)一企業(yè)全量數(shù)據(jù)采集通道,規(guī)范了企業(yè)數(shù)據(jù)流,暢通了數(shù)據(jù)共享機(jī)制,避免了一數(shù)多源現(xiàn)象,同時(shí)為設(shè)備的集中運(yùn)維管理提供了基礎(chǔ)。數(shù)據(jù)匯聚與應(yīng)用需要不斷更新優(yōu)化,以實(shí)際效果為導(dǎo)向,真正去做足、做實(shí)、做好的一項(xiàng)工作。