南陽醫(yī)學(xué)高等??茖W(xué)校 張 琪
本文在研究中以Hadoop醫(yī)療信息管理系統(tǒng)為核心,分析Hadoop技術(shù)的應(yīng)用價值,構(gòu)建基于Hadoop的醫(yī)療信息管理系統(tǒng),提出醫(yī)療信息儲存技術(shù)和檢索技術(shù),實(shí)現(xiàn)醫(yī)療信息管理的現(xiàn)代化和智能化,并為相關(guān)研究人員提供一定的借鑒和幫助。
在國民經(jīng)濟(jì)不斷發(fā)展中,醫(yī)院經(jīng)營管理逐漸朝著信息化的方向發(fā)展,像電子病歷或是PACS系統(tǒng)等臨床信息系統(tǒng)都逐漸應(yīng)用,大大提高了運(yùn)行效率。在信息化發(fā)展中,醫(yī)療信息儲存和檢索中的問題逐漸暴露出來,傳統(tǒng)分散式數(shù)據(jù)儲存模式的弊端較大,無法保證數(shù)據(jù)的安全性和可靠性,再加上數(shù)據(jù)備份流程過于繁瑣,無法發(fā)揮出數(shù)據(jù)信息的潛在價值。傳統(tǒng)數(shù)據(jù)中心主要以Unix服務(wù)器為主,運(yùn)行成本高,數(shù)據(jù)讀取速度較慢,再加上計算能力低,無法滿足醫(yī)療信息的管理需求和使用需求。對此,本文依托于Hadoop技術(shù),構(gòu)建基于Hadoop的醫(yī)療信息管理系統(tǒng),優(yōu)化醫(yī)療信息儲存技術(shù)和檢索技術(shù),有助于醫(yī)療信息的利用,進(jìn)而提高醫(yī)療水平。在這樣的環(huán)境背景下,探究基于Hadoop的醫(yī)療信息存儲及檢索技術(shù)具有非常重要的現(xiàn)實(shí)意義。
醫(yī)療信息儲存的安全性和可靠性直接關(guān)系到醫(yī)院各項(xiàng)醫(yī)療業(yè)務(wù)的連續(xù)性,一旦醫(yī)療信息系統(tǒng)發(fā)生故障,數(shù)據(jù)儲存能力、備份能力以及恢復(fù)能力就顯得至關(guān)重要,安全性和可靠性是醫(yī)療信息儲存的首要標(biāo)準(zhǔn)。Hadoop系統(tǒng)可以提供十分可靠的數(shù)據(jù)儲存,各個類型的數(shù)據(jù)存在三份備份,這對數(shù)據(jù)儲存形成保障。同時,數(shù)據(jù)中心會對醫(yī)療信息數(shù)據(jù)進(jìn)行統(tǒng)一保存,臨床信息系統(tǒng)不會直接保存數(shù)據(jù),而是將產(chǎn)生的數(shù)據(jù)傳輸?shù)綌?shù)據(jù)中心保存,臨床所需數(shù)據(jù)會直接從數(shù)據(jù)中心調(diào)取,避免數(shù)據(jù)丟失的情況發(fā)生,保證數(shù)據(jù)的完整恢復(fù)。
以Unix為主的傳統(tǒng)服務(wù)器具有價格高、擴(kuò)展儲存空間小的特點(diǎn),以SSD固態(tài)儲存器為核心元件,不僅價格貴,在擴(kuò)展容量的過程中,會受到服務(wù)器柜容量的影響,而服務(wù)器的軟件成本也很高。而基于Hadoop為主的數(shù)據(jù)中心,選擇傳統(tǒng)PC集群進(jìn)行數(shù)據(jù)中心的構(gòu)建,無論是整個電腦還是傳統(tǒng)硬盤,價格較低,便于達(dá)到動態(tài)擴(kuò)展的效果。與此同時,Hadoop平臺可以支持和開發(fā)開源軟件,無需軟件費(fèi)用,節(jié)省不必要的軟件成本。在構(gòu)建基于Hadoop的數(shù)據(jù)中心容量中,一般存在兩種方式,一是擴(kuò)充傳統(tǒng)PC硬盤容量,便于操作;二是添加廉價PC,為信息挖掘和利用提供根本保障。
傳統(tǒng)服務(wù)器以機(jī)械硬盤為主,數(shù)據(jù)讀取速度慢,若選擇固態(tài)硬盤,其建設(shè)運(yùn)營成本較高,無法長期負(fù)擔(dān)。而基于Hadoop分布式框架為基礎(chǔ)的數(shù)據(jù)中心,底層為分布式文件系統(tǒng),可以讓文件儲存與查詢同步進(jìn)行,以多線程的方式,提高系統(tǒng)的運(yùn)行速度,數(shù)據(jù)讀寫速度也遠(yuǎn)遠(yuǎn)高于傳統(tǒng)服務(wù)器,協(xié)助醫(yī)生快速獲取到PACS映象文件速度,進(jìn)而保證工作效率。
如圖1所示,為基于Hadoop的醫(yī)療信息管理系統(tǒng)框架,由MapReduce、HDFS等組件構(gòu)成,其中Hadoop Common為支持項(xiàng)目運(yùn)行的功能模塊,MapReduce組件協(xié)助Map與Reduce處理,而HDFS分布式文件系統(tǒng)以文件分布式儲存為主要功能,ZooKeeper則為分布式鎖服務(wù),支持分布式應(yīng)用程序的構(gòu)建。
圖1 基于Hadoop的醫(yī)療信息管理系統(tǒng)框架
在這一系統(tǒng)框架中,各種功能模塊和應(yīng)用程序?yàn)楹A酷t(yī)療數(shù)據(jù)讀取與計算提供支持,用戶不需要關(guān)注程序就可以實(shí)現(xiàn),特別是在分布式系統(tǒng)運(yùn)行中,PC集群屬于硬件資源池,可以拆分即將執(zhí)行的任務(wù),安排空閑機(jī)器資源進(jìn)行數(shù)據(jù)處理,通過并行計算的方式,提高系統(tǒng)運(yùn)行速度,使得任務(wù)分解后逐一完成,并通過Reduce來整合結(jié)果,進(jìn)而實(shí)現(xiàn)醫(yī)療信息的存儲和檢索。
HDFS系統(tǒng)是一種分布式文件系統(tǒng),具有命名空間單一、數(shù)據(jù)專一性強(qiáng)、可以被分割和分配等特性,主要以master/slave架構(gòu)為主,由命名節(jié)點(diǎn)、數(shù)據(jù)節(jié)點(diǎn)以及客戶端等模塊構(gòu)成,內(nèi)部通信以TCP/IP協(xié)議為主。在實(shí)際運(yùn)行中,命名節(jié)點(diǎn)與數(shù)據(jù)節(jié)點(diǎn)均運(yùn)行在商用機(jī)器上,而商用機(jī)器主要運(yùn)行Linux操作系統(tǒng),可以兼容其他機(jī)器的DataNode,通過集群單一命名的方式,簡化整個為系統(tǒng)構(gòu)架,將NameNode作為HDFS元數(shù)據(jù)的判定者,提高系統(tǒng)運(yùn)行的穩(wěn)定性。
MapReduce為編程模型,應(yīng)用在大規(guī)模醫(yī)療數(shù)據(jù)集并行運(yùn)算中,依托于Map和Reduce思想,借鑒于函數(shù)式編程語言與矢量編程語言,針對函數(shù)式編程語言而言,map為列表中的各個元素計算,Reduce為列表中的各個元素迭代計算,利用傳輸函數(shù)的方式實(shí)現(xiàn)計算,Map和Reduce主要是提供計算框架。在MapReduce系統(tǒng)運(yùn)行中,map會對原始數(shù)據(jù)進(jìn)行處理,每個原始數(shù)據(jù)間無任何關(guān)聯(lián),在Reduce階段中,數(shù)據(jù)會通過key下的若干Value進(jìn)行組織,各個Value間已經(jīng)形成一定的關(guān)聯(lián)性。對此,MapReduce就是將一些無規(guī)律數(shù)據(jù)根據(jù)某一特征進(jìn)行歸納和處理之后的結(jié)果,map針對無規(guī)律不關(guān)聯(lián)的數(shù)據(jù)信息,對各個數(shù)據(jù)進(jìn)行解析,提煉出key與value,找到數(shù)據(jù)特征,再通過歸納和處理得到結(jié)果。
在醫(yī)療數(shù)據(jù)分析處理中,Hadoop平臺能夠?qū)崿F(xiàn)分布式存儲,并且對大量廉價計算機(jī)進(jìn)行集合整理來存儲數(shù)據(jù),實(shí)現(xiàn)PB數(shù)據(jù)集數(shù)據(jù)的存儲。理論意義上來說,Hadoop平臺能夠盡可能滿足海量電子病歷文檔以及醫(yī)療信息數(shù)據(jù)的存儲需求。另一方面,云計算具有較強(qiáng)的靈活性,而Hadoop平臺的擴(kuò)展性好,當(dāng)出現(xiàn)突發(fā)情況,特別是患病高發(fā)期或者集體性醫(yī)療事件會導(dǎo)致醫(yī)療數(shù)據(jù)劇增的問題,這時Hadoop平臺就可以快速、有效的向集群中添加計算機(jī)節(jié)點(diǎn)和儲存資源。
在醫(yī)療信息儲存中,分別有讀寫控制模塊、寫入模塊和刪除模塊進(jìn)行控制,包括結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),及時將數(shù)據(jù)寫入到系統(tǒng)中,通過創(chuàng)建數(shù)據(jù)表接口與寫數(shù)據(jù)接口,結(jié)合讀寫模塊制定的規(guī)定進(jìn)行信息重構(gòu),將時態(tài)集合當(dāng)成操作對象,把信息數(shù)據(jù)周期性傳輸至Hadoop儲存模型中,獲得標(biāo)識變量與指定數(shù)據(jù)包屬性,并把對應(yīng)數(shù)據(jù)記錄到HBase中,保證數(shù)據(jù)信息的一致性,并添加至索引結(jié)構(gòu)中,對HDFS中的原始數(shù)據(jù)進(jìn)行處理得到存儲數(shù)據(jù),再利用寫數(shù)據(jù)接口對處理后的數(shù)據(jù)進(jìn)行存儲。
Hadoop平臺提供了強(qiáng)大的分布式并行處理數(shù)據(jù)的能力,Hadoop平臺主要是針對海量數(shù)據(jù)的批處理進(jìn)行操作。并且它具有一次寫入多次讀取的特點(diǎn),能夠滿足醫(yī)生、專家在海量的醫(yī)療數(shù)據(jù)或者電子病歷數(shù)據(jù)中查找閱讀有關(guān)的信息。醫(yī)療數(shù)據(jù)檢索查詢可以通過Hadoop的計算資源對醫(yī)療數(shù)據(jù)及電子病歷文檔進(jìn)行處理,不僅速度快、準(zhǔn)確性高,從而大大提高醫(yī)療信息數(shù)據(jù)的檢索效率。
在醫(yī)療數(shù)據(jù)儲存系統(tǒng)中,數(shù)據(jù)查詢包括基于主鍵的非時態(tài)數(shù)據(jù)查詢與時態(tài)數(shù)據(jù)查詢,利用顯示層應(yīng)用接口支持可擴(kuò)展API,實(shí)現(xiàn)填充式數(shù)據(jù)讀取,用戶可以根據(jù)需求在顯示界面窗口中設(shè)定關(guān)鍵詞進(jìn)行數(shù)據(jù)整合和讀取,通過并行計算機(jī)框架Map/Reduce編程進(jìn)行數(shù)據(jù)查詢。針對用戶查詢請求而言,系統(tǒng)會預(yù)先判斷,在不干擾時態(tài)查詢操作的基礎(chǔ)上,把查詢結(jié)果直接輸入到用戶程序中,通過可視化界面進(jìn)行查閱。若干擾時態(tài)查詢操作,則需要將Map/Reduce處理所產(chǎn)生的基于關(guān)鍵字的查詢結(jié)果導(dǎo)入到與原始存儲數(shù)據(jù)結(jié)構(gòu)一致的另一張HBase數(shù)據(jù)表中,在時態(tài)元素的標(biāo)量化處理后調(diào)用數(shù)據(jù)查詢模塊進(jìn)行時態(tài)關(guān)系代數(shù)演算處理,完成數(shù)據(jù)的查找操作。(封朝永.導(dǎo)師:左亞堯基于Hadoop的時態(tài)信息存儲與檢索策略的研究[D].廣東工業(yè)大學(xué)碩士論文,2014-05-01)
綜上所述,在醫(yī)療信息存儲和檢索中,為了改變傳統(tǒng)醫(yī)療信息管理系統(tǒng)的避免,需要引入Hadoop系統(tǒng),構(gòu)建基于Hadoop的醫(yī)療信息管理系統(tǒng),提高系統(tǒng)運(yùn)行效率,減少運(yùn)行成本,并通過系統(tǒng)構(gòu)架的簡化,提高計算運(yùn)行速度,進(jìn)而保證信息存儲和檢索的綜合效率。