摘要:針對當前數據挖掘軟件中普遍存在的功能耦合過于緊密#65380;資源共享程度不高#65380;軟件難以重用#65380;可擴展性不好等問題,提出了一種面向服務的數據挖掘平臺(SODMP)的概念模型,并給出了SODMP平臺的設計方案。該平臺由DM應用#65380;DM服務代理#65380;DM服務#65380;操作系統接口四部分組成,在結構上實現了應用與服務的分離,具有開放#65380;靈活#65380;易重用#65380;易擴展等特點。
關鍵詞:體系結構; 面向服務; 數據挖掘; 軟件平臺
中圖分類號:TP31文獻標志碼:A
文章編號:1001-3695(2008)02-0440-03
0引言
隨著計算機應用的普及以及計算機技術的飛速發(fā)展,各行各業(yè)均積累了大量的業(yè)務數據。越來越多的企業(yè)管理者意識到這些業(yè)務數據中蘊涵著豐富的有價值的知識,充分發(fā)掘出這些知識將可以對企業(yè)決策起到很好的輔助作用。因此,數據挖掘作為知識發(fā)現領域中的一個核心技術一直是眾多學者研究的熱點。數據挖掘包括了分類#65380;聚類#65380;關聯規(guī)則#65380;序列模式等幾個類別機器學習算法。在國外,數據挖掘已經在金融#65380;保險#65380;醫(yī)療#65380;電信等許多行業(yè)投入了應用。在國內,已經有很多數據挖掘技術的理論,但數據挖掘軟件的實際應用則剛剛起步[1,2]。
隨著互聯網的普及以及Web技術的不斷成熟,面向服務的體系結構(service oriented architecture,SOA)成為近年來軟件模式研究領域的一個新熱點。Gartner的最新報告顯示,2006年將有60%以上的企業(yè)考慮以SOA為指導原則來設計關鍵任務應用和流程;到2008年,SOA將為80%的新開發(fā)項目提供實施基礎[3]。
目前,市場上已有很多流行的數據挖掘軟件,主要為國外產品,如SAS的Enterprise Miner#65380;SPSS的Clementine以及IBM的Intelligent Miner等。這些數據挖掘軟件基本均為用戶提供了一些經典的和部分自行研究的數據挖掘算法,但在數據預處理和結果可視化方面提供的功能則較為有限。這樣一來,用戶要使用這些數據挖掘軟件,往往要借助其他工具和方法完成大量的數據預處理工作。更值得關注的是,出于競爭等多方面原因,這些商業(yè)數據挖掘軟件內部功能模塊之間基本都是緊耦合關系。每個算法與其分析結果的可視化功能緊緊綁定在一起,沒有向用戶提供調用接口,用戶除了接受軟件廠商制定的所有使用規(guī)則外別無選擇。這些軟件也不會為用戶提供功能的擴展接口。用戶只能使用現有的算法,無法通過增添其他算法來擴展軟件功能,也不可能在幾種軟件之間進行功能的優(yōu)化重組。因此,如何設計一個松散耦合的#65380;支持功能模塊的重用和優(yōu)化重組且容易擴展的數據挖掘平臺成為一個值得研究的問題。
文獻[4]將數據挖掘與服務率技術應用到SOA中,提出了一個擴展的SOA架構,通過對服務和服務使用的挖掘來解決服務的發(fā)現和自動編排問題,并引入服務率作為對服務質量的評價參考。文獻[5]提出了一個面向服務的知識發(fā)現體系結構——SOA4KD,重點研究了基于自然語言的知識發(fā)現需求獲取方法和知識發(fā)現服務質量測度方法,但要求用戶的需求限制在一個有限的集合內。文獻[6]提出一種與平臺無關的數據挖掘服務中心,具有一定的靈活性和可重用性,但沒有論述如何進行功能的擴展。這些不足正是本文研究的出發(fā)點。
1相關背景研究
1.1面向服務的體系結構
服務就是定義好的#65380;可供調用的業(yè)務功能單元[7]。面向服務的體系結構是一種架構方式,其目的是實現相互作用的軟件功能單元之間的松散耦合[8]。SOA的基本思想是以服務為核心,將企業(yè)的IT資源整合成可操作的#65380;基于標準的服務,使其能被重新組合和應用[9]。這種重新組合,使那些原本趨于閑置的IT資源重新發(fā)揮作用,從而使企業(yè)的資源得到優(yōu)化,并煥發(fā)出新的生機。
如圖1所示,面向服務的體系結構主要由三部分組成:a)服務請求者(service consumer)。它是服務的消費者,負責向服務代理查找自己需要的服務;b)服務提供者(service provider)。它是服務的生產者,負責將自己能夠提供的服務發(fā)布到服務代理;c)服務代理(service broker)。它相當于一個中介機構,負責將服務提供者發(fā)布的服務編成目錄,供服務請求者查找。服務請求者通過服務代理一旦查到自己需要的服務,就直接與服務提供者綁定,并使用服務提供者提供的服務。服務代理的增加在一定程度上實現了服務請求者與服務提供者間的松散耦合,實現了服務接口的標準化,同時也實現了服務的標準化。服務請求者只需要向服務代理描述清楚自己需要的服務應滿足的條件,而不用關心該項服務由誰來提供;同時,服務提供者只負責將自己提供的服務發(fā)布到服務代理,并按照代理要求提供服務,而不必關心該項服務將提供給誰。SOA尤其適合分布式環(huán)境下基于Web技術的資源整合和重用。
1.2數據挖掘的流程
數據挖掘就是從大量存儲在數據庫#65380;數據倉庫或其他信息庫的數據中發(fā)現有趣知識的過程[10]。不同的研究機構,對數據挖掘流程的劃分方法略有不同。SAS的數據挖掘方法論SEMMA將數據挖掘過程分為五個階段,即sample(數據采集)#65380;explore(數據處理)#65380;modify(數據分析)#65380;model(建立模型)#65380;access(評估模型)[11]。在業(yè)界,CRISP-DM(cross-industry standard process for data mining,交叉行業(yè)數據挖掘過程標準)是公認的#65380;較有影響的方法論[12]。它由SPSS#65380;NCR以及DaimlerChrysler三個公司在1996開始提出,是數據挖掘公司和使用數據挖掘軟件的企業(yè)一起制定的數據挖掘過程標準。CRISP-DM將數據挖掘的整個過程分為六個階段[13],即業(yè)務理解#65380;數據理解#65380;數據準備#65380;建立模型#65380;評估模型和發(fā)布模型(圖2)。
2面向服務的數據挖掘平臺概念模型
2.1模型構成
本文提出一種面向服務的數據挖掘平臺(service oriented data mining platform,SODMP),概念模型如圖3所示,主要由DM應用#65380;DM服務代理#65380;DM服務三部分組成。
DM應用包括了各種具體的數據挖掘應用項,是服務的請求者角色;DM服務代理包括了各種服務的調度#65380;目錄維護和管理,充當服務的中間代理角色;DM服務提供了各種所需的功能服務,是服務的提供者。
2.2模型特點
SODMP平臺通過使用服務代理,實現了服務請求者與服務提供者間的分離,同時也實現了兩者在調用關系上的松散耦合。這種松散耦合對數據挖掘流程中各部分功能的重用#65380;優(yōu)化和擴展有著非同尋常的意義:
a)對DM應用而言,新應用的創(chuàng)建部署不再需要全部重寫分析算法,只需向服務代理發(fā)出關于請求服務的描述,最大程度地使用現有的服務,因而,應用擴展變得簡單方便。此外,可能有多個服務單元提供相同的服務,當某一服務單元功能故障時,可以調度其他的服務單元來替換,使服務變得更加可靠。
b)對DM服務而言,同一個服務模塊可以同時為多個應用提供服務,大大提高了功能的重用程度和軟件的利用率;同時,只要遵循統一的接口標準,新的服務項可以方便地添加到平臺中,使平臺的功能可以方便地擴展。另外,不同階段(如預處理階段#65380;分析階段和可視化階段)的服務還可以自由組合,實現資源的優(yōu)化重組。
3面向服務的數據挖掘平臺設計
SODMP平臺體系結構如圖4所示,主要由以下四個部分組成:
a)DM應用。DM應用層是SOA架構中服務的請求者(service consumer),也是平臺與用戶交互的接口層。它發(fā)出各種各樣的數據挖掘服務需求,并以服務請求的方式通過統一的通信接口發(fā)送到DM服務代理;同時不必考慮平臺能夠提供什么樣的服務,只需將服務需求按照既定格式發(fā)送出去,等待響應。
b)DM服務代理。DM服務代理層充當了SOA中服務代理者(service broker)的角色,主要作用是在數據挖掘應用與服務之間搭起一座橋梁,起到中介的作用。DM服務代理由六部分組成:
(a)請求處理器。它負責接收DM應用層發(fā)來的各種應用請求,并通過安全管理模塊對請求者身份的合法性進行驗證,同時對請求語法等信息進行初步校驗和處理。
(b)安全管理。它負責維護合法訪問者的身份信息,對請求者的身份合法性進行驗證。已經通過身份驗證和語法校驗的服務請求,將進一步轉交給服務路由器進行處理。
(c)服務路由器。它負責服務的尋址#65380;調度和綁定。首先它通過服務轉換器將接收到的服務請求轉換為內部可識別的標準服務描述格式,然后查詢服務管理器,確認服務注冊目錄中是否存在請求的服務。一旦找到需要的服務,服務管理器會將服務地址和端口號返回給服務路由器,服務路由器再選擇合適的服務適配器將服務請求與相應的服務綁定起來。如果服務管理器找不到請求的服務,則返回消息給路由器,并通過請求處理器返回給DM應用層。
(d)服務轉換器。它負責將服務請求轉換為服務管理器可識別的標準服務描述格式。
(e)服務管理器。它負責服務項目的注冊#65380;注銷#65380;更新維護等管理任務。DM服務層定義好的服務,會通過指定的服務適配器及時注冊發(fā)布到服務管理器的服務目錄中。對于DM服務層已經注銷的服務功能,服務管理器會及時從服務目錄表中將其刪除。
(f)服務適配器。它是在DM服務層和DM服務代理層間建立通信通道,維持通信功能。DM服務代理有效地支持了整個數據挖掘平臺的開放性#65380;可重用性和可擴展性,使服務功能的重用和擴展變得簡單可行。
c)DM服務。DM服務層充當了SOA中服務的提供者(service provider),主要由以下四個部分組成:
(a)預處理組件庫。它集成了多種數據預處理模型組件,每種預處理模型組件均有自己的服務描述和定義,對外提供數據預處理服務。每個預處理組件的集成遵循統一的集成標準,新的預處理組件只要符合相應標準,就可以集成到預處理組件模型庫,從而實現了預處理組件庫的開放性和可擴展性。
(b)挖掘分析組件庫。由分類#65380;聚類#65380;關聯規(guī)則#65380;時間序列等不同類別的挖掘算法組件組成。同樣,每種算法組件也有對應的服務描述和定義,借此實現算法對外的服務功能。所有的挖掘算法組件遵循統一的集成標準,以保證新的分析算法能夠方便地集成到算法庫,從而保證挖掘算法庫具有良好的開放性和可擴展性。
(c)可視化組件庫。它提供了多種可視化組件,用于對數據挖掘分析結果進行可視化展示,以增進知識的可理解性。可視化組件庫中的所有組件按照統一的標準進行集成,以保證可視化功能的開放性和可擴展性。
(d)服務定義。主要負責對預處理組件#65380;挖掘分析組件#65380;可視化組件提供的服務采用統一的方式進行描述和定義,對外提供了統一的服務調用方法,提供了對組件進行面向服務包裝的功能。
d)操作系統接口。操作系統接口層提供了SODMP平臺運行于多種操作系統的接口功能,使平臺能夠實現對UNIX/Linux#65380;Windows#65380;Solaris等多種操作環(huán)境的友好支持。
4結束語
本文介紹了面向服務的軟件體系結構和當前數據挖掘軟件的分析流程。針對當前數據挖掘軟件結構上存在的難以重用#65380;難以擴展等問題,提出了一種面向服務的數據挖掘平臺(SODMP)的概念模型;分析了模型的構成及特點;提出了SODMP平臺的設計方案。通過使用數據挖掘服務代理,從結構上實現了數據挖掘服務的使用者與提供者之間的松散耦合,有效地支持了數據挖掘軟件功能的開放性#65380;可重用性和可擴展性。
參考文獻:
[1]石杰楠.數據挖掘研究綜述[J].航天制造技術,2005(4):30-34.
[2]周勇.數據挖掘技術發(fā)展綜述[J].中國科技信息,2005(16):35.
[3]SOA改變IT產業(yè)格局[J].軟件世界,2006(8).
[4]CHEN Ying, COHEN B. Data mining and service rating in service-oriented architectures to improve information sharing[C]//Proc of IEEE, Aerospace Conference. 2005:1-11.
[5]楊立,左春,王裕國.面向服務的知識發(fā)現體系結構研究與實現[J].計算機學報,2005,28(4):445-457.
[6]印鑒,陳憶群,張鋼.基于CWM的數據挖掘服務中心設計[J].計算機工程與應用,2004,40(32):177-180.
[7]陳雷.面向服務的體系架構(SOA)[EB/OL].[2004].http://mphy.ustc.edu.cn/highenergy/grid1/SOAcn.-ppt.
[8]HAO H. What is service-oriented architecture[EB/OL].[2003].http://webservices.xml.com/pub/a/ws/2003/09/30/s-oa.html.
[9]魏桂英.電力信息整合SOA是必由之路[J].每周電腦報, 2005(31):34-35.
[10]HAN Jia-wei, KAMBER M. Data mining: concepts and techniques[M].北京:機械工業(yè)出版社,2001.
[11]彭茹.關聯規(guī)則的數據挖掘系統結構及模型的研究[J].北京城市學院學報,2005(4):82-86.
[12]匡宏波.DM的方法論[EB/OL].[2003].http://media.ccidnet.com/media/ccu/551/03501.htm.
[13]CHAPMAN P, CLINTON J, KERBER R. CRISP-DM process model[EB/OL].[2000].http://www.crisp-dm.org/Process/index.htm.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”