李國民, 章鰲,2, 賀耀宜, 高文, 黃綜瀏,2
(1. 西安科技大學 通信與工程學院,陜西 西安 710054;2. 中煤科工集團常州研究院有限公司,江蘇 常州 213015;3. 天地(常州)自動化股份有限公司,江蘇 常州 213015)
隨著新一代信息技術的發展和智能礦山建設的推進,我國煤礦的智能化水平不斷提高。目前煤礦監測監控技術被廣泛應用,大多煤礦已建成瓦斯監測及運輸、通風、供配電等方面的監控系統。但不同監控系統之間相互獨立,兼容性差,難以實現信息共享和統一管理,形成了“信息孤島”,嚴重制約了煤礦智能化建設進程。通過智能礦井多元監控數據集成技術,可打破系統間的界限與壁壘,促進系統間的聯動,減少數據冗余,實現數據共享和有效利用,對于保障煤礦生產安全、提高煤礦生產效率具有重要意義。
崔亞仲等[1]通過分析智能礦山中的數據來源、數據集成及數據應用,總結了智能礦山大數據關鍵技術。毛善君等[2]設計了智能礦井安全生產大數據集成分析平臺,開發了包括安全生產全業務流程的動態診斷系統,為提高決策管理水平奠定了基礎。但就目前實際應用來看,由于傳感設備收集的數據來自不同監控系統,大部分系統采用私有數據采集協議,且每套系統有各自的上位機軟件,相互之間仍然無法兼容。針對上述問題,本文從數據采集、數據融合、數據存儲3個方面入手,通過多線程技術、主數據技術、數據庫存取技術等,研究數據的規范化采集、數據融合規范的制定及數據庫的存儲策略。
煤礦監控系統數據采集方式主要有傳感器、手持設備、第三方軟件平臺[3]。其中通過手持設備采集、人工錄入的方式過于緩慢,且數據傳輸存在不穩定性,不符合安全、高效、快捷的行業共識。
雖然大多煤炭企業都自行開發了數據采集系統,但開發的多為封閉系統,設備之間不能兼容,信息也不能完全實現共享,由此產生了大量異構數據。雖然OPC、Modbus等協議能夠兼容部分開放數據采集協議,但大部分監控系統采用私有數據采集協議,系統間兼容困難,難以實現數據有效集成[4-5]。因此,需建立一套具備數據集成功能的軟件平臺,采用多協議驅動加載方式,利用多線程技術動態擴展煤礦井下所有監控設備的私有或開放采集協議,使井下所有監控設備或人員、車輛等監控對象可通過一套軟件平臺進行統一監管,實現真正意義上的一體化數據集成。
針對煤礦監控數據融合問題,通常的處理方式是建立軟件集成平臺,通過制定數據規范,將各類數據上傳到上位機后再進行轉換。雖然很多企業針對不同的業務數據融合制定了相關規范,但是數據融合規范仍不夠健全[6]。
將各系統之間共享頻率高的數據進行統一規范,形成煤礦主數據(用來描述核心業務的實體,例如員工、組織機構、傳感器、設備等),供各系統共享使用,既能保證各系統之間數據的一致性,又能減少數據占用的空間,提高數據融合能力。但目前煤炭行業缺少主數據規范和可用的主數據模型。
目前,煤礦各類監控數據基本都采用商用數據庫存儲,但當數據庫存儲的數據量較大時會出現存取速度慢、數據丟失等問題。煤礦監控系統會產生海量數據,對數據庫性能要求很高,數據庫的存儲效率和數據一致性是影響數據存儲的關鍵??紤]成本和知識產權等問題,煤礦監控系統較少采用高性能數據庫,開源數據庫將是一種發展方向。
智能礦井多元監控數據集成方案如圖1所示。首先,采用多協議驅動加載技術采集煤礦現場人、機、環多種業務數據,并確保數據采集的實時性與一致性;然后,對礦井各類監控數據制定主數據規范,對不同監控業務間最核心、需要被關聯使用的數據進行統一規范,并建立特定的元數據模型,對不同類型數據采用對應的數據處理方法,并將處理結果進行共享;最后,選定合適的數據庫進行數據存儲。

圖 1 智能礦井多元監控數據集成方案Fig. 1 Intelligent mine multi-dimensional monitoring data integration scheme

