占 軍 萬定生 李 宇
(河海大學計算機與信息學院 南京 210098)
水利普查是一項重大的國情國力調查,是國家資源環境調查的重要組成部分。開展水利普查是為了查清我國江河湖泊等的基本情況,掌握水資源開發、利用和保護現狀,摸清經濟,社會發展對水資源的需求,了解水利行業能力建設狀況,提高水利服務經濟社會發展的能力,實現水資源可持續開發、利用和保護,建立國家基礎水信息平臺,展現水利普查數據,為國家經濟,社會發展提供科學可靠的基礎水信息支撐和保障。我國人口眾多,資源相對緊缺,生態環境承受能力弱[1],為了準確掌握水利行業現狀和資源分布、分析水利資源當前情勢、加強資源綜合管理、評估水利資源配置合理性及需求、確立水利發展規劃等,需要從多方面、多層次清晰直觀的呈現數據。同時,作為大型數據庫服務的提供商Oracle(甲骨文)公司,提供的Oracle BIEE軟件是一個非常具有創造力的工具,在數據展現方面,為用戶提供一個完善的企業級智能系統解決方案。
基于上述背景,本文從應用的角度出發,以Oracle BIEE架構為基礎,展開對水利普查數據展現系統的構建與應用研究。

圖1 Oracle BIEE架構圖
BIEE作為Oracle商業智能平臺企業版,是整合SIEBEL和HYPERION相關的BI部分組建而成的,在Oracle整個商業智能體系架構中承擔數據分析應用和可視化展示工作。商業智能是對信息的搜集、管理和分析過程,目的是使企業的各級決策者獲得知識或洞察力(insight),促使他們做出對企業更有利的決策[2]。其中BIEE對于物理層、業務邏輯層、展現層三層模型的理解和定義創造了一個非常簡潔清晰的數據模型,使用這個數據模型可以完整地連接各個異構數據源[3],把多個數據源數據組織到一起,提供更加全面、詳細和有操作性的信息,并將涉及到的數據有效地轉化為信息、知識和智慧,通過適當的方式展現給決策者,以幫助企業提高決策能力和運營能力,增強核心競爭力,創造更多盈利的一種平臺和綜合解決方案[4]。Oracle BIEE框架主要由數據倉庫DW、BI服務器(BI Server)和BI展現服務(BI Presentation Services)組成,如圖1所示。
其中數據倉庫DW部分由數據采集、數據凈化、數據轉換、數據聚和、數據存儲五個功能塊組成[5],是面向主題的,集成的,相對穩定的數據集合[6],主要負責存儲元數據的維表及事實表信息;Oracle BI Server通過ODBC方式連接數據源,管理資料庫Repository文件,并負責編譯執行前端頁面的數據庫查詢語句并返回數據;Oracle BI Presentation Services主要負責報表目錄文件及儀表盤管理、報表權限控制以及報表日志處理等;Oracle BI Scheduler主要負責報表調度運行處理以及預警提示;Administrator Tool是BIEE應用客戶端,負責創建資料庫Repository文件,Repository相當于BIEE的元數據,但不存儲數據,而是指向數據倉庫DW存儲的元數據,其包括三層模型的物理層、業務邏輯層和展現層以及用戶管理、日志信息管理、報表調度運行管理、展示權限分配等;其中BI Server和資料庫Repository文件是整個BIEE的核心,是建立數據模型、進行數據整合、提供后臺數據服務的重要組件[3]。
BIEE資料庫Repository定義包括數據源、多維數據模型以及業務展現層三個部分,整個過程可以清晰看出底層元數據如何從源頭一步一步轉化為以特定方式展示給最終用戶,其中資料庫存儲三類元數據:數據源物理模型、邏輯模型以及展現層模型,對應于物理層、業務邏輯層和展現層的定義。資料庫定義完成,利用Oracle BI Answers(即席查詢)和Interactive Dashboards(交互式儀表盤)設計數據呈現方式。
1)物理層(Physical Layer),主要定義數據源類型和連接方式,以及數據源物理表結構、字段數據類型、物理表之間關系。一般可以建立多個不同類型的數據源,如關系型數據庫、符合XML規范的源數據、OLAP服務、Essbase、Excel等,通常一次建模,隨處部署。用戶的分析請求由分析服務組織成合適的SQL發送到對應的數據源,由數據源執行并且把組織裝配好的數據返回展現層。在物理層,可以通過“利用連接池”、“緩存查詢結果”等技術提高性能。
2)業務邏輯層(Business Model and Mapping Layer),主要定義邏輯模型并與物理模型建立映射關系,其中邏輯模型是從多個物理數據源抽象出來的多維數據模型,一般是星形、雪花模型。邏輯層相當于一個計算引擎,將物理層的復雜度抽象成邏輯主題的分析區域,主要涉及對維度、層次結構、度量、聚合規則和時間序列的設計。業務邏輯層命名以業務人員的視角重新定義,不需要和物理層相對應,比如一個表的匯總字段,可能來自物理層多個表的數據,而且對業務邏輯層的定義和修改不會對物理層以及元數據產生影響。
3)展現層(Presentation Layer),主要定義數據展現模型,展現層中的一個Catalog對應Oracle BI Answer中的一個主題區域。根據業務人員的視角設計該層結構,隱藏掉任何與技術以及模型相關的內容,刪除業務中不關心的字段來簡化視圖,比如維表和事實表的主鍵列。展現層只是從業務邏輯層獲取數據用來展示,定義時不能跨多個業務邏輯模型。不同業務人員如果需要看到不同數據,比如員工和領導所關注的數據層面不同,需要建立不同展現模型,不過它們所對應的業務邏輯模型是相同的,而且所有數據訪問都是基于角色與安全的。
即席查詢(Oracle BI Answers):以表格、透視表及圖形等多種方式可視化呈現結果數據,并且在設定維度的數據層上實現下鉆功能。此外,它提供完全即席查詢、數據透視表和報表編制,使得底層的復雜數據對業務人員完全透明。
交互式儀表盤(Interactive Dashboards):儀表盤以標簽的形式構成一個或多個頁面,顯示表格、圖片、圖標、文字等數據信息。由BI Answers建立的報表可以通過儀表盤發布,并自由編排布局,具有管理員權限的業務人員可以對儀表盤進行布局更改,通過拖拽實現儀表盤內容的增加和刪除,使其包含各種豐富的可視化圖形。儀表盤運行在基于Web的架構上,根據預先定義的安全規則,為業務人員提供針對其身份、職能或角色經過篩選的個性化信息頁面。內容豐富的交互式用戶界面使得數據展現更加直觀、相關且易于理解。此外,指導性導航和預警功能有助于業務人員獲得更高的洞察力并采取更好的措施、做出更科學有效的決策。
第一次全國水利普查包括河湖基本情況普查、水利工程基本情況普查、經濟社會用水情況調查、河湖開發治理保護情況普查、水土保持情況普查、水利行業能力建設情況普查,以及灌區和地下水取水井兩個專項普查[8],各類普查數據按照行政區劃、流域、管理單位以及水資源區等進行劃分。
在系統設計開始階段,將經過重新組織的水利普查數據儲存于數據倉庫DW中,并利用Administrator Tool設計構建三層模型結構。首先定義物理層的數據源連接,在業務邏輯層建立維度指標時,創建行政區劃和流域兩個維度,并根據行政區劃表、流域表以及事實表(以水利工程基本情況普查中的水電站工程普查匯總表H202為例)的主外鍵關系建立星形模型,最后以業務人員視角進行展現層設計。三層模型建立完成后,在BIEE提供的前端Web頁面基礎上,利用BI Answer工具和儀表盤設計數據展現方式,下面主要介紹系統數據流程和功能結構兩個方面。
系統數據流分為數據倉庫DW、BI Server、Presentation Server三個部分。數據倉庫DW存儲水利普查數據的維表和事實表信息;BI Server主要管理資料庫Repository文件中的三層模型信息;Presentation Server主要管理Presentation Catalog目錄中的報表、儀表盤[9]信息。系統數據流程如圖2所示。

