PACS(影像信息的存储和传输系统)作为“智慧医院”重要的数字化信息系统之一,在临床诊断、医学科研等方面发挥着极其重要的作用。特别是在融合了AI等智能化技术之后,可以极大地提高医生临床诊断效率,为医患创造更为便捷的诊疗体验。为了实现“智慧化”的PACS系统,需要在满足医生基础诊疗需求的同时对影像数据进行合理的存储、加工和管理。
医院影像设备中图像高清化和智能化的快速发展,导致影像数据文件激增,给医院现有的存储架构带来了极大的挑战。不仅需要海量的数据存储空间,还需要保证数据存储的效率、可扩展性、可访问性和数据安全性保护性。为医生提供必要的医疗数据影像文件查询服务,配合临床辅助决策系统完成智能化的数据处理过程。
一、PACS 系统的存储需求
PACS系统的主要任务就是把医院医学影像设备(包括MRI核磁,CT,超声,传统CR/DR/X光机等)产生的医学影像数据通过各种接口(视频采集/DICOM)以数字化的方式存储下来,同时配合智能化系统增加一些临床辅助决策功能,为医生和患者提供服务。
1.系统数据架构
医学影像设备和PACS系统之间的数据传输主要使用DICOM标准(即国际医疗数字成像和通信标准)。DICOM有专门的网关服务器,用于接收影像设备传输过来的数据。DICOM网关将数据文件按照一定的序列进行接收,形成影像文件数据集(多个.dcm文件),然后由PACS影像服务器进行统一的归档和管理。对于非DICOM设备(例如传统X光/超声/病理),设备通过视频采集的方式进行图像采集,将采集的影像转换为标准DICOM影像并与病人信息进行整合后归档到PACS服务器。
医院的PACS存储设备为了满足国家对医疗数据存储时效的要求,通常分为在线存储、近线存储和离线存储三种。对于在线存储设备,医院会根据自身业务的特点和数据量进行选择,满足1~5年的数据存储要求。对于近线存储设备,部分中小规模医院或者是PACS数据量比较小的医院,这部分设备通常是缺失的,该类设备主要存储一些超过5年以上的历史数据,某些医院直接使用在线存储设备进行统一数据存储。对于离线存储设备,基本上所有医院都具备,因为重要的医疗影像数据,要求存储时效为30年。对于超长时效的数据存储医院通常使用离线存储设备(磁带库或光盘机等)进行归档保存。
2.系统数据存储量
医学影像的数据量通常很大,这个大不仅包括文件的容量,还包括文件的数量。对安全性、可用性和可维护性都是极大的挑战。主要的数据存储量如(表1)所示
每个医院根据业务类型不同,PACS系统1天可以产生数GB—数十GB的数据。
按北京大型三甲综合性医院每年200多万的门诊量计算,日门诊量约5500,平均30%的患者要做影像检查,那么CT/DR/MRI的日检查量就是1650/人次,平均每次检查常规CT扫描根据层级(16~256层)为十几MB量级,而X光机的胸片可以到几十MB,心血管或者脑部的造影图像可达近百MB以上。按平均50MB计算,那么每天就可能产生82.5GB数据,每年产生约30TB数据。如果是肿瘤类医院,那么拍片检查数量会更高,每年数据量会达到上百TB。如此大量数据的长期保存,对存储介质、保存环境、管理都是极大考验。
3.系统数据存储方式
PACS系统对数据存储的容量、性能和安全性都带来了巨大的挑战。从医院PACS系统诞生开始,各个医院就在探索经济可靠的影像存储方式。
现在主流的PACS系统一般把影像数据分为在线、近线和离线存储,这是根据数据的存储性质和需求方式来划分的,是现在PCAS系统存储的基本指导原则。目前大部分医院在线存储一般采用SSD/SAS高速硬盘,存储架构基于SAN存储或NAS存储。近线存储则使用大容量低成本的SATA硬盘,离线归档设备则使用蓝光光盘库或磁带库,为医学影像数据的长期保存带来了可实现的基础。
由于分布式存储技术的发展,服务器设备和大容量硬盘成本的下降,在线和近线存储的界限在变得模糊。为了解决PACS系统数据存储的问题,也存在一些采用灵活性更高、扩展性更强的分布式存储系统替代医院PACS系统使用的SAN存储/NAS存储。
二、PACS 系统分布式存储架构设计
在进行PACS系统的分布式存储架构设计时,应考虑访问协议、容量、性能、网络和应用访问等各个方面的要求,才能满足PACS的使用。分布式存储架构以X86服务器为节点,配置大容量数据盘和固态缓存盘,安装分布式存储软件系统,接入医院核心交换机网络,为PACS系统提供数据存储服务。
1.总体架构设计
2.存储访问协议
医院PACS系统的数据存储类型主要采用两种方式。早期PACS软件系统使用FTP协议传输数据,多采用SAN存储架构。后来由于传输效率问题,目前大部分PACS系统已经升级为基于NAS存储的数据访问方案,可以支持CIFS/NFS等多种文件存储协议,要求存储系统提供文件存储服务。
3. 存储容量和性能设计
PACS系统产生的影像数据文件以非结构化文件数据为主,文件数量多,且患者单次检查在单位时间内会产生大量文件。存储系统需要短时间处理海量影像文件数据,同时保持稳定高效地访问。而且存储系统还要支持长期的数据存储需求,满足PACS系统的设计,具备高扩展性和灵活性,支持容量按需扩展,在不断扩展的单个命名空间中,提供数百TB级的存储容量,帮助医院应对大量就诊数据,不增加因扩容带来的管理开销。
在存储容量方面,由于分布式存储系统的数据保护机制采用的是多副本或EC纠删码,需要根据实际容量和性能需求采用不同的数据保护机制。多副本性能优于EC纠删码,但是得盘率相对比较低。按三副本计算,只有33.3%。,如果采用EC纠删码,以三节点配置4+2:1的EC策略进行计算,得盘率有66.6%。
在存储性能方面,医生在调阅病人的医疗影像时,不能等待时间过长,否则会影响患者的就诊体验,平均每次影像病例打开应控制在10s以内。为了保证分布式存储系统的性能,需要做到两点,即保障数据盘的数量并配置固态缓存盘。每块数据盘大约可以提供80M~100M的读写性能,一个满配的4U节点可以达到2-3GB/s的峰值性能,配置3节点以上,基本可以保障PACS系统的性能要求。但是对于大并发的数据读写请求,仍需要配置固态缓存盘,提升数据读写速度。由于缓存盘写入速度快,数据盘写入数据慢,随着大量的数据写入,没有及时写入到数据盘上的数据是会堆积在缓存盘中的,为了避免缓存盘被写满的情况出现,最佳实践是5:1,即5块大容量NL-SATA盘配置1块固态硬盘,如果是NVMe协议的固态盘,可以配置8:1。在保证数据写访问时,缓存盘不会被溢出写满。
4.存储网络设计
由于采用了分布式存储架构,网络传输带宽就额外重要。通常分布式存储系统网络分为数据网、业务网和管理网。业务网和管理网可以根据医院现有的网络情况和规模进行选择,至少采用千兆网络连接。
业务网应尽可能采用万兆网络连接,提升高峰期多个业务科室在同时访问存储系统时的数据传输效率。因为医院看病早高峰期只集中在上午四小时左右时间,大量的患者拍片检查医生阅片,下午医生只是进行报告书写等工作。当采用千兆网络时,除去其他系统业务开销,提供带宽按60%计算,只有75MB/s。如果同时有多个医生调阅影像(按50MB计算),只能同时支持打开大约2-3个文件,比较影响医生的工作效率,影响患者就医体验。
在数据网,各个分布式存储系统之间需要进行大量的数据交换,至少需要配置万兆交换网络并做端口绑定聚合,最佳实践是采用25GE网络或40G InfiniBand网络进行连接,保证各个存储节点之间的数据交换带宽。
5.存储软件设计
分布式存储系统软件主要分为三大技术路线的产品。主要包括基于Ceph的商业化软件产品,基于GlusterFS的商业化软件产品和完全自研开发的产品。
Ceph和GlusterFS都是开源存储解决方案,以上三大技术路线选用任何一个“派系”的产品,基本上都可以满足存储使用要求。但是在实际的PACS应用测试过程中,还是会有一些区别,主要说明如下:
5.1 关于存储软件的元数据架构
大多数分布式存储软件产品都有元数据盘的概念。在大多数自研架构和Ceph架构中,要求必须有元数据盘(MDS),用于提供数据索引来定位文件,同时还需要监控单元(MON)保障一致性。而在GlusterFS架构,使用了完全去中心化结构,没有元数据的概念,使用弹性哈希算法来定位文件。这种做法的好处是无需元数据服务和专门的索引数据,即可实现文件在各个节点上的读写以及均衡分布,并实现全局统一命名空间。
采用元数据架构的好处是可以提升PACS系统的大量小文件的写入性能。由于每个患者的CT/MRI检查影像数据是由几百上千个小文件组成的,使用独立的元数据盘并配置NVMe SSD,可以有效的提升文件创建速度,提升同一时间创建多个小文件时的效率。
采用完全去中心化结构的弹性哈希算法来定位文件,在文件创建效率上是不如独立的元数据架构的,因为每创建一个文件,都需要做一次哈希算法来定位文件。但是安全性相对较高,适合X光片和超声等单个大文件影像数据的写入。
5.2 关于存储软件的缓存策略
关于分布式存储软件的缓存策略机制各个厂商都有,但是主要分为本地缓存策略和全局缓存策略两个技术路线。本地缓存策略是以单个节点为单位,单个节点的固态缓存盘只能给本地节点的数据盘做加速。全局缓存策略可以将各个节点上的固态缓存盘统一做成一个缓存存储池,缓存利用效率更高,性能更好。但是需要注意的是,网络带宽一定要保证,否则各个节点之间的带宽就会成为缓存加速效率的瓶颈。
除了数据盘有数据保护机制,缓存盘也有多副本保护机制。只是有的厂商不支持个性化配置,默认采用三副本策略。有的厂商可以支持调整为二副本,虽然缓存得盘率只剩下50%,但是对于PACS的读写性能有很大提升,在缓存盘配置数量足够多情况下可以考虑采用。还有一个比较重要的缓存策略就是要求分布式存储软件的缓存盘和数据盘最好支持不同的策略配置,如果只支持同一种策略,性能和容量就不可兼得。
最佳实践的PACS系统分布式存储配置场景是缓存盘采用全局架构配置二副本或三副本策略,数据盘采用EC策略,这样性能和容量都有保障。
三、应用场景总结
PACS应用在医院众多的数字化信息系统中是比较特殊的一个,存储容量需求大,网络访问要求高,在“智慧医院”建设的大环境下,在满足患者看病的同时,还需要满足临床应用、教学、会诊和科研的需要,满足数据安全保护的需要,有完善的数据保护机制。
在做PACS系统存储系统时,需要充分考虑医院现有的网络基础设施、分级存储设备和数据存储要求。在保护医院原有投资的前提下进行合理配置。特别是采用了分布式存储架构,对网络要求比较高,需要额外配置10GE/25GE光交换机和万兆接入交换机,考虑扩展性,满足存储节点横向扩展需求,否则会影响存储系统效率。
在系统设计过程中应当遵循整体规划,分步实施,对原有SAN存储系统、冷备光盘库和磁带库等存储系统合理利用,避免形成新的信息孤岛。
分布式存储系统用于医院PACS存储,能保证容量、可扩展性和性能,而且资金投入成本也相对比较低,只需要配置好网络、硬盘数量、类型并选择合适的分布式存储软件就可以完全满足医院业务的使用要求。