劉海強(qiáng),陳曉晶,張興華,陳向飛
(1.中煤科工集團(tuán)常州研究院有限公司,江蘇 常州 213015;2.金陵科技學(xué)院 計(jì)算機(jī)工程學(xué)院,江蘇 南京 211169;3.中國礦業(yè)大學(xué) 信息與控制工程學(xué)院,江蘇 徐州 221116)
煤炭是關(guān)系我國國計(jì)民生的基礎(chǔ)產(chǎn)業(yè)[1]。煤礦生產(chǎn)中的不安全因素較多,環(huán)境惡劣,事故易發(fā)。近年來,隨著開采深度進(jìn)一步加大,煤礦安全隱患突出,安全事故尤其是重大、特大事故仍時(shí)有發(fā)生,安全形勢(shì)依然嚴(yán)峻[2]。
煤礦企業(yè)大多安裝了安全監(jiān)控系統(tǒng),隨著時(shí)間推移,存儲(chǔ)了大量安全監(jiān)控?cái)?shù)據(jù)?,F(xiàn)有煤礦安全監(jiān)控系統(tǒng)大多采用操作型數(shù)據(jù)存儲(chǔ)方式,主要面向事務(wù)處理,各種信息混合存儲(chǔ),與煤礦安全生產(chǎn)密切相關(guān)的重點(diǎn)信息不明確,導(dǎo)致信息無法有效利用。另外,系統(tǒng)大多只具備數(shù)據(jù)采集、存儲(chǔ)和顯示功能,數(shù)據(jù)分析能力較差,不能提供更好的決策支持。
數(shù)據(jù)倉庫[3]是大數(shù)據(jù)技術(shù)的重要組成部分,集成了各種形式的應(yīng)用系統(tǒng),以事物發(fā)展的角度組織數(shù)據(jù)。數(shù)據(jù)倉庫是分析型數(shù)據(jù)存儲(chǔ)方式,支持?jǐn)?shù)據(jù)查詢,能夠?yàn)閿?shù)據(jù)挖掘和決策分析提供良好的數(shù)據(jù)支持,逐漸成為大數(shù)據(jù)時(shí)代必然的數(shù)據(jù)管理技術(shù),特別是基于Hive 的數(shù)據(jù)倉庫技術(shù)備受關(guān)注。
大數(shù)據(jù)和數(shù)據(jù)倉庫技術(shù)被認(rèn)為是實(shí)現(xiàn)智能礦山的關(guān)鍵技術(shù),受到行業(yè)內(nèi)研究人員的關(guān)注[1,4]。張鵬[5]提出了煤礦大數(shù)據(jù)架構(gòu),其中包括基于數(shù)據(jù)倉庫的數(shù)據(jù)存儲(chǔ)模型,但并沒有研究實(shí)現(xiàn)數(shù)據(jù)倉庫的具體方法。孟光偉[6]建立了基于大數(shù)據(jù)技術(shù)的煤礦監(jiān)管服務(wù)平臺(tái),提出使用Spark 技術(shù)實(shí)現(xiàn)數(shù)據(jù)統(tǒng)計(jì)分析,使用Hive 數(shù)據(jù)倉庫分主題存儲(chǔ)數(shù)據(jù),但沒有詳細(xì)研究數(shù)據(jù)倉庫的主題、邏輯模型等關(guān)鍵技術(shù)。張毅[7]從企業(yè)管理的角度分析了煤礦數(shù)據(jù)倉庫的優(yōu)勢(shì),但與煤礦安全監(jiān)控?cái)?shù)據(jù)分析的差別較大。賈國兵[8]將數(shù)據(jù)倉庫應(yīng)用于煤礦井下三維建模,開發(fā)了數(shù)據(jù)展示系統(tǒng),但未研究數(shù)據(jù)倉庫的實(shí)現(xiàn)技術(shù)。劉馨蕊[9]研究了基于數(shù)據(jù)倉庫的金屬礦山信息集成系統(tǒng),應(yīng)用Agent 方法建立了生產(chǎn)決策數(shù)據(jù)倉庫,但使用的數(shù)據(jù)源主要是產(chǎn)量等數(shù)據(jù),不適應(yīng)安全監(jiān)控分析需求。賈冬冬[10]研究了基于數(shù)據(jù)倉庫的沖擊地壓預(yù)警技術(shù),從不同角度挖掘沖擊地壓數(shù)據(jù)特征。侯杰等[11]研究了基于OLAP(On-line Analytical Processing,聯(lián)機(jī)分析處理)技術(shù)的煤礦生產(chǎn)管理系統(tǒng),但未研究數(shù)據(jù)倉庫的建設(shè)方法。總體而言,數(shù)據(jù)倉庫在礦業(yè)方面的應(yīng)用還處于理論研究和實(shí)踐摸索階段,對(duì)需求分析、主題設(shè)計(jì)和數(shù)據(jù)抽取方法等關(guān)鍵技術(shù)的研究較少。
本文研究面向煤礦安全監(jiān)控的數(shù)據(jù)倉庫關(guān)鍵技術(shù),包括主題設(shè)計(jì)、模型設(shè)計(jì)、ETL(Extract-Transformation-Loading,抽取、轉(zhuǎn)換和加載)策略設(shè)計(jì)等,為煤礦安全監(jiān)控?cái)?shù)據(jù)挖掘和展示提供技術(shù)支撐。
數(shù)據(jù)倉庫是面向主題的、集成的、相對(duì)穩(wěn)定的、反映歷史變化的數(shù)據(jù)集合。一方面,它可應(yīng)用于決策支持,進(jìn)行分析型數(shù)據(jù)處理;另一方面,它集成了多個(gè)不同結(jié)構(gòu)的數(shù)據(jù)源,并根據(jù)主題進(jìn)行重組和存儲(chǔ)[12]。
數(shù)據(jù)倉庫具有以下4 個(gè)特點(diǎn):
(1)面向主題。數(shù)據(jù)倉庫中的數(shù)據(jù)是根據(jù)主題存儲(chǔ)的,主題是用戶進(jìn)行分析和應(yīng)用時(shí)關(guān)心的方面,多個(gè)操作型數(shù)據(jù)源的數(shù)據(jù)構(gòu)成一個(gè)主題。
(2)集成。數(shù)據(jù)倉庫中的數(shù)據(jù)具有全局性和集成性,通過對(duì)分散的數(shù)據(jù)源中多種多樣的數(shù)據(jù)進(jìn)行預(yù)處理,建立統(tǒng)一的數(shù)據(jù)表達(dá)格式。
(3)非易失。數(shù)據(jù)倉庫中的數(shù)據(jù)主要面向分析查詢,數(shù)據(jù)源中的數(shù)據(jù)經(jīng)過抽取和清洗后進(jìn)入數(shù)據(jù)倉庫,被長(zhǎng)期保留下來,很少修改和刪除,只是定期加載和查詢,不易丟失。
(4)隨時(shí)間變化。隨著生產(chǎn)推進(jìn),生產(chǎn)過程中不斷產(chǎn)生數(shù)據(jù)并被添加進(jìn)數(shù)據(jù)倉庫,因此,數(shù)據(jù)倉庫是隨時(shí)間變化的。匯總和分析這些數(shù)據(jù)能夠預(yù)測(cè)某個(gè)問題的發(fā)展趨勢(shì)。
數(shù)據(jù)倉庫是一個(gè)多層次的體系結(jié)構(gòu),包括數(shù)據(jù)源層、數(shù)據(jù)存儲(chǔ)與管理層、OLAP 與數(shù)據(jù)挖掘?qū)印⑶岸斯ぞ吲c應(yīng)用層[12],如圖1 所示。
圖1 數(shù)據(jù)倉庫體系結(jié)構(gòu)Fig.1 Structure of data warehouse
(1)數(shù)據(jù)源層。數(shù)據(jù)源包括內(nèi)部數(shù)據(jù)和外部數(shù)據(jù)。內(nèi)部數(shù)據(jù)是指關(guān)系型數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)和資料,本文主要是指在煤礦長(zhǎng)期生產(chǎn)過程中,煤礦安全監(jiān)控系統(tǒng)存儲(chǔ)的安全監(jiān)控?cái)?shù)據(jù)、網(wǎng)絡(luò)管理數(shù)據(jù)、配置管理數(shù)據(jù)和人員管理數(shù)據(jù),這些數(shù)據(jù)可能存儲(chǔ)于不同的部門、系統(tǒng)平臺(tái)或物理位置。外部數(shù)據(jù)是與煤礦安全生產(chǎn)相關(guān)的法律法規(guī)和外部歸類文檔等。
(2)數(shù)據(jù)存儲(chǔ)與管理層。該層將從數(shù)據(jù)源層抽取的各類型數(shù)據(jù)進(jìn)行轉(zhuǎn)換和清洗,按照主題以確定的物理結(jié)構(gòu)存儲(chǔ)。數(shù)據(jù)倉庫使用元數(shù)據(jù)描述數(shù)據(jù)及管理和維護(hù)數(shù)據(jù)所需的信息,根據(jù)元數(shù)據(jù)進(jìn)行數(shù)據(jù)檢測(cè)和維護(hù)。數(shù)據(jù)倉庫根據(jù)不同部門的業(yè)務(wù)需求,建立特定的數(shù)據(jù)集市。數(shù)據(jù)集市之間互相配合,以滿足用戶的業(yè)務(wù)需求,組成一個(gè)完整的數(shù)據(jù)倉庫。
(3)OLAP 與數(shù)據(jù)挖掘?qū)?。?shù)據(jù)倉庫使用OLAP進(jìn)行數(shù)據(jù)挖掘。OLAP 提供切片、切塊、鉆取、旋轉(zhuǎn)等數(shù)據(jù)分析方法,從多角度匯總和抽象數(shù)據(jù),通過聚集查詢技術(shù)提取用戶所需信息。根據(jù)數(shù)據(jù)存儲(chǔ)方式不同,OLAP 可分為關(guān)系型、多維型和混合型。關(guān)系型OLAP 將細(xì)節(jié)數(shù)據(jù)和聚合后的數(shù)據(jù)均存儲(chǔ)在關(guān)系型數(shù)據(jù)庫中,數(shù)據(jù)量大時(shí)查詢效率較低。多維型OLAP 將細(xì)節(jié)數(shù)據(jù)和聚合后的數(shù)據(jù)均存儲(chǔ)在多維數(shù)組中,查詢效率較高,但生成多維數(shù)組所需時(shí)間較長(zhǎng)?;旌闲蚈LAP 將細(xì)節(jié)數(shù)據(jù)存儲(chǔ)在關(guān)系型數(shù)據(jù)庫中,將聚合后的數(shù)據(jù)存儲(chǔ)在多維數(shù)組中,查詢效率較關(guān)系型OLAP 高,較多維型OLAP 低,生成多維數(shù)組所需時(shí)間較關(guān)系型OLAP 多,較多維型OLAP 少。針對(duì)煤礦安全監(jiān)控?cái)?shù)據(jù)特點(diǎn),本文采用混合型OLAP 存儲(chǔ)數(shù)據(jù)。
(4)前端工具與應(yīng)用層。該層應(yīng)用可視化工具進(jìn)行數(shù)據(jù)展示,為用戶提供決策支持等業(yè)務(wù)功能,包括數(shù)據(jù)查詢、數(shù)據(jù)分析、數(shù)據(jù)報(bào)表等。
數(shù)據(jù)倉庫是面向主題的,其業(yè)務(wù)需求決定業(yè)務(wù)主題。針對(duì)煤礦安全監(jiān)控的業(yè)務(wù)需求,設(shè)計(jì)了超限分析、調(diào)校分析、異常數(shù)據(jù)分析、測(cè)點(diǎn)網(wǎng)絡(luò)中斷分析和人員管理分析五大主題,見表1。對(duì)應(yīng)功能結(jié)構(gòu)如圖2 所示。
圖2 煤礦安全監(jiān)控?cái)?shù)據(jù)倉庫功能結(jié)構(gòu)Fig.2 Functional structure of coal mine safety monitoring data warehouse
表1 煤礦安全監(jiān)控?cái)?shù)據(jù)倉庫主題Table 1 Subjects of coal mine safety monitoring data warehouse
超限是導(dǎo)致煤礦安全事故的重要原因,對(duì)超限數(shù)據(jù)的采集和分析是煤礦安全監(jiān)控工作的重點(diǎn)。調(diào)校是重要的煤礦井下設(shè)備維護(hù)操作,目的是保障設(shè)備安全使用和監(jiān)控?cái)?shù)據(jù)準(zhǔn)確。
煤礦安全監(jiān)控系統(tǒng)記錄了大量超限和調(diào)校信息,二者混合存儲(chǔ)在一起。在數(shù)據(jù)倉庫建設(shè)過程中,有必要建立超限和調(diào)校分析主題,將二者提取出來單獨(dú)存儲(chǔ),為數(shù)據(jù)挖掘提供基礎(chǔ)。
超限分析主題可實(shí)現(xiàn)超限程度分析、超限原因分析和測(cè)點(diǎn)安全性分析。調(diào)校分析主題可實(shí)現(xiàn)調(diào)校是否準(zhǔn)時(shí)分析。
煤礦生產(chǎn)過程中,安全狀態(tài)下瓦斯?jié)舛茸兓话闶瞧椒€(wěn)的,且數(shù)值較小。當(dāng)井下環(huán)境變化或設(shè)備出現(xiàn)故障時(shí),瓦斯?jié)舛缺O(jiān)測(cè)值會(huì)出現(xiàn)異常,如監(jiān)測(cè)值突然變大或變小等。這種異常變化可能是瓦斯突出的前兆,是煤礦安全監(jiān)控工作需重點(diǎn)關(guān)注的信息。因此,有必要設(shè)計(jì)瓦斯?jié)舛犬惓?shù)據(jù)分析主題,根據(jù)瓦斯?jié)舛茸兓?guī)律,將瓦斯?jié)舛犬惓?shù)據(jù)提取出來,為分析異常原因、異常數(shù)據(jù)變化趨勢(shì)、超限預(yù)警提供數(shù)據(jù)支持。
異常數(shù)據(jù)分析主題可實(shí)現(xiàn)異常原因分析和異常趨勢(shì)分析。
煤礦井下安裝有大量傳感器,采集數(shù)據(jù)通過通信網(wǎng)絡(luò)傳輸至地面服務(wù)器進(jìn)行存儲(chǔ)和顯示。如果通信網(wǎng)絡(luò)出現(xiàn)故障,則監(jiān)控?cái)?shù)據(jù)無法上傳至地面,該情況下盲目生產(chǎn)容易引發(fā)安全事故。因此,有必要建立測(cè)點(diǎn)網(wǎng)絡(luò)中斷分析主題,提取測(cè)點(diǎn)網(wǎng)絡(luò)斷線的時(shí)間、持續(xù)時(shí)間、恢復(fù)時(shí)間及該測(cè)點(diǎn)的配置信息等進(jìn)行主題存儲(chǔ)。
測(cè)點(diǎn)網(wǎng)絡(luò)中斷分析主題可實(shí)現(xiàn)中斷程度分析、中斷原因分析和測(cè)點(diǎn)網(wǎng)絡(luò)穩(wěn)定性分析。
煤礦安全監(jiān)控系統(tǒng)中存儲(chǔ)了大量的員工操作數(shù)據(jù),包括對(duì)故障的處理、對(duì)安全事故的處理、對(duì)設(shè)備的檢修和維護(hù)等。分析這些數(shù)據(jù)能發(fā)現(xiàn)員工工作過程中存在的問題,評(píng)估和考核員工的工作能力,以增強(qiáng)員工的責(zé)任感和緊迫感,提升企業(yè)的管理水平,從而保證安全生產(chǎn),減少因人為因素引發(fā)的事故。因此,有必要建立人員管理分析主題,為煤礦企業(yè)管理提供決策依據(jù)。
人員管理分析主題可實(shí)現(xiàn)人員工作能力分析和工作職責(zé)分析。
數(shù)據(jù)倉庫邏輯模型設(shè)計(jì)即關(guān)系模型設(shè)計(jì)。數(shù)據(jù)倉庫的常用設(shè)計(jì)模型包括雪花模型、星型模型和事實(shí)星座模型等[13]。
根據(jù)煤礦安全監(jiān)控?cái)?shù)據(jù)倉庫的特點(diǎn),本文采用事實(shí)星座模型。在該模型中,每個(gè)主題設(shè)計(jì)1 個(gè)事實(shí)表。事實(shí)表具有自身維度和共享維度,表之間通過共享維度交換信息。
事實(shí)星座模型根據(jù)主題設(shè)計(jì)數(shù)據(jù)表(包括事實(shí)表和維度表)的關(guān)系模式,把信息組織到結(jié)構(gòu)中[14]。煤礦安全監(jiān)控?cái)?shù)據(jù)倉庫的邏輯模型如圖3-圖7 所示。
圖3 超限分析主題邏輯模型Fig.3 Logical model of overrun analysis subject
圖4 調(diào)校分析主題邏輯模型Fig.4 Logical model of calibration analysis subject
圖5 異常數(shù)據(jù)分析主題邏輯模型Fig.5 Logical model of abnormal data analysis subject
圖6 測(cè)點(diǎn)網(wǎng)絡(luò)中斷分析主題邏輯模型Fig.6 Logical model of analysis subject for measuring point network interrupt
圖7 人員管理分析主題邏輯模型Fig.7 Logical model of personnel management analysis subject
為了描述細(xì)節(jié)信息,煤礦安全監(jiān)控?cái)?shù)據(jù)倉庫將維度劃分為:①類型維度,包括甲烷、CO、風(fēng)速、溫度、濕度等。②原因維度,為事故或故障原因,包括放炮、通風(fēng)故障、線路問題等。③操作維度,為工作人員對(duì)故障所做的操作,包括斷電、檢修、記錄等。④故障類型維度,為各種故障,包括超限、異常、上傳網(wǎng)絡(luò)中斷等。⑤效果維度,為工作人員對(duì)故障的處理效果,包括優(yōu)、良、中、差等。⑥測(cè)點(diǎn)維度,為某位置的1 個(gè)或多個(gè)測(cè)點(diǎn)。⑦時(shí)間維度,為某具體時(shí)間點(diǎn)或時(shí)間段。⑧工作人員維度,為某1 位或幾位員工的信息,包括編號(hào)、部門、職稱等。
根據(jù)用戶權(quán)限和關(guān)心的細(xì)節(jié)設(shè)計(jì)煤礦安全監(jiān)控?cái)?shù)據(jù)倉庫的粒度[15]。時(shí)間粒度分為年、月、日、時(shí)、分、秒;監(jiān)管粒度分為集團(tuán)公司、礦、工作面、測(cè)點(diǎn)等。
物理模型是數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),對(duì)應(yīng)邏輯模型中的主題維度[16]。由邏輯模型可知,煤礦安全監(jiān)控?cái)?shù)據(jù)倉庫涉及的維度主要有時(shí)間、測(cè)點(diǎn)、類型、工作人員、原因、操作、故障類型、效果。
物理模型使用SQL Server 建立表的主鍵和外鍵聚簇索引,根據(jù)應(yīng)用情況建立非聚簇索引,以獲取更強(qiáng)的查詢性能。以超限分析主題為例,其事實(shí)表和維度表見表2-表7。其他主題物理模型設(shè)計(jì)與此類似。
表2 超限分析主題事實(shí)表Table 2 Fact table of overrun analysis subject
表3 超限分析主題測(cè)點(diǎn)維度表Table 3 Monitoring point dimension table of overrun analysis subject
表4 超限分析主題類型維度表Table 4 Type dimension table of overrun analysis subject
表5 超限分析主題原因維度表Table 5 Reason dimension table of overrun analysis subject
表6 超限分析主題操作維度表Table 6 Operation dimension table of overrun analysis subject
表7 超限分析主題工作人員維度表Table 7 Personnel dimension table of overrun analysis subject
煤礦安全監(jiān)控?cái)?shù)據(jù)倉庫將不同數(shù)據(jù)源中的數(shù)據(jù)集中到數(shù)據(jù)倉庫數(shù)據(jù)集,需對(duì)數(shù)據(jù)進(jìn)行ETL 操作。煤礦安全監(jiān)控?cái)?shù)據(jù)倉庫的數(shù)據(jù)來源、格式存在很大差異,如在歷史數(shù)據(jù)庫中,安全監(jiān)控?cái)?shù)據(jù)源分布于集團(tuán)公司下屬企業(yè),網(wǎng)絡(luò)安全管理數(shù)據(jù)源位于網(wǎng)絡(luò)管理部門。ETL 需最大程度地保證數(shù)據(jù)一致性,提高數(shù)據(jù)質(zhì)量。
ETL 程序與數(shù)據(jù)源通過網(wǎng)絡(luò)連接,使用ADO(ActiveX Data Objects,ActiveX 數(shù)據(jù)對(duì)象)和ODBC(Open Database Connectivity,開放數(shù)據(jù)庫連接)連接數(shù)據(jù)源和數(shù)據(jù)倉庫[14],通過抽取程序完成數(shù)據(jù)抽取,在程序處理模塊完成轉(zhuǎn)換和清洗,然后將數(shù)據(jù)加載至數(shù)據(jù)倉庫,如圖8 所示。
圖8 煤礦安全監(jiān)控?cái)?shù)據(jù)倉庫ETL 實(shí)現(xiàn)流程Fig.8 ETL realization flow of coal mine safety monitoring data warehouse
數(shù)據(jù)抽取是從數(shù)據(jù)源中抽取數(shù)據(jù),通過一定規(guī)則判斷是否為所需數(shù)據(jù),若是則添加進(jìn)數(shù)據(jù)倉庫。煤礦安全監(jiān)控?cái)?shù)據(jù)倉庫按主題進(jìn)行數(shù)據(jù)抽取,流程如圖9 所示。
圖9 煤礦安全監(jiān)控?cái)?shù)據(jù)倉庫數(shù)據(jù)抽取流程Fig.9 Data extraction flow of coal mine safety monitoring data warehouse
超限和調(diào)校數(shù)據(jù)主要來源于煤礦安全監(jiān)控系統(tǒng)報(bào)警數(shù)據(jù)表。從該表中抽取這2 種數(shù)據(jù)即是對(duì)這2 種數(shù)據(jù)進(jìn)行分離。根據(jù)調(diào)校時(shí)瓦斯?jié)舛茸兓?guī)律(本文為先降至0,再快速上升,然后快速下降,最大值約為2.0×10-6,整個(gè)過程持續(xù)約1 min),得到調(diào)校數(shù)據(jù)分離標(biāo)準(zhǔn)為最大值2.0×10-6且持續(xù)1 min。
異常數(shù)據(jù)可根據(jù)瓦斯?jié)舛缺O(jiān)測(cè)值是否突然變化來判斷,對(duì)異常數(shù)據(jù)抽取需要對(duì)異常狀態(tài)和數(shù)據(jù)是否屬于同一異常狀態(tài)進(jìn)行判斷。
對(duì)異常狀態(tài)的判斷主要考慮相鄰數(shù)據(jù)間的變化斜率指標(biāo)kv。設(shè)瓦斯?jié)舛茸兓瘯r(shí)間序列為T={t1,t2,···,tn},數(shù)值序列Y={y1,y2,···,yn},其 中tm,ym分別為第m個(gè)數(shù)據(jù)采樣時(shí)刻及對(duì)應(yīng)采樣值,m=1,2,…,n,n為采樣點(diǎn)數(shù),則kv=|ym-ym-1|/|tm-tm-1|。設(shè)置斜率門限為K,當(dāng)kv>K時(shí),則判定當(dāng)前數(shù)據(jù)和前一數(shù)據(jù)為異常數(shù)據(jù)。K根據(jù)煤礦安全生產(chǎn)規(guī)定和煤礦具體安全生產(chǎn)情況來確定。
測(cè)點(diǎn)網(wǎng)絡(luò)中斷數(shù)據(jù)主要來源于煤礦安全監(jiān)控系統(tǒng)的安全監(jiān)控?cái)?shù)據(jù)表和配置管理數(shù)據(jù)表。安全監(jiān)控?cái)?shù)據(jù)斷線和接通時(shí)狀態(tài)字段設(shè)置為特殊值,可根據(jù)該字段值對(duì)斷線數(shù)據(jù)進(jìn)行抽取。
人員管理數(shù)據(jù)主要是工作人員的操作,可抽取安全監(jiān)控?cái)?shù)據(jù)表、網(wǎng)絡(luò)管理數(shù)據(jù)表、配置管理數(shù)據(jù)表和人員管理數(shù)據(jù)表中的操作信息和個(gè)人信息。人員管理以1 個(gè)工作人員對(duì)應(yīng)1 個(gè)表的方式來組織,將一段時(shí)間內(nèi)該人員的操作添加進(jìn)該表,以便對(duì)該人員的工作情況和工作能力進(jìn)行分析。
煤礦安全監(jiān)控?cái)?shù)據(jù)源分散,存儲(chǔ)格式不同,需整理且轉(zhuǎn)換為相同格式才能進(jìn)行統(tǒng)一存儲(chǔ),該工作在數(shù)據(jù)轉(zhuǎn)換階段完成。煤礦安全監(jiān)控?cái)?shù)據(jù)倉庫的數(shù)據(jù)轉(zhuǎn)換過程包括格式轉(zhuǎn)換、數(shù)據(jù)清洗和數(shù)據(jù)排序。
(1)格式轉(zhuǎn)換分為字段轉(zhuǎn)換、數(shù)值轉(zhuǎn)換和表示方法轉(zhuǎn)換。字段轉(zhuǎn)換是針對(duì)同一對(duì)象在不同數(shù)據(jù)源的數(shù)據(jù)表中使用不同字段表示的情況,如測(cè)點(diǎn)類型字段在報(bào)警數(shù)據(jù)表中可能為Stype,在超限主題事實(shí)表中可能為Type,在數(shù)據(jù)轉(zhuǎn)換過程中對(duì)這些字段進(jìn)行統(tǒng)一表示。數(shù)值轉(zhuǎn)換是針對(duì)不同系統(tǒng)中數(shù)據(jù)存儲(chǔ)采用不同的單位或數(shù)據(jù)類型的情況,在數(shù)據(jù)轉(zhuǎn)換時(shí)進(jìn)行單位和數(shù)據(jù)類型的統(tǒng)一,如將瓦斯?jié)舛葦?shù)據(jù)從float 型轉(zhuǎn)換為real 型。表示方法轉(zhuǎn)換即統(tǒng)一數(shù)據(jù)的表示格式,如將日期和時(shí)間格式統(tǒng)一為yyyy-mmdd hh:mm:ss。
(2)數(shù)據(jù)清洗包括重復(fù)記錄清洗和錯(cuò)誤數(shù)據(jù)清洗。重復(fù)記錄清洗是針對(duì)不同系統(tǒng)中存儲(chǔ)的重復(fù)數(shù)據(jù)進(jìn)行判斷,只抽取1 條記錄,同時(shí)判斷抽取的數(shù)據(jù)是否已存在于目標(biāo)數(shù)據(jù)倉庫中,對(duì)重復(fù)記錄舍棄。錯(cuò)誤數(shù)據(jù)清洗是針對(duì)抽取數(shù)據(jù)中存在的明顯錯(cuò)誤,如數(shù)據(jù)類型不對(duì)、數(shù)值為空、日期超過當(dāng)前日期等進(jìn)行彌補(bǔ),無法彌補(bǔ)的則舍棄。錯(cuò)誤數(shù)據(jù)彌補(bǔ)方式:①將其記錄到特定文件,等待數(shù)據(jù)倉庫管理人員處理。② 賦一個(gè)缺省值,如一段時(shí)間內(nèi)的平均值、最可能的預(yù)測(cè)值等。
(3)數(shù)據(jù)排序是針對(duì)瓦斯超限、網(wǎng)絡(luò)通斷等有時(shí)間順序的數(shù)據(jù),存入數(shù)據(jù)倉庫時(shí)根據(jù)時(shí)間戳進(jìn)行數(shù)據(jù)排序。
數(shù)據(jù)轉(zhuǎn)換后需將其加載進(jìn)數(shù)據(jù)倉庫,過程包括預(yù)加載、加載和加載后處理。預(yù)加載是指從數(shù)據(jù)庫中找到需添加、更新的記錄及添加的目標(biāo)地址,將其寫入預(yù)處理文件,之后由加載程序加載到數(shù)據(jù)倉庫中。加載是指調(diào)用批量加載工具添加和更新數(shù)據(jù),并記錄加載日志。加載后處理主要是刪除不需要的冗余文件和臨時(shí)表。
數(shù)據(jù)加載設(shè)計(jì)主要是數(shù)據(jù)追加方法的設(shè)計(jì)。數(shù)據(jù)追加包括直接追加、覆蓋追加和更新追加。直接追加是直接將數(shù)據(jù)添加進(jìn)數(shù)據(jù)表;覆蓋追加是當(dāng)新抽取的數(shù)據(jù)包含所有歷史數(shù)據(jù)時(shí),直接覆蓋歷史數(shù)據(jù);更新追加是針對(duì)需要進(jìn)行狀態(tài)更新的數(shù)據(jù),對(duì)歷史狀態(tài)數(shù)據(jù)和當(dāng)前狀態(tài)數(shù)據(jù)進(jìn)行比較,更新數(shù)據(jù)后追加。
根據(jù)煤礦安全監(jiān)控?cái)?shù)據(jù)倉庫的數(shù)據(jù)特點(diǎn)選擇數(shù)據(jù)追加方式。配置管理數(shù)據(jù)和人員管理數(shù)據(jù)量少、變化小,可將之前的數(shù)據(jù)覆蓋,可采用覆蓋追加策略;安全監(jiān)控?cái)?shù)據(jù)和網(wǎng)絡(luò)管理數(shù)據(jù)要記錄連續(xù)的變化狀態(tài),需比較當(dāng)前狀態(tài)數(shù)據(jù)和歷史狀態(tài)數(shù)據(jù),將更新的數(shù)據(jù)添加至數(shù)據(jù)倉庫,因此采用更新追加策略。
(1)對(duì)面向煤礦安全監(jiān)控的數(shù)據(jù)倉庫進(jìn)行了功能分析,根據(jù)煤礦安全監(jiān)控業(yè)務(wù)需求,建立了超限分析、調(diào)校分析、異常數(shù)據(jù)分析、測(cè)點(diǎn)網(wǎng)絡(luò)中斷分析和人員管理分析五大業(yè)務(wù)主題。
(2)設(shè)計(jì)了煤礦安全監(jiān)控?cái)?shù)據(jù)倉庫的邏輯模型和物理模型。針對(duì)煤礦安全監(jiān)控?cái)?shù)據(jù)倉庫的特點(diǎn),使用事實(shí)星座模型建立了邏輯模型,分主題設(shè)計(jì)了事實(shí)表和維度表,設(shè)計(jì)了邏輯模型的維度和粒度。
(3)設(shè)計(jì)了煤礦安全監(jiān)控?cái)?shù)據(jù)倉庫的ETL 策略。針對(duì)數(shù)據(jù)來源和業(yè)務(wù)需求,分主題進(jìn)行數(shù)據(jù)抽取,設(shè)計(jì)了不同主題數(shù)據(jù)抽取的規(guī)則;對(duì)形式各異數(shù)據(jù)進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換、清洗和數(shù)據(jù)排序;設(shè)計(jì)了數(shù)據(jù)加載策略,分為預(yù)加載、加載和加載后處理3 個(gè)階段,在數(shù)據(jù)追加時(shí)根據(jù)數(shù)據(jù)特點(diǎn),采用覆蓋追加和更新追加結(jié)合的方式。