圖 2 多線程技術Fig. 2 Multithreading technology
在理想情況下,用1種采集協議即可實現井下人、機、環數據一體化采集。但是,由于不同制造商開發的邊緣計算節點不同,所以采用的協議不一致。為了加強系統的開放性、兼容性,可以將私有協議封裝為驅動動態鏈接庫(Dynamic Link Library,DLL),通過加載適配OPC,MQTT等協議及掛接私有協議驅動的方式實現各業務系統的數據采集。針對多通道、多協議數據來源,可運用多線程技術滿足數據傳輸的高效性、實時性要求。
煤礦井下監控系統包括安全監控系統、定位系統、生產控制系統等,這些系統都是異構的,對同一對象的特征描述不同,即數據屬性信息不一致,需要在集成過程中進行融合、轉換[7]。
為實現多元數據集成,共享數據應進行統一定義、集中管理和維護,供所有系統使用。在系統數據集中,將主數據與相關聯的數據建立起關系,即可保證信息的一致性。
煤礦監控數據大部分是生產現場產生的實時數據,對數據庫的實時性要求很高,對于這類數據,可選用時序數據庫。對實時性要求不高的數據可選用關系型數據庫。同時,應對數據冗余進行處理,以增強數據之間的關聯性,達到優化數據庫結構、減少數據冗余的目的。
當前數據庫種類很多,如Hadoop,MySQL,SQLite,Redis,Hbase,Oracle等,每種數據庫的性能、適用場景都不一樣。針對煤礦監控系統產生的海量數據,可選用開源數據庫。另外,由于煤礦監控系統瞬時數據量特別大,在斷電造成數據丟失的情況下,可運用Redis緩存技術實現數據高效緩存,通過對數據結構和存儲策略進行優化,確保數據存取的高效性和數據一致性。
在煤礦監控系統中存在多種數據采集協議。對采用不同數據采集協議的設備或系統,分多個通道進行數據采集。針對每個通道,設計一個專門的數據采集線程,并采用多線程技術進行分組管理,使各系統互不影響,并能提高數據采集效率[8-9]。
多線程技術如圖2所示。子系統包含上位機軟件,通過OPC協議進行交互更加便捷,且能實現更加豐富的功能;融合分站功能較單一,可通過簡單、開放的Modbus協議進行通信;MQTT是物聯網傳輸協議,因此井下智能物聯網設備采用MQTT輕量級數據傳輸協議;傳感器和部分PLC不具備網絡端口,因此采用串口通信。
主數據技術是指對需要在各系統間共享的數據進行統一規范,保證各系統數據的高度一致性。例如,人員定位系統、車輛監測系統、生產管理系統都涉及到人員數據,但各系統對人員所屬部門和工種的設置不一樣,因此,需要將人員所涉及到的主要元數據或屬性(如姓名、性別、部門編號、工種等)進行統一規范,并制定成主數據。同樣,人員定位、電力監控等系統中都有傳感器,但各系統對傳感器的編號、類型、檢測對象等屬性的設置不一樣,為數據融合分析帶來巨大麻煩。因此,需將傳感器所涉及到的編號、類型、檢測對象等屬性進行統一規范,并制定成主數據。
由于各類系統的數據類型眾多,需確定需要共享的數據,再進行分類,對于每一類主數據,將公共屬性提煉出來作為元數據,最后制定出主數據規范。
3.3.1 數據庫選擇
對幾種主流關系型數據庫的分析總結如下。
(1) MS SQL Server 2012 Express。優點:免費;大數據量存儲效率較高。缺點:數據庫MDF文件大小限制為10 GB;單CPU運算,不能充分利用目前多CPU機器的性能;不支持故障轉移群集。
(2) MS SQL Server 2012標準版。優點:數據庫MDF文件最大可達524 PB,滿足業務需求;支持故障轉移群集,系統可用性較高;存儲性能高,在對600億條數據的測試中,每秒存儲記錄達120 000條;數據文件和日志文件大小符合現實場景需求。缺點:商業付費。
(3) MySQL Community。優點:免費;安裝部署簡單;支持常見的SQL語句規范;網絡化數據庫,可在網絡中的任何地方訪問;存儲速率高達50 000條/s;適合分布式部署。缺點:數據庫文件偏大。
經過對比,由于MySQL Community 具備免費、性能穩定、開源社區活躍度高、支持SQL標準等優點,所以選擇MySQL Community存儲對實時性要求不高的數據。
對3種較熱門的時序數據庫TDengine,ClickHouse和InfluxDB[10-12]進行對比分析,結果見表1。

表 1 時序數據庫對比Table 1 Comparison of the time series databases
綜合對比得出,3種時序數據庫中,InfluxDB存儲速度最快,更適用于煤礦監控數據實時存儲。
3.3.2 Redis實時數據管理技術
Redis是一種高性能、支持多種數據類型且支持持久化的鍵值數據庫[13]。使用Redis存儲數據時,可使用持久化機制將寫命令數據同步到磁盤中,以減少或避免數據意外丟失。對作為緩存的Redis來說,持久化機制可加快系統崩潰或服務器宕機時緩存數據恢復速度。煤礦現場有很多大功率設備,電力故障、線纜損壞等都會影響數據存儲進度,通過引入Redis對數據進行緩存,使煤礦監控數據能夠完整地存儲。
從數據采集、數據融合、數據存儲3個方面探討了智能礦井多元監控數據集成關鍵技術。數據采集方面,提出采用掛接私有協議驅動的方式兼容已有廠家的私有協議,以提高數據采集效率;數據融合方面,提出對井下各類系統采集到的數據進行統一分類并制定主數據規范,以打破系統間數據溝通的屏障,提高煤礦監控數據的可獲得性和可用性;數據存儲方面,針對煤礦監控系統的海量數據,提出數據分類存儲技術,以提高數據存儲速率并保證數據的安全性和一致性。