方胜吉 翁苏湘 王彦丽 王洪伟
摘 要:医学影像数据在临床应用当中,对数据的实时性要求很高,对影像数据的传输要求低延时,基于这个原因,目前大多数医疗机构都采用传统的集中式存储,但集中式存储架构不容易扩展,成本也很昂贵,当面临海量数据时,其传输带宽也存在着瓶颈。面对海量数据存储,目前比较好的方式是分布式存储,但分布式存储在面对医学影像数据存储时,又显现出实时性差的弱点;基于上述原因,我们设计了一种混合存储模式,将集中式存储与分布式存储相结合,既能存储海量数据,又保证了临床应用对医学数据的实时性要求。
关键词:医学影像 混合存储 海量 实时性
中图分类号:TP391 文献标识码:A 文章编号:1674-098X(2017)12(b)-0108-02
1 存储结构层次划分
按功能划分,可以将存储结构整体划分成两层。
1.1 数据存储层
数据存储层主要完成对医学影像数据的存储,按照对实时性要求的不同,数据存储层又划分成两个阶段。
第一阶段是对医学影像数据的实时性存储:在临床过程中,由医疗设备所产生的影像资料,首先存储到高性能的FC SAN服务器上,利用FC SAN的存取速度快的特点,来满足临床对医学影像资料实时性的要求,但存储容量对FC SAN来讲是一个问题,按照目前普通一所医院,年数据量5T计算的话,一个区域内的FC SAN可以连接10~20所医疗机构,总数据量在100T左右,这个数据量对FC SAN来讲,非常适合处理,可以充分发挥其性能;随着时间的推移,数据量会不断累积,FC SAN的存储空间就会成问题,此时就转为第二阶段的存储。
第二阶段是对医学影像数据的长期、灾备存储,通过分布式存储架构完成;一般情况下,一所医院的医学影像资料超过一年后,利用率就会大大降低,所以,我们可以人为的设定,超过一年时间的影像资料数据都要从FC SAN转存至分布式存储并进行容灾备份。这样做有两点好处,其一是提高数据的安全性,因为医学影像资料的数据对安全性是有很高要求的,一定时期内人影像数据是具有法律效力的;其二存储空间极易扩展,可以满足海量数据的存储需求,这是分布式存储的特点,非常适合海量医学影像资料的长期存储。
1.2 数据管理层
数据管理层位于存储层上层,主要是对数据存储的全过程提供自动化的管理并且为上层用户提供使用的接口,用户不需要了解具体存储数据的细节过程,比如对图像的检索、读写等操作全部由管理层自动完成,对底层的细节操作进行屏蔽;主要有下述6个部分功能。
(1)连接端口: 提供一个端口,实现HDFS和本地文件系统的互访。
(2)处理模块:主要处理影像数据在上传前的优化工作并且根据数据量制定相应的优化存储策略以及编程实现的方法。
(3)检索:实现对图片的定位以及去冗余功能。
(4)写入:从医疗设备上形成的医学图像,通过写入功能存储到集中式存储服务器。
(5)读取:按照用户的请求,将图片从集中式存储服务器或分布式服务器中调取出来。
(6)转存:转存的功能比较单一,就是把集中式存储的数据定期备份后面的分布式服务器上去。
2 混合式存储架构的运行流程
架构的运行流程整体可以分为3个部分,即读取过程、写入过程和转换过程。
2.1 存储架构读流程
整个架构的读取流程可以按照影像资料存储时间的长短分成两种情况进行,假如我们设置的存储时间的阈值为一 年。
第一种情况,为了保证临床的实时性,一年以内的数据我们会存储在集中式的高性能的FC SAN服务器上,读取数据时用户先通过连接端口提出访问请求,然后交由处理模块进行优化处理,之后再交给读取模块,读取模块要对数据信息进行判断,一年内的信息则直接通过FC SAN上的接口程序(如JAVA接口等)进行读取,获取信息后,反馈给客户,这与普通医疗机构的读取方式基本一致。
第二种情况,如果用户要求的数据信息在一年以上,则要读取分布式存储架构的内容,此时,用户提交读取请求给处理模块,处理模块优化后交给读取模块,读取模块判断为一年以上的数据信息,因此,不能直接从FC SAN中读取,因为一年以上的数据以经转存至HDFS,所以,读取模块将用户信息发送给“检索模块”,在检索模块中存储的是HDFS中的元数据信息,包括数据的“文件ID”以及所在的“块ID”信息,找到后,交给“读取模块”,读取模块根据检索出来的信息,调用HDFS接口程序对数据进行读取,反馈给用户。在读取数据的过程当中,由于HDFS采用并行读取的方式,所以读取速度与FC SAN速度差别不大,主要是检索过程用时较多,因此,检索算法的优化至关重要。
2.2 存储架构写流程
整个架构的写流程非常简单,当用户发出写数据请求时,通过连接端口将用户的请求交给处理模块,处理模块进行优化处理后,再通过写入模块调用FC SAN端口将数据写入FC SAN当中,这种方式与目前的医疗机构基本相同。这里有一点需要说明,我们为了满足临床的实时性要求,并不将产生的数据直接写进HDFS,因为HDFS要对数据进行至少3个以上的副本备份,所以,写数据的效率较低下,而且,医学影像的数据较小,并不适合直接写入HDFS中。
2.3 存储架构转换流程
在临床的过程当中,由于我们直接把医学影像数据存储在了FC SAN当中,随着时间的推移,其上的数据量会越来越多,而且利用率也会越来越低,所以,我们需要定期将FC SAN上的数据进行转存,比如一年为一个阈值,那一年以上的数据我们就要转存到HDFS上,以保障FC SAN的高效运行。
具体的执行过程是这样的,首先,FC SAN将需要转存的文件形成文件列表;然后,转存模块会调用FC SAN的接口,读取转存文件列表,再循环将文件以键值对的形式形成文件数据流;接下来,转存模块调用HDFS接口,查找可以写入的数据块,将由文件ID、数据和数据块ID形成的新的文件存储到可用数据块当中去;最后,将由二者ID号组成的元数据写入检索模块元数据列表,至此整个转换过程完成。
需要说明的一点是,由于整个转存的过程时间会比较长,因此在转存时,应选择较为空闲的医疗时间段进行,比如选择晚上等;转存的时间周期不易过长,也不易过短,一般为一个月转存一次较为适宜。
参考文献
[1]熊劲.大规模机群文件系统的关键技术研究[D].长沙:国防科技大学,2006.
[2]李波.基于Hadoop的海里图像数据管理[D].上海:华东师范大学,2011.
[3]Ken Dunham.The Problem with P2P[J].Information Systems Security,2006,15(2):5-8.
[4]劉鹏.云计算[M].北京:电子工业出版社,2011.
[5]张敏,陈云海.电信运营商云计算发展及应用研究[J].信息通信技术,2010,4(2):46-51.