论文部分内容阅读
摘要:个人健康信息服务系统作为现代医院健康管理系统的一个重要分支,在整个医疗系统中起着十分重要的作用。本文论述了通过Hadoop大数据平台构建了一种个人健康信息管理的方法,设计并且实现了一套基于Hadoop的个人健康信息管理系统。Hadoop作为一种日趋成熟的大数据平台,与医疗信息化相结合,为个人医疗中产生的数据提供了一种安全可靠的存储途径,实现医疗数据的集中管理。本系统利用Hadoop平台适合海量数据的运算与存储的特点,建立了个人健康信息数据中心,实现对患者健康信息最完整、最准确的管理。
关键词: Hadoop个人健康信息服务系统; 大数据; 数据中心
中图分类号: TP391.41
文献标志码: A
文章编号: 2095-2163(2016)06-0009-04
0引言
随着大数据技术的发展,供其使用的场景也越来越多。对于寻求数据集中管理、旨在收获高效益,远程存取自动化的医疗领域,Hadoop可以为建立个人健康信息中心提供一个理想的平台。在基于Hadoop的个人健康信息服务系统中,患者的电子个人信息、医疗记录和相关资料可以进行完整、统一管理,系统资源可以由一个或者若干个医疗机构高度共享,并集中存放,将不再局限在某个医院单独的信息系统中。而使用Hadoop平台构建个人健康信息数据中心后,医疗机构可以同步降低在软件和硬件上的投入、推进医疗机构的信息化程度,并且提升医院的收益率。现如今,随着电子医疗信息的快速增长,Hadoop大数据平台无疑会对医疗领域产生重大影响。
2009年,中华人民共和国卫生部公开颁行了《基于健康档案的区域卫生信息平台建设指南》,使医疗管理者能动态掌握卫生服务资源和利用信息,实现科学管理和决策,从而达到有效地控制医疗费用的不合理增长、减少医疗差错、增进医疗与服务质量的功能规划目的。通过个人健康信息服务系统,将分散在不同机构的健康数据整合为一个逻辑完整的信息整体,满足与其相关的多种机构与人员的基础现实需要。这是一种全新的卫生信息化建设模式。
本系统基于Hadoop平台,使用Hbase存取数据,通过大数据的技术和概念对个人的医疗数据进行存储和交换,实现个人健康档案管理的广泛共享。
1相关理论与技术
[1.1Hadoop
Hadoop是Apache 软件基金会旗下的一个开源分布式计算平台。实现时是以Hadoop分布式文件系统(HDFS)和MapReduce为核心,为用户提供了系统底层细节透明的分布式基础架构。HDFS具有高容错性和高伸缩性,且基于Java语言开发,使得Hadoop可以部署在低廉的硬件上,形成分布式系统。MapReduce分布式编程模型允许用户在不了解分布式系统底层细节情况下开发并行应用程序。
Hadoop是一个能够让用户轻松架构和使用的分布式计算平台,主要表现有以下优点:
1)高可靠性。Hadoop按位存储和处理数据的能力值得信赖。
2)高扩展性。Hadoop是在可用的计算机集群间分配数据完成计算任务,这些集群可以方便地扩展到数以千计的节点。
3)高效性。Hadoop能够在节点间灵活地移动数据,以保证各個节点的动态平衡,因此处理速度甚称优异。
4)高容错性。Hadoop可以自动保存数据的多份副本,并且能够将失败的任务重新分配。
HDFS和MapReduce是Hadoop的两大核心。下面首先介绍HDFS的体系结构。HDFS采用了主从(Master/Slave)结构模型,HDFS单元集群则是由一个NameNode和若干DataNode组成。其中,NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;DataNode管理存储的数据。HDFS允许用户以文件的形式存储数据。从内部来看,文件被分成若干个数据块,分置在不同的DataNode上。NameNode执行文件系统的命名空间操作,比如打开、重命名、关闭文件或目录等,同时还进一步负责数据块到具体DataNode的映射。在此基础上,DataNode将负责处理文件系统客户端的文件读写请求,并可在NameNode的统一调度下执行数据块的创建、复制和删除工作。HDFS的体系结构如图1所示。
其次,MapReduce是一种并行编程模式。在该模式控制下,用户可以轻松地编写分布式并行程序。而且,还将负责将任务分发到由成百上千台计算机组成的集群上,并以一种可靠容错的方式并行处理大量的数据集,实现Hadoop的并行任务处理功能。
综上可知,HDFS在集群上实现了分布式文件系统,MapReduce在集群上实现了分布式计算和任务处理,二者共同组成了Hadoop分布式系统的核心。
[BT5]1.2Hive
Hive是一个基于Hadoop文件系统的数据仓库架构,由此提供了管理数据仓库的很多功能:数据抽取、转换和加载工具,数据存储管理和大型数据集的查询和分析能力。不仅如此,其中还定义了简单的类 SQL 查询语言,称为 HQL,允许用户实施与SQL相似的操作,并且该语言也允许开发人员采用自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。
Hive没有专门的数据存储格式,也没有为数据建立索引,用户可以按需自由组织 Hive 中的表,只是在创建表的同时将消息传送至 Hive 数据中的列分隔符和行分隔符,Hive 就可以即时正确地解析数据。
1.3HBase
HBase是Hadoop的数据库,能够对大数据提供随机、实时的读写访问功能,具有开源、分布式以及面向列存储的特点。而且,内部使用了HDFS作为其文件存储系统,保证了数据的可靠性和系统的鲁棒性。 不同于一般的关系数据库,HBase是一个适合于非结构化数据存储的数据库。而且,HBase是基于列存储而不是基于行。Hbase与Hadoop相结合,可以高效实现数据存储和并行计算。从图2可以看到,Hbase向下提供了存储,向上提供了运算。此外,HBase之上还可以使用MapReduce计算模型来并行处理大规模数据,这即是其拥有强大性能的核心所在。
2关键架构总体设计
[BT5]2.1概述
本文设计并实现了基于Hadoop的个人健康信息服务平台,系统总体架构如图3所示。在Linux集群技术的基础上,利用 Hadoop分布式技术,对个人健康数据创新集成处理后存储到可扩展的分布式数据库HBase中,并在数十台普配计算机上搭建该平台,达到了高效存储和管理大量健康数据的设计要求。
本次设计是在Linux平台下,使用Struts作为系统的整体基础架构、前端采用JSP开发的Web 应用程序,数据库采用的则是HBase。
.2系统总体功能设计
依据对个人健康信息服务平台的需求分析,系统总体功能设计模块结构可如图4所示。
由图4可见,针对系统中各主体模块的功能设计可做如下阐析概述:
1)个人模块。患者可用指定的用户名和密码登录,进入个人主页,查看历史生理信息,包括血压、心电、体温、肌电、血样、尿样等文档记录,并且可以读取医嘱和健康服务信息。对于实时的血压、心电和体温,可以监测和预警。对于重症病人,可以开启视频看护。
2)医生模块。医生根据用户名和密码登录到对应主页,查询病人健康信息,诊断并开具处方、同时附配医嘱。而且,还可以回答病人的健康咨询,发布健康服务信息。
3)管理员模块。负责进行授权管理,审计日志,同时全面监测hadoop集群的工作状态,包括CPU、内存占用、请求数量等。
3系统详细设计
本系统包含了2个数据库:基于Hbase的数据中心和基于Mysql的本地临时数据库。Mysql数据库用于临时存储医疗机构采集获取的患者体征信息,之后通过数据同步工具关联更新至Hbase数据中心。
3.1基于Hbase的数据中心
HBase是一个分布式的、面向列的开源数据库。通过Hbase Shell命令或者Java Api可以在Hbase中创建数据表格HTable。本系统的Htable设计了2个列簇,用户记录列簇和健康信息列簇。其中,用户记录列簇用来存储患者用户个人基本信息,健康信息列簇用来存储患者用户医疗过程中产生的健康档案信息,通过个人健康信息服务系统的后台程序,可以对患者的健康档案数据进行修改和完善,并且能完整保存用户所有医疗信息记录,包括服用过的所有药物或者接受各种医疗器械测量过的数据,方便高效。HTable设计实现如图5所示。
3.2基于mysql的本地临时数据库
通过对mysql数据库的基础设计操作,可以将患者的医疗信息临时存储在本地数据库中,并且可以对本地数据库中的数据进行修改、调用。即使网络断开,系统无法连接至Hadoop数据中心,也可以临时保存数据,等待网络连接以后再将数据同步至数据中心,使整个系统能正常工作。
3.3系统功能设计实现
[JP4]最后,系统主要实现个人健康信息的管理健康咨询2项主要功能,以脑卒中患者为例,如图6、图7所示,客户端采用C/S架构。[JP]
患者用戶可以通过系统实时查询存储在Hadoop数据中心的个人信息以及个人医疗档案信息,通过健康咨询页面可以提出问题以及查看医生推送的医疗建议。医生可以查看患者发出的咨询问题并及时作出回答。这些数据将会被存储至Hadoop数据中心中,并且可以实时显示在个人健康信息服务系统界面上。
4结束语
本系统是基于Hadoop平台的个人健康服务系统,旨在将个人健康服务系统与现有的Hadoop大数据平台结合起来,建立个人健康信息数据中心,使医疗管理与大数据相互融合与推进。与传统的个人健康服务系统相比,本系统建立了统一的数据管理中心,可以让各个医疗机构之间方便地共享与存储数据,同时减少了医疗机构本地资源的占用,更适合医疗数据和自身系统的维护,是医疗数字化发展的正确方向。
参考文献
[1] ASHBURNER M, BALL C A, BLAKE J A, et al. Gene ontology: Tool for the unification of Biology[J]. Nature Genet, 2000, 25(1): 25-29.
[2] RESNIK P. Using information content to evaluate semantic similarity in a taxonomy[C]//Proceedings of the 14th International Joint Conference on Artificial Intelligence. Montréal, Canada: Morgan Kaufmann Publishers, 1995: 448-453.[ZK)]
[3] LIN Dekang. An informationtheoretic definition of similarity[C]//Proceedings of the 15th International Conference on Machine Learning. San Francisco,CA,USA: Morgan Kaufmann Publishers, 1998: 296-304.
[4] KARIM M R, HOSSAIN M A, RASHID M M, et al. A MapReduce framework for mining maximal contiguous frequent patterns in large DNA sequence datasets[J]. IETE Technical Review, 2012, 29(2): 162-168. [5] SIRETSKIY A, SUNDQVIST T, VOZNESENSKIY M, et al. A quantitative assessment of the Hadoop framework for analyzing massively parallel DNA sequencing data[J]. GigaScience, 2015, 4(1):1-13.
[6] TINTAREV N, MASTHOFF J. A survey of explanations in recommender systems[C]//Data Engineering Workshop, 2007 IEEE 23rd International Conference. Istanbul, Turkey :IEEE, 2007: 801-810.
[7] GOSAIN A, KUMAR A . Analysis of health care data using different data mining techniques[C]//International Conference on Intelligent Agent
关键词: Hadoop个人健康信息服务系统; 大数据; 数据中心
中图分类号: TP391.41
文献标志码: A
文章编号: 2095-2163(2016)06-0009-04
0引言
随着大数据技术的发展,供其使用的场景也越来越多。对于寻求数据集中管理、旨在收获高效益,远程存取自动化的医疗领域,Hadoop可以为建立个人健康信息中心提供一个理想的平台。在基于Hadoop的个人健康信息服务系统中,患者的电子个人信息、医疗记录和相关资料可以进行完整、统一管理,系统资源可以由一个或者若干个医疗机构高度共享,并集中存放,将不再局限在某个医院单独的信息系统中。而使用Hadoop平台构建个人健康信息数据中心后,医疗机构可以同步降低在软件和硬件上的投入、推进医疗机构的信息化程度,并且提升医院的收益率。现如今,随着电子医疗信息的快速增长,Hadoop大数据平台无疑会对医疗领域产生重大影响。
2009年,中华人民共和国卫生部公开颁行了《基于健康档案的区域卫生信息平台建设指南》,使医疗管理者能动态掌握卫生服务资源和利用信息,实现科学管理和决策,从而达到有效地控制医疗费用的不合理增长、减少医疗差错、增进医疗与服务质量的功能规划目的。通过个人健康信息服务系统,将分散在不同机构的健康数据整合为一个逻辑完整的信息整体,满足与其相关的多种机构与人员的基础现实需要。这是一种全新的卫生信息化建设模式。
本系统基于Hadoop平台,使用Hbase存取数据,通过大数据的技术和概念对个人的医疗数据进行存储和交换,实现个人健康档案管理的广泛共享。
1相关理论与技术
[1.1Hadoop
Hadoop是Apache 软件基金会旗下的一个开源分布式计算平台。实现时是以Hadoop分布式文件系统(HDFS)和MapReduce为核心,为用户提供了系统底层细节透明的分布式基础架构。HDFS具有高容错性和高伸缩性,且基于Java语言开发,使得Hadoop可以部署在低廉的硬件上,形成分布式系统。MapReduce分布式编程模型允许用户在不了解分布式系统底层细节情况下开发并行应用程序。
Hadoop是一个能够让用户轻松架构和使用的分布式计算平台,主要表现有以下优点:
1)高可靠性。Hadoop按位存储和处理数据的能力值得信赖。
2)高扩展性。Hadoop是在可用的计算机集群间分配数据完成计算任务,这些集群可以方便地扩展到数以千计的节点。
3)高效性。Hadoop能够在节点间灵活地移动数据,以保证各個节点的动态平衡,因此处理速度甚称优异。
4)高容错性。Hadoop可以自动保存数据的多份副本,并且能够将失败的任务重新分配。
HDFS和MapReduce是Hadoop的两大核心。下面首先介绍HDFS的体系结构。HDFS采用了主从(Master/Slave)结构模型,HDFS单元集群则是由一个NameNode和若干DataNode组成。其中,NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;DataNode管理存储的数据。HDFS允许用户以文件的形式存储数据。从内部来看,文件被分成若干个数据块,分置在不同的DataNode上。NameNode执行文件系统的命名空间操作,比如打开、重命名、关闭文件或目录等,同时还进一步负责数据块到具体DataNode的映射。在此基础上,DataNode将负责处理文件系统客户端的文件读写请求,并可在NameNode的统一调度下执行数据块的创建、复制和删除工作。HDFS的体系结构如图1所示。
其次,MapReduce是一种并行编程模式。在该模式控制下,用户可以轻松地编写分布式并行程序。而且,还将负责将任务分发到由成百上千台计算机组成的集群上,并以一种可靠容错的方式并行处理大量的数据集,实现Hadoop的并行任务处理功能。
综上可知,HDFS在集群上实现了分布式文件系统,MapReduce在集群上实现了分布式计算和任务处理,二者共同组成了Hadoop分布式系统的核心。
[BT5]1.2Hive
Hive是一个基于Hadoop文件系统的数据仓库架构,由此提供了管理数据仓库的很多功能:数据抽取、转换和加载工具,数据存储管理和大型数据集的查询和分析能力。不仅如此,其中还定义了简单的类 SQL 查询语言,称为 HQL,允许用户实施与SQL相似的操作,并且该语言也允许开发人员采用自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。
Hive没有专门的数据存储格式,也没有为数据建立索引,用户可以按需自由组织 Hive 中的表,只是在创建表的同时将消息传送至 Hive 数据中的列分隔符和行分隔符,Hive 就可以即时正确地解析数据。
1.3HBase
HBase是Hadoop的数据库,能够对大数据提供随机、实时的读写访问功能,具有开源、分布式以及面向列存储的特点。而且,内部使用了HDFS作为其文件存储系统,保证了数据的可靠性和系统的鲁棒性。 不同于一般的关系数据库,HBase是一个适合于非结构化数据存储的数据库。而且,HBase是基于列存储而不是基于行。Hbase与Hadoop相结合,可以高效实现数据存储和并行计算。从图2可以看到,Hbase向下提供了存储,向上提供了运算。此外,HBase之上还可以使用MapReduce计算模型来并行处理大规模数据,这即是其拥有强大性能的核心所在。
2关键架构总体设计
[BT5]2.1概述
本文设计并实现了基于Hadoop的个人健康信息服务平台,系统总体架构如图3所示。在Linux集群技术的基础上,利用 Hadoop分布式技术,对个人健康数据创新集成处理后存储到可扩展的分布式数据库HBase中,并在数十台普配计算机上搭建该平台,达到了高效存储和管理大量健康数据的设计要求。
本次设计是在Linux平台下,使用Struts作为系统的整体基础架构、前端采用JSP开发的Web 应用程序,数据库采用的则是HBase。
.2系统总体功能设计
依据对个人健康信息服务平台的需求分析,系统总体功能设计模块结构可如图4所示。
由图4可见,针对系统中各主体模块的功能设计可做如下阐析概述:
1)个人模块。患者可用指定的用户名和密码登录,进入个人主页,查看历史生理信息,包括血压、心电、体温、肌电、血样、尿样等文档记录,并且可以读取医嘱和健康服务信息。对于实时的血压、心电和体温,可以监测和预警。对于重症病人,可以开启视频看护。
2)医生模块。医生根据用户名和密码登录到对应主页,查询病人健康信息,诊断并开具处方、同时附配医嘱。而且,还可以回答病人的健康咨询,发布健康服务信息。
3)管理员模块。负责进行授权管理,审计日志,同时全面监测hadoop集群的工作状态,包括CPU、内存占用、请求数量等。
3系统详细设计
本系统包含了2个数据库:基于Hbase的数据中心和基于Mysql的本地临时数据库。Mysql数据库用于临时存储医疗机构采集获取的患者体征信息,之后通过数据同步工具关联更新至Hbase数据中心。
3.1基于Hbase的数据中心
HBase是一个分布式的、面向列的开源数据库。通过Hbase Shell命令或者Java Api可以在Hbase中创建数据表格HTable。本系统的Htable设计了2个列簇,用户记录列簇和健康信息列簇。其中,用户记录列簇用来存储患者用户个人基本信息,健康信息列簇用来存储患者用户医疗过程中产生的健康档案信息,通过个人健康信息服务系统的后台程序,可以对患者的健康档案数据进行修改和完善,并且能完整保存用户所有医疗信息记录,包括服用过的所有药物或者接受各种医疗器械测量过的数据,方便高效。HTable设计实现如图5所示。
3.2基于mysql的本地临时数据库
通过对mysql数据库的基础设计操作,可以将患者的医疗信息临时存储在本地数据库中,并且可以对本地数据库中的数据进行修改、调用。即使网络断开,系统无法连接至Hadoop数据中心,也可以临时保存数据,等待网络连接以后再将数据同步至数据中心,使整个系统能正常工作。
3.3系统功能设计实现
[JP4]最后,系统主要实现个人健康信息的管理健康咨询2项主要功能,以脑卒中患者为例,如图6、图7所示,客户端采用C/S架构。[JP]
患者用戶可以通过系统实时查询存储在Hadoop数据中心的个人信息以及个人医疗档案信息,通过健康咨询页面可以提出问题以及查看医生推送的医疗建议。医生可以查看患者发出的咨询问题并及时作出回答。这些数据将会被存储至Hadoop数据中心中,并且可以实时显示在个人健康信息服务系统界面上。
4结束语
本系统是基于Hadoop平台的个人健康服务系统,旨在将个人健康服务系统与现有的Hadoop大数据平台结合起来,建立个人健康信息数据中心,使医疗管理与大数据相互融合与推进。与传统的个人健康服务系统相比,本系统建立了统一的数据管理中心,可以让各个医疗机构之间方便地共享与存储数据,同时减少了医疗机构本地资源的占用,更适合医疗数据和自身系统的维护,是医疗数字化发展的正确方向。
参考文献
[1] ASHBURNER M, BALL C A, BLAKE J A, et al. Gene ontology: Tool for the unification of Biology[J]. Nature Genet, 2000, 25(1): 25-29.
[2] RESNIK P. Using information content to evaluate semantic similarity in a taxonomy[C]//Proceedings of the 14th International Joint Conference on Artificial Intelligence. Montréal, Canada: Morgan Kaufmann Publishers, 1995: 448-453.[ZK)]
[3] LIN Dekang. An informationtheoretic definition of similarity[C]//Proceedings of the 15th International Conference on Machine Learning. San Francisco,CA,USA: Morgan Kaufmann Publishers, 1998: 296-304.
[4] KARIM M R, HOSSAIN M A, RASHID M M, et al. A MapReduce framework for mining maximal contiguous frequent patterns in large DNA sequence datasets[J]. IETE Technical Review, 2012, 29(2): 162-168. [5] SIRETSKIY A, SUNDQVIST T, VOZNESENSKIY M, et al. A quantitative assessment of the Hadoop framework for analyzing massively parallel DNA sequencing data[J]. GigaScience, 2015, 4(1):1-13.
[6] TINTAREV N, MASTHOFF J. A survey of explanations in recommender systems[C]//Data Engineering Workshop, 2007 IEEE 23rd International Conference. Istanbul, Turkey :IEEE, 2007: 801-810.
[7] GOSAIN A, KUMAR A . Analysis of health care data using different data mining techniques[C]//International Conference on Intelligent Agent