基于關(guān)聯(lián)規則的醫生診療數據挖掘系統的實(shí)現
ARFDW 系統架構模型如圖1 所示。首先,對被挖掘對象進(jìn)行充分分析,確定挖掘主題及數據來(lái)源,通過(guò)挖掘主題配置工具創(chuàng )建挖掘主題及關(guān)聯(lián)維度,并生成相應數據庫表及數據記錄映射對象;其次,通過(guò)數據源配置工具對等待抽取的數據源數據的相關(guān)連接格式參數進(jìn)行配置,數據源配置好后系統會(huì )將輸入的數據通過(guò)數據對象化工具轉換為統一的XML 描述數據格式,并根據映射在基礎數據庫中創(chuàng )建數據保存表記錄;再次,通過(guò)轉換任務(wù)元數據配置工具生成數據轉換規則及對應目標主題,該部分實(shí)現需要用到功能節點(diǎn)以及設定任務(wù)中各個(gè)功能節點(diǎn)的執行流程。配置好的任務(wù)將在任務(wù)列表中列出,可以手動(dòng)執行,也可以通過(guò)總控調度配置自動(dòng)執行。數據經(jīng)過(guò)ETL處理后會(huì )加載到挖掘庫對應的主題中去。最后,通過(guò)基于關(guān)聯(lián)規則的挖掘算法對目標數據進(jìn)行挖掘,并將條件的規則保存到規則庫。

2.3 ARFDW框架實(shí)現
整個(gè)系統框架結構按照分層設計、實(shí)現?,F對關(guān)鍵層的實(shí)現進(jìn)行逐一描述。
數據持久層采用Hibernate,負責存儲、更新、刪除數據庫記錄等。Hibernate是一個(gè)用來(lái)處理O/R Mapping的持久層框架。技術(shù)本質(zhì)上是一個(gè)提供數據庫服務(wù)的中間件,該中間件屏蔽了不同數據庫之間的差異。它的工作原理是通過(guò)文件把值對象和數據庫表之間建立起一個(gè)映射關(guān)系,這樣,只需要通過(guò)操作這些值對象和Hibernate提供的一些基本類(lèi),就可以達到使用數據庫的目的。
Hibernate 使用數據庫和配置信息來(lái)為應用程序提供持久化服務(wù)(以及持久的對象)。在這里,創(chuàng )建了接口IdaoSupport,該接口定義了所有對數據庫進(jìn)行的原子操作,DaoSupportHibernate3Imp 是其實(shí)現類(lèi),該類(lèi)繼承了HibernateDaoSupport類(lèi),通過(guò)調用該類(lèi)提供的方法來(lái)完成對數據庫的操作。
業(yè)務(wù)邏輯層采用Spring.Spring框架是一個(gè)分層架構,它的核心提供了一個(gè)管理業(yè)務(wù)對象以及它們之間依賴(lài)關(guān)系的方法。例如,應用控制反轉(IOC),它可以特定一個(gè)數據訪(fǎng)問(wèn)對象(DAO)去依賴(lài)于某一個(gè)數據源。
同時(shí),它允許開(kāi)發(fā)者實(shí)現接口并在XML 文件中去定義其實(shí)現類(lèi)。同時(shí)為了避免EJB的高度侵入性,實(shí)現無(wú)侵入性的目標,Spring 大量引入了JAVA 的Reflection 機制,通過(guò)動(dòng)態(tài)調用的方式避免硬編碼方式的約束,并在此基礎上建立了其核心組件BeanFactory,以此作為其依賴(lài)注入機制的實(shí)現基礎。
表示層采用基于MVC模式的Struts框架。MVC(模型-視圖-控制)設計模式將WEB層分為三類(lèi)對象:代表數據的模型(Model)對象,顯示模型的視圖(View)對象以及響應用戶(hù)輸入、處理業(yè)務(wù)流程的控制器(Controller)對象。
整個(gè)系統處理流程如下:
(1)當系統第一次啟動(dòng)時(shí),應用會(huì )根據部署描述文件Web.xml指向的applicationContext.xml中定義的內容初始化數據庫連接池、進(jìn)行O-R Mapping映射、根據IoC實(shí)例化業(yè)務(wù)邏輯類(lèi)。
(2)操作員登陸時(shí),進(jìn)行相應的權限驗證,如果驗證通過(guò),則初始化單例對象(InitSingleton),該對象保存了一些全局實(shí)例,用戶(hù)信息、角色信息、權限信息等。
(3)操作員通過(guò)系統界面(JSP)提交業(yè)務(wù)請求(業(yè)務(wù)信息保存在FormBean中),并通過(guò)struts-config.xml中的描述定位到控制器(Action),業(yè)務(wù)請求包括:業(yè)務(wù)編號、當前步驟、執行動(dòng)作等。
(4)控制器接收用戶(hù)請求,將FormBean中的信息傳遞到BO中,同時(shí)調用權限驗證模塊(RightControl)進(jìn)行操作員權限驗證。權限驗證接口判斷當前用戶(hù)對于請求的業(yè)務(wù)是否具有權限(只讀、可寫(xiě)),將結果反饋給控制器。
(5)如果驗證通過(guò),控制器將根據用戶(hù)請求信息,調用系統啟動(dòng)時(shí)實(shí)例化的業(yè)務(wù)邏輯類(lèi)進(jìn)行相應業(yè)務(wù)處理。
(6)業(yè)務(wù)處理邏輯對象處理特定業(yè)務(wù)邏輯,當需要CRUD(即Create、Read、Update、Delete)時(shí),會(huì )根據appli-cationContext.xml中通過(guò)set方法注入的DAO實(shí)例,執行相應的CRUD操作。
(7)業(yè)務(wù)處理完成后,控制器根據返回結果,將用戶(hù)頁(yè)面導向特定JSP,如果有需要,將返回的結果封裝成FormBean(與用戶(hù)界面相對應的JavaBean,其屬性與用戶(hù)界面元素相對應)一并返回特定JSP.
3 結語(yǔ)
課題根據目前國內外數據集成工具暴露出的問(wèn)題,及目前醫生診療數據挖掘的現狀、技術(shù)及特點(diǎn)提出了ARFDW 自適應模型框架的概念。該框架使用JAVA語(yǔ)言、對象持久化技術(shù)和XML技術(shù)構建出跨平臺、多線(xiàn)程并發(fā)運行、支持增量數據更新、靈活的數據挖掘系統架構模型,并給出了設計和實(shí)現方案。
評論