一种面向医疗大数据的云存储容灾平台研究与实现
2016-05-14刘华庆陈垦
刘华庆 陈垦
摘 要:为了有效保证医疗大数据的可靠性,本文针对医疗工作中的实际情况,设计开发一个基于RS纠删码的云存储容灾系统,在Hadoop平台架构上实现了冷数据扫描技术及RS编码/解码,可定期扫描系统并对冷数据进行纠删码处理,系统具有良好的容错性能和存储效率。实验分析表明,所搭建的系统运行正常,在编码单位为16 bits,具有最佳性能。
关键词:云存储;Hadoop;纠删码;数据重构
0 引言
近年来,医疗行业的大数据增长尤为迅速,以超声检查为例,过去五年超声的检查量增加2倍,CT检查量增加了3倍,而在未来的五年医院的数据包括影像的年负荷率将增长40%。实际上,这仅仅是医院某一个特定的业务环节的数据,如果以医院全院的业务来计算,医院每年增长的数据量都是非常巨大的[1]。
然而,如何有效存储这些医疗大数据,尤其是如何保证有重要价值的医疗数据可靠性的同时降低存储空间开销,成为医疗数据云存储平台亟待解决的问题。为了保证数据的可靠性,以往的大数据云存储系统(如典型的云存储系统Hadoop HDFS[2], Google GFS[3])普遍采用三备份策略,其设计初衷是由于通用商业PC在三副本的情况下可以基本保证不丢失数据,但是Hadoop系统的这种三副本技术本身的容错能力不高(只能容错2个节点失效),存储效率也较低。
1 RS纠删码技术简介
基于有限域GF运算的(n,k)纠删码能将n个数据块编码为(n+k)个纠删码分块,只要获取其中任意n个纠删码分块就能恢复所有n个原始数据块。代表性的RS(n,k)纠删码[5]是一种系统性编码,即编码后原n个数据块不变,剩余k个数据块为原始数据块计算得来。与多副本技术相比,容错能力相同条件下纠删码技术的存储效率更高、成本更低;例如,若按照100PB数据(Windows Azure Storage 2012年左右规模),1美元/GB/年,按容错能力1来计算(若副本技术和纠删码各需要2倍和1.5倍存储空间),则仅存储开销纠删码每年便可节省52,428,800美元。
2 云存储容灾系统设计与关键技术
2.1 云存储容灾系统的总体架构
本文设计基于Hadoop的云存储容灾系统的总体架构图如图1所示。本云存储系统分为两个部分:第一个部分是云存储系统的管理层,第二个部分是云存储系统的服务层。两个部分相互协作,共同为客户端上的用户提供文件上传、文件下载、文件删除、文件修改、文件查找等服务,用户能够方便地对云存储系统中的文件进行管理和操作,享受云存储系统提供的各种服务。下面分别阐述这个两个部分的主要功能。
(1) 云存储的管理层由三个服务器组成:第一个是Web Server服务器;第二个是RS Coding Server服务器;第三个是NameNode服务器。三个服务器之间相互协作、相互影响,是云存储容灾系统的基本骨架,在云存储系统中起着核心作用。
(2) 云存储系统的服务层由DataNode集群构成。在云存储容灾系统中,所有的文件被拆分为数据块存放在这些DataNode(数据节点)中,部分文件的数据块采用三备份存放,其余部分采用RS纠删码存放。当一个Datanode启动时,扫描本地文件系统,生成一个由这些本地文件对应的所有HDFS数据块的列表,作为报告发送到Namenode,这个报告就是块状态报告。云存储系统的服务层为其管理层提供存储等服务,其在云存储系统中不可或缺。
2.2 冷数据扫描判断技术
在本文的云存储容灾系统中,需要定期地对冷数据进行纠删码处理,所以首先需要对冷数据进行判断。冷数据与文件的两个属性(文件修改日期和文件访问的次数)密切相关。在文件信息表中,云存储系统中的每个文件都有date(文件修改日期)和number(文件访问的次数)的属性。RS Coding Server利用这两个属性,并结合冷数据判定算法定期地进行扫描来判断文件是否为冷数据文件。
3 系统性能分析
我们目前的HDFS集群搭建采用一台NameNode节点、三台DataNode节点。同时我们还使用了一台RS Coding Server服务器和一台Web服务器。RS Coding Server服务器主要负责冷数据文件编码和丢失文件的恢复,其上安装有myelcipse等工具。Web服务器主要负责基于Web模式的后台程序和安装数据库。系统对所存储的1TB的数据(包括不同大小的医疗文件)进行了全面测试,为了全面考量最主要的两个编码参数(即数据块拆分和基本编码单位Wbits,文件数据大小对于编码性能的影响。
4 结束语
本文针对医疗工作中的实际情况,设计开发了一个基于RS纠删码的云存储容灾系统,在Hadoop平台架构上实现了RS编码/解码,具有良好的容错性能和存储效率。实验分析表明,所搭建的系统运行正常,在编码单位W=16bits。
参考文献
[1] 王珊,王会举,覃雄派.架构大数据:挑战,现状与展望.计算机学报,2011,34(10):1741-1752.
[2] The Hadoop Distributed File System: Architecture and Design. http://hadoop.apache.org/docs/r0.
18.0/hdfs_design.pdf.
[3] Mengdi Wang, Bo Li, Yongxin Zhao, and Geguang Pu. Formalizing Google file system. In ACM PRDC '14, 2014, 190-19.