基于大数据平台的海量医疗数据分析系统的制作方法

文档序号:18124995发布日期:2019-07-10 09:51阅读:345来源:国知局
本发明属于大数据分析
技术领域
:,涉及一种基于大数据平台的海量医疗数据分析系统。
背景技术
::近年来,计算机技术和互联网技术得到了前所未有的飞速发展,人类社会迈入了大数据时代,医疗产业信息化建设也随之不断加速,各类医疗信息数据量呈现出了爆炸式的增长趋势。传统的以数据仓库存储模式为主体医院信息系统(his)由于受到硬件成本的限制,对于大量非结构化数据处理时容易遇到性能瓶颈,很难做到存储能力和计算能力的双向扩展。在it系统和计算机网络的相关基础设施及应用中,时刻都在产生大量的数据信息,如何在合理时间内将各类纷繁复杂的数据进行有效地撷取管理,并整合成为具备支持决策的实用数据源已成为现阶段的研究热点。目前众多机构虽然已经拥有了数量较大的原始积累数据,却普遍缺乏高效的数据挖掘分析手段,同时数据仓库的日常维护成本也在逐年升高。技术实现要素:本发明目的在于提供一种基于大数据平台的海量医疗数据分析系统,针对目前部分医院对于庞大医疗数据处理能力匮乏问题,引入hadoop技术构架,将海量异构数据经特征抽取后产生的结果保存至磁盘,同时融合了多节点分布式计算技术,将各类纷繁复杂的数据进行有效地撷取管理并整合成为具备支持决策的实用数据源,有效地改善了传统医疗数据信息系统分析效率较低的现状,实现了医院对于海量医疗数据的整合加工及定量分析的需求。为解决上述技术问题,本发明采用如下的技术方案:一种基于大数据平台的海量医疗数据分析系统,该系统包括:数据层、访问控制层以及应用层;其中,所述数据层是最底层,主要负责实现文件的分片管理和负载均衡控制;所述访问控制层是中间层,负责对所述数据层提供的原始数据集进行并行计算处理,并将处理结果上交至所述应用层;所述应用层是系统的最高层,负责为用户提供了操作界面接口。进一步地,所述数据层负责将现有的医院信息系统提交的各类医疗数据文件通过切割分块的形式保存至hadoop集群数据节点。进一步地,所述访问控制层由命名节点模块与运算中心子模块组成;其中,所述命名节点子模块管理命名空间镜像以及各文件块和数据节点的对应关系;所述运算中心子模块通过调用命名节点提供的元数据信息,对原始数据集进行map/reduce处理,并指导文件的读写流程。进一步地,所述应用层主要可使用户通过本层接口向所述访问控制层下达操作指令以及接收系统的辅助诊断报告及数据统计分析结果。本发明与现有技术相比具有以下的有益效果:本发明方案针对目前部分医院对于庞大医疗数据处理能力匮乏问题,引入hadoop技术构架,将海量异构数据经特征抽取后产生的结果保存至磁盘,同时融合了多节点分布式计算技术,将各类纷繁复杂的数据进行有效地撷取管理并整合成为具备支持决策的实用数据源,有效地改善了传统医疗数据信息系统分析效率较低的现状。附图说明图1是基于大数据平台的海量医疗数据分析系统的整体框架设计图。图2是基于大数据平台的海量医疗数据分析系统的分布式存储实现原理图。具体实施方式下面结合附图及具体实施例对本发明进行更加详细与完整的说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。参照图1,本发明的一种基于大数据平台的海量医疗数据分析系统,该系统包括:数据层、访问控制层以及应用层;其中,所述数据层是最底层,主要负责实现文件的分片管理和负载均衡控制;所述访问控制层是中间层,负责对所述数据层提供的原始数据集进行并行计算处理,并将处理结果上交至所述应用层;所述应用层是系统的最高层,负责为用户提供了操作界面接口。针对目前各大医院内部医疗数据信息化建设的实际运行情况,本系统通过与传统的医院信息系统进行协同工作,可以对现有单节点医疗数据库中存放各类医疗数据转为分布式存储管理;并通过调用运算中心子模块设计的map/reduce算法,实现对海量数据的高效统计分析和医疗辅助诊断。数据层是由一系列安装了linux操作系统的普通pc和现有医院信息系统的医疗数据库构成,hadoop分布式文件系统(hdfs)运行在众多pc构成的数据节点集群中,主要负责对原始医疗数据进行导入和分布式存储管理,其工作原理如图2所示。目前现有的医院信息系统(his)主要由电子病历子系统(emr)和影像归档通信子系统(pacs)构成,其中emr用于存放病人的基本信息、医检结果以及诊断报告等结构化数据,pacs存放的是各类数字化医学影像、声音等非结构化数据。在hadoop项目中,除hdfs和map/reduce编程模型外,还包括了结构化数据仓库基础构架hive,非关系型数据库hbase,以及传统数据仓库与hdfs之间的数据导入工具sqoop等第三方模块。在将原始医疗数据进行分布式处理之前,先在命名节点中安装hive和hbase,再利用sqoop工具提供的javaapi与传统医疗数据库连接。需要导入的各类数据,首先判断其是否为结构化数据,如果是结构化数据,sqoop工具将通过jdbc/odbc接口连接hive,然后查询与该数据对应的存储表单是否已经存在,如果不存在则创建新表后存入hive;如果已经存在,再判断数据量是否超过设定阀值(threshold),如果没有超过,直接存入hive;如果超过,则需要增加分区后再存入hive。当数据为非结构化数据时,sqoop工具将通过hbase接口连接hbase,并提交插入请求;请求得到响应后,再对hbase表进行扫描并定位插入位置,同时设定时间戳,将数据插入hbase数据库。数据写入hdfs的执行流程如下所示:(1)客户端开发库(client)启动数据节点,并向上层的命名节点发起rpc请求。(2)命名节点会检查需要创建的文件是否已经存在以及创建者的操作权限,若检查成功,则为文件创建一个记录;检查失败,向客户端抛出异常。(3)当rpc写入请求得到响应后,客户端开发库(client)会将需要写入的文件切分成多个packets,然后向命名节点申请新的blocks,并将本地文件与hdfs数据块的映射列表,以“块报告”的形式提交给命名节点。(4)命名节点向客户端返回所管理的数据节点的配置信息,客户端将根据数据节点的ip地址,以管道(pipeline)的形式,按顺序写入到每一个数据块节点中。当原始医疗数据全部写入hdfs后,命名节点将所有文件的元数据信息(如文件的属性,文件的块列表,文件块与数据节点的对应关系等)提交给运算中心,运算中心会根据设计好的map/reduce算法对分布式文件集进行特定的读写操作和分析处理。在患者实际就医过程中,通常需要进行大量的医疗检查,由于患者的体质差异,同一类型疾病的医检项目可能会在不同患者的检查过程中呈现出不同的数据结果。因此,部分患者在医检过后,还需要经过一段时间的入院观察治疗才能最终定性所患疾病的具体类型。而在医院现存的电子病历中,包含了众多已确诊病症的医检数据及患者的个人信息,基于hadoop的医疗大数据分析系统,可以通过对hdfs中存放的所有电子病历文件进行map/reduce处理,将不同病症的各类医检项目数据值进行区间归纳,并生成辅助检测模板以提高医院的工作效率,同时还可以对各年龄段患者的主要易发病进行高速数据统计。算法实现如下:mapper算法:(1)打开电子病历文件,当文件非空且文件未结束则循环读取字符串到变量str中;(2)如果str=”年龄”thenkey1=年龄值(整数类型);当str=”诊断结果”时,value1=病症名称,将(key1,value1)写入中间文件;(3)如果str=”诊断结果”thenkey2=病症名称(字符串类型)。当str=”医检数据”时,修改key2=病症名称&该病对应的某种医检项目名称(字符串类型);value2=与该病对应的某种医检项目的医检结果数据值,将与该病对应的每一种医检项目分别生成(key2,value2)写入中间文件。reducer算法:(1)创建hash表ht;(2)当key值为整型时,key=与key1对应的年龄段&value1,value=value+1,将(key,value)写入ht;(3)当key值字符串类型时,如果value>max则max=value;key=key2,value=max,将(key,value)写入ht;如果value<min则min=value;key=key2,value=min,将(key,value)写入ht;(4)将ht中的每一组(key,value)写入最终结果文件;由于mapper算法所提供的(key,value)中的key与value可能为不同的数值类型,而hashtable可以支持任何类型的key-value键值对,因此需要创建一个hash表用于保存reduce处理的临时结果。当系统做数据统计时,首先判断接收到的key值是否为整型,是整型则按照数值大小归入对应的年龄段,然后将该年龄段与所患病症组合成新的key值,并判断该key是否已经存在于ht中,如果尚未存在,则在ht中加入该key;如果已经存在,则将该key对应的value值(即该年龄段患该种疾病的人数)加1。当接收到的key值为字符串类型时,如果判断该key对应的value值大于现存的最大值max,则将max替换成该value;如果判断该key对应的value值小于现存的最小值min,则将min替换成该value。如此反复比对,即可实现某种疾病不同患者的各项医检项目数据值的区间归并,最终将所有疾病的医检项目数据值区间进行分类提取,形成辅助检测模板。以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1