大医疗数据背景下基于云架构的家庭诊断服务1大医疗数据背景下基于云架构的家庭诊断服务摘要:自我护理服务在我们的日常生活中正变得越来越重要,特别是在面临全球老龄化这样紧迫的情况下。大量的历史医疗记录这样的大数据使得用户进行自我护理服务成为可能,例如他们自己就可以通过类似的病人的病例来获得诊断。发展这样一种自我护理的服务就会面临很多挑战包括高并发和可扩展的的医疗记录的检索,数据分析,以及隐私的保护。在本文中,我们提出了一个基于云计算的架构来实现自我护理服务称为家庭诊断以解决上述挑战。具体而言,一个基于Lucene的分布式搜索集群被设计出来旨在支持高并发和可扩展的病历检索,数据分析和隐私保护。此外,为了加快医疗记录检索,Hadoop集群被采用以存储离线数据以及构建索引。当谈及家庭诊断服务的实现,我们可以从中获得相似的历史医疗记录和疾病症状点阵,以帮助用户查明他们可能感染了哪一种疾病。最后,一个原型系统会被设计出来以及一个运行实例会被呈现以证明我们的提案的扩展性以及效率。关键词:基于云计算的架构,家庭诊断服务,医疗大数据1介绍1.1背景根据世界卫生组织的报告,人们在亚健康状态(SHS),也被称为“第三状态”(处于健康和生病之间),在世界人口中占75%(Heetal.,2013)。在中国,处于这个状态的人群数量已经达到了9亿人(Dingetal.,2009)。有相当一部分人会密切关注他们的健康希望能获得预防性健康检查或以有类似病历的病人来指导自己。而且,随着人口老龄化的成长,有些为老年人的慢性疾病监测也应在日常生活中进行。因此,为了满足“SHS”群体和人口老龄化的需求,按需自助服务应该被发展以帮助人们可以在家方便地获得疾病预防知识。(RashidiandCook,2009;Cooketal.,2003;Doctoretal.,2005).另一方面,不断增加的在日常临床活动所产生的医疗和诊断数据量,使得开展医疗自助服务来满足SHS人群和老年人的要求成为可能。然而,大量的医疗数据,以及它的各种格式,造成大规模数据管理和高效的知识挖掘技术的挑战,这也被称为“大数据”的问题。(Chaudhuri,2012).由于云计算的显着特征,如弹性计算能力,和普遍的面向服务的性质(Shangetal.,2013;Xuetal.,2012),云计算技术已被广泛研究,并在大数据领域使用(CannyandZhao,2013;Chengetal.,2012),许多医疗保健服务已经迁移到云环境。更具体来说,本文提出的研究报告是为连云港卫生局建立一个基于大型研究项目的医疗信大医疗数据背景下基于云架构的家庭诊断服务2息云平台。连云港是中国江苏省的一个城市,靠近上海。卫生局是要搭建一个平台,以收集所有的医疗信息,如每个来自当地保健医师的医疗记录。(例如,医院,诊所)。通过这样做,各种医疗服务可以被制定以符合实际的医疗保健需求。例如,每个病人可具有他/她的个人健康简况,由所有他/她的临床与每个临床访问相关联的记录组成。1.2一个生动的例子我们讨论这个生动的例子是为了突出我们将要提出的问题。假设有一个名叫李某的患者,有一天生病了。并且他知道他的症状包括“高烧”和“呼吸困难”。他去医院进行诊断之前,希望通过互联网初步诊断,这样就能知道他可能患有哪种疾病。因此,他可以在事先通过医院的主页作出合适的预约。在上面的例子中,如果有一个医疗自助服务,根据李某的疾病症状提供相似的历史医疗记录这样的诊断协助,这将有助于李某做出合适的预约。此外,有相似的历史病历,李某会对他的病情更详细的了解。因此,当李某去医院进行诊断时,将花费李和医生双方更少的时间做出正确的处理,从而提高诊断效率。然而问题出现了,就是如何去提供这样一种自我保健服务。具体来说,这个问题主要包含以下三点。第一点是如何根据李某的疾病症状在大规模和不断增加的医疗记录中提供实时在线医疗记录检索。另一个是如何提取有用的诊断知识来帮助李从大量检索出来的医疗记录中弄清楚可能感染了什么疾病。最后一个是如何避免在病历隐私信息曝光,因为医疗记录是隐私的、敏感的。1.3我们的工作和贡献通过这些观察,在本文中,我们将通过以下工作来面对这些挑战。(1)在本文中我们提出了一个基于云的框架来实现一个名为家庭诊断的自我保健服务。具体来说,一个分布式基于Lucene搜索集群被设计出来旨在提供高并发和可扩展的在线医疗记录检索,数据分析和隐私保护功能。为了加快病历检索,Hadoop集群被采用已进行线下数据存储和检索库。(2)更具体来说,家庭诊断服务的实现由四个步骤组成。首先,用户提交查询有关他/她的疾病信息。然后医疗记录匹配用户的疾病症状,性别和年龄在步骤2中检索。通过检索医疗记录,数据分析在步骤3进行,来计算疾病症状的点阵,揭示疾病常见症状之间的关系。最后,隐私敏感信息根据访问控制策略在医疗记录中被过滤。因此,疾病的症状点阵,以及进行过隐私处理的医疗记录被返回到用户,这为用户自己做一个初步的诊断提供了一个详细的诊断依据。大医疗数据背景下基于云架构的家庭诊断服务31.4本文的组织结构本文的其余部分安排如下。第2节讨论的病历初步知识,以及一些关键技术,如基于云计算框架中被采用的Hadoop的计算框架和Lucene库。基于云计算架构的家庭诊断服务将在第3节介绍。第4节介绍了家庭诊断服务是如何为用户提供了诊断援助的细节。基于云计算框架的家庭诊断服务的评价将在第5部分被讨论。其中一个原型系统设计讨论和一个运行示例会被提出以证明我们的建议的可扩展性和高效率。第6节讨论了大医疗数据在工业和学术领域应用的相关工作。第7节总结全文,并讨论了今后的工作。2初步知识在本节中,预备知识将被讨论,来介绍医疗记录和在基于云的架构中应用的一些技术。2.1医疗记录定义1(医疗记录)从形式上看,电子病历是去网络由三元组定义:EMR=(病人数据,病人简况,临床资料)(Zhangetal.,2013;Lietal.,2010)。每个元素的内容如下:(1)病人数据:患者数据包括患者的基本信息,如患者的姓名,性别,出生年月日等;(2)患者简况:患者简况通常包括病人的病史,包括疾病史,手术史,输血史,以及过敏史等等。(3)临床资料:临床数据存储详细的临床信息,包括症状集,病人投诉,现病史,诊断结果,治疗方法等,与患者的每次访问一个保健医生相关。通常情况下,在临床活动中,电子病历要么是一个XML文件由存储在网络文件系统的标签值对组成,或者存储在关系数据库中的关系记录。图1给出了XML病历的一个例子。一般来说,在日常的诊断中,患者的疾病通常是由他/她的疾病的症状,以及他/她的年龄和性别确定的。另外,症状相同,同样的性别和年龄相仿的患者倾向于感染类似疾病。基于此观察,使用者在在类似的医疗记录检索需要提供疾病症状,性别和年龄,如图1三个红色圆圈所示。2.2Hadoop:HDFS和MapReduce框架Hadoop(Ekanayakeetal.,2011;BahgaandMadisetti,2012)是一个云计算框架,用来运行内置商用硬件大型集群应用程序。Hadoop由两个主要组件组成。大医疗数据背景下基于云架构的家庭诊断服务4(1)HDFS:HDFS(Hadoop分布式文件系统)在集群中的节点的集合中存储文件。大文件分割成块(默认64MB)和每一个块可以写入多个节点(默认值是3)容错。图1一个XML医疗记录的例子(2)MapReduce:MapReduce是并行数据处理模型,该模型由两个阶段组成:Map和Reduce。在映射阶段,从分布式系统(如HDFS)读取数据,在一组集群中的计算节点之间分区,并将节点作为一组键值对。映射任务过程的输入,你记录相互独立的和中间结果作为键-值对。中间结果存储在本地磁盘上运行的节点映射任务。当所有的映射任务完成,减少阶段开始的中间数据具有相同关键是聚合。映射任务处理输入的相互独立的记录并产生中间结果作为键值对。中间结果存储在本地磁盘上运行的节点映射任务。当所有的映射任务完成,筛检阶段开始并把具有相同关键值得中间数据聚合起来。在我们的提案中,HDFS被采用到分布式存储Lucene文件和索引文件。同时,MapReduce计算框架用于离线批处理索引构建工作。2.3Lucene:信息检索库Lucene是一个高性能,可扩展的信息检索(IR)库,并通过Apache软件基金会授权的开源项目(OchoaandDuval,2008;Hatcheretal.,2004).它被广泛应用于许多搜索应用,如NetFlix,Digg,MySpace,LinkedIn等等(ApacheLucene,2014).Lucene的核心部件是索引和搜索。索引是负责建立索引文件从最初的文件转化Lucene的文件,以方便快速上网查询。实际上,Lucene的允许应用程序在几乎所有的数据源添加搜索能力,包括远程Web服务器上的网页,存储在本地大医疗数据背景下基于云架构的家庭诊断服务5的文件系统,文本文件,MSWord文档,XML网络LES,或任何其他形式,从中我们可以提取文本文件信息。另一方面,搜索是这样一个过程,根据在索引阶段建立的索引文件,在索引文件中查找单词以找到数据源。在本文中,我们采用Lucene和Hadoop实现病历家庭诊断服务的搜索。首先,医疗记录通过标准LuceneAPIs转换为多个Lucene文档。然后Lucene文档被存储为块文件在Hadoop的HDFS集群。此外,为支持快速在线医疗记录搜索、MapReduce任务在每个Lucene文档创建索引时被初始化。索引阶段后,索引文件也存储在Hadoop的HDFS集群。3云计算框架下的家庭诊断服务3.1应用场景在本文中,我们提出了一个基于云计算的框架来实现家庭诊断服务,从历史医疗记录中提取一些诊断的帮助提供给用户。更具体来说,家庭诊断服务,根据目标用户的查询,允许基于症状的病历检索。此外,为帮助用户区分检索到的病历疾病,会进行数据分析以构建疾病症状点阵。这个疾病症状点阵在用户查询的过程中会揭示具有相同症状的疾病的关系。因此,在疾病症状点阵的帮助下,目标用户很容易排除不可能的疾病而选择感兴趣的。同时,医疗记录返回给目标用户以获得更详细的参考。此外,返医疗记录返回到目标用户之前,隐私信息在医疗记录会被过滤,以避免暴露医疗记录中的敏感隐私数据。我们的家庭诊断服务旨在通过相似的历史医疗记录为用户提供自我护理服务。从大规模和不断增长的医疗记录中搜索类似病历需要按需数据存储模型和弹性可扩展性以管理高峰期进入家庭诊断服务的权限。由于云计算的显着特征,如按需存储,弹性计算能力,本文提出了基于云计算框架实施家庭诊断服务。基于云计算架构概述的讨论如下。3.2基于云计算架构的概述为了简化讨论,我们把一些术语罗列在下面的表1中。表1基于云计算架构的关键术语大医疗数据背景下基于云架构的家庭诊断服务6图2基于云计算架构的家庭诊断服务如图2所示,云计算框架由两个主要的集群组成,一个线下的Hadoop集群和一个在线的分布式搜索集群,它由一组四个集群和负载平衡器组成:(1)大规模数据存储和并行索引建立采用离线的Hadoop集群。简而言之,HDFS是用于存储索引文件和大量医疗记录中转换过来的Lucene文档;而MapReduce计算模型用于平行索引构建;(2)网上分布式搜索簇设计用于处理高并发和可扩展方式的用户查询。此外,四个簇以及一个负载平衡器包括在在线分布式搜索群集。相应地,(a)一种搜索由N×M个搜索节点组成的节点集群被设计出来以进行病历检索。(b)由P个数据分析节点组成的数据分析集群被设计用于数据分析以建立一个疾病症状点阵。(c)由Q个访问控制节点组成的访问控制集群被采用以过滤隐私信息。(d)一个负载平衡器和一个由K个调度器所组成的调度集群被用于平衡用户查询的负载。在我们的提案中,基于云计算框架的可扩展性可以通过动态添加或删除在每个集群中的节点来获得。两个集群之间的关系的分析如下。一旦完成索引构建,一个完整的索引文件就变分成N个片,此外,第i个(1iN)的索引片被分配给在分