[摘 要] 本文從分析軍需物資油料信息化建設的現狀入手,指出建設軍需物資油料數據倉庫的必要性;分析了軍需物資油料數據倉庫的數據來源,構建了系統總體框架;從確定主題域#65380;邏輯模型設計#65380;物理模型設計#65380;ETL設計幾個步驟詳細闡述了該系統的設計過程#65377;
[關鍵詞] 軍需;物資;油料;數據倉庫
[中圖分類號]F270.7;TP311[文獻標識碼]A[文章編號]1673-0194(2009)03-0066-02
經過多年努力,我軍信息化建設已取得了飛速發展#65377;以軍需物資油料部門為例,各業務部門均以骨干業務為中心,開發了相關的管理信息系統#65377;這些MIS系統的應用在部隊的管理活動中發揮了重要作用,但是也暴露出了不少問題,主要體現在業務管理系統都是面向底層的業務處理,不能對中高層的決策支持提供幫助#65377;為了克服上述困難,進一步提高軍需物資油料信息化管理水平和綜合保障能力,有必要以原有各單位開發的信息系統為基礎進行數據整合,搭建集OLAP#65380;數據挖掘于一體的數據分析環境,為部隊首長動態掌握戰區保障力量和保障資源提供服務,同時為后續的聯勤保障決策支持系統提供信息支撐#65377;
1 數據源分析
構建軍需物資油料數據倉庫所需數據主要來源于3個方面:
(1)已聯網業務信息系統#65377;這類系統采用的都是Oracle數據庫#65377;
(2)未聯網業務信息系統#65377;這類系統采用的數據庫不統一,但多集中于SQL Server#65380;Foxpro#65380;Access等中小型數據庫,但也有少數系統選用了Oracle數據庫#65377;
(3)Excel電子文檔#65377;部分數據目前還未開發相關的業務信息系統進行集中管理,對此類數據,助理員一般是將其輸入到制式的Excel電子表格,定期上報或下發#65377;
2 系統總體構架
在軍需物資油料數據倉庫系統開發中,以Oracle為數據庫管理系統,以功能強大的Weblogic作為應用服務器,通過J2EE實現數據倉庫和Web服務器集成,為用戶搭建了良好的技術環境#65377;系統整體結構如圖1所示#65377;

3 設計數據倉庫
軍需物資油料數據倉庫是在現有的各業務信息系統基礎上進行開發的,它著眼于有效地提取#65380;綜合#65380;集成和挖掘已有的數據庫資源,服務于決策分析的需要#65377;數據倉庫系統開發是一個不斷循環#65380;反饋而使系統不斷增長與完善的過程,在整個開發過程中自始至終都要求分析人員#65380;開發者以及業務人員的共同參與和密切合作#65377;結合軍需物資油料領域現有的業務系統實際情況,軍需物資油料數據倉庫的設計包括以下幾個步驟#65377;
3. 1確定主題域
數據倉庫中的數據是面向主題組織的#65377;主題對應著某一宏觀分析領域所涉及的分析對象,是針對某一決策問題而設置的#65377;
針對需求,系統劃分為保障力量#65380;保障資源和供應管理3個主題,具體內容如圖2所示#65377;

