王璐, 王柯榮
(1.北京市大興區(qū)人民醫(yī)院,信息科,北京 102600; 2.河北工程大學(xué),信息與電氣工程學(xué)院,河北,邯鄲 056038)
伴隨著醫(yī)院業(yè)務(wù)規(guī)模的不斷擴(kuò)大,醫(yī)院在運(yùn)營過程中所產(chǎn)生的數(shù)據(jù)越來越多。醫(yī)院傳統(tǒng)的信息管理平臺導(dǎo)致各科室之間信息缺乏共享,無法滿足當(dāng)前醫(yī)院業(yè)務(wù)規(guī)??焖僭鲩L的需求,構(gòu)建醫(yī)療綜合管理服務(wù)平臺解決信息存儲瓶頸、系統(tǒng)信息孤島的醫(yī)療信息化現(xiàn)狀勢在必行[1]。云計算的飛速發(fā)展為醫(yī)院建立共享服務(wù)綜合管理平臺提供了架構(gòu)支撐和處理海量數(shù)據(jù)的可能[2]。醫(yī)療信息化建設(shè)正飛速發(fā)展,但帶來的弊端導(dǎo)致了醫(yī)療數(shù)據(jù)的指數(shù)型增長,醫(yī)療大數(shù)據(jù)給醫(yī)院現(xiàn)有信息系統(tǒng)帶了巨大的壓力,且系統(tǒng)異構(gòu)數(shù)據(jù)無法實(shí)現(xiàn)醫(yī)療信息的綜合管理[3]。
基于前人的研究經(jīng)驗,并結(jié)合云計算技術(shù),設(shè)計基于Hadoop平臺的分布式存儲及分布式計算的智慧醫(yī)院管理系統(tǒng),對Hadoop分布式存儲計算資源調(diào)度算法進(jìn)行優(yōu)化,綜合考慮醫(yī)療小文件的基本特征,融合詞頻以及權(quán)重數(shù)據(jù)參數(shù),提出醫(yī)療數(shù)據(jù)文件調(diào)度算法,提升各種非結(jié)構(gòu)化醫(yī)療數(shù)據(jù)的檢索、分析,實(shí)現(xiàn)各科室醫(yī)療系統(tǒng)的數(shù)據(jù)有機(jī)共享和信息集成。仿真實(shí)驗結(jié)果顯示,本文提出的算法有效地提升了資源調(diào)度的效率以及數(shù)據(jù)查詢的準(zhǔn)確性。
云計算即為硬件資源的虛擬化,主要為應(yīng)用軟件虛擬化以及硬件的集群技術(shù)實(shí)現(xiàn)動態(tài)分配服務(wù)資源支撐系統(tǒng)運(yùn)營的系統(tǒng)運(yùn)行架構(gòu)[4],如圖1所示。
圖1 云計算整體架構(gòu)
圖1中:SaaS(軟件即服務(wù))提供了用戶網(wǎng)絡(luò)訪問通路,實(shí)現(xiàn)對各種應(yīng)用的高速訪問;PaaS(平臺即服務(wù))主要包含可以進(jìn)行應(yīng)用開發(fā)和部署的平臺,為各類用戶提供對應(yīng)的服務(wù),其具有靈活可調(diào)整以及資源便捷擴(kuò)展能力,能夠滿足用戶的多種需求;Iaas(基礎(chǔ)設(shè)施即服務(wù)),其提供虛擬化、資源動態(tài)計算、資源動態(tài)分配及資源部署等服務(wù),達(dá)到科學(xué)、高效部署資源的目的。
Hadoop為云計算的具體實(shí)現(xiàn)技術(shù),其結(jié)構(gòu)如圖2所示,核心包含分布式文件架構(gòu)以及分布式的處理過程。HDFS為分布式文件系統(tǒng),其為海量數(shù)據(jù)存儲、查詢的基礎(chǔ),存儲原理為大文件分塊、分類處理,并采用數(shù)據(jù)流的形式建立主節(jié)點(diǎn)與從節(jié)點(diǎn)的架構(gòu)體系[5],能夠?qū)崿F(xiàn)海量數(shù)據(jù)的分布式存儲。
圖2 Hadoop體系結(jié)構(gòu)圖
Hadoop架構(gòu)的另一核心為MapReduce分布式計算框架,其通過分布式并行計算編程模型,是應(yīng)用程序開發(fā)人員無須關(guān)注分布式細(xì)節(jié)但仍可以完成程序的部署,原理為通過映射與化簡組合實(shí)現(xiàn)[6-8]。具體如圖3所示。
圖3 MapReduce工作原理圖
結(jié)合圖3的數(shù)據(jù)顯示,MapReduce通過JobTracker服務(wù)器、TaskTracker服務(wù)器以及Client服務(wù)器建立主從式結(jié)構(gòu),對作業(yè)進(jìn)行提交、調(diào)度、運(yùn)行獲得運(yùn)行結(jié)果,并通過TaskTracker對完成后的作業(yè)任務(wù)進(jìn)行劃分。本文設(shè)計的醫(yī)院集成管理業(yè)務(wù)平臺主要依托Hadoop架構(gòu)實(shí)現(xiàn)。
基于Hadoop的智慧醫(yī)院集成管理信息平臺采用基礎(chǔ)信息化設(shè)備設(shè)施層、數(shù)據(jù)分析層以及應(yīng)用服務(wù)提供層三層架構(gòu)。平臺通過物聯(lián)網(wǎng)設(shè)備的應(yīng)用、分布式存儲以及數(shù)據(jù)總線實(shí)現(xiàn)各類應(yīng)用的部署、信息的存儲和海量信息的檢索、挖掘與分析[9]。通過該平臺將各科室的信息系統(tǒng)進(jìn)行物理和邏輯上的有機(jī)關(guān)聯(lián),解決了信息分散、數(shù)據(jù)孤島、處理能力差等問題。系統(tǒng)應(yīng)用部分功能主要包括門診子系統(tǒng)、住院子系統(tǒng)、醫(yī)學(xué)影像子系統(tǒng)、系統(tǒng)分析子系統(tǒng)等,具體如圖4所示。
圖4 基于Hadoop平臺的智慧醫(yī)院一體化管理系統(tǒng)
基礎(chǔ)信息化設(shè)備設(shè)施層包括數(shù)據(jù)采集層和數(shù)據(jù)存儲層。數(shù)據(jù)采集層主要應(yīng)用于物聯(lián)網(wǎng)設(shè)備結(jié)合IoT窄帶傳輸網(wǎng)路進(jìn)行數(shù)據(jù)采集和傳輸。數(shù)據(jù)存儲層采用Hadoop的分布式文件存系統(tǒng),同時,根據(jù)醫(yī)院業(yè)務(wù)特點(diǎn),醫(yī)院信息化管理系統(tǒng)的大部分?jǐn)?shù)據(jù)為醫(yī)學(xué)影像、文件等非結(jié)構(gòu)化數(shù)據(jù),無法使用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫存儲。因此,本文采用廉價的商用服務(wù)器組建易于橫向擴(kuò)展的Hadoop集群,既節(jié)省了成本又提高了數(shù)據(jù)分析性能。
數(shù)據(jù)分析層采用Hadoop的MapReduce分布式計算進(jìn)行數(shù)據(jù)挖掘。具體處理過程:數(shù)采環(huán)節(jié)、醫(yī)療業(yè)務(wù)系統(tǒng)傳輸?shù)臉I(yè)務(wù)數(shù)據(jù)、非結(jié)構(gòu)影像數(shù)據(jù)通過分布式存儲完成數(shù)據(jù)的轉(zhuǎn)換后在數(shù)據(jù)挖掘?qū)舆M(jìn)行預(yù)處理;完成數(shù)據(jù)清洗、歸并整理后,對數(shù)據(jù)進(jìn)行分塊處理;使用Mahout工具庫按照分割、并行計算以及規(guī)約三步完成對醫(yī)療海量數(shù)據(jù)的分析處理。
具體的數(shù)據(jù)挖掘過程采用交互層、邏輯層、代理層、挖掘?qū)印⒋鎯τ嬎銓拥葞撞糠謽?gòu)成,層間使用接口互相通信。通過數(shù)據(jù)總線接口獲得各醫(yī)療系統(tǒng)包括病歷管理系統(tǒng)、門診管理系統(tǒng)、醫(yī)學(xué)影像系統(tǒng)等實(shí)時數(shù)據(jù),采取將掃描數(shù)據(jù)集的過程并行化的方法,運(yùn)用Hadoop的分布式存儲以及分布式計算架構(gòu),將整個醫(yī)院各科室的專業(yè)系統(tǒng)的業(yè)務(wù)數(shù)據(jù)平均地分成若干個數(shù)據(jù)塊,分配到各集群中的各個DataNode中,當(dāng)執(zhí)行任務(wù)時,每個節(jié)點(diǎn)會掃描各自的數(shù)據(jù)塊,從而達(dá)到并行掃描的目的。具體框架如圖5所示。
圖5 基于Hadoop的數(shù)據(jù)挖掘分析模型
醫(yī)療文件數(shù)據(jù)文件小、結(jié)構(gòu)復(fù)雜、碎片式文件較多,如病例、檢驗報告、醫(yī)學(xué)影像對應(yīng)的文本信息、醫(yī)囑等信息文件。由于Hadoop的文件調(diào)度算法處理大文件比較理想,但對于醫(yī)療文件處理效率并不高,因此,本文結(jié)合系統(tǒng)的實(shí)際需要,對Hadoop的文件調(diào)度算法進(jìn)行適應(yīng)性改造,以提升對于醫(yī)療小文件的調(diào)度優(yōu)化效率。Hadoop分布式文件系統(tǒng)的每個塊的默認(rèn)存儲空間為64 M,如果塊文件小于64 M時,定義醫(yī)療小文件為集合小文件。
本文改進(jìn)的具體思路為在原有的分布式數(shù)據(jù)存儲的過程中增加小文件處理搜索引擎,針對醫(yī)療小文件的特征數(shù)據(jù)特征抽取,通過計算不同特征向量的文本相似度,對高相似度的向量合并后,建立數(shù)據(jù)特征索引表。整體結(jié)構(gòu)如圖6所示。
圖6 基于數(shù)據(jù)特征的分布式檢索系統(tǒng)結(jié)構(gòu)圖
特征抽取的核心工作為提煉醫(yī)療數(shù)據(jù)集的各類數(shù)據(jù)特征,并識別每一類數(shù)據(jù)特征在整個醫(yī)療數(shù)據(jù)集的權(quán)重值,并將權(quán)重值排名前5位的詞匯作為該類的特征值及特征向量代表數(shù)據(jù)集的量化表示:
Vi=((t1,w1),(t2,w2),…,(tn,wn))
(1)
式(1)中,i為數(shù)據(jù)集的序號,Vi為某一數(shù)據(jù)集的具體特征向量,tn為數(shù)據(jù)集內(nèi)的特征詞集合,wn為特征詞的權(quán)重,n為特征詞的數(shù)量。權(quán)重值采用Robertson &Sparck Jones特征權(quán)重計算法,并結(jié)合詞頻對改公式進(jìn)行了優(yōu)化:
(2)
(3)
圖7 數(shù)據(jù)特征抽取模塊結(jié)構(gòu)圖
將經(jīng)過計算并排序的特征值排序文件結(jié)果輸出到HFDS文件中,并建立數(shù)據(jù)特征索引,對于基于醫(yī)療數(shù)據(jù)特征的分布式數(shù)據(jù)挖掘、分析系統(tǒng)通過數(shù)據(jù)特征索引表對節(jié)點(diǎn)的特征以及所在的地址進(jìn)行存儲,并通過三維表〈ID,Character,Address〉表示,其中,ID表示類別編碼,Character表示數(shù)據(jù)特征,Address表示訪問地址。具體建立過程如圖8所示。
圖8 數(shù)據(jù)特征索引表建立過程圖
分塊文件系統(tǒng)通過將排序好的特征文件進(jìn)行解析產(chǎn)生特征向量,并由主服務(wù)器統(tǒng)一計算相似度后,對相似向量進(jìn)行合并生成特征索引表。
實(shí)驗采用國內(nèi)青云平臺訪問資源的調(diào)度過程,測試改進(jìn)的資源調(diào)度算法,并模擬了3組業(yè)務(wù)場景,包括復(fù)雜度較高的醫(yī)學(xué)影像查詢數(shù)據(jù)、復(fù)雜度底的病人病歷病志查詢數(shù)據(jù)、醫(yī)院財務(wù)數(shù)據(jù)查詢分析等。建立3組作業(yè)按復(fù)雜度由高到底設(shè)置3個作業(yè)的優(yōu)先級,具體如表1所示。
建立實(shí)驗數(shù)據(jù)中心對上述3條作業(yè)信息進(jìn)行存儲,并采用5臺PC機(jī)組成Hadoop集群開展模擬仿真實(shí)驗。不同PC機(jī)的性能存在差異,導(dǎo)致每臺PC機(jī)的作業(yè)效率也存在不同。通過將組成的Hadoop集群在Linux平臺上運(yùn)行,達(dá)到近似模擬實(shí)際應(yīng)用環(huán)境的目標(biāo)。實(shí)驗過程中,結(jié)合3種作業(yè)的各自運(yùn)行時間,測試本文改進(jìn)調(diào)度算法的執(zhí)行效率以及運(yùn)行實(shí)際情況。
實(shí)驗主要從改進(jìn)調(diào)度算法整體執(zhí)行性能提升的方面以及具體的改進(jìn)算法本身的性能兩個方面展開。將Hadoop框架本身的3類調(diào)度算法(F1F0算法、Capacity調(diào)度算法、Fair調(diào)度算法)與引入本文的改進(jìn)算法進(jìn)行比較,得到算法優(yōu)化前后對3條作業(yè)的運(yùn)行時間,比較結(jié)果如圖9所示。
圖9 作業(yè)1—3在調(diào)度算法優(yōu)化前后的性能對比圖
由圖9可知,F1F0算法、Capacity調(diào)度算法、Fair調(diào)度算法對3條作業(yè)的運(yùn)行時間均明顯縮短,尤其是對文檔類以及圖像類文檔的整體運(yùn)行時間更為明顯,即引入改進(jìn)算法之后可以有效提升對非結(jié)構(gòu)化醫(yī)學(xué)文件的調(diào)度效率。
對提出醫(yī)療文檔的搜索算法的查詢準(zhǔn)確率進(jìn)行實(shí)驗,主要從對資源占有以及網(wǎng)絡(luò)帶寬占有關(guān)的角度進(jìn)行有針對性的實(shí)驗,實(shí)驗過程主要對文檔特征和詞頻參數(shù)進(jìn)行對比。系列1為未考慮詞頻的全文檔遍歷搜索,檢索范圍為文檔整體。系列2為特征詞頻參數(shù)設(shè)置為1/3時需要檢索文檔。系列3為特征詞頻參數(shù)設(shè)置為2/3時需要檢索文檔。3個系列的檢索結(jié)果與文檔訪問數(shù)量關(guān)系對比結(jié)果如圖10所示。
圖10 檢索結(jié)果與文檔訪問數(shù)量關(guān)系圖
由圖10可以發(fā)現(xiàn),在遍歷的文檔結(jié)果數(shù)據(jù)一致的前提下,本文提出的引入詞頻的搜索算法需要訪問的文檔數(shù)量明顯小于全節(jié)點(diǎn)文檔遍歷Hadoop自帶的算法,且訪問文檔數(shù)量與特征維數(shù)正相關(guān)。實(shí)驗結(jié)果顯示,本文提出的醫(yī)療小文件搜索算法應(yīng)用于Hadoop調(diào)度算法中,極大地降低了框架本身全文檢索的范圍,提升了調(diào)度工作的性能,適用于醫(yī)院大量異構(gòu)結(jié)構(gòu)以及非結(jié)構(gòu)化文檔的檢索、調(diào)動以及挖掘分析工作。
醫(yī)改的逐步推進(jìn)、信息化技術(shù)的日益精進(jìn)為我國大型醫(yī)院各時期建立的各個專業(yè)化系統(tǒng)的整合提供了技術(shù)支撐。本文使用Hadoop的分布式框架綜合考慮醫(yī)療信息與數(shù)據(jù)的特異性,建立了基于Hadoop平臺的醫(yī)院一體化管理系統(tǒng),發(fā)揮了Hadoop分布式存儲以及分布式計算的高效性,實(shí)現(xiàn)了各個系統(tǒng)之間協(xié)同高效的工作以及各類異構(gòu)臨床信息的共享、整合和集成應(yīng)用,提高了醫(yī)院的運(yùn)營效率、管理效率。仿真實(shí)驗顯示,本文的優(yōu)化改進(jìn)調(diào)度算法有效地提高了資源調(diào)度效率,具有一定的實(shí)用價值。