呂 峰,李麗嬌,高云英,馬開(kāi)陽(yáng)
(云南中醫(yī)學(xué)院 信息技術(shù)學(xué)院,云南 昆明650200)
基于Hadoop在中醫(yī)藥數(shù)據(jù)挖掘中的應(yīng)用
呂 峰,李麗嬌,高云英,馬開(kāi)陽(yáng)
(云南中醫(yī)學(xué)院 信息技術(shù)學(xué)院,云南 昆明650200)
隨著中醫(yī)藥信息化發(fā)展的進(jìn)一步深入,中醫(yī)藥臨床數(shù)據(jù)得以更加規(guī)范的整理和挖掘,并組成大量標(biāo)準(zhǔn)化的中醫(yī)藥數(shù)據(jù)庫(kù),導(dǎo)致中醫(yī)藥數(shù)據(jù)信息不斷膨脹。醫(yī)院原有的DartSpora數(shù)據(jù)挖掘軟件無(wú)法滿足新時(shí)期對(duì)海量數(shù)據(jù)挖掘的需要,針對(duì)上述情況,文中從數(shù)據(jù)挖掘的概念及系統(tǒng)模型入手,介紹Hadoop的主要內(nèi)容,提出基于Hadoop的中醫(yī)藥數(shù)據(jù)挖掘系統(tǒng),從而滿足中醫(yī)藥研究對(duì)計(jì)算高性能的要求。
數(shù)據(jù)挖掘;中醫(yī)藥;Hadoop;MapReduce
隨著互聯(lián)網(wǎng)技術(shù)、信息技術(shù)的快速發(fā)展,促使由互聯(lián)網(wǎng)產(chǎn)生的數(shù)據(jù)信息資源日益增多。自2010年,數(shù)據(jù)挖掘技術(shù)被用于網(wǎng)絡(luò)工程中,采用統(tǒng)計(jì)學(xué)等輔助科學(xué)幫助人們編輯、處理龐大的數(shù)據(jù)集[1]。
由于中醫(yī)藥數(shù)據(jù)庫(kù)群的使用,傳統(tǒng)的數(shù)據(jù)庫(kù)建設(shè)方式導(dǎo)致中醫(yī)藥信息出現(xiàn)孤島效應(yīng),這種情況無(wú)法滿足中醫(yī)藥信息領(lǐng)域發(fā)展要求。文中探討中醫(yī)藥數(shù)據(jù)挖掘的相關(guān)內(nèi)容,旨在為完善中醫(yī)藥數(shù)據(jù)挖掘服務(wù)提供重要參考,從而推動(dòng)我國(guó)中醫(yī)藥事業(yè)蓬勃發(fā)展。
數(shù)據(jù)挖掘是指采用計(jì)算機(jī)從數(shù)據(jù)中獲取有用知識(shí)的過(guò)程。數(shù)據(jù)挖掘也可定義為由數(shù)據(jù)庫(kù)或其他信息倉(cāng)庫(kù)內(nèi)獲取有趣知識(shí)的過(guò)程,例如:關(guān)聯(lián)的數(shù)據(jù)機(jī)構(gòu)等。數(shù)據(jù)挖掘是近年來(lái)受到信息產(chǎn)業(yè)領(lǐng)域廣泛關(guān)注的內(nèi)容[2]。數(shù)據(jù)挖掘主要目標(biāo)為預(yù)測(cè)和描述,預(yù)測(cè)是指采用數(shù)據(jù)集中地變量或域預(yù)測(cè)其他位置變量。描述就是能夠找到為人類(lèi)理解的數(shù)據(jù)模型。數(shù)據(jù)挖掘是采用自動(dòng)或手工的辦法挖掘所需數(shù)據(jù)。數(shù)據(jù)挖掘過(guò)程如圖1所示。
圖1 數(shù)據(jù)挖掘過(guò)程簡(jiǎn)圖
2.1Hadoop的概念
大數(shù)據(jù)就是收集大量結(jié)構(gòu)化、半結(jié)構(gòu)化或非結(jié)構(gòu)化的數(shù)據(jù),管理這些數(shù)據(jù)需要花費(fèi)大量時(shí)間和代價(jià)載入與之相關(guān)的數(shù)據(jù)庫(kù)內(nèi)展開(kāi)分析。Hadoop是采用JAVA編寫(xiě)框架的軟件工程,借助硬件服務(wù)器集群,對(duì)大數(shù)據(jù)展開(kāi)分布式處理[3]。Hadoop被設(shè)計(jì)為由單個(gè)服務(wù)器擴(kuò)展至成千上萬(wàn)臺(tái)機(jī)器,不會(huì)依賴(lài)高性能硬件環(huán)境,上述集群性能來(lái)源于軟件自身檢測(cè)和處理失敗狀況的能力。Hadoop能夠改變大型規(guī)模計(jì)算的動(dòng)態(tài)性,具有可擴(kuò)展性、容錯(cuò)性等優(yōu)點(diǎn),確保更加有效的處理數(shù)據(jù)[4]。Hadoop能夠提供用于計(jì)算大規(guī)模容量的數(shù)據(jù)集,通過(guò)高速率處理由大容量系統(tǒng)中傳入數(shù)據(jù),同時(shí),Hadoop能夠處理多種非結(jié)構(gòu)化數(shù)據(jù)。Hadoop主要包括分布式文件HDFS、計(jì)算框架MapReduce組成,其中,后者構(gòu)建于前者之上,對(duì)所存儲(chǔ)的數(shù)據(jù)開(kāi)展分布式計(jì)算。HDFS是Hadoop重要的組成部分,屬于分布式文件系統(tǒng),用于存儲(chǔ)大數(shù)據(jù)集,確保硬件獲得最佳的可靠性。
2.2MapReduce組成結(jié)構(gòu)
Hadoop MapReduce作為軟件編程模型,能采用分布式方法處理大數(shù)據(jù)集。一個(gè)MapReduce任務(wù)借助多個(gè)獨(dú)立的塊分割數(shù)據(jù)集,上述分割塊可被用戶指定的map函數(shù)以并行的方式進(jìn)行處理,形成一些中間<key,value>對(duì)[5]。MapReduce運(yùn)行流程如圖2。
圖2 MapReduce作業(yè)運(yùn)行流程簡(jiǎn)圖
中醫(yī)藥是我國(guó)醫(yī)學(xué)中的寶貴財(cái)富,為中華民族醫(yī)學(xué)的繁榮昌盛做出了重要貢獻(xiàn)。目前,傳統(tǒng)醫(yī)學(xué)治療理念逐漸被世界所接受,傳統(tǒng)醫(yī)藥受到世界各個(gè)國(guó)家的重視和關(guān)注,這為中醫(yī)藥發(fā)展提供廣闊的空間和機(jī)遇。中醫(yī)理論中的五行、經(jīng)絡(luò)、陰陽(yáng)、預(yù)防、養(yǎng)生、病因、辨證等內(nèi)容,若能通過(guò)數(shù)據(jù)挖掘技術(shù)將多維數(shù)據(jù)之間的映射關(guān)系反映出來(lái),這將成為研究中醫(yī)藥數(shù)據(jù)的有力工具[6]。
3.1需求分析
通過(guò)對(duì)數(shù)據(jù)挖掘系統(tǒng)的研究和分析,借助Hadoop平臺(tái)巨大的存儲(chǔ)和計(jì)算能力,建立基于Hadoop的中醫(yī)藥數(shù)據(jù)挖掘系統(tǒng)。目前,數(shù)據(jù)挖掘系統(tǒng)面臨的挑戰(zhàn)如下:1)隨著業(yè)務(wù)的增長(zhǎng),中醫(yī)院的各類(lèi)數(shù)據(jù)量越來(lái)越大,導(dǎo)致ETL速度變慢,獲得有價(jià)值數(shù)據(jù)能力超過(guò)原本容忍范圍。因此,必須提升數(shù)據(jù)預(yù)處理能力速度和效率。2)傳統(tǒng)數(shù)據(jù)挖掘算法在處理大數(shù)據(jù)集時(shí)效果不理想,其處理能力擴(kuò)展性差,導(dǎo)致數(shù)據(jù)挖掘系統(tǒng)不具備良好的大數(shù)據(jù)挖掘能力[7]。同時(shí),針對(duì)層出不窮的數(shù)據(jù)格式,必須具備相應(yīng)的處理能力,確保數(shù)據(jù)格式的統(tǒng)一性?;贖adoop設(shè)計(jì)數(shù)據(jù)挖掘系統(tǒng),能有效解決上述問(wèn)題。
3.2設(shè)計(jì)合理的結(jié)構(gòu)模型
根據(jù)上述分析,中醫(yī)藥數(shù)據(jù)挖掘系統(tǒng)采用分層思想,自頂向下每層均可調(diào)用下層結(jié)構(gòu),最頂層為交互層,實(shí)現(xiàn)使用者與系統(tǒng)間的交互。最底層設(shè)計(jì)為分布式計(jì)算層,采用Hadoop實(shí)現(xiàn)文件分布式存儲(chǔ)和并行計(jì)算。該結(jié)構(gòu)框架模型主要包括交互層、功能層、資源層3個(gè)部分,3個(gè)層次之間彼此獨(dú)立,與其任意一次不存在交叉調(diào)用的情況[8]。但資源層可為功能層提供便于調(diào)用資源的接口,當(dāng)然,功能層也為交互層提供合理的接口。交互層則為用戶提供最佳的交互界面。其具體結(jié)構(gòu)框架如圖3。
圖3 基于Hadoop的中醫(yī)藥數(shù)據(jù)挖掘服務(wù)框架
3.2.1交互層
交互層作為用戶與并行挖掘平臺(tái)進(jìn)行溝通的主要通道,交互層可為用戶提供可編程Web服務(wù)和可視化交互平臺(tái)兩種訪問(wèn)方式。后者是典型的Web應(yīng)用模式,其借助JSP、Javascript等達(dá)到可視化管理,并與客戶端編程技術(shù)相互結(jié)合更加形象展示數(shù)據(jù)挖掘結(jié)果。在該管理平臺(tái)內(nèi),主要包括算法管理、應(yīng)用、用戶管理、結(jié)果展示4個(gè)模塊,便于用戶與計(jì)算中心實(shí)現(xiàn)交互,可視化編程架構(gòu)如圖4??删幊蘔eb服務(wù)采用Web service技術(shù)將原有數(shù)據(jù)挖掘算法包裝成為可編程的Web服務(wù),便于第三方再次進(jìn)行開(kāi)發(fā)。
圖4 可視化平臺(tái)架構(gòu)簡(jiǎn)圖
3.2.2功能層
功能層是整個(gè)數(shù)據(jù)挖掘框架的核心,該層用于集合多種中醫(yī)藥數(shù)據(jù)挖掘算法。功能層內(nèi)集成聚類(lèi)(k-means)、關(guān)聯(lián)規(guī)則發(fā)現(xiàn)(PApriori)等算法,方便對(duì)中醫(yī)藥數(shù)據(jù)實(shí)施多角度分析。同時(shí),借助交互層,使用者可將各類(lèi)新開(kāi)發(fā)算法提交至服務(wù)中心,采用集群的計(jì)算資源實(shí)現(xiàn)整個(gè)實(shí)驗(yàn)?;贖adoop對(duì)數(shù)據(jù)進(jìn)行關(guān)聯(lián)規(guī)則挖掘時(shí),一般需要實(shí)現(xiàn)Main、map、reduce 這3個(gè)函數(shù)。其挖掘算法主進(jìn)程代碼如下:
3.2.3資源層
資源層作為數(shù)據(jù)挖掘框架中支持服務(wù)的底層硬件組織,在服務(wù)架構(gòu)內(nèi),可借助配備Hasdoop開(kāi)源軟件,借助主/從節(jié)點(diǎn)的方法管理集群的存儲(chǔ)和計(jì)算資源,合理調(diào)度用戶之間的資源。同時(shí),資源層也是計(jì)算機(jī)硬件和系統(tǒng)資源軟件的集合,計(jì)算機(jī)硬件包括內(nèi)存空間、磁盤(pán)存儲(chǔ)、CPU計(jì)算等功能。
總之,文中從傳統(tǒng)數(shù)據(jù)挖掘系統(tǒng)對(duì)海量數(shù)據(jù)處理的需求出發(fā),借助Hadoop數(shù)據(jù)挖掘平臺(tái)滿足中醫(yī)藥研究對(duì)高性能計(jì)算能力的要求,充分運(yùn)用已有的高性能集群計(jì)算能力,設(shè)計(jì)滿足時(shí)代發(fā)展需求的中醫(yī)藥并行數(shù)據(jù)挖掘服務(wù)框架。這個(gè)數(shù)據(jù)挖掘框架借助Ajax技術(shù)、Javascript語(yǔ)言設(shè)計(jì)可視化管理平臺(tái),采用客戶端編程技術(shù)達(dá)到完美展示的效果。文中提出的中醫(yī)藥數(shù)據(jù)挖掘服務(wù)技術(shù)具備完善的交互方案結(jié)構(gòu),也可動(dòng)態(tài)更新數(shù)據(jù)功能,充分挖掘數(shù)據(jù)種類(lèi),滿足中醫(yī)藥研究的需求。
[1]屈志堅(jiān),郭亮,陳秋琳,等.Hadoop云構(gòu)架的智能調(diào)度無(wú)損集群壓縮技術(shù)[J].電力系統(tǒng)自動(dòng)化,2013,37(18):93-98.
[2]徐劍,陳群,王卓,等.一種基于Hadoop的多表鏈接策略[J].現(xiàn)代電子技術(shù),2014,11(6):90-94.
[3]杜建強(qiáng),聶斌.數(shù)據(jù)挖掘在中醫(yī)藥領(lǐng)域應(yīng)用研究進(jìn)展[J].中國(guó)中醫(yī)藥信息雜志,2013,20(6):109-112.
[4]董新華,李瑞軒,周灣灣等.Hadoop系統(tǒng)性能優(yōu)化與功能增強(qiáng)綜述[J].計(jì)算機(jī)研究與發(fā)展,2013,50(z2):1-15.
[5]陳旭文,黃英銘.海量視頻點(diǎn)播系統(tǒng)的云計(jì)算技術(shù)與建模實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2013,23(14):10-12,16.
[6]周婷,張君瑛,羅成,等.基于Hadoop的K-means聚類(lèi)算法的實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013,23(7):18-21.
[7]李曉蕾.基于Hadoop社交網(wǎng)絡(luò)分析平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2014,22(12):4094-4097.
[8]黃斌,許舒人,蒲衛(wèi)等.基于MapReduce的數(shù)據(jù)挖掘平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(2):495-501.
[9]孫媛,黃剛.基于Hadoop平臺(tái)的C4.5算法的分析與研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014,19(11):83-86,90.
[10]楊來(lái),史忠植,梁帆,等.基于Hadoop云平臺(tái)的并行數(shù)據(jù)挖掘方法[J].系統(tǒng)仿真學(xué)報(bào),2013,25(5):936-944.
[11]秦莉花,陳曉陽(yáng),李晟,等.基于數(shù)據(jù)挖掘的絕經(jīng)綜合征焦慮、抑郁的相關(guān)因素研究分析[J].時(shí)珍國(guó)醫(yī)國(guó)藥,2013,24 (6):1431-1432.
[12]李偉衛(wèi),趙航,張陽(yáng),等.基于MapReduce的海量數(shù)據(jù)挖掘技術(shù)研究[J].計(jì)算機(jī)工程與應(yīng)用 ,2013,31(20):112-117.
[13]崔杰,李陶深,蘭紅星,等.基于Hadoop的海量數(shù)據(jù)存儲(chǔ)平臺(tái)設(shè)計(jì)與開(kāi)發(fā)[J].計(jì)算機(jī)研究與發(fā)展,2012,49(z1):12-18.
[14]劉小俊,徐正全,潘少明,等.一種結(jié)合RDBMS和Hadoop的海量小文件存儲(chǔ)方法[J].武漢大學(xué)學(xué)報(bào):信息科學(xué)版,2013,38 (1):113-115,120.
[15]樊龍,萬(wàn)定生,顧昕辰,等.基于Hadoop云平臺(tái)的水利普查數(shù)據(jù)挖掘系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn) [J].計(jì)算機(jī)與數(shù)字工程,2014,42(5):831-834,875.
Application of Hadoop in traditional Chinese medicine based on data mining
LV Feng,LI Li-jiao,GAO Yun-ying,MA Kai-yang
(School of Information Technology,Yunnan University of TCM,Kunming 650200,China)
Along With the further development of the TCM information and TCM clinical data can be more standardized collation and mining,and standardization of traditional Chinese medicine database,resulting in the continuous expansion of the TCM data and information.The hospital's original DartSpora data mining software can't meet the need of huge amounts of data mining in the new period,in view of the above situation,the data mining concept and system model of,Hadoop introduced the main content of the proposed system based on Hadoop TCM data mining from meet the research of traditional Chinese medicine on the requirements of high performance computing
data mining;traditional chinese medicine;hadoop;mapreduce
TN99
A
1674-6236(2016)22-0112-03
2016-02-18稿件編號(hào):201602065
呂峰(1978—),男,云南昆明人,碩士,副教授。研究方向:計(jì)算機(jī)高等教育,中醫(yī)藥信息資源建設(shè),數(shù)字化校園建設(shè)與應(yīng)用。