南阳医学高等专科学校 李新献
近年来,医疗影像信息化技术得到了广泛的应用,在医疗卫生信息化不断发展的过程中,它被应用在各级、各类医院。这些医学影像数据不断增加,伴随着各级各类医院病人的不断增多以及医疗仪器的不断换代更新,有许多非结构化的大量医学数字影像医疗数据,并且,传统的信息系统来存储这类医疗数据,考虑满足高容量、高可靠性、可扩展性、低成本的需求,它必然满足不了现代的存储需求。所以,远程诊断平台系统为了长远发展,必须考虑满足高容量、高可靠性、可扩展性、低成本的需求。
由于Hadoop分布式文件系统的设计理念是存储大文件,然而,在医学上通常一次拍摄的医学图像大小每一张都比较小,单张大约为512KB,一次拍摄的医学图像大小约为5MB。因此,根据在医学上医学图像文件大小和Hadoop分布式文件系统的特点,采用SequenceFile文件格式来合并多次拍摄的医学图像大小的众多的小文件[1]。
SequenceFile是一种存储医学影像数据的文件格式,它主要以键值对的形式持久化存储病人的医学图像信息数据。它的医学影像数据格式应用在传统的病人医学影像信息数据,将会使传统的病人医学影像数据适合分布式文件系统的存储。而Hadoop分布式文件系统存储和计算所用的医学影像数据格式也是键值对形式的数据,因此如果将SequenceFile而且SequenceFile作为小文件的存储容器还支持多种压缩格式。将医学影像文件以SequenceFile文件的格式进行压缩,形成大文件,从而可提高Hadoop分布式文件系统处理能力,同时防止NameNode节点因元数据过多而降低系统的性能[2]。
将每个病人的DICOM图像信息数据文件转化为键值对的形式,它的具体文件格式如图1所示。然后合并成一个S-DICOM文件,其中里面的信息包括结束标志、文件名以及文件类型、元数据等信息;Key代表原始文件名;Record代表图像文件,其中含有文件的长度、文件名的长度等信息;Header表示文件起始位置;Value代表文件内容,由Key和Value组成键值对。
图1 S-DICOM文件格式
(1)高可靠性
医学影像数据丢失或者损毁都会带来巨大的损失,它是重要的医学影像数据资料,因此存储平台须具备高安全性、可靠性,确保医学影像数据的可靠安全。
(2)高容量
随着社人口老龄化的到来,看病的人的数量越来越多,海量医疗医学图像数据就这样产生。同时,医疗行业信息化不断发展,如X光片、CT片、核磁共振等技术的出现,数字化医学影像数据已经成为诊断疾病的重要依据。传统的医疗系统已经无法满足对于这种非结构医学图像数据的存储需要。因此,迫切需要一种新的存储架构解决方案来满足高容量的需求。
(3)低成本
目前,高性能服务器的价格高昂,而且维护升级困难,需要专人维护而且容量扩充不方便。然而,国内的医疗信息系统主要采用这种高性能服务器来存储医学图像数据,这就导致医疗数据存储成本的增加。因此,构建一种低成本的医疗数据存储系统很有必要,在节约成本的同时也能高效管理医学图像数据,降低医疗医学图像数据存储成本。
(4)可扩展性
由于我国缺少统一规范的存储系统进行医学图像数据的存储,并且医疗资源比较分散,因此影响医生对病情的判断,造成对公共资源的浪费,对于目前这种情况,需要一种严格统一的医学图像数据存储系统来存储医疗数据。同时这种医疗医学图像数据存储系统需要具备良好的可扩展性。
图2 平台存储架构图
HDFS分布式文件系统不太适合对实时性要求较高的应用,因为它的实时性较差。但是,HDFS分布式文件系统具有极高的安全性,并且它的性能高、成本低。传统的集中存储和它刚好相反,传统的集中存储虽然扩张性差、成本高,但传统的集中存储具有较高的实时性,它也非常适合对较小数据文件的读写。因此,如果能将两者有效的结合起来,那么一定会实现医学图像数据的完美存储。因此,设计一种HDFS分布式存储和高性能PC服务器集中式存储相结合的医学图像数据存储系统,将需要长期保存且海量巨大的医学图像数据存储到HDFS集群当中,对实时性要求较高且数据短期内存储的高性能的应用服务器中,即“Hadoop集群分布式存储”与“集中式存储”相结合,来对海量医学图像数据进行存储和调用,平台存储架构如图2所示。
数据存储这一层主要由两个部分组成:集中式存储的一级数据库部分和分布式存储的二级数据库部分。其中一级数据库是基于高性能应用服务器;二级数据库是基于HDFS分布式存储系统。
其中,超过三个月的病人医学图像信息数据转换成S-DICOM文件数据,然后转存到二级数据库当中,即HDFS分布式集群中。从而提供数据分析、图像存储、远程灾备等服务。三个月时间内的原始DICOM图像文件数据则保留在远程诊断信息平台中,为方便诊断数据调用存储在高性能的应用服务器中;数据存储层向外部提供统一的数据访问接口。
本平台存储系统采用分布式存储和高性能PC存储相结合的二级存储架构的总体布局,不经常使用的病人医学图像信息数据经过格式转换后,存储到HDFS分布式集群当中进行一个长期保存,而短期内需要经常调用的数据存储在高性能的PC机。[3]
(1)后台HDFS分布式存储:价格低廉是HDFS分布式存储医学图像数据的主要的优势,HDFS分布式存储医学图像数据采用普通的PC机集群就可以实现,主要对存储医学图像时间比较长的数据进行长期存储,并且医学图像数据存储空间巨大,使得医学图像数据可以长时间安全的存储。
(2)前台高性能PC服务器存储:由于高性能PC服务器的读取医学图像数据速度较快,适应于对实时性要求比较高的场景,在高性能PC服务器内存储医学图像数据短期内需要诊断的医学图像数据,这些医学图像数据供医生和患者使用时查阅,但是高性能PC服务器存储也有一定的缺点,例如价格昂贵而且存储空间有限。
本文分别对高性能PC服务器和HDFS分布式文件系统进行了分析。其中,HDFS具有高可靠性、成本低、扩展性好等一些特点,但在实际的诊断医学图像数据的应用过程中,它仍然存在一些缺点,比如它的实时性差以及它不适合小文件医学图像数据的存储等。[4]因此,针对以上这些方面的不足,把HDFS分布式文件系统和高性能PC服务器结合起来,采用Hadoop的SequenceFile文件格式来存储医学图像数据文件。同时,形成了HDFS分布式存储和高性能PC服务器集中式存储医学图像数据相结合的存储架构,该混合式存储架构能够满足本研究中平台对医学图像存取性能的要求。
[1]胡涛,周兵,郑明辉,等.基于Hadoop的移动云存储系统研究与实现[C].2013年第四届中国计算机学会服务计算学术会议论文集,2013:181-183.
[2]方胜吉.云环境下基于Hadoop的医学图像海量存储与检索的研究与实现[D].北方民族大学,2013,4.
[3]张得震.基于Hadoop的分布式文件系统优化技术研究[D].兰州交通大学,2013.
[4]方胜吉.云环境下基于Hadoop的医学图像海量存储与检索的研究与实现[D].北方民族大学,2013,4.
[5]降国栋,厉力华.基于云计算的计算机辅助诊断及远程诊断平台研究[D].杭州电子科技大学硕士论文,2016-03-01.