
面向商務智能應用的分布式數據挖掘系統設計
商務智能(business intelligence,BI)是1989年由Gartner Group的Howard Dresner提出,但目前對商務智能還沒有統一的定義。一般地,商務智能被認為是將存儲于各種商業信息系統中的數據通過智能手段轉換成有用信息以幫助企業提高決策能力解決商業問題的概念、方法和技術的集合。商務智能引起了國內外企業界和軟件開發界的廣泛關注,并成為當前一個熱點研究問題。作為商務智能的重要組成部分之一的數據挖掘(dataining,DM)的研究提高到了一個新的高度,在分布式商務智能環境下,采取合適的數據挖掘系統模型和數據挖掘算法尤為重要。
Agent技術是人工智能的新興研究課題,是有效解決復雜分布式問題的計算模式之一?;贏gent技術的應用系統不僅具有一般分布式系統所具有易于擴張、靈活性強等特點,而且系統具有很強的智能性和組織能力。本文在分析商務智能分布式環境基礎上,介紹了面向商務智能的分布式數據挖掘系統應具有的基本特點,提出了一種面向商務智能應用基于Agent技術的分布式數據挖掘系統,并討論了系統各組成部分功能特點。
1 商務智能的分布式環境
商務智能的發展,先后經歷了事務處理系統、高級管理員信息系統、管理信息系統、決策支持系統和專家系統等階段,最終演變成今天的商務智能。商務智能系統,與這些信息系統相比,主要區別之一是用戶不再僅僅局限于企業的領導和決策分析人員,而是擴展到企業組織內外各類人員,即商務智能系統是面向多層次各類用戶的應用需要。這些用戶往往分布在不同部門或地區,從而使商務智能系統面向分布式應用環境。
同時,商務智能面向分布式數據環境。商務智能有效地集成企業內外部各種商業數據,并轉換成易于理解的商業知識,幫助企業內外部用戶進行科學決策,更好地實現商業目的。企業內部數據是指通過企業各種業務信息系統收集到的數據。這些數據可能分布在不同的硬件、數據庫、網絡環境中,為不同的業務部門服務。外部數據主要是市場信息和外部競爭對手信息,這些數據可以通過網絡或市場調研等手段獲得。因此,商務智能將肯定面向分布式的應用環境和數據環境。
2 面向商務智能應用的數據挖掘系統特點
為了充分利用企業內外流動的大量商業數據,企業商業智能系統必須采用數據挖掘技術實現商務知識的發現。數據挖掘是從大量數據中挖掘出隱含的、未知的、用戶可能感興趣的和對決策有價值的知識和規則。傳統的商務智能數據挖掘是采用一種集中式思想,即要求將這些分布存儲的數據收集到一個集中的地方,然后才進行知識發現、管理和決策,這樣的商務智能要求企業有高速的數據通信網絡。商務智能往往需要用戶交互以獲取參數信息,這無疑增加了集中式商務智能系統的負荷。同時,這種方式也破壞了數據的私有性和安全性。因此,數據的分布式存儲、數據的私有性和安全性、用戶頻繁的信息交互和商務智能的及時性要求等迫切需要深入研究分布式環境下的分布式數據挖掘技術。
分布式數據挖掘(distributed data mining,DDM)主要涉及到分布式數據挖掘系統模型和分布式數據挖掘算法。一個分布式數據挖掘系統是一個復雜的實體,整個系統必須提供有效的訪問分布式數據和計算資源、監控整個挖掘過程和以一定格式將挖掘結果呈現給用戶的功能。而且,一個成功的DDM系統應該具有靈活的結構,提供一個簡單的更新其組件的方式以適應變化的環境。由此可見,面向商務智能的分布式數據挖掘系統模型應該具有以下特點:①采用模塊化設計,保證系統中不同模塊可以根據需要進行靈活地增減和配置以及分布式數據挖掘系統的持續可用;②實現分布式移動數據挖掘,滿足商務智能系統中多層次用戶的多種數據挖掘需要,保證商業數據安全;③采用商務本體知識模型和通用數據描述格式實現各個站點上的分布式數據挖掘以及數據挖掘系統與其他系統的信息交互;④集成多種安全保障技術,滿足業務系統安全以及分布式數據挖掘系統自身安全需要。
3 基于Agent技術的分布式數據挖掘系統
為了滿足分布式數據挖掘的需要,三層客戶/服務器結構被應用到系統設計中,如Kensington系統和Intelliminer系統。然而,這些系統采用的體系結構本質上仍沒有改變集中式數據挖掘系統的模式,系統缺乏開放性、自主性和智能性。為了提高系統的智能性和開放性,融合不同的數據挖掘技術,許多學者將數據挖掘過程進行功能抽象,并分別由不同的Agent來完成。對于大量分散數據的數據挖掘,更多系統采用基于Agent的分布式結構模型,其中典型的應用系統如JAM系統和BODHI系統。本文充分利用移動Agent的移動性并以Agent為主要組件構造滿足商務智能需要的分布式數據挖掘系統。同時,系統中Agent按照FIPA標準設計,這樣只要增加消息轉換和服務描述注冊轉換器等部件就可以實現Agent與web services的集成,從而使得系統支持web功能。因此,整個系統具有更大的靈活性、智能性和開放性。
[page] 3.1 分布式數據挖掘系統整體結構
如圖1所示,整個商務智能系統可以整合為4個部分:用戶群、用戶接口、數據挖掘系統和企業數據庫系統。用戶通過用戶接口提交數據挖掘請求,數據挖掘系統規劃數據挖掘任務并創建裝配數據挖掘Agent。依據要求,數據挖掘Agent遷移到企業業務數據庫系統中進行數據挖掘,并提交結果給協調Agent進行綜合且按照用戶要求返回結果。
1)用戶接口 是用戶與數據挖掘系統互操作的渠道,完成用戶參數的輸入和數據挖掘結果的顯示。例如,用戶可以選擇挖掘模型(挖掘算法)、數據源、挖掘的預設流程等;用戶可以完成系統中Agent的知識和規則的更新,彌補系統知識的不足;用戶還可以選擇最終的挖掘結果的可視化形式等。
2)數據挖掘系統 是基于Agent的分布式數挖掘系統的工作流程大致為:①用戶Agent將用戶通過用戶接口提交的數據挖掘任務轉變成協調Agent可接受的挖掘任務;②協調Agent綜合環境信息規劃數據挖掘任務,創建多個裝載合適挖掘模型的移動數據挖掘Agent,并將這些移動Agent打包和序列化為數據流進行數據的網絡移動。
圖1 基于Agent技術的分布式數據挖掘系統結構
3)企業數據庫系統主要由移動Agent服務器、業務子系統和數據庫等3部分組成。這里,移動Agent服務器作為windows服務而在系統啟動時自動啟動。
3.2 數據挖掘系統
如圖1所示,數據挖掘系統由協調Agent、數據挖掘Agent、數據挖掘Agent管理器、用戶Agent、挖掘算法Agent和數據站點管理Agent組成。其中,數據挖掘Agent是移動Agent,其他功能Agent
為靜態Agent。這些Agem協調一致地工作,共同完成數據挖掘任務。
1)用戶Agent代表用戶向數據挖掘系統提出數據挖掘請求。只需要用戶提出相應的要求或者做一系列的選擇,用戶Agent就可以將用戶要求轉化為協調Agent能夠識別的命令并提交給協調Agent進行任務的計劃分配;用戶Agent還負責處理通過用戶接口輸入的系統更新信息等,如數據挖掘特定算法參數、Agent知識和規則等。該Agent除了處理用戶輸入的信息外,還需要能夠保存數據挖掘結果等輸出信息以待用戶查詢或直接提交這些信息給用戶擁有的用戶接口。
2)協調Agent主要完成下列3項任務:①任務規劃優化,主要完成數據挖掘任務的規劃,并選擇最優的規劃方案。與數據挖掘算法Agent、數據挖掘Agent管理器和數據站點管理Agent交互,得到數據挖掘算法效率功能特點、系統中挖掘Agent的功能狀態等信息來確定相應的數據挖掘方案以盡可能滿足用戶需要。該Agent還具有實時規劃能力以滿足因某個移動Agent失效而進行任務的重新規劃。②依據規劃結果,協調Agent創建并命名多個并行協同工作的裝載有挖掘模型的移動數據挖掘Agent,并將這些移動Agent的基本信息注冊到挖掘Agent管理器中。③數據挖掘整個過程的協作協調,主要協調數據挖掘過程的各個Agent以及維護系統當前的運行狀態信息等。同時,協調Agent也是系統中Agent信息交換中心,負責維護Agent之間信息的交互傳遞等。
3)數據挖掘Agent是移動Agent,由協調Agent創建,并移動到相應的數據庫系統主機上進行數據挖掘,并將自身的,其他功能Agent
為靜態Agent。這些Agem協調一致地工作,共同完成數據挖掘任務。
1)用戶Agent代表用戶向數據挖掘系統提出數據挖掘請求。只需要用戶提出相應的要求或者做一系列的選擇,用戶Agent就可以將用戶要求轉化為協調 Agent能夠識別的命令并提交給協調Agent進行任務的計劃分配;用戶Agent還負責處理通過用戶接口輸入的系統更新信息等,如數據挖掘特定算法參 數、Agent知識和規則等。該Agent除了處理用戶輸入的信息外,還需要能夠保存數據挖掘結果等輸出信息以待用戶查詢或直接提交這些信息給用戶擁有的 用戶接口。
2)協調Agent主要完成下列3項任務:①任務規劃優化,主要完成數據挖掘任務的規劃,并選擇最優的規劃方案。與數據挖掘算法Agent、數據挖掘 Agent管理器和數據站點管理Agent交互,得到數據挖掘算法效率功能特點、系統中挖掘Agent的功能狀態等信息來確定相應的數據挖掘方案以盡可能 滿足用戶需要。該Agent還具有實時規劃能力以滿足因某個移動Agent失效而進行任務的重新規劃。②依據規劃結果,協調Agent創建并命名多個并行 協同工作的裝載有挖掘模型的移動數據挖掘Agent,并將這些移動Agent的基本信息注冊到挖掘Agent管理器中。③數據挖掘整個過程的協作協調,主 要協調數據挖掘過程的各個Agent以及維護系統當前的運行狀態信息等。同時,協調Agent也是系統中Agent信息交換中心,負責維護Agent之間 信息的交互傳遞等。
3)數據挖掘Agent是移動Agent,由協調Agent創建,并移動到相應的數據庫系統主機上進行數據挖掘,并將自身的位置信息和狀態信息傳遞給挖掘 Agent管理器,將數據挖掘結果反饋給協調器以進行數據結果的融合。數據挖掘Agent運用自身攜帶的算法模型或請求協調Agent得到的算法等完成具 體的數據挖掘任務。
[page] 4)數據挖掘Agent管理器主要負責管理所有數據挖掘Agent的相關信息,這樣各種Agent通過與管理Agent交互便可以動態獲取其他Agent 的屬性信息(位置、功能等),從而與其他Agent進行交互,以獲取所需要的信息。是實現系統分布式透明性的關鍵,主要用于收集、管理、統計、查詢各種 Agent信息資源,按其功能分類或建立Agent聯盟。同時,也擔當可信任的安全認證中心,保證各Agent之間的安全通信機制。
5)數據挖掘算法Agent主要負責維護數據挖掘算法。用戶可以注冊數據挖掘算法。當算法注冊到系統中,算法Agent登記算法的元知識信息及其特點(比 如,名字、版本、輸入參數、操作環境描述和輸出格式等)。同時,算法Agent將這些信息反饋給協調Agent以便協調Agent根據數據挖掘任務選擇最 佳的算法。
6)數據站點管理Agent 主要負責企業數據庫系統Agent服務器的基本信息,如Agent服務器的啟動、停止狀態信息、位置信息以及數據源信息等。Agent服務器及時將其啟 動、停止信息注冊到數據站點管理器以便協調器合理規劃任務。為了維護Agent服務器和防止Agent服務器出現故障,往往在企業提供同步工作的 Agent服務器。
數據挖掘系統由6類功能各異協同工作的Agent組成,當接受到用戶提交的具體數據挖掘任務后,系統自動有條不紊地工作。在整個系統中,數據挖掘Agent及執其執行環境——移動Agent服務器是數據挖掘任務執行的關鍵部件。
圖2 數據挖掘Agent內部結構
3.3 數據挖掘Agent
數據挖掘Agent是一種移動Agent,每個數據挖掘Agent都是一個相對獨立的工作單元,利用其自帶的數據挖掘算法和知識庫信息等執行任務。數據挖 掘Agent封裝了描述其狀態的屬性以便當Agent移動到另一主機上重新開始工作和向數據挖掘Agent管理器返同信息。圖2給出了本系統中數據挖掘 Agent的內部結構。
1)接口模塊主要將數據挖掘Agent的內部機制與外界隔離,所有信息交流都通過該接口。該模塊包含與協調Agent和Agent服務器進行交互接口和消息的傳遞接口以及與數據源的JDBC聯接接口。
2)安全控制模塊對移動Agent自身提供保護;防止外部環境對數據挖掘Agent的非法訪問,以保證數據的正確性和合法性;完成對數據的加/解密、數字簽名等任務。
3)數據挖掘模塊首先對業務數據挖掘數據進行預處理,然后依據數據挖掘模型來對已經規范化的數據進行分析,并將分析結果傳給協調Agent以實現數據綜合。
4)路由策略確定移動數據挖掘Agent移動到企業數據庫系統主機的有序列表。對于明確的任務數據挖掘過程,可采用靜態路由策略,即數據挖掘系統中的協調Agent給定移動Agent的移動路徑,或采用基于規則的動態路由策略以滿足復雜數據挖掘任務的計算。
數據挖掘Agent中的知識庫,由協調Agent進行初始化,主要存放數據挖掘模型和其他一些必備的知識。身份信息用來標明該Agent的身份,包括該 Agent的ID號、Agent的主人、源站點、代碼在源站點上的路徑以及一些對該Agent權限進行限制的信息,這些信息均是加密的,而且在該 Agent的Java類設計中將這些屬性設置為只讀的。狀態反映的是Agent執行狀態信息、原始數據、中間數據以及數據挖掘結果。
[page] 3.4 移動Agent服務器
為了實現移動數據挖掘Agent在網絡中安全可靠地訪問不同的業務主機并在本地執行數據挖掘任務,系統中的業務主機必須提供Agent支撐環境為 Agent提供所需要的服務,包括Agent的傳輸、創建、激活、掛起、刪除以及安全管理、通信和事件服務等。本系統中,移動Agent服務器采用如圖3 所示的內部結構。
圖3 移動Agent服務器內部結構
1)ATP模塊提供Agent傳輸服務,即包括負責發送和接收移動Agent。本系統采用Java環境中的弱遷移方式,采用Agent傳輸協議 ATP(Agent transfer protocol),并在底層移動平臺上采用socket技術。系統在確認符合接受方安全要求的情況下,進行Agent的傳輸,并在由Agent安全器進 行認證和解密后將其加入到系統Agent庫中。在傳輸過程中,采用Java實現的IAIK SSL加密和認證TCP字節流,實現傳輸層上的數據加密。
2)Agent管理器是移動Agent服務器的核心部件。其主要功能是:①為系統中的所有數據挖掘Agent提供生命周期服務(創建、激活、掛起和終 止),協調和監視各個數據挖掘Agent的運行,負責記錄Agent的運行狀態,進行系統中Agent的隊列管理和持續性管理;②將Agent正常運行所 需要的各項服務正確地分配到相應的模塊,并協調本系統中各個功能模塊,為Agent提供一個完整而順暢的運行環境,使得Agent安全可靠地完成各自的任 務。
3)Agent安全管理器提供雙向的安全管理機制,一方面保證Agent本身不被惡意Agent以及執行環境的攻擊破壞,另一方面也保證主機不受惡意 Agent的攻擊,其主要功能:①負責對接收的信息和Agent進行認證與解密,負責對發送的信息與Agent進行簽名與加密,同時還負責Agent的權 限控制,其中使用存取控制權限列表ACL(access control list)來描述Agent對資源訪問權限;②采用Java線程組和類裝載器實現移動審計Agent自身的安全;③Agent訪問等安全驗證以及授權等。
4)通信管理器負責同一主機上的Agent之間以及與其他主機上的Agent之間的通信和數據交換。對于服務器中的Agent之間的通信采用Proxy方 式,具體過程為:通過Agent管理器對被請求Agent處于運行狀態的確定,通信管理器激活與被請求Agent具有相同接口的Proxy。該Proxy 訪問Agent安全管理器,并在確定該請求Agent具有訪問權限的情況下為請求Agent提供通信和數據交換服務。對于本地Agent與其他主機上的 Agent之間的通信采用Java提供的遠程方法調用RMI(remote method invocation)機制來實現。同時,使用XML來實現Agent之間的數據交互。
5)事件管理器負責管理發送給Agent或從Agent發出的注冊和通知等事件,主要為網絡上其他主機上的Agent與本系統中Agent之間的協作和事件的傳送提供支持。
6)接口模塊除ATP模塊外惟一與外部環境信息交流的接口。該模塊包含與協調Agent和Agent服務器進行交互接口和消息的傳遞接口以及不同Agent服務器中Agent之間通過RMI交互接口。
7)資源注冊器負責系統中資源的注冊服務。采用統一資源名字URN(universal resource name)來命名系統中的各種資源,如文件、打印機等。同時,資源注冊器保存有本地數據站點的有關信息,如本地數據的形式、數據庫管理系統、業務數據庫表 結構、數據范圍等。本系統中的資源訪問控制分兩級:
①系統級的資源訪問控制采用Java提供的安全控制策略,即Security Manager;②應用級資源的訪問控制采用基于Proxy的資源訪問策略。
4 結語
面向商務智能應用基于Agent技術的分布式數據挖掘系統是從多Agent系統的角度來研究商務智能環境下的分布式數據挖掘任務的計算模型。本系統充分利 用移動Agent的移動性,大大降低了系統對網絡帶寬的依賴且提高了數據挖掘過程中數據安全性,具有良好的擴展性和自組織能力,對構建基于Agent技術 的商務智能數據挖掘系統具有一定的參考意義。
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
CDA數據分析師證書考試體系(更新于2025年05月22日)
2025-05-26解碼數據基因:從數字敏感度到邏輯思維 每當看到超市貨架上商品的排列變化,你是否會聯想到背后的銷售數據波動?三年前在零售行 ...
2025-05-23在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25