摘 要:介紹了基于數據網格的商務智能應用的相關概念和關鍵技術,重點討論了基于數據網格的商務智能的體系結構和基本過程。
關鍵詞:數據網格; 商務智能; Globus; 開放網格服務結構—數據訪問與集成; 可擴展標記語言
中圖分類號:TN915.5文獻標志碼:A
文章編號:1001—3695(2007)03—0200—03
隨著網絡技術和信息技術的快速發展,商務智能在企業的業務處理、績效管理和決策支持等方面都發揮了重要的作用。在實際應用中,企業的數據通常存儲在各種不同的數據庫中,并且分布在不同的地方。為了充分利用這些數據資源,通常的做法是建立數據倉庫,將各個數據庫中的數據整合后統一存儲,以備查詢分析所用。雖然數據倉庫具有面向主題和集成性的優點,但是整合數據需要花費大量的時間和資源,并且在實際應用中,廣域分布的各種數據資源通常是動態變化的,數據具有分布性和動態性的特點。對于這些不斷變化的數據,數據倉庫不可能做到實時更新,無法滿足對數據的實效性和準確性的要求。數據網格技術在這方面恰恰具有獨特的優勢,應用數據網格技術可以不改變各數據庫的存儲方式,直接提取其中的數據,屏蔽了數據庫之間的結構差異;通過網絡直接訪問其中的數據,實現了對分布式數據庫的統一操作。因此,為了提高從分布式異構數據庫中獲取信息的效率,考慮在數據網格的基礎上搭建商務智能平臺,使企業能更高效地利用各種信息資源,提高企業的競爭力。
1 相關概念
1.1 數據網格
數據網格(Data Grid)是網格環境下共享和管理分布式數據資源的大規模、可擴展的體系結構,它適應數據密集型應用對網格環境下的數據共享和處理的需要,為用戶提供了透明訪問遠程異構數據資源的機制[1]。
數據網格主要研究在廣域、異構、分布環境下如何對數據進行管理,如何從地理分布的各種異構數據資源中獲取數據。數據網格可以看作是位于應用程序和底層存儲系統之間的中間件。它為應用程序提供一致的管理并使用存儲系統界面,屏蔽廣域操作的復雜性和廣域網絡上存儲系統的異構性[1]。數據網格提供了一種如何方便高效地使用分布式異構數據資源的解決方案。
1.2 商務智能
商務智能(Business Intelligence)是對商業信息的收集、管理和分析過程,目的是使企業的各級決策者獲得知識或洞察力,幫助他們作出對企業更有利的決策[2]。其工作原理主要是通過對數據進行抽取、清洗、聚類、挖掘等分析處理來產生可透析的各種展示數據。這些數據可直觀地顯示分析者所探詢的某種經營屬性或市場規律。
商務智能可以看成是一種解決方案[3]。在它的幫助下,企業可以通過充分挖掘現有的數據資源,捕獲和分析信息,幫助企業管理者作出更好的商業決策。這不僅可以從中發現市場規律、預測未來的發展趨勢、預測和監控風險,而且還能輔助決策者發現新的利潤增長點,優化企業資源,從而幫助企業更加穩健地實現經營和管理的目標。
2 關鍵技術
2.1 Globus中間件系統
Globus是美國Argonne國家實驗室的研發項目,全美有12所大學和研究機構參與了該項目。Globus對資源管理、安全、信息服務及數據管理等網格計算的關鍵理論進行研究,開發能在各種平臺上運行的網格計算工具軟件(Toolkit),幫助規劃和組建大型網格試驗平臺,開發適合大型網格系統運行的應用程序。Globus是有效支持網格計算環境與網格應用的中間件系統,它為數據網格提供了一個運行環境。Globus的組成部分包括網格安全基礎設施、資源分配管理、元計算目錄服務、全局二級存儲服務、網格FTP服務和復制管理[4]。
網格安全基礎設施負責廣域網絡下的安全認證和加密通信,提供單點登錄、遠地身份鑒別、數據傳輸加密等功能,是保證網格計算環境安全性的核心部分,為廣域分布的數據庫系統提供了安全可靠的數據訪問和數據傳輸。資源分配管理負責遠程應用的資源請求處理、遠程任務調度處理、遠程任務管理等工作,是網格環境中的任務執行中心。網格FTP服務是一個高性能、安全可靠的數據傳輸協議,并針對廣域網絡環境進行優化,具備支持第三方傳輸、斷點續傳、并行傳輸等特征,為數據網格提供高效的數據傳輸服務。數據復制管理具有負責產生一個數據包的全部或部分數據拷貝,將新拷貝注冊到復制文件目錄中等功能。
2.2 OGSA—DAI數據訪問服務
OGSA(Open Grid Services Architecture,開放網格服務結構)是一個面向服務的網格體系結構,它是Web Services與Grid技術結合的產物。它建立在網格服務的基礎上,將一切都抽象為服務,包括計算資源、存儲資源、網絡、程序、數據庫、儀器設備等。這種觀念有利于通過統一的標準接口來管理和使用網格,確保異構系統間的互操作性[4]。
OGSA—DAI(OGSA Data Access and Integration)是由IBM、Oracle與愛丁堡、曼徹斯特和紐卡斯爾大學共同合作的項目。它的主要目標是開發一種開源的數據庫訪問和集成的中間件,以滿足英國國家電子科學中心對發展網格和網格相關應用的需要[5]。
OGSA—DAI服務使用三種主要的服務類型[6]:
(1)DAISGR(DAI Service Group Registry,DAI服務組注冊),用于發現數據資源。
(2)GDSF(Grid Data Service Factory,網格數據服務工廠),用于聲明數據資源。
(3)GDS(Grid Data Service,網格數據服務),用于存取數據資源。
圖1是OGSA—DAI服務框架,用以說明三種服務類型之間的關系。
OGSA—DAI具有許多適用于數據網格應用的特點。它可以避免不必要的數據移動,為異構數據資源(如關系型數據庫、XML數據庫、文本文件等)提供公共接口,并且使用的語言獨立于客戶端應用程序。
2.3 XML技術
XML(eXtensible Markup Language)是一種用來描述數據的語言,提供獨立運行程序的方法來共享數據,不同的人能夠使用共同的DTD(Document Type Definition,文檔類型定義)來交換數據。XML能夠使不同來源的數據很容易地結合在一起,解決了數據的統一接口問題。
3 基于數據網格的商務智能系統
網絡環境下的各種數據資源分布在地理位置不同的各個地方,并且數據本身也是動態變化的。針對數據資源的這種分布性和動態性特點,基于數據網格的商務智能系統可以不再局限于傳統的集中式數據存儲方式,而是通過網格平臺直接操作各種數據資源,使商務智能應用具有分布性、動態性和自適應性等特點。
3.1 基于數據網格的商務智能系統的體系結構
基于數據網格的商務智能系統采用分布式組件架構,組件之間可以實現互相通信和數據交換。這種基于分布式組件技術的體系結構具有更大的彈性,包括集成不同協議和應用程序接口;能夠提高系統的抽象性、可靠性和可擴充性。采用上面介紹的相關技術,可以在Globus平臺上部署OGSA—DAI服務,使商務智能應用程序通過數據網格服務提供的一組接口對底層數據資源進行統一操作。
基于數據網格的商務智能系統體系結構可分為三個層次:最底層是各種分布式異構的數據資源,包括Oracle、SQL Ser—ver、MySQL等關系型數據庫、XML數據庫以及文本文件等;中間層是由OGSA—DAI與Globus構成的數據網格中間件,它統一管理底層數據資源,屏蔽各種數據源之間的差異,為商務智能應用程序提供透明訪問底層數據資源的接口;最上層是商務智能應用程序,它可以采用標準的SQL語言向數據網格中間件發出查詢請求,由數據網格中間件對各種數據資源進行操作,商務智能應用程序負責對其提交的查詢結果進行分析處理。由于OGSA—DAI服務返回的數據為XML文檔,加入XML文檔處理程序對其進行解析。
圖2是基于數據網格的商務智能系統體系結構。它基本描述了在數據網格框架下應用商務智能的工作過程和執行機制。
3.2 基于數據網格的商務智能應用的基本過程
根據上面描述的基于數據網格的商務智能系統體系結構,基于數據網格的商務智能應用的基本過程分為以下幾步:(1)將OGSA—DAI服務裝載到Globus平臺上,形成數據網格中間件。負責接受商務智能應用程序的調用,通過標準的SQL語句對各分布式異構數據庫進行操作。
(2)將各種數據庫資源部署到OGSA—DAI服務中。通過OGSA—DAI的GUI把遠程的Oracle、MySQL、SQL Server等數據庫資源注冊到OGSA—DAI服務中,用來接收OGSA—DAI的操作。
(3)商務智能應用程序采用標準的SQL語言向OGSA—DAI發出各種查詢請求。
(4)OGSA—DAI將查詢得到的結果提交給XML文檔處理程序。XML文檔處理程序負責解析查詢得到的XML文檔,并以適當的表示方式將數據傳送給商務智能應用程序。
(5)商務智能應用程序對XML文檔處理程序提交的數據進行統一的分析處理。
4 基于數據網格的商務智能應用實例
下面給出一個基于數據網格的商務智能應用例子。它實現了基本的遠程服務部署、數據庫操作、商務智能處理等功能。
某大型連鎖企業擁有數家分店,具有分布的異構數據庫,存儲各自的交易信息。企業為了了解客戶群體具有的某些特征,需要對所有客戶數據進行分析處理。由于各分店數據量較大而且是異構存儲,把數據移植到數據倉庫中進行統一處理的成本較高。可以考慮采用數據網格的相關技術對分布式異構數據庫中的數據進行智能分析處理。具體方法如下:
(1)構建數據網格中間件。下載Globus Toolkit 4(GT4)軟件包并安裝在Eclipse開發工具上,然后再將GT4部署到Tomcat下,搭建好Globus平臺。下載OGSA—DAI軟件包并將其裝載到Globus平臺上,通過OGSA—DAI的圖形化用戶界面將各分店的遠程數據庫資源部署到OGSA—DAI服務中。
(2)開發商務智能應用程序。采用CLIQUE聚類算法[7]對客戶的購買數量、購買金額、購買頻率等信息進行分析,將客戶分成小型客戶、一般客戶、中等客戶和重點客戶。企業可以針對不同類型的客戶制定不同的銷售策略,故商務智能工具能夠為企業的經營決策提供一定支持。
(3)在商務智能應用程序與數據網格中間件之間建立接口,使商務智能應用程序可以通過標準的SQL語言向數據網格中間件發出查詢請求,實現對各分店數據資源的透明訪問。
(4)應用XML文檔處理程序使數據網格中間件能夠向商務智能應用程序傳遞形式一致的遠程數據資源。對OGSA—DAI服務查詢返回的XML文檔進行解析,將解析后的數據傳送給商務智能應用程序進行分析處理。
該體系結構可以在各分店數據不斷更新的情況下,對分布式異構數據庫中的數據進行實時分析處理。應用數據網格的相關技術,能夠提高數據處理的質量和效率,使商務智能更有效地發揮作用。
5 結束語
本文介紹了基于數據網格的商務智能應用。結合Globus、OGSA—DAI、XML、數據挖掘等技術,提出了基于數據網格的商務智能應用的體系結構及其基本過程。這種結構將數據網格服務與商務智能系統緊密結合起來,有效地解決了商務智能應用程序對分布式異構數據庫進行統一操作的問題,極大地擴展了數據網格的應用領域和商務智能的有效性。隨著數據網格和商務智能技術的不斷提高,基于數據網格的商務智能將會得到廣泛的應用。
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。