岑星星,湯欽華,馬群圣
上海市胸科醫院(上海交通大學附屬胸科醫院) 信息中心,上海 200030
醫聯體是一種由不同級別醫療機構組成,實現區域內醫療資源多方位整合的聯合體[1]。醫聯體的建設對于優化醫療資源、提升醫療質量、控制醫療費用等有著顯著作用[2]。在醫聯體建設中,醫學影像的信息化無疑起著重要作用,相應水平的提升對于影像資源的多方位整合、臨床診斷能力的提升等有著直接影響[3]。近年來,隨著醫聯體平臺的快速發展,醫聯體框架下關于醫學影像的信息化建設得到長足進步。
醫學影像平臺開發是醫院信息化發展的熱點。Griebel等[4]和孫雪梅[5]通過Hadoop分布式文件系統(Hadoop Distributed File System,HDFS)的使用,實現了不同醫療機構間醫學影像的存儲及共享。Goli-Malekabadi等[6]和李芹等[7]通過云技術的使用,建立起了醫療影像儲存系統(Picture Archiving and Communication System,PACS)的云服務。肖美華等[8]討論了云PACS的數據安全性問題,并提出了基于醫學數字成像與通信(Digital Imaging and Communications in Medicine,DICOM)標準的安全通信框架。楊曉光等[9]著眼于醫聯體的信息化建設,實現了腦卒中系統化干預醫療協同的云計算系統。然而,從近幾年醫學影像的信息化發展情況來看,鮮有關于醫聯體框架下分布式存儲醫學影像云PACS的具體技術實現及應用的相關報道。
本文旨在介紹基于Hadoop分布式存儲的區域醫聯體醫學影像云平臺的設計和實現。基于先前的研究基礎[10-11],結合Hadoop分布式存儲技術,實現區域醫聯體框架下的云PACS,優化并串聯上海某區中心醫院與社區衛生醫療機構之間的影像資源分配流程,進而實現區域醫院醫學影像資源利用率及影像存儲設備利用率、讀寫性能的最大化。
Hadoop是由Apache軟件基金會開發的一種高度可擴展的開源分布式應用程序開發框架,能讓開發人員專注于數據集的邏輯設計,而不是處理細節,極大地提升了分布式應用程序的開發效率[12]。Hadoop由眾多組件分工協作而成,包括底層的HDFS分布式文件系統、中間層的MapReduce分布式計算框架、以及實時分布式數據庫HBase和數據倉庫Hive等的支持,相應的Hadoop生態圈及各組件功能的展示如圖1所示。

圖1 Hadoop生態圈及各組件功能
分布式文件系統HDF S作為Hadoop的核心組件之一,為開發系統的海量數據存儲提供了有效支持[13]。構成上,HDFS由數據節點群集構建而成,每個數據節點使用塊協議并通過網絡為數據塊提供服務,擁有較好的文件存儲性能。另外,HDFS的每個數據節點相互連接,用于重新平衡數據、移動副本并確保數據的高度可復制,以提升數據存儲的可靠性。此外,HDFS還通過HTTP提供數據,允許從Web瀏覽器或其他客戶端訪問所有內容,提升了數據存儲的便攜及可擴展性。從實現原理上看,HDFS通過名稱節點(NameNode)、數據節點(DataNode)和客戶機(Client)等結構元素的使用實現數據的讀寫功能,具體流程如圖2所示。

圖2 分布式文件系統的數據讀寫流程
通過圖2觀察可以發現,HDFS需要唯一客戶機及名稱節點,這可能引起HDFS數據讀寫的單點故障。例如當名稱節點發生故障時,將導致HDFS的脫機,即使備份后,名稱節點也必須重播所有未完成的操作,而對于大型群集,此重播過程可能需要半小時以上。針對上述問題,HDFS聯邦(Federation)集群聚合多個HDFS,通過多個名稱節的引入,可降低單點故障的風險[14]。
區域醫聯體的云PACS,主要用于上海某區域中心醫院與各社區醫院肺癌早篩合作開展過程,相關醫學影像數據的存儲及共享。在存儲技術上,通過Hadoop多組HDFS的使用,實現云PACS的分布式存儲。在系統結構分布上,在中心醫院與社區醫院分別設置存儲組件,并以200 Mbps帶寬數據傳輸的網絡實現組間設備的連接,整體分布如圖3所示。

