占 軍 萬定生 李 宇
(河海大學(xué)計算機(jī)與信息學(xué)院 南京 210098)
水利普查是一項重大的國情國力調(diào)查,是國家資源環(huán)境調(diào)查的重要組成部分。開展水利普查是為了查清我國江河湖泊等的基本情況,掌握水資源開發(fā)、利用和保護(hù)現(xiàn)狀,摸清經(jīng)濟(jì),社會發(fā)展對水資源的需求,了解水利行業(yè)能力建設(shè)狀況,提高水利服務(wù)經(jīng)濟(jì)社會發(fā)展的能力,實(shí)現(xiàn)水資源可持續(xù)開發(fā)、利用和保護(hù),建立國家基礎(chǔ)水信息平臺,展現(xiàn)水利普查數(shù)據(jù),為國家經(jīng)濟(jì),社會發(fā)展提供科學(xué)可靠的基礎(chǔ)水信息支撐和保障。我國人口眾多,資源相對緊缺,生態(tài)環(huán)境承受能力弱[1],為了準(zhǔn)確掌握水利行業(yè)現(xiàn)狀和資源分布、分析水利資源當(dāng)前情勢、加強(qiáng)資源綜合管理、評估水利資源配置合理性及需求、確立水利發(fā)展規(guī)劃等,需要從多方面、多層次清晰直觀的呈現(xiàn)數(shù)據(jù)。同時,作為大型數(shù)據(jù)庫服務(wù)的提供商Oracle(甲骨文)公司,提供的Oracle BIEE軟件是一個非常具有創(chuàng)造力的工具,在數(shù)據(jù)展現(xiàn)方面,為用戶提供一個完善的企業(yè)級智能系統(tǒng)解決方案。
基于上述背景,本文從應(yīng)用的角度出發(fā),以O(shè)racle BIEE架構(gòu)為基礎(chǔ),展開對水利普查數(shù)據(jù)展現(xiàn)系統(tǒng)的構(gòu)建與應(yīng)用研究。
圖1 Oracle BIEE架構(gòu)圖
BIEE作為Oracle商業(yè)智能平臺企業(yè)版,是整合SIEBEL和HYPERION相關(guān)的BI部分組建而成的,在Oracle整個商業(yè)智能體系架構(gòu)中承擔(dān)數(shù)據(jù)分析應(yīng)用和可視化展示工作。商業(yè)智能是對信息的搜集、管理和分析過程,目的是使企業(yè)的各級決策者獲得知識或洞察力(insight),促使他們做出對企業(yè)更有利的決策[2]。其中BIEE對于物理層、業(yè)務(wù)邏輯層、展現(xiàn)層三層模型的理解和定義創(chuàng)造了一個非常簡潔清晰的數(shù)據(jù)模型,使用這個數(shù)據(jù)模型可以完整地連接各個異構(gòu)數(shù)據(jù)源[3],把多個數(shù)據(jù)源數(shù)據(jù)組織到一起,提供更加全面、詳細(xì)和有操作性的信息,并將涉及到的數(shù)據(jù)有效地轉(zhuǎn)化為信息、知識和智慧,通過適當(dāng)?shù)姆绞秸宫F(xiàn)給決策者,以幫助企業(yè)提高決策能力和運(yùn)營能力,增強(qiáng)核心競爭力,創(chuàng)造更多盈利的一種平臺和綜合解決方案[4]。Oracle BIEE框架主要由數(shù)據(jù)倉庫DW、BI服務(wù)器(BI Server)和BI展現(xiàn)服務(wù)(BI Presentation Services)組成,如圖1所示。
其中數(shù)據(jù)倉庫DW部分由數(shù)據(jù)采集、數(shù)據(jù)凈化、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)聚和、數(shù)據(jù)存儲五個功能塊組成[5],是面向主題的,集成的,相對穩(wěn)定的數(shù)據(jù)集合[6],主要負(fù)責(zé)存儲元數(shù)據(jù)的維表及事實(shí)表信息;Oracle BI Server通過ODBC方式連接數(shù)據(jù)源,管理資料庫Repository文件,并負(fù)責(zé)編譯執(zhí)行前端頁面的數(shù)據(jù)庫查詢語句并返回數(shù)據(jù);Oracle BI Presentation Services主要負(fù)責(zé)報表目錄文件及儀表盤管理、報表權(quán)限控制以及報表日志處理等;Oracle BI Scheduler主要負(fù)責(zé)報表調(diào)度運(yùn)行處理以及預(yù)警提示;Administrator Tool是BIEE應(yīng)用客戶端,負(fù)責(zé)創(chuàng)建資料庫Repository文件,Repository相當(dāng)于BIEE的元數(shù)據(jù),但不存儲數(shù)據(jù),而是指向數(shù)據(jù)倉庫DW存儲的元數(shù)據(jù),其包括三層模型的物理層、業(yè)務(wù)邏輯層和展現(xiàn)層以及用戶管理、日志信息管理、報表調(diào)度運(yùn)行管理、展示權(quán)限分配等;其中BI Server和資料庫Repository文件是整個BIEE的核心,是建立數(shù)據(jù)模型、進(jìn)行數(shù)據(jù)整合、提供后臺數(shù)據(jù)服務(wù)的重要組件[3]。
BIEE資料庫Repository定義包括數(shù)據(jù)源、多維數(shù)據(jù)模型以及業(yè)務(wù)展現(xiàn)層三個部分,整個過程可以清晰看出底層元數(shù)據(jù)如何從源頭一步一步轉(zhuǎn)化為以特定方式展示給最終用戶,其中資料庫存儲三類元數(shù)據(jù):數(shù)據(jù)源物理模型、邏輯模型以及展現(xiàn)層模型,對應(yīng)于物理層、業(yè)務(wù)邏輯層和展現(xiàn)層的定義。資料庫定義完成,利用Oracle BI Answers(即席查詢)和Interactive Dashboards(交互式儀表盤)設(shè)計數(shù)據(jù)呈現(xiàn)方式。
1)物理層(Physical Layer),主要定義數(shù)據(jù)源類型和連接方式,以及數(shù)據(jù)源物理表結(jié)構(gòu)、字段數(shù)據(jù)類型、物理表之間關(guān)系。一般可以建立多個不同類型的數(shù)據(jù)源,如關(guān)系型數(shù)據(jù)庫、符合XML規(guī)范的源數(shù)據(jù)、OLAP服務(wù)、Essbase、Excel等,通常一次建模,隨處部署。用戶的分析請求由分析服務(wù)組織成合適的SQL發(fā)送到對應(yīng)的數(shù)據(jù)源,由數(shù)據(jù)源執(zhí)行并且把組織裝配好的數(shù)據(jù)返回展現(xiàn)層。在物理層,可以通過“利用連接池”、“緩存查詢結(jié)果”等技術(shù)提高性能。
2)業(yè)務(wù)邏輯層(Business Model and Mapping Layer),主要定義邏輯模型并與物理模型建立映射關(guān)系,其中邏輯模型是從多個物理數(shù)據(jù)源抽象出來的多維數(shù)據(jù)模型,一般是星形、雪花模型。邏輯層相當(dāng)于一個計算引擎,將物理層的復(fù)雜度抽象成邏輯主題的分析區(qū)域,主要涉及對維度、層次結(jié)構(gòu)、度量、聚合規(guī)則和時間序列的設(shè)計。業(yè)務(wù)邏輯層命名以業(yè)務(wù)人員的視角重新定義,不需要和物理層相對應(yīng),比如一個表的匯總字段,可能來自物理層多個表的數(shù)據(jù),而且對業(yè)務(wù)邏輯層的定義和修改不會對物理層以及元數(shù)據(jù)產(chǎn)生影響。
3)展現(xiàn)層(Presentation Layer),主要定義數(shù)據(jù)展現(xiàn)模型,展現(xiàn)層中的一個Catalog對應(yīng)Oracle BI Answer中的一個主題區(qū)域。根據(jù)業(yè)務(wù)人員的視角設(shè)計該層結(jié)構(gòu),隱藏掉任何與技術(shù)以及模型相關(guān)的內(nèi)容,刪除業(yè)務(wù)中不關(guān)心的字段來簡化視圖,比如維表和事實(shí)表的主鍵列。展現(xiàn)層只是從業(yè)務(wù)邏輯層獲取數(shù)據(jù)用來展示,定義時不能跨多個業(yè)務(wù)邏輯模型。不同業(yè)務(wù)人員如果需要看到不同數(shù)據(jù),比如員工和領(lǐng)導(dǎo)所關(guān)注的數(shù)據(jù)層面不同,需要建立不同展現(xiàn)模型,不過它們所對應(yīng)的業(yè)務(wù)邏輯模型是相同的,而且所有數(shù)據(jù)訪問都是基于角色與安全的。
即席查詢(Oracle BI Answers):以表格、透視表及圖形等多種方式可視化呈現(xiàn)結(jié)果數(shù)據(jù),并且在設(shè)定維度的數(shù)據(jù)層上實(shí)現(xiàn)下鉆功能。此外,它提供完全即席查詢、數(shù)據(jù)透視表和報表編制,使得底層的復(fù)雜數(shù)據(jù)對業(yè)務(wù)人員完全透明。
交互式儀表盤(Interactive Dashboards):儀表盤以標(biāo)簽的形式構(gòu)成一個或多個頁面,顯示表格、圖片、圖標(biāo)、文字等數(shù)據(jù)信息。由BI Answers建立的報表可以通過儀表盤發(fā)布,并自由編排布局,具有管理員權(quán)限的業(yè)務(wù)人員可以對儀表盤進(jìn)行布局更改,通過拖拽實(shí)現(xiàn)儀表盤內(nèi)容的增加和刪除,使其包含各種豐富的可視化圖形。儀表盤運(yùn)行在基于Web的架構(gòu)上,根據(jù)預(yù)先定義的安全規(guī)則,為業(yè)務(wù)人員提供針對其身份、職能或角色經(jīng)過篩選的個性化信息頁面。內(nèi)容豐富的交互式用戶界面使得數(shù)據(jù)展現(xiàn)更加直觀、相關(guān)且易于理解。此外,指導(dǎo)性導(dǎo)航和預(yù)警功能有助于業(yè)務(wù)人員獲得更高的洞察力并采取更好的措施、做出更科學(xué)有效的決策。
第一次全國水利普查包括河湖基本情況普查、水利工程基本情況普查、經(jīng)濟(jì)社會用水情況調(diào)查、河湖開發(fā)治理保護(hù)情況普查、水土保持情況普查、水利行業(yè)能力建設(shè)情況普查,以及灌區(qū)和地下水取水井兩個專項普查[8],各類普查數(shù)據(jù)按照行政區(qū)劃、流域、管理單位以及水資源區(qū)等進(jìn)行劃分。
在系統(tǒng)設(shè)計開始階段,將經(jīng)過重新組織的水利普查數(shù)據(jù)儲存于數(shù)據(jù)倉庫DW中,并利用Administrator Tool設(shè)計構(gòu)建三層模型結(jié)構(gòu)。首先定義物理層的數(shù)據(jù)源連接,在業(yè)務(wù)邏輯層建立維度指標(biāo)時,創(chuàng)建行政區(qū)劃和流域兩個維度,并根據(jù)行政區(qū)劃表、流域表以及事實(shí)表(以水利工程基本情況普查中的水電站工程普查匯總表H202為例)的主外鍵關(guān)系建立星形模型,最后以業(yè)務(wù)人員視角進(jìn)行展現(xiàn)層設(shè)計。三層模型建立完成后,在BIEE提供的前端Web頁面基礎(chǔ)上,利用BI Answer工具和儀表盤設(shè)計數(shù)據(jù)展現(xiàn)方式,下面主要介紹系統(tǒng)數(shù)據(jù)流程和功能結(jié)構(gòu)兩個方面。
系統(tǒng)數(shù)據(jù)流分為數(shù)據(jù)倉庫DW、BI Server、Presentation Server三個部分。數(shù)據(jù)倉庫DW存儲水利普查數(shù)據(jù)的維表和事實(shí)表信息;BI Server主要管理資料庫Repository文件中的三層模型信息;Presentation Server主要管理Presentation Catalog目錄中的報表、儀表盤[9]信息。系統(tǒng)數(shù)據(jù)流程如圖2所示。
圖2 系統(tǒng)數(shù)據(jù)流程圖
功能結(jié)構(gòu)主要分為數(shù)據(jù)源定義、維度指標(biāo)定義、雪花或星形模型定義、用戶管理等,前端數(shù)據(jù)展現(xiàn)主要基于BIEE Web頁面的B/S架構(gòu)。功能結(jié)構(gòu)如圖3所示。
圖3 系統(tǒng)功能結(jié)構(gòu)圖
3.2.1 物理層定義
以行政區(qū)劃表(ADDVCD)和水電站工程普查匯總表(H202)為例,描述Administrator Tool中物理層的設(shè)計過程。主要定義各個數(shù)據(jù)源描述,如數(shù)據(jù)源類型(各種關(guān)系數(shù)據(jù)庫或各種多維數(shù)據(jù)立方體)、數(shù)據(jù)源連接方式(指定對應(yīng)數(shù)據(jù)源的連接信息:用戶名、密碼、端口等)以及數(shù)據(jù)源的數(shù)據(jù)定義(包括表結(jié)構(gòu)以及表之間關(guān)系)。在本系統(tǒng)中,數(shù)據(jù)源只有一個,包括事實(shí)表(如水電站工程普查匯總表)和相對應(yīng)的維表兩個部分,表之間的關(guān)系在定義數(shù)據(jù)源信息后一并導(dǎo)入到物理層,最后將字段名重命名為對應(yīng)的中文名。
3.2.2 業(yè)務(wù)邏輯層定義
將上一步定義的物理模型拖拽到業(yè)務(wù)邏輯層定義區(qū)域,把物理層的數(shù)據(jù)源以業(yè)務(wù)人員的視角重新組織元數(shù)據(jù),根據(jù)數(shù)據(jù)表主外鍵關(guān)系構(gòu)建星形或雪花模型。對于每個維表,建立相應(yīng)的邏輯維,并設(shè)計建立邏輯維的層次結(jié)構(gòu)(hierarchy)以及事實(shí)表度量(measure)。在本系統(tǒng)中,以行政區(qū)劃維表為例,首先創(chuàng)建行政區(qū)劃維表的具有基于級別的層次的邏輯維(ADDVCD_Dim),根據(jù)業(yè)務(wù)需求,在ADDVCD_Dim創(chuàng)建三個層次結(jié)構(gòu),分別為Province(省級)、City(市級)、Country(縣級),將維表中的字段拖拽到對應(yīng)的層次下,并定義各層主鍵,最后在行政區(qū)劃維表Source中指定ADDVCD_Dim中各個層次的關(guān)系及數(shù)據(jù)聚合方式(求和)。邏輯維定義完成后,即可在此維度上實(shí)現(xiàn)數(shù)據(jù)下鉆功能,比如查看完廣東省水電站工程普查情況,點(diǎn)擊廣東省,實(shí)現(xiàn)下鉆到所屬廣東省各市的數(shù)據(jù),點(diǎn)擊市級,實(shí)現(xiàn)下鉆到相關(guān)縣級的數(shù)據(jù)。
3.2.3 展現(xiàn)層定義
將定義完成的業(yè)務(wù)邏輯模型拖拽到展現(xiàn)層區(qū)域,展現(xiàn)層是BIEE中面向業(yè)務(wù)人員的界面,一般以最終業(yè)務(wù)人員的詞匯語言進(jìn)行描述,并且需要隱藏業(yè)務(wù)人員不關(guān)心的技術(shù),比如維表一般需要一個邏輯主鍵來定義事實(shí)表和維表的連接關(guān)系,而這個主鍵沒有任何的業(yè)務(wù)含義。在展現(xiàn)層中可以通過定義多個展現(xiàn)模型來滿足不同的業(yè)務(wù)需求。在本系統(tǒng)中,為了有利于業(yè)務(wù)人員設(shè)計開發(fā)報表,以業(yè)務(wù)人員熟悉的描述語言重命名字段名稱,如重命名ADDVCD維表為行政區(qū)劃。
3.2.4 數(shù)據(jù)展現(xiàn)設(shè)計
登錄BIEE提供的前端Web頁面,展現(xiàn)層中定義的主題模型對應(yīng)于頁面左上方的主題區(qū)域,根據(jù)主題的維表和事實(shí)表通過拖拽方式設(shè)計數(shù)據(jù)展現(xiàn)。為了能夠多方面清晰展現(xiàn)數(shù)據(jù),BIEE提供了數(shù)據(jù)表、折線圖、柱狀圖、餅圖、數(shù)據(jù)透視表等樣式,同時對業(yè)務(wù)人員的頁面請求進(jìn)行數(shù)據(jù)約束,讓其進(jìn)行有效操作,避免不必要的麻煩。在本系統(tǒng)中,由于水利普查數(shù)據(jù)本身的局限性,沒有時間序列上連續(xù)性的數(shù)據(jù),用數(shù)據(jù)表格、柱狀圖或圓餅圖可以更方便、簡潔的展現(xiàn)數(shù)據(jù)。通常業(yè)務(wù)人員利用BI Answer開發(fā)設(shè)計報表并保存在BIEE應(yīng)用特定文件夾下,最后統(tǒng)一集成到儀表盤展示,并在儀表盤中設(shè)置一些儀表盤選擇器[10],提供查詢條件,然后設(shè)計其查詢結(jié)果的呈現(xiàn)方式,無論是數(shù)據(jù)表還是圖的展示方式,BIEE都支持切片、切塊以及下鉆的功能[11]。
本系統(tǒng)數(shù)據(jù)展現(xiàn)設(shè)計的具體步驟如下:以省級層次和水電站的工程規(guī)模大小為例,首先通過拖拽把行政區(qū)劃維表的省級字段以及水電站工程信息表中工程規(guī)模大1型、工程規(guī)模大2型、工程規(guī)模中型、工程規(guī)模小1型、工程規(guī)模小2型放到分析區(qū)域中,點(diǎn)擊結(jié)果,以默認(rèn)表格形式展現(xiàn)省份(廣東?。┻@個層次對應(yīng)的水電站工程信息,在此基礎(chǔ)上可以設(shè)計增加相應(yīng)的柱狀圖或圓餅圖以更直觀地展現(xiàn)數(shù)據(jù),因?yàn)樵O(shè)計業(yè)務(wù)邏輯模型時,在行政區(qū)劃邏輯維建立了省級、市級、縣級三個層次,所以行政區(qū)劃維表的數(shù)據(jù)以超鏈接形式存在,點(diǎn)擊當(dāng)前表格中的省份(廣東省)時,表格中呈現(xiàn)當(dāng)前省份下屬市級的數(shù)據(jù),實(shí)現(xiàn)下鉆功能。
基于全國水利普查數(shù)據(jù),利用BIEE工具搭建展現(xiàn)系統(tǒng)平臺,業(yè)務(wù)人員在Web頁面通過拖拽、組合需要關(guān)注的分析字段就能夠開發(fā)符合業(yè)務(wù)需求的報表,并通過儀表盤配置出可視化圖形,充分體現(xiàn)了此系統(tǒng)直觀、簡潔、靈活、快捷等優(yōu)點(diǎn);同時,將報表的開發(fā)設(shè)計交給業(yè)務(wù)人員,可以大大提高數(shù)據(jù)展現(xiàn)應(yīng)用的效率,充分體現(xiàn)了BIEE商業(yè)智能的優(yōu)勢。
設(shè)計完成的儀表盤存儲于BIEE應(yīng)用的特定目錄,可以通過特定URL鏈接訪問儀表盤,并實(shí)現(xiàn)已經(jīng)設(shè)計完成的查詢及下鉆功能。效果如圖4所示。
圖4 設(shè)計完成的儀表盤
在現(xiàn)有J2EE系統(tǒng)的基礎(chǔ)上,通過URL鏈接形式嵌入利用BIEE開發(fā)的報表及儀表盤,該系統(tǒng)部署在中心服務(wù)器,把數(shù)據(jù)展現(xiàn)的開發(fā)設(shè)計和展現(xiàn)工作分開,負(fù)責(zé)分析匯總的業(yè)務(wù)人員通過訪問服務(wù)器的J2EE系統(tǒng)查看已有的報表。
URL鏈接代碼如下:
代碼中http://121.248.200.5是BIEE應(yīng)用所在服務(wù)器的IP地址,Path=/shared/sample/report是 BIEE報表的存放地址路徑,weblogic和admin123456分別是登錄BIEE Web應(yīng)用的用戶名和密碼。
Oracle BIEE為水利普查數(shù)據(jù)展現(xiàn)提供了一套完整的解決方案,具有清晰的三層模型結(jié)構(gòu)和方便的展現(xiàn)工具。開發(fā)人員只需在后臺定義元數(shù)據(jù),創(chuàng)建資料庫,業(yè)務(wù)人員不需要了解內(nèi)部數(shù)據(jù)及相關(guān)技術(shù),即可根據(jù)展現(xiàn)模型所定義的字段以一種可視化、簡單的方式開發(fā)出符合業(yè)務(wù)需求的數(shù)據(jù)報表。
本系統(tǒng)可以為初步建立規(guī)范、統(tǒng)一的國家基礎(chǔ)水信息平臺、推進(jìn)水信息化和現(xiàn)代化奠定堅實(shí)基礎(chǔ),如果此技術(shù)應(yīng)用到中國水利行業(yè)信息化建設(shè),無疑可以提供巨大的推進(jìn)力。當(dāng)然,從數(shù)據(jù)組織匯總,到通信網(wǎng)絡(luò),再到數(shù)據(jù)展現(xiàn),還有很多需要研究和改進(jìn)的地方。在水利行業(yè)中,信息技術(shù)的革新沒有終點(diǎn),比如基于GIS技術(shù)的數(shù)據(jù)展現(xiàn)、海量水利普查數(shù)據(jù)高性能計算等,這些都是以后需要研究的方向。
[1]郭索彥.第一次全國水利普查水土保持普查總體設(shè)計[J].中國水利,2010(9):61-64.
[2]劉軍,段卉君,吳艷.基于BI的人保財險業(yè)務(wù)系統(tǒng)的設(shè)計與研究[J].計算機(jī)與數(shù)字工程,2008,36(12):100-101.
[3]劉飛躍,徐新茹,徐萍.Oracle BIEE的概述與應(yīng)用[J].中山大學(xué)學(xué)報:自然科學(xué)版,2009,8(3):344-346.
[4]丁萍.商務(wù)智能技術(shù)在企業(yè)競爭中的應(yīng)用[J].陜西科技大學(xué)學(xué)報:自然科學(xué)版,2004,22(4):134-136.
[5]趙景林.數(shù)據(jù)倉庫的體系結(jié)構(gòu)與設(shè)計策略[J].計算機(jī)工程與設(shè)計,2011,22(3):54-56.
[6]朱銘杰.數(shù)據(jù)倉庫設(shè)計與展現(xiàn)[J].計算機(jī)光盤軟件與應(yīng)用,2011(9):171-172.
[7]馬成勇,陳雁飛,楊慧.嵌入式移動數(shù)據(jù)庫Oracle Lite應(yīng)用研究[J].計算機(jī)與數(shù)字工程,2008,36(9).
[8]黃火鍵.第十九講:水利普查(一)第一次全國水利普查對象內(nèi)容和步驟[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.