標準性
係統的設計和開發遵循國際標準和行業標準;符合CRISP-DM規定的數據挖掘項目實施的過程流程標準,遵循ole for dm規範中挖掘模型和操作原語;使用DMX作為用戶的接口來驅動數據挖掘過程。
良好的可擴展性
係統支持多個層麵的可擴展性,通過快速開發/重組、參數配置等多個方麵使得係統可以實現客戶未來不斷變化的需求;係統有合理的層次結構;要有較強的擴展能力,可快速方便的插入新算法;係統要求支持平台無關性,能夠適應多種主流主機平台、數據庫平台、中間件平台,具有較強的跨係統平台的能力。係統能適應不同的網絡結構,可根據業務的發展靈活擴展硬件產品。
2.2係統架構體係
根據架構分析和設計思想產生係統的架構圖,並對架構圖進行描述,說明分層的原因、層次的職責。首先從係統整體架構來闡述,然後對數據挖掘服務器進一步分層,模塊化,並完整說明每層實現的功能。
2.3係統整體架構
上麵的架構圖由:數據層、挖掘服務器層、驅動層和客戶層組成。
數據層:由業務係統的各個數據庫或數據倉庫組成。通過ODBC或相應的驅動為挖掘服務器層提供數據支持。
挖掘服務器層:實現對數據進行預處理,包括主成分分析、抽樣、過濾、投影、離散等,創建、訓練、評估模型,預測,修改模型參數,刪除規則,刪除模型等一係列功能。本層通過Socket與上麵的驅動層交互,接收驅動層的DMX語句,執行完成後作出響應並返回結果到上一層。
驅動層:根據客戶層的具體平台分為JAVA驅動和C++驅動,驅動層提供API接口供客戶端調用。類似於數據庫係統中的JDBC驅動和ODBC驅動。
客戶層:處於係統的最上層。係統最終用戶的使用界麵和設備。包括基於瀏覽器的瘦客戶端和基於GUI的胖客戶端應用。
3、數據挖掘服務器架構
本架構圖是對服務器客戶端架構的進一步分層,模塊化後的描述。上麵的架構圖由數據源接口層、核心服務層、傳輸層和用戶驅動(接口)層組成。
數據源接口層:提供獲取數據的接口。
核心服務層:由許多核心服務單元組成,包括會話管理、DMX解析、DMX引擎、算法、模型管理、內存管理、異步框架、持久化管理、並發控製、異常處理和計算與排序緩衝區等。
傳輸層:用於獲取上層的輸入,並向上層返回結果。
用戶驅動(接口)層:用戶使用DMX語句提交給本層完成模型管理、模型訓練、模型預測等功能。
4、模塊概要設計
4.1內存管理
4.1.1服務器內存。係統內存主要分為3塊:係統管理模型和規則的內存,用於排序及其它計算操作的緩衝區內存,用戶連接私有內存。
內容管理的目標是實現:不產生內存碎片;內存不會泄露;內存分配和刪除要快;盡量做到總是有內存可用。
4.1.2大數據量支持。數據挖掘服務器提供對巨大數據量的支持。當然,有些算法對於大數據量是沒有意義的,比如說神經網絡,這是由算法本身的特征決定的。數據挖掘服務器可以支持大量數據,但也有可能導致計算量的急劇增加,所以相應的計算機也應該比較強勁。用戶可以通過一個參數MaxMemoryBuffer來設置某一次處理可以使用的最大內存,如果所需內存超過這個數值,係統將使用用戶的硬盤空間來處理數據,所以如果用戶希望有比較大的內存,希望優化性能的話可以設大這個參數,盡可能將數據在內存處理。
4.1.3客戶端數據集。BI係統往往工作在巨大的數據量的環境中。所以挖掘服務器是以效率為優先考慮設計的,盡量使用更少的內存,更少的代碼來加快執行速度。挖掘服務器的驅動中,結果集有三種數據緩衝類型,對應著不同的用戶需求和資源(內存)需求的選項:不緩衝數據集,緩衝一行數據集(包括該行的所有子表),緩衝整個數據集。