胡 穎
(中移(蘇州)軟件技術有限公司,江蘇 蘇州 215153)
影像歸檔和通信系統(Picture Archiving and Communication System,PACS)主要實現醫療影像的數據采集、圖片傳輸、影像存儲、分析診斷以及報告查詢和管理等功能,用于將核磁、超聲以及彩超等檢查設備產生的圖像以數字化的方式保存,當需要調閱查詢時,該系統能快速提供影像數據,實現各影像數據的快速傳輸、有序存儲以及高效管理[1-2]。根據《醫療機構管理條例實施細則》《醫療機構病歷管理規定》等相關規定,門診病歷保存不得少于15年,住院病歷保存不得少于30年[3],因此,作為病歷重要組成部分的影像數據需要保存15年甚至30年。而各家醫院每年新增的影像數據量較大,大量影像數據的長期保存,不僅增加了醫院的信息化投入,還對數據存儲的可靠性和安全性提出了巨大挑戰,甚至PACS的穩定運行也面臨巨大壓力。因此,采取有效的技術手段實現影像數據的低成本、高可靠長期存儲以及PACS的高可用運行非常重要。
目前,大量醫院的PACS依然采用服務器進行私有化部署,雖然短期內能滿足PACS的功能和性能要求,但資源僵化、無法動態擴容。同時,由于PACS采用單機部署,并未使用高可靠集群架構,當服務器出現故障后,業務隨即宕機,并且恢復難度大、周期長,影響醫院業務的正常開展。影像數據存儲方面,PACS大多采用集中式磁盤陣列(Redundant Arrays of Independent Disks,RAID)進行存儲,而傳統RAID架構在性能和可靠性方面存在不足,無法滿足海量影像數據的高可靠、高性能、高擴展存儲需求[4-5]。在機房環境方面,服務器和磁盤陣列的私有化部署,不僅增加了機房環境和設備的費用投入,還增加了對機房環境以及軟硬件設備的運維投入和人員的專業技能要求。
公有云是由第三方提供的面向公眾的云服務,通過網絡進行訪問和使用,能提供基礎設施即服務(Infrastructure as a Service,IaaS)、平臺即服務(Platform as a Service,PaaS)以及軟件運營服務(Software as a Service,SaaS),為客戶業務系統的部署和運行提供計算、存儲以及網絡安全等服務,具有按需使用、彈性擴展、按量計費、低成本、免運維、安全可靠等優勢[6]。通過PACS整體上云,為PACS在云上的高可用部署提供了安全可靠的服務支撐,滿足了PACS對資源的高可靠性以及彈性伸縮需求。本文針對醫療PACS的高可用部署,提出以公有云為基礎,結合專業的集群軟件,構建公有云的醫療PACS高可用系統,實現PACS的高可靠、低成本部署。
醫療PACS高可用系統包括公有云服務、高可用集群軟件以及PACS軟件。公有云服務包括云主機、云硬盤、公網帶寬、專線、對象存儲、虛擬私有云(Virtual Private Cloud,VPC)、云安全中心以及安全組等服務。云主機提供計算資源,用于部署PACS軟件以及高可用集群軟件。云硬盤提供塊存儲空間,滿足軟件部署以及影像數據存儲的空間需求。彈性公網IP提供云主機的公網訪問帶寬和公網IP地址,為業務系統部署提供公網帶寬。對象存儲通過局域網和云主機互聯,用于影像數據的低成本、高可靠、長期保存。VPC通過在公有云資源池構建各租戶相互隔離的網絡環境,實現不同租戶之間的云主機的網絡隔離,從而保障各租戶的云主機的網絡安全。安全組基于白名單機制,通過控制云主機端口的東西向和南北向流量的進出權限以及網絡訪問協議,建立靈活多樣的安全訪問策略,保障云主機的網絡安全。醫療PACS影像設備到公有云資源池之間采用專線連接,從而構建與公網相隔離的專屬數據傳輸通道,保障數據的傳輸安全以及傳輸質量。高可用集群軟件包括服務端和控制端。服務端安裝在部署PACS軟件的主備云主機,用于復制主云主機的業務數據到備云主機,并監控主云主機中業務軟件進程的狀態,為業務系統的主備切換做準備,從而保障業務系統的高可用運行。控制端部署在集群管理云主機,用于高可用集群系統的配置、監控以及運維管理等操作。PACS軟件包括管理歸檔組件和全球廣域網(World Wide Web,Web)影像報告組件。管理歸檔組件作為PACS的前端組件,通過專線與醫院院區里的影像設備相連,用于實現影像數據在云硬盤里的存儲、管理、調閱以及查詢等功能,同時,針對半年以上的歷史數據,直接歸檔到對象存儲中進行長期保存。Web影像報告組件主要面向患者提供影像報告查詢。高可用系統架構如圖1所示。