3. 2邏輯模型設計
在確定主題后,需要對主題包含的信息進行詳細定義#65377;利用維度建模的方法進行數據建模,選擇一種數據模型對相關主題的事實表和維表的關系詳細定義,使其能夠有效地組織數據倉庫中的數據#65377;
3. 2. 1選擇建模方法
基于用戶的要求,分析主題域,著重于某個主題,設計多維數據結構的事實表和維表#65377;星形結構數據模型已被證實在數據倉庫設計中是靈活的#65380;有效的,它在查詢響應時間和存儲空間上都表現良好,本系統采用星形模式來表達事實表和維表之間的邏輯關系#65377;
3. 2. 2確定粒度層次劃分
粒度是維劃分的單位,體現著數據單元的詳細程度和級別#65377;數據越詳細,粒度越小,級別越低;數據綜合程度越高,粒度越大,級別越高#65377;在軍需物資油料數據倉庫中,考慮到決策者對庫存數據的近實時性要求,時間維的粒度精確到小時,即時間段劃分為年#65380;季度#65380;月#65380;周#65380;日#65380;小時6層;方向維的粒度劃分為作戰方向#65380;軍區#65380;分部#65380;庫站4層#65377;
3. 2. 3關系模式的定義
數據倉庫的每個主題都是由多個表來實現的,這些表之間依靠主題的公共碼聯系在一起,形成一個完整的主題#65377;關系模式的定義就是對選定的主題進行模式劃分,形成多個表,并確定各個表的關系模式#65377;
3. 3物理模型設計
物理數據模型主要解決如何組織和存儲數據,以滿足系統處理的要求#65377;建立物理模型是一個從邏輯模型向更加具體的#65380;依賴于系統和數據庫平臺的物理形式轉化的過程,它主要包括了事實表設計#65380;維數設計#65380;數據分區#65380;索引設計#65380;完整性約束設計#65380;實體化視圖設計等方面#65377;
對于記錄龐大的事實表,采用Oracle數據庫提供的分區表(Partition Table)進行管理,一般按方向和時間兩個要素進行分區#65377;而訪問頻繁且記錄少的維表(如各種代碼表)則設計為高速緩存表(Cache Table),讓數據在首次讀取時駐留在系統內存中,以加快后續數據存取速度#65377;索引的建立也在物理設計中完成#65377;在軍需物資油料數據倉庫中,設計了大量的基于函數的索引(Function Based Index,即FBI),FBI的本質是一種預計算處理,即對用戶在查詢中所需的中間結果進行預計算,這樣可以大大提高復雜查詢的效率,減少用戶等待時間和提高系統并發度#65377;以油料收發作業為例,系統中需根據開票時間進行頻繁查詢,通過在開票時間字段上建立FBI,可提高查詢效率#65377;對包含聚集與多表連接等的復雜操作,系統構建了物化視圖,以提高此類操作的響應速度#65377;
3. 4ETL設計
ETL,即數據抽取(Extract)#65380;清洗(Cleanse)#65380;轉換(Transform)#65380;裝載(Load)的過程,是構建數據倉庫的重要環節#65377;ETL工具的設計主要從自身項目的適應程度和二次開發等方面來考慮#65377;其設計框架見圖3#65377;

4 結束語
該系統的建立,為軍需物資油料系統搭建了綜合的#65380;面向分析的環境,為決策者能夠作出更加科學的決策提供了良好的信息基礎#65377;并且在數據倉庫的基礎上,運用OLAP聯機分析處理工具支持用戶進行多維的分析,提供多視角查詢#65380;分析#65380;預測和制作動態圖表,從而達到幫助用戶輕松#65380;有效完成信息分析的目的#65377;今后的工作主要包括兩方面:一是擴大數據倉庫的范圍,建立起包括軍需#65380;物資#65380;油料#65380;交通#65380;衛勤在內的聯勤綜合數據倉庫;二是加大數據挖掘的力度,依托數據倉庫構建決策支持系統,為決策者提供準確#65380;完備的信息支持#65377;
主要參考文獻
[1] W H Inmon. Building the Data Warehouse[M]. NewYork:Third Edition John Wiley Sons Inc,2002.
[2] Thomas Kyte.Effective Oracle by Design:Design and Build High-performance Oracle Application[M]. NewYork:The McGraw-Hill Companies,2003.
[3] Thomas Kyte. Expert One-on-One Oracle[M]. Berkeley,CA:Apress,2003.
[4] Thomas Kyte. Expert Oracle Database Architecture[M]. Berkeley,CA:Apress,2005.
[5] 王駿. 構建數據倉庫實例[J]. 計算機工程與設計,2006(10):3663-3665.
[6] 田揚戈,邊馥芩. 空間數據倉庫的ETL研究[J]. 武漢大學學報:自然科學版,2007(4):363-365.
[7] 吳飛,邢桂芬,邢玉萍. 基于本體的ETL設計研究[J]. 計算機工程與設計,2007(4):1517-1519.