岑星星,湯欽華,馬群圣
上海市胸科醫(yī)院(上海交通大學(xué)附屬胸科醫(yī)院) 信息中心,上海 200030
醫(yī)聯(lián)體是一種由不同級(jí)別醫(yī)療機(jī)構(gòu)組成,實(shí)現(xiàn)區(qū)域內(nèi)醫(yī)療資源多方位整合的聯(lián)合體[1]。醫(yī)聯(lián)體的建設(shè)對(duì)于優(yōu)化醫(yī)療資源、提升醫(yī)療質(zhì)量、控制醫(yī)療費(fèi)用等有著顯著作用[2]。在醫(yī)聯(lián)體建設(shè)中,醫(yī)學(xué)影像的信息化無(wú)疑起著重要作用,相應(yīng)水平的提升對(duì)于影像資源的多方位整合、臨床診斷能力的提升等有著直接影響[3]。近年來,隨著醫(yī)聯(lián)體平臺(tái)的快速發(fā)展,醫(yī)聯(lián)體框架下關(guān)于醫(yī)學(xué)影像的信息化建設(shè)得到長(zhǎng)足進(jìn)步。
醫(yī)學(xué)影像平臺(tái)開發(fā)是醫(yī)院信息化發(fā)展的熱點(diǎn)。Griebel等[4]和孫雪梅[5]通過Hadoop分布式文件系統(tǒng)(Hadoop Distributed File System,HDFS)的使用,實(shí)現(xiàn)了不同醫(yī)療機(jī)構(gòu)間醫(yī)學(xué)影像的存儲(chǔ)及共享。Goli-Malekabadi等[6]和李芹等[7]通過云技術(shù)的使用,建立起了醫(yī)療影像儲(chǔ)存系統(tǒng)(Picture Archiving and Communication System,PACS)的云服務(wù)。肖美華等[8]討論了云PACS的數(shù)據(jù)安全性問題,并提出了基于醫(yī)學(xué)數(shù)字成像與通信(Digital Imaging and Communications in Medicine,DICOM)標(biāo)準(zhǔn)的安全通信框架。楊曉光等[9]著眼于醫(yī)聯(lián)體的信息化建設(shè),實(shí)現(xiàn)了腦卒中系統(tǒng)化干預(yù)醫(yī)療協(xié)同的云計(jì)算系統(tǒng)。然而,從近幾年醫(yī)學(xué)影像的信息化發(fā)展情況來看,鮮有關(guān)于醫(yī)聯(lián)體框架下分布式存儲(chǔ)醫(yī)學(xué)影像云PACS的具體技術(shù)實(shí)現(xiàn)及應(yīng)用的相關(guān)報(bào)道。
本文旨在介紹基于Hadoop分布式存儲(chǔ)的區(qū)域醫(yī)聯(lián)體醫(yī)學(xué)影像云平臺(tái)的設(shè)計(jì)和實(shí)現(xiàn)。基于先前的研究基礎(chǔ)[10-11],結(jié)合Hadoop分布式存儲(chǔ)技術(shù),實(shí)現(xiàn)區(qū)域醫(yī)聯(lián)體框架下的云PACS,優(yōu)化并串聯(lián)上海某區(qū)中心醫(yī)院與社區(qū)衛(wèi)生醫(yī)療機(jī)構(gòu)之間的影像資源分配流程,進(jìn)而實(shí)現(xiàn)區(qū)域醫(yī)院醫(yī)學(xué)影像資源利用率及影像存儲(chǔ)設(shè)備利用率、讀寫性能的最大化。
Hadoop是由Apache軟件基金會(huì)開發(fā)的一種高度可擴(kuò)展的開源分布式應(yīng)用程序開發(fā)框架,能讓開發(fā)人員專注于數(shù)據(jù)集的邏輯設(shè)計(jì),而不是處理細(xì)節(jié),極大地提升了分布式應(yīng)用程序的開發(fā)效率[12]。Hadoop由眾多組件分工協(xié)作而成,包括底層的HDFS分布式文件系統(tǒng)、中間層的MapReduce分布式計(jì)算框架、以及實(shí)時(shí)分布式數(shù)據(jù)庫(kù)HBase和數(shù)據(jù)倉(cāng)庫(kù)Hive等的支持,相應(yīng)的Hadoop生態(tài)圈及各組件功能的展示如圖1所示。
圖1 Hadoop生態(tài)圈及各組件功能
分布式文件系統(tǒng)HDF S作為Hadoop的核心組件之一,為開發(fā)系統(tǒng)的海量數(shù)據(jù)存儲(chǔ)提供了有效支持[13]。構(gòu)成上,HDFS由數(shù)據(jù)節(jié)點(diǎn)群集構(gòu)建而成,每個(gè)數(shù)據(jù)節(jié)點(diǎn)使用塊協(xié)議并通過網(wǎng)絡(luò)為數(shù)據(jù)塊提供服務(wù),擁有較好的文件存儲(chǔ)性能。另外,HDFS的每個(gè)數(shù)據(jù)節(jié)點(diǎn)相互連接,用于重新平衡數(shù)據(jù)、移動(dòng)副本并確保數(shù)據(jù)的高度可復(fù)制,以提升數(shù)據(jù)存儲(chǔ)的可靠性。此外,HDFS還通過HTTP提供數(shù)據(jù),允許從Web瀏覽器或其他客戶端訪問所有內(nèi)容,提升了數(shù)據(jù)存儲(chǔ)的便攜及可擴(kuò)展性。從實(shí)現(xiàn)原理上看,HDFS通過名稱節(jié)點(diǎn)(NameNode)、數(shù)據(jù)節(jié)點(diǎn)(DataNode)和客戶機(jī)(Client)等結(jié)構(gòu)元素的使用實(shí)現(xiàn)數(shù)據(jù)的讀寫功能,具體流程如圖2所示。
圖2 分布式文件系統(tǒng)的數(shù)據(jù)讀寫流程
通過圖2觀察可以發(fā)現(xiàn),HDFS需要唯一客戶機(jī)及名稱節(jié)點(diǎn),這可能引起HDFS數(shù)據(jù)讀寫的單點(diǎn)故障。例如當(dāng)名稱節(jié)點(diǎn)發(fā)生故障時(shí),將導(dǎo)致HDFS的脫機(jī),即使備份后,名稱節(jié)點(diǎn)也必須重播所有未完成的操作,而對(duì)于大型群集,此重播過程可能需要半小時(shí)以上。針對(duì)上述問題,HDFS聯(lián)邦(Federation)集群聚合多個(gè)HDFS,通過多個(gè)名稱節(jié)的引入,可降低單點(diǎn)故障的風(fēng)險(xiǎn)[14]。
區(qū)域醫(yī)聯(lián)體的云PACS,主要用于上海某區(qū)域中心醫(yī)院與各社區(qū)醫(yī)院肺癌早篩合作開展過程,相關(guān)醫(yī)學(xué)影像數(shù)據(jù)的存儲(chǔ)及共享。在存儲(chǔ)技術(shù)上,通過Hadoop多組HDFS的使用,實(shí)現(xiàn)云PACS的分布式存儲(chǔ)。在系統(tǒng)結(jié)構(gòu)分布上,在中心醫(yī)院與社區(qū)醫(yī)院分別設(shè)置存儲(chǔ)組件,并以200 Mbps帶寬數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)實(shí)現(xiàn)組間設(shè)備的連接,整體分布如圖3所示。
圖3 醫(yī)聯(lián)體云醫(yī)療影像儲(chǔ)存系統(tǒng)的結(jié)構(gòu)分布
課題組首先對(duì)區(qū)域醫(yī)聯(lián)體醫(yī)學(xué)影像的協(xié)同內(nèi)容及各醫(yī)療機(jī)構(gòu)的醫(yī)療信息化現(xiàn)狀等進(jìn)行了調(diào)研。通過對(duì)各級(jí)醫(yī)療機(jī)構(gòu)的相關(guān)醫(yī)學(xué)影像數(shù)據(jù)以及業(yè)務(wù)流程整合及集成,以患者為中心,建立了區(qū)域醫(yī)聯(lián)體醫(yī)學(xué)云PACS的整體架構(gòu)。醫(yī)聯(lián)體云PACS的架構(gòu)共分五個(gè)部分,依次為Web用戶接口、中間接口、HDFS分布式存儲(chǔ)、虛擬化容錯(cuò)和虛擬化,見圖4。用戶可通過瀏覽器訪問云PACS的Web服務(wù)器,用于醫(yī)學(xué)影像數(shù)據(jù)的查詢及操作。中間部分提供一系列接口服務(wù):如基于NanoDicom[15]開發(fā)的DICOM標(biāo)準(zhǔn)圖像接口和基于hdfs-over-ftp開發(fā)的HDFS接口,以分配和獲取分布式文件系統(tǒng)的最佳傳輸路徑,提升影像云系統(tǒng)數(shù)據(jù)傳輸?shù)男阅?。此外,在分布式存?chǔ)的監(jiān)控方面,提供基于Gangkia[16]存儲(chǔ)監(jiān)控的接口服務(wù),通過Hadoop各節(jié)點(diǎn)的Ganglia安裝,確定所有存儲(chǔ)節(jié)點(diǎn)的實(shí)時(shí)狀態(tài),以獲得最佳傳輸數(shù)據(jù)策略。最后,該系統(tǒng)還包含數(shù)據(jù)復(fù)制服務(wù),當(dāng)醫(yī)學(xué)圖像被上傳到云平臺(tái)后,該服務(wù)會(huì)自動(dòng)將相應(yīng)數(shù)據(jù)從一個(gè)云復(fù)制到另外一個(gè)云,以降低數(shù)據(jù)庫(kù)之間數(shù)據(jù)流通的復(fù)雜性和傳輸成本。HDFS分布式存儲(chǔ)通過NameNode、DataNode等結(jié)構(gòu)的使用,擁有硬件容錯(cuò)、流式訪問、適合大型文件存儲(chǔ)、跨平臺(tái)等的優(yōu)點(diǎn)。例如:能將文件分塊存儲(chǔ)至不同的節(jié)點(diǎn),適合大文件的存儲(chǔ)、支持錯(cuò)誤檢測(cè),能實(shí)現(xiàn)服務(wù)的快速、自動(dòng)恢復(fù)。虛擬化的容錯(cuò)通過Heartbeat+Brdb的設(shè)計(jì)方案[17-18],以提升業(yè)務(wù)的連續(xù)性。當(dāng)計(jì)劃外的中斷出現(xiàn)時(shí),可通過備份虛擬機(jī)執(zhí)行任務(wù),以減少對(duì)于服務(wù)的影響。虛擬化使用OpenNebula[19],選擇功能強(qiáng)大且易于使用的開源解決方案,避免供應(yīng)商的鎖定。
圖4 醫(yī)聯(lián)體云醫(yī)療影像儲(chǔ)存系統(tǒng)的架構(gòu)
本系統(tǒng)充分考慮醫(yī)聯(lián)體醫(yī)學(xué)影像云系統(tǒng)相關(guān)工作人員的操作習(xí)慣,基于C++語(yǔ)言,結(jié)合ASP.NET開發(fā)框架,旨在實(shí)現(xiàn)系統(tǒng)操作界面的友好及高效化。具體展示以影像云系統(tǒng)的單點(diǎn)登錄、患者信息管理及影像顯示界面為例,見圖5。醫(yī)聯(lián)體影像云PACS提供了基于Web的單點(diǎn)登錄服務(wù),用于操作人員的身份信息驗(yàn)證,見圖5a。當(dāng)技師、醫(yī)生等操作人員完成身份驗(yàn)證后,便可進(jìn)入系統(tǒng)完成后續(xù)操作。該系統(tǒng)的醫(yī)學(xué)影像由醫(yī)學(xué)成像設(shè)備進(jìn)行采集,包括肺癌篩查過程的CT圖片,并使用患者信息列表界面進(jìn)行相應(yīng)數(shù)據(jù)的管理,具體操作界面如圖5b所示。此外,該系統(tǒng)提供專業(yè)化的醫(yī)學(xué)影像顯示界面,包含縮略圖查看器等功能,具體如圖5c所示。
圖5 醫(yī)聯(lián)體云醫(yī)療影像儲(chǔ)存系統(tǒng)的操作界面
本系統(tǒng)的性能測(cè)試在1臺(tái)PC機(jī)、3臺(tái)服務(wù)器組成的硬件環(huán)境上完成。設(shè)置PC機(jī)為醫(yī)學(xué)影像系統(tǒng)的客戶端,選擇其中的1臺(tái)服務(wù)器為名稱節(jié)點(diǎn)、剩余的2臺(tái)服務(wù)器為數(shù)據(jù)節(jié)點(diǎn),并使用100 Mbps的網(wǎng)絡(luò)完成所有設(shè)備的信息互聯(lián)。實(shí)驗(yàn)所用PC機(jī)和服務(wù)器的配置信息如表1所示。
表1 PC機(jī)和服務(wù)器的配置信息
該實(shí)驗(yàn)分別測(cè)試單客戶端醫(yī)聯(lián)體影像云系統(tǒng)基于Hadoop分布式文件下載和基于網(wǎng)絡(luò)文件系統(tǒng)(Network File System,NFS)順序下載的速度并進(jìn)行對(duì)比。本研究的文件下載性能測(cè)試使用iozone工具[20]。在測(cè)試過程中,將測(cè)試集文件的大小設(shè)置從64 kb變化到512 Mb,iozone的記錄大小從4 kb變化到16 Mb。Hadoop分布式文件存儲(chǔ)和NFS存儲(chǔ)的測(cè)試結(jié)果,見圖6。
圖6 單客戶端文件下載性能測(cè)試結(jié)果
通過圖6觀察可以發(fā)現(xiàn),基于Hadoop分布式存儲(chǔ)的文件下載速率要高于NFS的速率。通過改變實(shí)驗(yàn)集文件、記錄的大小,觀察文件下載的最高速率,發(fā)現(xiàn)基于Hadoop分布式存儲(chǔ)的文件下載速率最高可達(dá)46 Mb/s,遠(yuǎn)高于NFS的最高下載速率17 Mb/s。對(duì)于測(cè)試文件大小的影響,在測(cè)試文件數(shù)據(jù)量逐漸增大時(shí),基于Hadoop分布式存儲(chǔ)和基于NFS的文件下載速度均呈現(xiàn)先增大再減小的情況,并在測(cè)試集達(dá)到一定大小時(shí)趨于穩(wěn)定。對(duì)于平穩(wěn)段文件下載速度的對(duì)比,基于Hadoop分布式存儲(chǔ)的文件下載速率穩(wěn)定為15 ~20 Mb/s,遠(yuǎn)大于NFS的穩(wěn)定下載速率6~8 Mb/s。可以得出客戶端的讀寫交互過程設(shè)計(jì)合理,能為Hadoop分布式存儲(chǔ)的云PACS帶來良好的文件下載性能。
區(qū)域醫(yī)聯(lián)體的云PACS于2019年10月開始在我院正式上線使用,用于醫(yī)聯(lián)體框架下肺癌早期篩查過程CT影像圖片的存儲(chǔ)及管理。使用至今,該系統(tǒng)存儲(chǔ)及管理的數(shù)據(jù)包含了4165位患者的影像圖片,并自2021年1月份以來達(dá)到增長(zhǎng)平穩(wěn),月增長(zhǎng)率為14.8%。為驗(yàn)證該系統(tǒng)在真實(shí)業(yè)務(wù)中的表現(xiàn),同時(shí)避免影響業(yè)務(wù),本文在系統(tǒng)使用空閑時(shí)段,和NFS的系統(tǒng)進(jìn)行CT影像數(shù)據(jù)下載速度對(duì)比。在測(cè)試前,本文先將所研究系統(tǒng)的檢查序列導(dǎo)入NFS系統(tǒng),然后分別選取影像文件數(shù)量較少、居中和最多的5組CT數(shù)據(jù)為實(shí)驗(yàn)用例,進(jìn)行下載性能對(duì)比測(cè)試。測(cè)試對(duì)象及實(shí)驗(yàn)用例的具體設(shè)置情況如表2所示。
表2 測(cè)試對(duì)象及實(shí)驗(yàn)用例的設(shè)置情況
實(shí)驗(yàn)通過后臺(tái)腳本記錄測(cè)試信息,存儲(chǔ)每組文件下載的開始、結(jié)束時(shí)間,經(jīng)重復(fù)5次測(cè)試后,計(jì)算出各序列的平均下載速度。通過結(jié)果觀察可以發(fā)現(xiàn),對(duì)于包含不同文件數(shù)、文件大小的測(cè)試影像文件,使用Hadoop分布存儲(chǔ)的TS_M1相較于使用NFS的TS_M2,在文件下載速度方面有著更佳的表現(xiàn)。TS_M1的平均速率達(dá)到19.7 Mb/s,遠(yuǎn)大于TS_M2的8.2 Mb/s,且兩者比較差異有統(tǒng)計(jì)學(xué)意義(t=82.6,P<0.01)。
本研究基于Hadoop分布式存儲(chǔ)的區(qū)域醫(yī)聯(lián)體云PACS相較于傳統(tǒng)的NFS的PACS有著更為復(fù)雜的存儲(chǔ)結(jié)構(gòu)。具體性能驗(yàn)證,通過基本的文件下載性能測(cè)試和真實(shí)業(yè)務(wù)中的下載測(cè)試實(shí)驗(yàn)來對(duì)所研究的系統(tǒng)進(jìn)行評(píng)估。實(shí)驗(yàn)測(cè)試結(jié)果表明,基于Hadoop分布式存儲(chǔ)的PACS相較于傳統(tǒng)的NFS系統(tǒng)有著更佳的文件下載速度表現(xiàn),平均2.4倍的速度提升。上述實(shí)驗(yàn)驗(yàn)證了所研究系統(tǒng)的有效性,同時(shí)也顯現(xiàn)出該系統(tǒng)在區(qū)域醫(yī)聯(lián)體肺癌早期篩查過程中能更好進(jìn)行醫(yī)學(xué)影像數(shù)據(jù)下載及共享的巨大潛能。該系統(tǒng)以Hadoop分布式存儲(chǔ)技術(shù)為核心,以Web用戶接口、中間接口、HDFS分布式存儲(chǔ)、虛擬化容錯(cuò)和虛擬化為系統(tǒng)架構(gòu)組成,對(duì)提升區(qū)域醫(yī)聯(lián)體醫(yī)學(xué)影像調(diào)閱、管理等工作有著實(shí)用價(jià)值。
該研究以區(qū)域醫(yī)聯(lián)體的肺癌早期篩查流程優(yōu)化為背景,以信息化技術(shù)為手段,以Hadoop分布式存儲(chǔ)為核心,搭建了區(qū)域醫(yī)聯(lián)體的醫(yī)學(xué)影像云PACS,相應(yīng)系統(tǒng)的搭建對(duì)于醫(yī)聯(lián)體的信息化發(fā)展、醫(yī)學(xué)影像信息共享共用的促進(jìn)等有著積極作用。在系統(tǒng)實(shí)現(xiàn)方面,該研究描述了一種基于Hadoop分布式存儲(chǔ)云PACS的核心實(shí)現(xiàn)方法、架構(gòu)、部件及用戶界面,旨在構(gòu)建一種兼具存儲(chǔ)、資源共享及操作體驗(yàn)高性能的醫(yī)學(xué)影像系統(tǒng)。理論上,該系統(tǒng)的使用繼承了Hadoop架構(gòu)的各項(xiàng)優(yōu)勢(shì):① 可擴(kuò)展:能通過計(jì)算機(jī)集群進(jìn)行數(shù)據(jù)分配、存儲(chǔ)和相關(guān)計(jì)算,相關(guān)集群可方便添加至系統(tǒng)的各個(gè)節(jié)點(diǎn);② 經(jīng)濟(jì):使用節(jié)點(diǎn)無(wú)需額外的硬件、操作系統(tǒng)花費(fèi);③ 高效:能在各節(jié)點(diǎn)間動(dòng)態(tài)轉(zhuǎn)移數(shù)據(jù),并能使各節(jié)點(diǎn)保持?jǐn)?shù)據(jù)動(dòng)態(tài)平衡,有著快速的處理速度。在系統(tǒng)性能評(píng)估方面,該研究通過文件下載實(shí)驗(yàn)、應(yīng)用效果分析,相較于傳統(tǒng)的基于NFS技術(shù)的文件下載測(cè)試結(jié)果,驗(yàn)證了所搭建系統(tǒng)的可用性,并初步論證了所設(shè)計(jì)、實(shí)現(xiàn)的基于Hadoop分布式存儲(chǔ)云PACS的較好使用及推廣價(jià)值。
基于Hadoop分布式存儲(chǔ)的云PACS,也是我們?cè)诓粩嗫偨Y(jié)、改進(jìn)與完善的系統(tǒng)。總體而言,該系統(tǒng)還存在一系列需要完善的地方。① 所能存儲(chǔ)、管理的醫(yī)學(xué)影像資源單一,只含CT 圖像一種,該系統(tǒng)不支持肺癌早期篩查過程中其他醫(yī)學(xué)影像資源的管理及共享;② 在共用可擴(kuò)展性上的思考及設(shè)計(jì)有所欠缺,該系統(tǒng)專門構(gòu)建用于肺癌早期篩查,無(wú)法直接將其用于醫(yī)聯(lián)體下其他醫(yī)療合作項(xiàng)目的醫(yī)學(xué)影像管理;③ 系統(tǒng)使用對(duì)于網(wǎng)絡(luò)的性能有著更高要求,特別是中心醫(yī)院與社區(qū)醫(yī)院的網(wǎng)絡(luò)連接有使用院外的網(wǎng)絡(luò),對(duì)于數(shù)據(jù)傳輸、網(wǎng)絡(luò)安全性等有著更多影響因素。針對(duì)可能存在的不足,在今后的研究中,本課題組將把工作重點(diǎn)集中于以下幾處:① 增進(jìn)系統(tǒng)的數(shù)據(jù)包容性,在該系統(tǒng)中整合更多種類醫(yī)學(xué)影像的管理,如增加MRI、超聲、PET等數(shù)據(jù)的管理;② 提升該系統(tǒng)的業(yè)務(wù)可擴(kuò)展能力,對(duì)系統(tǒng)接口、數(shù)據(jù)規(guī)范性等進(jìn)行改善,向可插件式系統(tǒng)進(jìn)行轉(zhuǎn)變;③ 加強(qiáng)系統(tǒng)使用的網(wǎng)絡(luò)安全性,系統(tǒng)使用過程中應(yīng)持續(xù)加強(qiáng)各類安全風(fēng)險(xiǎn)的監(jiān)控。