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