圖3 醫聯體云醫療影像儲存系統的結構分布
課題組首先對區域醫聯體醫學影像的協同內容及各醫療機構的醫療信息化現狀等進行了調研。通過對各級醫療機構的相關醫學影像數據以及業務流程整合及集成,以患者為中心,建立了區域醫聯體醫學云PACS的整體架構。醫聯體云PACS的架構共分五個部分,依次為Web用戶接口、中間接口、HDFS分布式存儲、虛擬化容錯和虛擬化,見圖4。用戶可通過瀏覽器訪問云PACS的Web服務器,用于醫學影像數據的查詢及操作。中間部分提供一系列接口服務:如基于NanoDicom[15]開發的DICOM標準圖像接口和基于hdfs-over-ftp開發的HDFS接口,以分配和獲取分布式文件系統的最佳傳輸路徑,提升影像云系統數據傳輸的性能。此外,在分布式存儲的監控方面,提供基于Gangkia[16]存儲監控的接口服務,通過Hadoop各節點的Ganglia安裝,確定所有存儲節點的實時狀態,以獲得最佳傳輸數據策略。最后,該系統還包含數據復制服務,當醫學圖像被上傳到云平臺后,該服務會自動將相應數據從一個云復制到另外一個云,以降低數據庫之間數據流通的復雜性和傳輸成本。HDFS分布式存儲通過NameNode、DataNode等結構的使用,擁有硬件容錯、流式訪問、適合大型文件存儲、跨平臺等的優點。例如:能將文件分塊存儲至不同的節點,適合大文件的存儲、支持錯誤檢測,能實現服務的快速、自動恢復。虛擬化的容錯通過Heartbeat+Brdb的設計方案[17-18],以提升業務的連續性。當計劃外的中斷出現時,可通過備份虛擬機執行任務,以減少對于服務的影響。虛擬化使用OpenNebula[19],選擇功能強大且易于使用的開源解決方案,避免供應商的鎖定。

圖4 醫聯體云醫療影像儲存系統的架構
本系統充分考慮醫聯體醫學影像云系統相關工作人員的操作習慣,基于C++語言,結合ASP.NET開發框架,旨在實現系統操作界面的友好及高效化。具體展示以影像云系統的單點登錄、患者信息管理及影像顯示界面為例,見圖5。醫聯體影像云PACS提供了基于Web的單點登錄服務,用于操作人員的身份信息驗證,見圖5a。當技師、醫生等操作人員完成身份驗證后,便可進入系統完成后續操作。該系統的醫學影像由醫學成像設備進行采集,包括肺癌篩查過程的CT圖片,并使用患者信息列表界面進行相應數據的管理,具體操作界面如圖5b所示。此外,該系統提供專業化的醫學影像顯示界面,包含縮略圖查看器等功能,具體如圖5c所示。

圖5 醫聯體云醫療影像儲存系統的操作界面
本系統的性能測試在1臺PC機、3臺服務器組成的硬件環境上完成。設置PC機為醫學影像系統的客戶端,選擇其中的1臺服務器為名稱節點、剩余的2臺服務器為數據節點,并使用100 Mbps的網絡完成所有設備的信息互聯。實驗所用PC機和服務器的配置信息如表1所示。

表1 PC機和服務器的配置信息
該實驗分別測試單客戶端醫聯體影像云系統基于Hadoop分布式文件下載和基于網絡文件系統(Network File System,NFS)順序下載的速度并進行對比。本研究的文件下載性能測試使用iozone工具[20]。在測試過程中,將測試集文件的大小設置從64 kb變化到512 Mb,iozone的記錄大小從4 kb變化到16 Mb。Hadoop分布式文件存儲和NFS存儲的測試結果,見圖6。

圖6 單客戶端文件下載性能測試結果
通過圖6觀察可以發現,基于Hadoop分布式存儲的文件下載速率要高于NFS的速率。通過改變實驗集文件、記錄的大小,觀察文件下載的最高速率,發現基于Hadoop分布式存儲的文件下載速率最高可達46 Mb/s,遠高于NFS的最高下載速率17 Mb/s。對于測試文件大小的影響,在測試文件數據量逐漸增大時,基于Hadoop分布式存儲和基于NFS的文件下載速度均呈現先增大再減小的情況,并在測試集達到一定大小時趨于穩定。對于平穩段文件下載速度的對比,基于Hadoop分布式存儲的文件下載速率穩定為15 ~20 Mb/s,遠大于NFS的穩定下載速率6~8 Mb/s。可以得出客戶端的讀寫交互過程設計合理,能為Hadoop分布式存儲的云PACS帶來良好的文件下載性能。
區域醫聯體的云PACS于2019年10月開始在我院正式上線使用,用于醫聯體框架下肺癌早期篩查過程CT影像圖片的存儲及管理。使用至今,該系統存儲及管理的數據包含了4165位患者的影像圖片,并自2021年1月份以來達到增長平穩,月增長率為14.8%。為驗證該系統在真實業務中的表現,同時避免影響業務,本文在系統使用空閑時段,和NFS的系統進行CT影像數據下載速度對比。在測試前,本文先將所研究系統的檢查序列導入NFS系統,然后分別選取影像文件數量較少、居中和最多的5組CT數據為實驗用例,進行下載性能對比測試。測試對象及實驗用例的具體設置情況如表2所示。