圖2 系統數據流程圖
功能結構主要分為數據源定義、維度指標定義、雪花或星形模型定義、用戶管理等,前端數據展現主要基于BIEE Web頁面的B/S架構。功能結構如圖3所示。

圖3 系統功能結構圖
3.2.1 物理層定義
以行政區劃表(ADDVCD)和水電站工程普查匯總表(H202)為例,描述Administrator Tool中物理層的設計過程。主要定義各個數據源描述,如數據源類型(各種關系數據庫或各種多維數據立方體)、數據源連接方式(指定對應數據源的連接信息:用戶名、密碼、端口等)以及數據源的數據定義(包括表結構以及表之間關系)。在本系統中,數據源只有一個,包括事實表(如水電站工程普查匯總表)和相對應的維表兩個部分,表之間的關系在定義數據源信息后一并導入到物理層,最后將字段名重命名為對應的中文名。
3.2.2 業務邏輯層定義
將上一步定義的物理模型拖拽到業務邏輯層定義區域,把物理層的數據源以業務人員的視角重新組織元數據,根據數據表主外鍵關系構建星形或雪花模型。對于每個維表,建立相應的邏輯維,并設計建立邏輯維的層次結構(hierarchy)以及事實表度量(measure)。在本系統中,以行政區劃維表為例,首先創建行政區劃維表的具有基于級別的層次的邏輯維(ADDVCD_Dim),根據業務需求,在ADDVCD_Dim創建三個層次結構,分別為Province(省級)、City(市級)、Country(縣級),將維表中的字段拖拽到對應的層次下,并定義各層主鍵,最后在行政區劃維表Source中指定ADDVCD_Dim中各個層次的關系及數據聚合方式(求和)。邏輯維定義完成后,即可在此維度上實現數據下鉆功能,比如查看完廣東省水電站工程普查情況,點擊廣東省,實現下鉆到所屬廣東省各市的數據,點擊市級,實現下鉆到相關縣級的數據。
3.2.3 展現層定義
將定義完成的業務邏輯模型拖拽到展現層區域,展現層是BIEE中面向業務人員的界面,一般以最終業務人員的詞匯語言進行描述,并且需要隱藏業務人員不關心的技術,比如維表一般需要一個邏輯主鍵來定義事實表和維表的連接關系,而這個主鍵沒有任何的業務含義。在展現層中可以通過定義多個展現模型來滿足不同的業務需求。在本系統中,為了有利于業務人員設計開發報表,以業務人員熟悉的描述語言重命名字段名稱,如重命名ADDVCD維表為行政區劃。
3.2.4 數據展現設計
登錄BIEE提供的前端Web頁面,展現層中定義的主題模型對應于頁面左上方的主題區域,根據主題的維表和事實表通過拖拽方式設計數據展現。為了能夠多方面清晰展現數據,BIEE提供了數據表、折線圖、柱狀圖、餅圖、數據透視表等樣式,同時對業務人員的頁面請求進行數據約束,讓其進行有效操作,避免不必要的麻煩。在本系統中,由于水利普查數據本身的局限性,沒有時間序列上連續性的數據,用數據表格、柱狀圖或圓餅圖可以更方便、簡潔的展現數據。通常業務人員利用BI Answer開發設計報表并保存在BIEE應用特定文件夾下,最后統一集成到儀表盤展示,并在儀表盤中設置一些儀表盤選擇器[10],提供查詢條件,然后設計其查詢結果的呈現方式,無論是數據表還是圖的展示方式,BIEE都支持切片、切塊以及下鉆的功能[11]。
本系統數據展現設計的具體步驟如下:以省級層次和水電站的工程規模大小為例,首先通過拖拽把行政區劃維表的省級字段以及水電站工程信息表中工程規模大1型、工程規模大2型、工程規模中型、工程規模小1型、工程規模小2型放到分析區域中,點擊結果,以默認表格形式展現省份(廣東?。┻@個層次對應的水電站工程信息,在此基礎上可以設計增加相應的柱狀圖或圓餅圖以更直觀地展現數據,因為設計業務邏輯模型時,在行政區劃邏輯維建立了省級、市級、縣級三個層次,所以行政區劃維表的數據以超鏈接形式存在,點擊當前表格中的省份(廣東?。r,表格中呈現當前省份下屬市級的數據,實現下鉆功能。
基于全國水利普查數據,利用BIEE工具搭建展現系統平臺,業務人員在Web頁面通過拖拽、組合需要關注的分析字段就能夠開發符合業務需求的報表,并通過儀表盤配置出可視化圖形,充分體現了此系統直觀、簡潔、靈活、快捷等優點;同時,將報表的開發設計交給業務人員,可以大大提高數據展現應用的效率,充分體現了BIEE商業智能的優勢。
設計完成的儀表盤存儲于BIEE應用的特定目錄,可以通過特定URL鏈接訪問儀表盤,并實現已經設計完成的查詢及下鉆功能。效果如圖4所示。

圖4 設計完成的儀表盤
在現有J2EE系統的基礎上,通過URL鏈接形式嵌入利用BIEE開發的報表及儀表盤,該系統部署在中心服務器,把數據展現的開發設計和展現工作分開,負責分析匯總的業務人員通過訪問服務器的J2EE系統查看已有的報表。
URL鏈接代碼如下:

代碼中http://121.248.200.5是BIEE應用所在服務器的IP地址,Path=/shared/sample/report是 BIEE報表的存放地址路徑,weblogic和admin123456分別是登錄BIEE Web應用的用戶名和密碼。
Oracle BIEE為水利普查數據展現提供了一套完整的解決方案,具有清晰的三層模型結構和方便的展現工具。開發人員只需在后臺定義元數據,創建資料庫,業務人員不需要了解內部數據及相關技術,即可根據展現模型所定義的字段以一種可視化、簡單的方式開發出符合業務需求的數據報表。
本系統可以為初步建立規范、統一的國家基礎水信息平臺、推進水信息化和現代化奠定堅實基礎,如果此技術應用到中國水利行業信息化建設,無疑可以提供巨大的推進力。當然,從數據組織匯總,到通信網絡,再到數據展現,還有很多需要研究和改進的地方。在水利行業中,信息技術的革新沒有終點,比如基于GIS技術的數據展現、海量水利普查數據高性能計算等,這些都是以后需要研究的方向。
[1]郭索彥.第一次全國水利普查水土保持普查總體設計[J].中國水利,2010(9):61-64.
[2]劉軍,段卉君,吳艷.基于BI的人保財險業務系統的設計與研究[J].計算機與數字工程,2008,36(12):100-101.
[3]劉飛躍,徐新茹,徐萍.Oracle BIEE的概述與應用[J].中山大學學報:自然科學版,2009,8(3):344-346.
[4]丁萍.商務智能技術在企業競爭中的應用[J].陜西科技大學學報:自然科學版,2004,22(4):134-136.
[5]趙景林.數據倉庫的體系結構與設計策略[J].計算機工程與設計,2011,22(3):54-56.
[6]朱銘杰.數據倉庫設計與展現[J].計算機光盤軟件與應用,2011(9):171-172.
[7]馬成勇,陳雁飛,楊慧.嵌入式移動數據庫Oracle Lite應用研究[J].計算機與數字工程,2008,36(9).
[8]黃火鍵.第十九講:水利普查(一)第一次全國水利普查對象內容和步驟[J].中國水利,2010(9):56-58.
[9]Oracle business intelligence enterprise edition release 10.1.3[EB/OL].http://www.oracle.com,2006.
[10]Mark Rittman,Joel Crisp.Intelligence and identity[EB/OL].http://www.oracle.com,2008,1.
[11]BLASUM B.Business Rules and Business Intelligence[J].DM Review Magazine,2007:55-57.