潘 濤 王志東 解海東
(1.神華集團(tuán)有限責(zé)任公司,北京市東城區(qū),100011;2.煤炭科學(xué)研究總院,北京市朝陽區(qū),100013)
目前,我國煤炭企業(yè)在信息化建設(shè)方面已經(jīng)取得了較大的進(jìn)步,從之前的僅在財務(wù)管理和銷售管理等局部環(huán)節(jié)應(yīng)用信息化技術(shù),到現(xiàn)在的面向不同業(yè)務(wù)或管理需要建立不同的管理信息化系統(tǒng),包括在生產(chǎn)過程控制方面建設(shè)了工作面生產(chǎn)監(jiān)測、瓦斯監(jiān)測、礦壓監(jiān)測以及視頻監(jiān)控等信息系統(tǒng),在經(jīng)營管理方面建立了許多面向不同業(yè)務(wù)的管理信息化系統(tǒng),如設(shè)備管理系統(tǒng)、物資供應(yīng)管理系統(tǒng)、產(chǎn)運(yùn)銷一體化系統(tǒng)以及人力資源系統(tǒng)等等。但是由于大部分煤炭企業(yè)缺乏信息化建設(shè)的整體規(guī)劃,沒有統(tǒng)一的信息系統(tǒng)建設(shè)標(biāo)準(zhǔn),各業(yè)務(wù)系統(tǒng)各自為政,造成系統(tǒng)建設(shè)相對分散,系統(tǒng)之間數(shù)據(jù)信息無法共享,形成眾多的 “信息孤島”。這些 “信息孤島”多是基于不同的操作系統(tǒng)平臺和數(shù)據(jù)庫技術(shù)構(gòu)建,如何利用現(xiàn)有的成熟信息化技術(shù)解決 “信息孤島”之間的數(shù)據(jù)交換與共享,提高煤炭企業(yè)信息化整體的運(yùn)營效率就成了一個亟需解決的問題。
ETL過程就是數(shù)據(jù)流動的過程,數(shù)據(jù)從不同的數(shù)據(jù)源流向目標(biāo)數(shù)據(jù)。整個過程可拆分為抽取、轉(zhuǎn)換和裝載3個步驟。
基于煤炭生產(chǎn)現(xiàn)場的現(xiàn)實需求,生產(chǎn)現(xiàn)場的安全數(shù)據(jù)需要在最短的時間內(nèi)從安全專用數(shù)據(jù)庫經(jīng)過ETL過程存儲到目標(biāo)數(shù)據(jù),下面介紹兩種ETL 過程快速自動執(zhí)行實現(xiàn)方法。
通過數(shù)據(jù)庫觸發(fā)器實現(xiàn)自動執(zhí)行ETL 過程,當(dāng)數(shù)據(jù)庫表中數(shù)據(jù)發(fā)生變化時,自動觸發(fā)執(zhí)行相應(yīng)的ETL過程,實現(xiàn)數(shù)據(jù)從數(shù)據(jù)源向目標(biāo)數(shù)據(jù)倉庫的非人工快速流動。
觸發(fā)器類似于存儲過程和存儲函數(shù),當(dāng)觸發(fā)事件發(fā)生時,由系統(tǒng)自動地隱式調(diào)用并執(zhí)行觸發(fā)器,而不能由應(yīng)用程序顯式地調(diào)用執(zhí)行。當(dāng)對指定數(shù)據(jù)表進(jìn)行操作時,就會激活對應(yīng)的ETL過程執(zhí)行。
Oracle和SQL Server數(shù)據(jù)庫都可以創(chuàng)建觸發(fā)器。通過CREATE TRIGGER 語句創(chuàng)建一個語句級觸發(fā)器,該觸發(fā)器在一個數(shù)據(jù)操作語句發(fā)生時只觸發(fā)一次。觸發(fā)器的組成見表1。
表1 觸發(fā)器的組成
此種方法適合于數(shù)據(jù)交換平臺對數(shù)據(jù)源采集數(shù)據(jù)的實時性要求不高,或者數(shù)據(jù)源數(shù)據(jù)增量不頻繁的情況。
通過靈活的定時機(jī)制 (工作流內(nèi)部定時或作業(yè)定時),時間粒度最小可以設(shè)為毫秒級,對同步ETL過程周期性的定時觸發(fā),達(dá)到對最新數(shù)據(jù)變化的實時同步。
本文采用Java 的定時器實現(xiàn), 應(yīng)用java.util.Timer工具類,其具有操作方便和高效的特 點(diǎn)。選 用Timer.schedule (TimerTask task,long delay,long period)函數(shù),其中第一個參數(shù)task指要執(zhí)行操作的方法名稱,第二個參數(shù)delay要設(shè)定延遲的時間,第三個參數(shù)period是周期的設(shè)定,每隔多長時間執(zhí)行該操作,它的數(shù)量單位是μs。
此種方法適合于數(shù)據(jù)交換平臺對數(shù)據(jù)源采集數(shù)據(jù)的實時性要求高、對數(shù)據(jù)的增量較為頻繁以及數(shù)據(jù)量較大的情況。
為了滿足煤炭企業(yè)不同業(yè)務(wù)部門之間的信息共享,構(gòu)建橫向部門之間的數(shù)據(jù)交換平臺架構(gòu)如圖1所示。由于各業(yè)務(wù)部門信息系統(tǒng)建設(shè)以各自業(yè)務(wù)為中心,沒有統(tǒng)一規(guī)劃和統(tǒng)一標(biāo)準(zhǔn),造成各業(yè)務(wù)部門數(shù)據(jù)資源不能順暢的流轉(zhuǎn)。為了解決這一問題,在數(shù)據(jù)轉(zhuǎn)換的時候統(tǒng)一數(shù)據(jù)格式,即在從不同業(yè)務(wù)部門提取數(shù)據(jù)之后,增加應(yīng)用服務(wù),將數(shù)據(jù)統(tǒng)一轉(zhuǎn)換為XML 文件格式,并按照數(shù)據(jù)轉(zhuǎn)換策略處理XML 文件,而后再將轉(zhuǎn)換結(jié)果存入目標(biāo)數(shù)據(jù)庫。
圖1 橫向數(shù)據(jù)交換平臺架構(gòu)
對于大型的煤炭企業(yè)集團(tuán),數(shù)據(jù)交換涉及部門較多,其子公司也是集團(tuán)化運(yùn)作,建立一個簡單的數(shù)據(jù)交換平臺是不夠的。本文設(shè)計三級交換中心,即集團(tuán)級交換中心、子公司級交換中心和子公司的礦級交換中心,滿足煤炭企業(yè)集團(tuán)與各業(yè)務(wù)部門、煤礦、子公司等業(yè)務(wù)單元縱向數(shù)據(jù)的傳輸與整合需求。
縱向部門之間的數(shù)據(jù)交換平臺架構(gòu)如圖2 所示。圖2是一個以煤炭企業(yè)集團(tuán)數(shù)據(jù)交換平臺為根節(jié)點(diǎn)的樹,下面分別建立了以各業(yè)務(wù)部門、煤礦、子公司等業(yè)務(wù)單元節(jié)點(diǎn),子公司建立二級數(shù)據(jù)交換平臺,同樣是以數(shù)據(jù)交換平臺根節(jié)點(diǎn)的子樹。要進(jìn)行數(shù)據(jù)交換的兩個業(yè)務(wù)端如果都在二級數(shù)據(jù)交換平臺下,就可以直接通過二級數(shù)據(jù)交換平臺進(jìn)行交換,減輕了集團(tuán)總部數(shù)據(jù)交換平臺數(shù)據(jù)交換壓力,提高數(shù)據(jù)交換效率。
數(shù)據(jù)交換平臺不但滿足橫向部門間的數(shù)據(jù)交換需求,同時要保障集團(tuán)總部與子公司之間的自下而上的縱向的數(shù)據(jù)交換順暢,適合大型跨地域和跨行業(yè)多級管理的煤炭企業(yè)集團(tuán)。數(shù)據(jù)交換平臺總體框架如圖3 所示,數(shù)據(jù)交換平臺由應(yīng)用服務(wù)層、應(yīng)用支撐層和傳輸層組成,應(yīng)用服務(wù)層主要包括煤炭企業(yè)的信息平臺門戶網(wǎng)站、經(jīng)營管理系統(tǒng)以及生產(chǎn)管理系統(tǒng)等各業(yè)務(wù)應(yīng)用系統(tǒng),另外本層為應(yīng)用系統(tǒng)提供了平臺管理、接收管理、發(fā)送管理、調(diào)度管理、數(shù)據(jù)管理和數(shù)據(jù)字典等功能。應(yīng)用支撐層在SOA 架構(gòu)下與應(yīng)用服務(wù)層相銜接,具有數(shù)據(jù)接收服務(wù)、數(shù)據(jù)發(fā)送服務(wù)、數(shù)據(jù)抽取服務(wù)、數(shù)據(jù)發(fā)布服務(wù)、交換調(diào)度器、郵件監(jiān)聽器、接入服務(wù)和隊列監(jiān)聽器等功能模塊,負(fù)責(zé)根據(jù)應(yīng)用系統(tǒng)的需求對數(shù)據(jù)進(jìn)行相應(yīng)的數(shù)據(jù)處理。傳輸層支持基于消息、Web Service和HTTP 等多種協(xié)議,所有的接口都以Web Service的方式接入。
圖2 縱向數(shù)據(jù)交換平臺架構(gòu)
現(xiàn)有的各業(yè)務(wù)系統(tǒng)由不同的廠商開發(fā),所采用技術(shù)架構(gòu)和開發(fā)平臺都是不同的,要想實現(xiàn)現(xiàn)有異構(gòu)信息系統(tǒng)之間的信息數(shù)據(jù)共享,數(shù)據(jù)交換平臺選擇基于SOA 建立,因為SOA 的核心理念是業(yè)務(wù)驅(qū)動,采用松耦合、靈活的體系架構(gòu)來滿足不斷變化的業(yè)務(wù)需求,并且不需要了解提供者的實現(xiàn)細(xì)節(jié)。
SOA 面向服務(wù)的體系結(jié)構(gòu)將應(yīng)用程序的不同功能模塊視為服務(wù),采用中立方式為這些服務(wù)構(gòu)建接口,實現(xiàn)它們的相互聯(lián)系。通過SOA 對企業(yè)現(xiàn)有資源進(jìn)行構(gòu)建,簡化業(yè)務(wù)流程,為企業(yè)節(jié)約大量的時間和資金。
XML文件格式目前廣泛應(yīng)用在異構(gòu)數(shù)據(jù)源的數(shù)據(jù)轉(zhuǎn)換上,XML 和以XML 為基礎(chǔ)的標(biāo)準(zhǔn) (如Web Service)已經(jīng)成為在很多企業(yè)和應(yīng)用之間交換信息的機(jī)制。
XML是一套定義語義標(biāo)記的規(guī)則,XML 是自描述性語言,具有很好的自解釋性,它不僅將文本組織成層次結(jié)構(gòu),還直接在文本中描述了自身的組織結(jié)構(gòu)。其具有以下特點(diǎn):
(1)XML 可以從HTML 中分離數(shù)據(jù),使用XML 可以在HTML文件之外存儲數(shù)據(jù);
(2)XML 數(shù)據(jù)是以純文本格式存儲的,XML提供了一種與軟件和硬件無關(guān)的數(shù)據(jù)共享方法;
(3)XML 可以充分利用數(shù)據(jù);
(4)XML 具有可擴(kuò)展性;
(5)XML 可以用于定義新的語言。
圖3 數(shù)據(jù)交換平臺總體框架
圖4 峰峰集團(tuán)數(shù)據(jù)中心總體技術(shù)架構(gòu)
編碼統(tǒng)一是企業(yè)信息化體系建設(shè)中的基礎(chǔ)性工作,信息編碼的一致性、完整性、易用性將直接影響信息系統(tǒng)的信息交互與 數(shù)據(jù)共享能力。本文通過建立核心元數(shù)據(jù)實現(xiàn)煤炭企業(yè)各業(yè)務(wù)系統(tǒng)之間信息編碼的統(tǒng)一。元數(shù)據(jù)是關(guān)于數(shù)據(jù)的數(shù)據(jù),是有關(guān)數(shù)據(jù)源定義、目標(biāo)定義和轉(zhuǎn)換規(guī)則等相關(guān)的關(guān)鍵數(shù)據(jù)。
核心元數(shù)據(jù)的構(gòu)建要抓住重大且公共為先,對煤炭企業(yè)全集團(tuán)的公共數(shù)據(jù)編碼進(jìn)行統(tǒng)一編碼時,在編制過程中應(yīng)著重解決業(yè)務(wù)影響范圍大和重要性強(qiáng)的數(shù)據(jù)編碼,如倉儲物資編碼、財務(wù)編碼以及客戶編碼等。
本文所設(shè)計的基于自主式ETL 的統(tǒng)一數(shù)據(jù)交換平臺已經(jīng)在冀中能源峰峰集團(tuán)有限公司數(shù)據(jù)中心中得以應(yīng)用,數(shù)據(jù)中心總體技術(shù)架構(gòu)如圖4所示。
系統(tǒng)總體技術(shù)架構(gòu)包括數(shù)據(jù)源、企業(yè)數(shù)據(jù)通道、ODS、DW、OLAP、前端展示和ETL,具有高度先進(jìn)性和可擴(kuò)展性,能夠滿足業(yè)務(wù)需求的不斷變化和不斷增加的需求。
[1] 劉紀(jì)敏,王曉寧,張承明.基于.net的企業(yè)信息集成的設(shè)計與應(yīng)用 [J].煤炭科學(xué)技術(shù),2006 (10)
[2] 劉開南,董立紅 .礦業(yè)安全數(shù)據(jù)源質(zhì)量評價研究[J].中國煤炭,2007 (8)
[3] 楊毅,孫超.基于數(shù)據(jù)倉庫的煤炭運(yùn)銷決策支持系統(tǒng)研究 [J].中國煤炭,2009 (2)
[4] 韓曉冰,田豐 .數(shù)字化礦山中異構(gòu)數(shù)據(jù)集成研究[J].煤炭科學(xué)技術(shù),2009 (3)
[5] 趙洪建 .煤炭企業(yè)數(shù)據(jù)中心框架研究與應(yīng)用探索[J].中國煤炭,2012 (7)
[6] 王振宇.煤炭企業(yè)智能綜合決策中心系統(tǒng)架構(gòu)研究[J].煤炭經(jīng)濟(jì)研究,2010 (2)
[7] 劉福國.基于數(shù)據(jù)挖掘的鋼球磨煤機(jī)運(yùn)行特性建模和優(yōu)化 [J].中國煤炭,2010 (5)
[8] 劉儒晨.TD 無線數(shù)據(jù)采集系統(tǒng)在煤炭行業(yè)的應(yīng)用實踐 [J].中國煤炭,2011 (5)
[9] 常弋.現(xiàn)代企業(yè)輕量級的ETL實現(xiàn)方案 [J].煤炭技術(shù),2011 (6)
[10] 徐桅,徐奇,陳海東.XML 技術(shù)在高速數(shù)據(jù)訪問接口中的應(yīng)用 [J].工礦自動化,2011 (12)
[11] 程燦廣.煤炭企業(yè)虛擬化數(shù)據(jù)中心建設(shè)研究與探討[J].煤炭經(jīng)濟(jì)研究,2012 (5)