表2 測試對象及實驗用例的設置情況
實驗通過后臺腳本記錄測試信息,存儲每組文件下載的開始、結束時間,經重復5次測試后,計算出各序列的平均下載速度。通過結果觀察可以發現,對于包含不同文件數、文件大小的測試影像文件,使用Hadoop分布存儲的TS_M1相較于使用NFS的TS_M2,在文件下載速度方面有著更佳的表現。TS_M1的平均速率達到19.7 Mb/s,遠大于TS_M2的8.2 Mb/s,且兩者比較差異有統計學意義(t=82.6,P<0.01)。
本研究基于Hadoop分布式存儲的區域醫聯體云PACS相較于傳統的NFS的PACS有著更為復雜的存儲結構。具體性能驗證,通過基本的文件下載性能測試和真實業務中的下載測試實驗來對所研究的系統進行評估。實驗測試結果表明,基于Hadoop分布式存儲的PACS相較于傳統的NFS系統有著更佳的文件下載速度表現,平均2.4倍的速度提升。上述實驗驗證了所研究系統的有效性,同時也顯現出該系統在區域醫聯體肺癌早期篩查過程中能更好進行醫學影像數據下載及共享的巨大潛能。該系統以Hadoop分布式存儲技術為核心,以Web用戶接口、中間接口、HDFS分布式存儲、虛擬化容錯和虛擬化為系統架構組成,對提升區域醫聯體醫學影像調閱、管理等工作有著實用價值。
該研究以區域醫聯體的肺癌早期篩查流程優化為背景,以信息化技術為手段,以Hadoop分布式存儲為核心,搭建了區域醫聯體的醫學影像云PACS,相應系統的搭建對于醫聯體的信息化發展、醫學影像信息共享共用的促進等有著積極作用。在系統實現方面,該研究描述了一種基于Hadoop分布式存儲云PACS的核心實現方法、架構、部件及用戶界面,旨在構建一種兼具存儲、資源共享及操作體驗高性能的醫學影像系統。理論上,該系統的使用繼承了Hadoop架構的各項優勢:① 可擴展:能通過計算機集群進行數據分配、存儲和相關計算,相關集群可方便添加至系統的各個節點;② 經濟:使用節點無需額外的硬件、操作系統花費;③ 高效:能在各節點間動態轉移數據,并能使各節點保持數據動態平衡,有著快速的處理速度。在系統性能評估方面,該研究通過文件下載實驗、應用效果分析,相較于傳統的基于NFS技術的文件下載測試結果,驗證了所搭建系統的可用性,并初步論證了所設計、實現的基于Hadoop分布式存儲云PACS的較好使用及推廣價值。
基于Hadoop分布式存儲的云PACS,也是我們在不斷總結、改進與完善的系統。總體而言,該系統還存在一系列需要完善的地方。① 所能存儲、管理的醫學影像資源單一,只含CT 圖像一種,該系統不支持肺癌早期篩查過程中其他醫學影像資源的管理及共享;② 在共用可擴展性上的思考及設計有所欠缺,該系統專門構建用于肺癌早期篩查,無法直接將其用于醫聯體下其他醫療合作項目的醫學影像管理;③ 系統使用對于網絡的性能有著更高要求,特別是中心醫院與社區醫院的網絡連接有使用院外的網絡,對于數據傳輸、網絡安全性等有著更多影響因素。針對可能存在的不足,在今后的研究中,本課題組將把工作重點集中于以下幾處:① 增進系統的數據包容性,在該系統中整合更多種類醫學影像的管理,如增加MRI、超聲、PET等數據的管理;② 提升該系統的業務可擴展能力,對系統接口、數據規范性等進行改善,向可插件式系統進行轉變;③ 加強系統使用的網絡安全性,系統使用過程中應持續加強各類安全風險的監控。