圖1 高可用系統架構
整個高可用平臺以云主機為基礎,因此,云主機在實現PACS軟件和高可用集群軟件的穩定、快速、高效運行方面顯得尤為重要,管理歸檔云主機、Web影像報告云主機、集群管理云主機以及集群仲裁云主機這4個流程都采用高性能云主機進行處理。其中,管理歸檔云主機作為PACS的前端,承接所有影像數據的匯聚、管理以及調閱等大壓力訪問。因此,管理歸檔云主機采用32核vCPU和64 GB內存。Web影像報告云主機承接患者的影像報告查詢需求,鑒于業務并發量的突發性,云主機的配置不僅要滿足Web影像報告組件的日常資源需求,還要保留一定資源冗余,以應對業務突發性的資源需求。因此,Web影像報告云主機采用24核vCPU和48 GB內存。集群管理云主機用于高可用集群的管理、配置、查詢以及監控,采用8核vCPU和16 GB內存。集群仲裁云主機用于主云主機故障、主云主機中的服務故障或心跳鏈路故障時,集群需要主備切換前的仲裁,采用4核vCPU和16 GB內存。
在數據存儲方面,針對3個月以內的影像數據,復診時再次調閱的頻率較高,因此,3個月以內的數據屬于熱點數據,訪問頻率高,訪問實時性強,對性能也有較高要求,管理歸檔云主機的系統盤和數據盤都采用高性能固態硬盤(Solid State Disk,SSD),其中,系統盤采用200 GB存儲空間,滿足操作系統、PACS軟件以及集群服務端軟件的部署需求。數據盤采用10 TB的存儲空間,滿足3個月內熱點影像數據的存儲需求。針對3個月以后的影像數據,為了實現低成本、高可靠以及隨時訪問的需求,管理歸檔云主機把3個月以后的影像數據歸檔到對象存儲進行長期保存,從而實現低成本、高可靠、長期在線存儲。
高可用軟件采用RoseReplicatorPlus,其采用控制端和服務端的兩層架構,基于Active-Standby的主備集群模式,通過部署在業務云主機中的服務端,構建高可用業務集群系統,從而提高業務系統的可靠性和可用性。RoseReplicatorPlus支持CentOS、Red Hat以及Windows等主流操作系統,支持MySQL、Oracle數據庫以及各種類型的業務系統,通過監控業務系統的NT服務以及進程資源的狀態,實現對業務系統運行狀態的實時監控以及主節點故障時的業務自動切換,從而保障PACS影像系統的可用性,減少云主機、云硬盤等底層資源故障對PACS影像系統的影響,提高醫生診療效率和患者的就診體驗。
系統安全及可靠性包括傳輸鏈路安全、云端網絡安全、數據存儲可靠以及集群可靠性4個方面。
傳輸鏈路安全是指從醫療PACS影像設備到公有云資源池的網絡傳輸安全,通過采用與公網完全隔離的專線,實現從醫療PACS影像設備到公有云資源池的點對點數據傳輸,在確保影像數據傳輸安全的同時,保障數據傳輸的帶寬和速率,降低網絡延時,滿足影像數據實時上傳和查閱對傳輸鏈路的需求。
云端網絡安全是指云主機的網絡安全,通過VPC、安全組以及云防火墻等實現。通過VPC,為公有云的各租戶構建獨立的網絡環境,實現各租戶云主機資源的網絡隔離,從而保障云主機的網絡安全以及數據安全。同時,結合安全組的白名單機制以及最小化權限原則,控制開放的端口、協議以及授權對象等,實現對各租戶南北向和東西向流量的管控,從而進一步保障云主機的網絡安全。在云防火墻方面,把云防火墻部署在PACS的公網入口,通過安全訪問控制,進一步提高了云主機的網絡安全。
在數據存儲可靠性方面,存儲影像數據的高性能SSD和對象存儲均采用三副本的分布式架構,在具備高性能的同時還提供11個9的數據持久性,完全滿足影像數據的高并發訪問以及高可靠長期存儲需求。
在集群可靠性方面,針對管理歸檔云主機集群和Web影像報告云主機集群,各集群的2臺云主機之間均配置冗余的心跳鏈路,通過該心跳鏈路,主備云主機中的RoseReplicatorPlus服務端實時檢測PACS影像系統的NT服務以及進程資源的狀態,該狀態信息在主備云主機之間實現相互交換,從而實現用戶對PACS影像系統和云主機運行狀態的監控。當系統檢測到主云主機心跳中斷或主云主機中PACS影像系統的NT服務以及進程資源狀態異常時,備云主機將快速自動切換為主云主機并啟動業務,從而保障業務的正常運行。同時,為了使集群中主備云主機的系統盤和數據盤里的PACS影像系統數據保持一致,在主備云主機之間構建冗余的數據鏈路,從而實現PACS影像系統數據從主云主機實時復制到備云主機,為主云主機故障后的集群切換以及備云主機的業務運行提供保障。心跳鏈路和數據鏈路網絡配置如表1所示。

