(上海交通大学医学院附属瑞金医院,上海市200025)
摘要:随着数字化医学成像设备的升级,影像检查数量的增加,医院PACS影像文件产量急剧增加,不少已达到十亿文件级别存储规模。传统的集中式块存储方法,由于性能和容量扩展性有限,已逐渐无法适应当下医院对于影像主存储的要求。而分布式文件存储,由于其高并发访问和大规模扩容能力,是潜在的理想存储方式。但在DICOM传输标准下,影像通过TCP/IP协议单线程上传,性能反而不及块存储。导致几乎没有医院将其作为影像主存储。为了释放分布式文件存储作为影像主存储的潜能,作者以上海瑞金医院为背景,研究了一种基于单一PACS影像多线程写入分布式文件存储的方法,并实证分析效果。研究结果表明,影像上传速度较医院原有的集中式块存储提升278%~398%。
关键词 PACS 多线程 写入速度 分布式存储
Research on The Method of Writing A Single PACS Image to Distributed File Storage Based on Multi-threading
Weng Jinyang
Abstract With the upgrade of digital medical imaging equipment and the increase of the number of imaging examinations, the output of hospital PACS image files has increased dramatically, and many have reached the billion-file level storage scale. The traditional centralized block storage method, due to limited performance and capacity scalability, has gradually failed to meet the current hospital requirements for image primary storage. Distributed file storage, on the other hand, is potentially the ideal storage method due to its high concurrent access and massive scalability. However, under the DICOM transfer standard, images are uploaded via TCP/IP protocol in a single thread, and the performance is rather inferior to that of block storage. This has resulted in almost no hospitals using it as primary image storage. To unlock the potential of distributed file storage as image primary storage, the authors investigate a method based on multi-threaded writing of single PACS images to distributed file storage in the context of Shanghai Ruijin Hospital, and empirically analyze the effect. The study results show that the image upload speed is improved by 278%~398% compared to the hospital's original centralized block storage.
Key words PACS,Multi-threading,Write speed,Distributed file storage
1现状分析
随着现代医学的发展,临床医生的诊疗工作越来越多地依赖于医学影像检查。通过医学影像检查,可获得患者多方位的全面的病变信息,对病变的定位、定量、定性起着至关重要的作用,为临床疾病诊断提供强有力的证据支持,从而指导临床疾病的治疗方案的制定。
同时,医学成像设备也实现了数字化,并朝着薄层、超薄层、高分辨率方向发展,以为临床医生提供更好的分辨力。医院近年在此方向的投资——无论在数量和质量方面——均保持着较高的优先级,以减少病患的检查等待时间,提升影像学诊断的水平和服务能力。
PACS(Picture Archiving and Communication Systems,影像归档和通信系统)通过DICOM(Digital Imaging and Communications in Medicine,医学数字成像和通信)标准(ISO 12052),以数字化的方式将设备生产的海量影像保存,实现医学影像归档存储、通讯、辅助诊断的管理功能。
上海瑞金医院建于1907年,原名广慈医院,是一所集医疗、教学、科研为一体的三级甲等综合性医院,有着百年的深厚底蕴,在复旦版《2020年度中国医院综合排行榜》中位列第五。医院拥有CT设备29台、MR设备8台、DR设备18台、PET/CT设备4台、PET/MR设备1台。医院PACS于2001年7年正式上线。截至2020年,影像总容量335.77TB、数量14.42亿个,其中CT、MR、PET(包括PET/CT、PET/MR)设备上传影像占比91%。期间,采用集中式块存储作为PACS影像上传主存储,在历经二次块存储设备更新后,尚能支撑当时的PACS存储规模。但到了2021年,随着医院合并,医联体影像诊断中心的建立,医学成像设备开机时间的延长,以及更精密成像设备的引进,使得影像量呈井喷式增长,如图1和图2所示。原先的集中式块存储方式,其性能和容量接近极限阈值。经过持续跟踪,块存储的劣势被暴露和渐渐放大,业务高峰时段影像文件上传能力从原先的20到25个/秒下降到12到16个/秒。考虑到一个医学检查扫描常常生产超过2000个影像文件,高峰期间几十台成像设备并发上传,PACS影像上传随时有因为存储性能掣肘,导致宕机的风险。因此,计算机中心面临较大的压力,如何建设满足医院PACS规模发展需求的影像主存储,已成为当务之急[1]。
图1 2016年~2021年影像文件容量年增
图2 2016年~2021年影像文件数量年增
2单一PACS影像多线程写入技术
区别于集中式块存储,分布式文件存储可横向扩展,即性能随着扩容实现线性提升,满足高并发访问场景,容量更可达到PB级别,是PACS影像主存储的潜在理想对象。但PACS影像文件一般在几百KB大小,且每个序列数量成百上千,属于海量小文件传输场景。当影像接收服务器将分布式文件存储作为影像存储时,实测其传输速度比块存储低近2倍。捕解析TCP/IP协议数据包分析原因,发现由于需要传输大量小文件(单个影像文件平均大小约为250KB),系统耗费了超过80%的时间检查文件信息,而真正用于文件传输的时间不足20%,甚至更低,这就导致网络带宽利用率低下,传输效率自然也随之大幅下降。显然,提高带宽利用率,是提升影像传输至分布式文件存储速度的有效途径。针对这个问题,以上海瑞金医院为背景,研究了一种基于单一PACS影像多线程写入分布式文件存储的方法,以提高带宽利用率,并测试了在不同线程数下的传输速度提升效果[2]。
影像上传的流程为:数字化成像设备上传文件,PACS影像接收服务按序列顺序接收影像,最后影像传输至存储设备写入。在不干涉整体业务流程的情况下,在PACS接收服务接收影像后,传输至存储前,将文件流拆分为多线程,并发传输并写入存储,实现对PACS影像数据的高速写入,流程如图3。
图3 PACS影像多线程写入流程
同时,针对异常处理的研究和设计如下:
(1)收到最后一幅图像,写入完成后,检查该序列文件是否有未更新成功写入标志(延迟0.1毫秒)。
(2)检测到有图像没有写入成功标志,返回写入失败。
(3)成像设备自动重传该序列所有影像。
采样相同的CT设备、检查部位、检查方式的影像[3],通过不同存储方法的影像上传速度对比如表1[4]。
表1 不同存储方法的影像上传性能对比
检查类型 | 部位 | 影像上传速度中位数(个/秒) | ||
集中式块存储 | 原生分布式文件存储 | 基于单一PACS影像8线程 写入分布式文件存储 | ||
CT | 上腹部 | 12.7 | 7.2 | 57.9 |
下腹部 | 11.5 | 6.3 | 50.6 | |
腹部薄层重建 | 9.9 | 5.7 | 45.9 | |
胸部 | 13.6 | 7.6 | 60.9 | |
胸部薄层重建 | 10.8 | 5.8 | 46.7 | |
头部 | 7.3 | 4.1 | 32.7 | |
头部CTA | 5.5 | 3.1 | 25.1 | |
下肢 | 14.1 | 8.0 | 64.3 | |
颈动脉 | 12.5 | 7.3 | 58.0 | |
颈动脉薄层重建 | 12.2 | 6.7 | 53.7 |
以8线程将影像写入分布式文件存储为基准,根据对比测试可得,影像上传速度较集中式块存储提升440%~464%。
3实现架构
医院于2021年3月启用基于单一PACS影像多线程写入分布式文件存储的新存储架构。该架构包括二套分布式文件存储,并组成读写分离双活集群。一套用于影像接收,另一套用于影像调阅,符合DICOM通信标准的数字化医学影像设备通过影像接收服务将每个影像文件拆分为多线程写入分布式文件存储,从而实现了PACS整体架构的纯分布式建设[5],如图4。
图4 基于单一PACS影像多线程写入的分布式文件存储架构
在正式割接前,组织了在真实环境下的压力测试,以观测性能曲线的变化情况。测试假定以医院所有42台大型成像设备(CT、MR、PET)均开机工作,并以每序列350个影像文件为前提,通过设备并发数、线程数的维度,采集影像上传速度计数,以及当时的影像主存储性能数据,如图5。
图5 多线程、多并发压力测试
显然,测试结果显示,无论是当前42台设备满载并发的情况下,还是在“十四五”规划中设备并发数进一步提升50%(并发数达到60)的情况下,影像上传速度及其存储性能数据,均为线性提升,且延迟未出现明显波动[6]。意味着该架构中影像传输、存储写入性能,仍有余量,满足医院PACS至少五年的发展需要。
4实证分析
截止2021年10月,数字化医学成像设备从PACS集中式老架构向分布式新架构的割接完成率超过95%,其中包括了所有CT、MR、PET大型医学成像设备的接入。
选取2020年12月原有集中式存储架构的20台大型成像设备并发影像上传速度和存储延迟情况作为对照组;选取2021年12月现有基于单一PACS影像8线程写入,叠加42台大型成像设备并发的分布式文件存储架构的影像上传速度和延迟情况作为观察组[7]。提取影像接收服务中影像上传性能日志,单序列影像上传速度=单位时间内影像上传总数/序列数量。纳入和排除标准:(1)纳入占总影像量91%的CT、MR、PET检查。(2)排除仅上传贴图的检查,如内窥镜。贴图在文件个数、文件容量、网络带宽占用等方面的差异在统计学意义上可忽略不计,如表2所示。
表2 样本数据统计
对照组 | |||||
检查类型 | 月检查数/次 | 每序列平均影像上传数/个 | 每序列平均影像上传容量/GB | 影像数量月增/个 | 影像容量月增/GB |
CT | 52621 | 290 | 0.06914 | 15260090 | 3638.29 |
MR | 16498 | 477 | 0.11373 | 7869546 | 1876.25 |
PET | 1885 | 1263 | 0.30112 | 2380755 | 567.62 |
总计 | 71004 | 25510391 | 6082.15 | ||
观察组 | |||||
检查类型 | 月检查数/次 | 每序列平均影像上传数/个 | 每序列平均影像上传容量/GB | 影像数量月增/个 | 影像容量月增/GB |
CT | 98293 | 281 | 0.06700 | 27620333 | 6585.20 |
MR | 28643 | 474 | 0.11301 | 13576782 | 3236.96 |
PET | 2283 | 1291 | 0.30780 | 2947353 | 702.70 |
总计 | 129219 | 44144468 | 10524.86 |
主要观测二方面的指标:平均影像上传速度(ImgUP)和平均存储延迟(LAT)。下表1、2分别表示对照组和观察组。基于单一PACS影像8线程写入的分布式文件存储对照集中式存储的效果见表3。
表3 效果对比
检查类型 | ImgUP1/秒 | ImgUP2/秒 | LAT1/毫秒 | LAT2/毫秒 |
CT | 15.7 | 43.8 | 321.1 | 2.7 |
MR | 14.8 | 47.1 | 446.2 | 2.3 |
PET | 12.1 | 48.2 | 2476.8 | 1.9 |
由数据分析可以得出:(1)即使在压力大一倍的情况下,基于单一PACS影像8线程写入分布式文件存储的速度较集中式存储依旧有着279%~398%的提升,而且在单序列影像量越大的情况下越显著,除权后,性能提升应在5.4倍至8倍间。(2)集中式存储的延迟较高,而且在单序列影像量越大的情况下越显著,说明触发阻塞的风险较大。由此可见,基于单一PACS影像8线程写入分布式文件存储带来了显著的性能提升,且满足医院PACS规模扩大后对于存储的要求。
5展望
随着现代医学的发展,临床诊疗工作愈发依赖于医学影像检查,同时,新兴的影像三维重建、人工智能影像辅助诊断、临床和科研数据中心,都对海量影像的高效存取提出了更高的要求。医院,尤其是大型医院,在响应区域医疗、医联体建设、分级诊疗过程中,将建设影像诊断中心,作为其中的重要一环,因此将持续加大对影像设备的投入。如何顺应时代发展,提供高速、海量的影像存储方案,已成为医院信息化必然的发展方向。
参考文献
[1]左锋, 陈蜀虎, 王红迁. PACS体系架构升级研究与应用[J]. 电脑与信息技术, 2021, 29(3):4.
[2]Nakajima K , Gerofi B , Ishikawa Y , et al. Efficient Parallel Multigrid Method on Intel Xeon Phi Clusters. 2021.
[3]曾凯, 陈志强, 张丽,等. 基于同心圆轨道的锥形束CT重建算法[J]. 清华大学学报:自然科学版, 2004, 44(6):4.
[4]杨家海, 王子玉, 李晨曦,等. 基于中位数的网络流量熵值估算方法及装置:, 2018.
[5]杨青霖, 吴桂勇, 张广艳. 分布式存储系统中的数据高效缓存方法[J]. 大数据, 2021, 7(2):11.
[6]任图南. 分布式计算中统计方法的拓展[J]. 统计与决策, 2021(8):5.
[7]张法智, 董龙军. PACS在放射科的应用分析[J]. 影像研究与医学应用, 2019(9):2.