论文部分内容阅读
随着生活水平提高,人们对于身体健康的关注度日渐上升。当前,出现了许多基于智能系统的移动可穿戴式医疗设备,可采集人体的血压、血氧、心电、血糖、体脂等多种类型的医疗数据并上传存储于后台服务器。面对海量的多类型医疗数据,一种传统的方法是搭建分布式平台Hadoop并在HDFS上直接存储文件,检索时首先通过RPC协议访问NameNode获取文件的元信息和DataNode地址,然后依据元信息判断是否是检索文件,最后根据地址依次读取相应的多个DataNode上文件数据并返回。这种方法的缺陷包括:检索时做了许多无效文件匹配工作;每次都远程访问NameNode,产生多余的数据交互传输和可能出现的时间延迟;直接存储明文文件,造成服务器一旦遭到网络入侵,医疗数据信息将会泄露的安全隐患。鉴于此,本文设计了一种新的数据存储模型,该模型包括:存储数据时,对多种类型的医疗数据进行分类,把分类信息写入到JSON配置文件中,在检索时省去多余的文件匹配操作;成功完成一次检索作业后,将检索条件与返回文件的DataNode地址存入一个内存Hash表中并在文件发生变化时更新表的信息,以此避免频繁的远程交互并提高检索速度;借鉴了当前密码学中关于密文检索的最新成果,对称可搜索加密算法,应用在本数据存储模型中以加强医疗数据在服务器端的安全性。基于上述的数据存储模型,本文设计并实现了一套面向医疗大数据的安全存储和检索系统。该系统包括四个模块:数据分类模块、数据安全模块、数据存储模块、数据检索模块。在数据分类模块中,首先将上传到服务器的多种类型的海量医疗数据,依据相关的条件进行分类存放在HDFS上的不同位置,这里的条件是以后将要检索的关键词信息,比如医疗数据的类型;在数据安全模块中,通过两层手段确保医疗数据的安全性。第一层是访问控制层,通过对文件检索访问的账号进行认证,从而分配相应的读写、执行权限,防止违规操作和越权行为造成的危险。第二层是数据加密层,使用对称的可搜索加密算法,在上传文件前对文件和检索条件使用密钥进行加密,保证了即使在服务器端也无法查看医疗数据文件的内容;在数据存储模块中,使用了 HDFS分布式文件系统,它有着高可靠性和高容错性,其分布式存储的方式保证了医疗数据存在多个副本,不会轻易丢失;在数据检索模块中,在内存中维护了一个Hash表,当完成一次成功的条件检索后,会将条件和返回文件的DataNode地址串置入该Hash表中。这四个模块每一个只完成单一职责,降低了各模块间的耦合性,提高了系统的扩展性。实现了系统之后,从采用的加密算法方面来评估系统的安全性;分别在该系统和HDFS上存储大量的多类型医疗数据,并进行多次检索作业。从检索作业消耗的时间上看出,此系统具有较高的检索效率。在文章最后,我们对工作进行总结,阐述了本课题所做的成果,并指出系统存在的不足之处,对海量医疗数据存储检索模型的发展进行展望。