表1 心跳鏈路和數據鏈路網絡配置
為了保障故障發生后管理歸檔服務的順利切換,在影像設備的操作臺、控制臺以及閱片客戶端提前配置管理歸檔主云主機和備云主機的業務IP地址,并優先訪問管理歸檔主云主機的業務IP地址。當主云主機故障或其中的業務系統故障導致業務無法訪問時,影像設備的操作臺、工作臺以及閱片客戶端每隔2 s訪問1次管理歸檔主云主機,總共嘗試3次,當3次嘗試后仍然無法訪問,將切換訪問管理歸檔備云主機。切換訪問管理歸檔備云主機時,最多嘗試3次,每次間隔2 s。當嘗試3次訪問后仍無法訪問,將停止訪問,并提示系統故障。
管理歸檔主備云主機之間通過冗余的心跳鏈路,每隔1 s相互發送1次狀態信息,實時檢測云主機和管理歸檔服務的狀態。當主云主機故障、管理歸檔服務故障或心跳鏈路故障導致狀態信息無法成功發送時,主備云主機之間將嘗試3次、每次間隔1 s相互發送狀態信息。如果狀態信息交互失敗,主備云主機都將向集群管理云主機發送狀態仲裁請求,集群管理云主機收到狀態仲裁請求后,將通過心跳鏈路查詢主備云主機以及管理歸檔服務的狀態。當確認主云主機或其中的管理歸檔服務故障且備云主機和其中的管理歸檔服務狀態正常時,集群管理云主機將向主云主機發送重啟指令,并向備云主機發送主備切換指令,從而由備云主機開始對外提供服務。同時,集群管理云主機在告警信息中發出紅色告警,提醒運維人員對云主機、管理歸檔服務以及心跳鏈路進行恢復并切換為備云主機,從而讓管理歸檔云主機集群再次恢復主備的高可用模式,持續保障業務系統的高可用運行。針對Web影像報告查詢服務,采用和管理歸檔服務相同的高可用架構、主備云主機切換策略、客戶端訪問切換模式以及業務恢復方式,從而保障Web影像報告查詢服務故障的自動切換、業務自動恢復以及高可用運行。
將具備彈性伸縮和低成本優勢的公有云與高可用集群軟件相結合應用于醫療PACS,相比傳統服務器私有化部署的方式,其優勢非常明顯。本文提出了基于公有云的醫療PACS高可用系統的設計方案,對高可用系統架構和各關鍵部分進行了詳細設計,包括公有云服務、高可用集群軟件以及PACS軟件。通過采用公有云的高性能云主機、高性能塊存儲以及高可靠對象存儲等服務,實現了計算和存儲資源的靈活配置和動態擴容,滿足了高可用系統對資源的彈性需求和快速響應,減少了系統的建設投入,加快了系統的上線速度,降低了系統的運維開銷。結合網絡專線、VPC以及云防火墻,保障了云主機的網絡安全、影像數據的傳輸安全、存儲安全以及訪問安全。結合高可用集群軟件,構建了管理歸檔云主機集群和Web影像報告云主機集群,實現云主機和業務系統的狀態監控、故障切換以及業務恢復,保障了業務系統的可靠、穩定以及高效運行。