基于hadoop平台的医保门诊大数据抽取系统及方法

文档序号:6552503阅读:693来源:国知局
基于hadoop平台的医保门诊大数据抽取系统及方法
【专利摘要】本发明公开了一种基于hadoop平台的医保门诊大数据抽取系统及方法,包括数据采集模块、数据存储模块、数据清洗模块、数据分析处理模块、Hbase分布式数据库以及数据展示模块;数据采集模块与数据存储模块连接,数据存储模块连接经过数据清洗模块与数据查询分析模块连接,所述数据查询分析模块与Hbase分布式数据库和数据展示模块分别连接,本发明有益效果:Hadoop集群可由成百上千的廉价服务器组成,构建在大规模廉价机器上的分布式文件系统集群,使得数据抽取、分析的成本得到很大程度的降低,并且可以对门诊大数据进行并行处理。同时,HDFS的副本存放策略很好的保证了数据的可靠性和安全性。
【专利说明】基于hadoop平台的医保门诊大数据抽取系统及方法

【技术领域】
[0001] 本发明涉及一种基于hadoop平台的医疗保险门诊大数据抽取系统及方法。

【背景技术】
[0002] 随着医疗信息化的发展以及医疗保险制度在全国范围内的广泛开展,关于医疗保 险的数据呈海量增长,而且这些数据往往需要很长的保存期,如参保人员的基本信息可能 要保存70至80年,甚至更长,而随着人口的增加,对数据存储空间的需求会越来越大,传统 的关系数据库恐怕难以满足存储需求。而且,对这些海量数据进行分析处理,从而获取所蕴 含的的有用信息也是十分必要的。而传统的对大规模数据处理大多数使用分布式的高性能 计算、网格计算等技术,需要耗费昂贵的计算资源,而且如何把大规模的数据进行有效分割 和计算任务的合理分配都需要繁琐的编程才能实现,Hadoop分布式技术的发展正好可以解 决以上问题。
[0003] Hadoop是Apache开源组织的一个分布式计算框架,可以在大量廉价的硬件设备 组成的集群上运行应用程序,构建一个高可靠性和良好扩展性的并行分布式系统。HDFS、 MapReduce编程模型和Hbase分布式数据库是其三大核心技术。其中,HBase - Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可 在廉价PC Server上搭建起大规模结构化存储集群。
[0004] Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张 数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。
[0005] Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合 和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume 提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
[0006] 由于hadoop分布式技术的强大优势,它也受到了学术界的广泛关注。国内的众多 高校和科研院所基于Hadoop在数据存储、资源管理、作业调度、性能优化、系统高可用性和 安全性等方面都展开了相关研究,并且发表了多项专利。
[0007] 在专利【2011104189589】中,基于Hadoop的分布式日志分析系统通过分布式文件 系统将格式化的日志数据进行分块,并且利用Map-Reduce程序对日志的内容进行并行解 析处理。但由于医保门诊数据比较复杂,一条记录可能有多个属性,所以仅仅通过简单的 Map-Reduce处理并不能满足医保门诊大数据处理的需求。
[0008] 在专利【CN2013103361473】中,基于Hadoop平台的电信运营商海量数据处理方法 首先使用Sqoop工具将原始数据抽取到Hadoop本地服务器的HDFS中,然后将源数据转换 后装载到Hive的目标表中,最后根据需求编写Hive查询语句或者MapReduce程序对目标 表中的数据进行查询分析。但Sqoop工具仅限于Hadoop和关系型数据库中的数据相互转 移,不能够对数据进行分析以及过滤,不能够将有价值的医疗数据筛选出来。


【发明内容】

[0009] 本发明的目的就是为了解决上述问题,提出了一种基于hadoop平台的医保门诊 大数据抽取系统及方法,存储数据时使用hadoop集群,存储容量大,存储扩展性好,安全性 高;并且可以对存储的医保门诊数据进行分析,将有价值的数据存储到Hbase分布式数据 库中,供用户查询获取或通过工具展现给用户。
[0010] 为了实现上述目的,本发明采用如下技术方案:
[0011] 一种基于hadoop平台的医保门诊大数据抽取系统,包括数据采集模块、数据存储 模块、数据清洗模块、数据分析处理模块、Hbase分布式数据库以及数据展示模块;
[0012] 所述数据采集模块用于从业务数据库中抽取数据,并存储到数据存储模块;
[0013] 所述数据存储模块用于将数据采集模块抽取到的数据以数据块的形式分布式存 储到hadoop集群中的各个数据节点中;
[0014] 所述数据清洗模块用于根据设定的清洗规则,将数据存储模块中错误的或者不一 致的"脏数据"过滤掉,并将合格的数据传送至数据查询分析模块;
[0015] 所述数据查询分析模块使用Hive进行数据仓库建模,并提供用于客户端进行 数据查询的SQL解析引擎;经数据查询分析模块分析后的有价值的医保门诊数据存储到 Hbase分布式数据库中,供客户端查询;
[0016] 所述Hbase分布式数据库用于存储数据查询分析模块中的提取出的用于数据展 示的医保门诊数据;
[0017] 所述的数据展示模块用于将所需数据以图形化的形式在客户端进行展示;
[0018] 所述数据采集模块与数据存储模块连接,数据存储模块连接经过数据清洗模块与 数据查询分析模块连接,所述数据查询分析模块与Hbase分布式数据库和数据展示模块分 别连接。
[0019] 所述数据采集模块使用Cloudera提供的flume日志采集工具进行数据采集。
[0020] 所述数据分析模块使用Hive进行数据库建模,并与Hbase整合,充当SQL解析引 擎,应用程序端能够根据具体业务需求,编写Hive查询语句或者MapReduce程序对数据进 行查询分析。
[0021] 所述数据存储模块为分布式文件系统HDFS。
[0022] 一种基于hadoop平台的医保门诊大数据抽取方法,包括以下步骤:
[0023] 1)使用Flume工具采集数据,在hadoop集群中选择至少两个节点分别作为用于从 业务数据源上传数据的Agent和用于将Agent传来的数据进行简单处理后存储到数据存储 模块的 collector ;
[0024] 2)分别配置Agent和Collector的数据源和数据输出;
[0025] 3)配置成功后,系统自动从Agent传输数据到对应的collector, collector将收 集到的数据汇总后以数据块的形式存储到HDFS分布式文件系统中。
[0026] 4)对存储在HDFS中的数据进行数据清洗,将错误的、缺失的或者重复的数据过滤 出来;
[0027] 5)根据业务需求和数据模型,在Hive数据仓库中进行建模,创建与抽取到的数据 对应的事实表和维度表,并将HDFS中的数据文件导入到Hive数据仓库中对应的事实表和 维度表里;
[0028] 6)对数据仓库中的数据进行0LAP分析,并将分析结果中用于展示的数据写入 Hbase分布式数据库中;
[0029] 7)应用程序端或报表系统通过Hbase分布式数据库查询数据并展现。
[0030] 所述步骤2)中,Flume Agent的数据源为待抽取的医保数据文件,数据输出为对 应collector节点的机器名和数据传输的端口号;collector的数据源为用于接收数据的 端口号,数据输出为集群中用于存储数据的HDFS目录。
[0031] 所述步骤5)中,事实表即是数据仓库中用于保存业务数据的表,表的每个字段要 与被抽取的业务数据源的字段相对应;维度表是数据仓库中用于描述事实数据表中的数据 的表。
[0032] 所述步骤6)中,根据具体业务需求,在客户端编写HiveQL查询语句或者 MapReduce程序对数据仓库中的数据进行0LAP分析,并将分析结果中用于展示的数据以 Key-Value的形式写入Hbase分布式数据库中。
[0033] 所述步骤6)中,对门诊医疗数据进行0LAP分析主要是通过HiveQL查询语句或者 编写MapReduce并行程序,对Hive数据仓库中的事实表和维度表做关联进行多维分析,从 而统计出各个维度的相关信息,展现给用户。
[0034] 本发明的有益效果是:
[0035] 由于Hadoop将海量的数据文件分发到集群中每个数据节点上,而每个节点只需 计算处理少部分数据,并且每个节点在进行数据计算分析时是并行处理的,这大大的提高 了处理数据的速率。
[0036] Hadoop集群可由成百上千的服务器组成,构建在大规模廉价机器上的分布式文件 系统集群,数据存储管理的成本得到很大程度的降低。而且,HDFS的副本存放策略很好的 保证了数据的可靠性和安全性。
[0037] 本系统使用的数据采集工具flume是一个高可用的,高可靠的,分布式的海量日 志采集、聚合和传输的系统。它支持在系统中定制各类数据发送方,用于收集数据;同时提 供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
[0038] 另外,在存储和查询分析数据时,将Hbase和Hive整合,既可以充分利用Hbase 分布式存储数据的好处,又可以让Hive充当SQL解析引擎,将SQL语句转译成M/RJ0B在 Hadoop执行,充分利用hadoop集群的并行资源,提高效率。
[0039] 最后,基于Hadoop的分布式集群架构还可以用于处理其他海量数据上去,使本系 统具有良好的扩展性。

【专利附图】

【附图说明】
[0040] 图1为本发明的基于Hadoop平台的医保门诊大数据抽取系统的整体架构图;
[0041] 图2为本发明的基于Hadoop平台的医保门诊大数据抽取系统的流程图;
[0042] 图3为本发明的实施例中搭建的Hadoop集群部署图。

【具体实施方式】:
[0043] 下面结合附图与实施例对本发明做进一步说明:
[0044] 其中,0LAP(On-Line Analysis Processing)为联机分析处理;
[0045] HiveQL是一种类似SQL的语言,它与大部分的SQL语法兼容;
[0046] MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行 运算。
[0047] -种基于Hadoop的医保门诊大数据抽取系统,如图1所示,由数据采集模块,数据 存储模块,数据分析处理模块以及数据展示模块四部分组成。
[0048] 所述的数据抽取模块,主要负责从业务数据源抽取医保相关数据到HDFS中,它使 用Cloudera提供的flume日志采集工具,其中,Flume agent用于从数据源上传数据,Flume collector用于将多个agent上传的数据汇总存储在HDFS分布式文件系统中。
[0049] 所述的数据存储模块,主要负责存储数据,抽取的数据以数据块的形式分布式存 储到集群中各个数据节点中,由名称节点统一管理;另外,经分析处理后,有价值的数据将 被存储在Hbase分布式数据库中,供用户查询。
[0050] 所述的数据清洗模块,主要负责将抽取到的数据根据一定的清洗规则,将错误的 或者不一致的"脏数据"过滤掉,便于写入数据仓库。
[0051] 所述的数据分析处理模块,主要负责数据仓库建模以及查询分析数据以提取有价 值的数据,本系统使用Hive进行数据仓库建模,并与Hbase整合,充当SQL解析器,应用程 序端可根据具体业务需求,编写Hive查询语句或MapReduce程序对数据进行查询分析。
[0052] 所述的数据展示模块,主要负责与用户进行交互,利用BIRT等开源报表系统,将 存储在Hbase中的数据以图形化的形式展现给用户。
[0053] 基于hadoop的医保大数据抽取系统的方法,如图2所示,它包括以下步骤:
[0054] 步骤101,为集群中各个节点分配在数据采集过程中所承担的角色,将集群中至少 一个节点配置为Flume Agent,至少一个节点为Flume collector。
[0055] 步骤102,配置Agent的数据源source为待抽取的医保门诊数据文件,sink为对 应collector节点机器名和数据传输的端口号。配置Flume collector的source为接收 数据的端口号,sink为数据存储的HDFS目录。
[0056] 步骤103,配置成功后,系统自动从Agent传输数据到对应的collector。 collector将收集到的数据汇总后以数据块的形式存储到HDFS分布式文件系统中。
[0057] 步骤104,数据写入数据仓库之前,编写MapReduce程序对存储在HDFS中的数据进 行数据清洗,将错误的、缺失的或者不一致的数据过滤出来。
[0058] 步骤105,根据业务需求和数据模型,在Hive数据仓库中进行建模,创建和HDFS中 数据对应的事实表和维度表,如医保人员基本信息表(PersonFact Table)、人员性别维度 表、教育程度维度表等。
[0059] 步骤106,使用Load命令将HDFS中的数据文件导入到Hive对应的事实表里。
[0060] 步骤107,根据具体业务需求,编写Hive查询语句或者MapReduce程序对事实 表中的数据进行查询分析,提取有用的信息。在执行Hive查询语句时,Hive自动调用了 Hadoop的Map/Reduce来进行并行计算,充分体现了集群的优势。
[0061] 步骤108,将步骤106查询分析结果中有价值的数据以key-value的形式存储到 Hbase分布式数据库中。
[0062] 步骤109,使用开源的报表系统如BIRT通过Hbase查询数据并以图形化的界面展 现给用户。
[0063] 在实施过程中,至少需要4台服务器来搭建hadoop集群,如图3所示。其中一 台作为中心服务器(Master),有名称空间节点NameNode和分配任务的功能;一台作为 Secondary Master,其上部署SecondaryNameNode,用于NameNode的备份和故障恢复;其 他几台机器为从属服务器(Slaves),有数据节点和执行任务的功能。另外,在Master上 还需要部署 flume-master, hive-master, hbase-master, zookeeper-server 等月艮务,用于 管理协调相关工具的使用过程。在其他节点上部署flume-node, hbase-regionServer和 zookeeper-server,分别用于数据采集,对Client端插入,删除,查询数据等提供服务,以 及对系统中各种服务进行协调与配置等。
[〇〇64] 上述虽然结合附图对本发明的【具体实施方式】进行了描述,但并非对本发明保护范 围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不 需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
【权利要求】
1. 一种基于hadoop平台的医保门诊大数据抽取系统,其特征是,包括数据采集模块、 数据存储模块、数据清洗模块、数据分析处理模块、Hbase分布式数据库以及数据展示模 块; 所述数据采集模块用于从业务数据库中抽取数据,并存储到数据存储模块; 所述数据存储模块用于将数据采集模块抽取到的数据以数据块的形式分布式存储到 hadoop集群中的各个数据节点中; 所述数据清洗模块用于根据设定的清洗规则,将数据存储模块中错误的或者不一致的 "脏数据"过滤掉,并将合格的数据传送至数据查询分析模块; 所述数据查询分析模块使用Hive进行数据仓库建模,并提供用于客户端进行数据查 询的SQL解析引擎;经数据查询分析模块分析后的有价值的医保门诊数据存储到Hbase分 布式数据库中,供客户端查询; 所述Hbase分布式数据库用于存储数据查询分析模块中的提取出的用于数据展示的 医保门诊数据; 所述的数据展示模块用于将所需数据以图形化的形式在客户端进行展示; 所述数据采集模块与数据存储模块连接,数据存储模块连接经过数据清洗模块与数据 查询分析模块连接,所述数据查询分析模块与Hbase分布式数据库和数据展示模块分别连 接。
2. 如权利要求1所述的一种基于hadoop平台的医保门诊大数据抽取系统,其特征是, 所述数据采集模块使用Cloudera提供的flume日志采集工具进行数据采集。
3. 如权利要求1所述的一种基于hadoop平台的医保门诊大数据抽取系统,其特征是, 所述数据分析模块使用Hive进行数据库建模,并与Hbase整合,充当SQL解析引擎,应用程 序端能够根据具体业务需求,编写Hive查询语句或者MapReduce程序对数据进行查询分 析。
4. 如权利要求1所述的基于hadoop平台的医保门诊大数据抽取系统,其特征是,所述 数据存储模块为分布式文件系统HDFS。
5. -种如权利要求1所述的基于hadoop平台的医保门诊大数据抽取方法,其特征是, 包括以下步骤: 1) 使用Flume工具采集数据,在hadoop集群中选择至少两个节点分别作为用于从业务 数据源上传数据的Agent和用于将Agent传来的数据进行简单处理后存储到数据存储模块 的 collector ; 2) 分别配置Agent和Collector的数据源和数据输出; 3) 配置成功后,系统自动从Agent传输数据到对应的collector, collector将收集到 的数据汇总后以数据块的形式存储到HDFS分布式文件系统中。 4) 对存储在HDFS中的数据进行数据清洗,将错误的、缺失的或者重复的数据过滤出 来; 5) 根据业务需求和数据模型,在Hive数据仓库中进行建模,创建与抽取到的数据对应 的事实表和维度表,并将HDFS中的数据文件导入到Hive数据仓库中对应的事实表和维度 表里; 6) 对数据仓库中的数据进行0LAP分析,并将分析结果中用于展示的数据写入Hbase分 布式数据库中; 7)应用程序端或报表系统通过Hbase分布式数据库查询数据并展现。
6. 如权利要求5所述的一种基于hadoop平台的医保门诊大数据抽取方法,其特征 是,所述步骤2)中,Flume Agent的数据源为待抽取的医保数据文件,数据输出为对应 collector节点的机器名和数据传输的端口号;collector的数据源为用于接收数据的端 口号,数据输出为集群中用于存储数据的HDFS目录。
7. 如权利要求5所述的一种基于hadoop平台的医保门诊大数据抽取方法,其特征是, 所述步骤5)中,事实表即是数据仓库中用于保存业务数据的表,表的每个字段要与被抽取 的业务数据源的字段相对应;维度表是数据仓库中用于描述事实数据表中的数据的表。
8. 如权利要求5所述的一种基于hadoop平台的医保门诊大数据抽取方法,其特征是, 所述步骤6)中,根据具体业务需求,在客户端编写HiveQL查询语句或者MapReduce程序对 数据仓库中的数据进行0LAP分析,并将分析结果中用于展示的数据以Key-Value的形式写 入Hbase分布式数据库中。
9. 如权利要求5所述的一种基于hadoop平台的医保门诊大数据抽取方法,其特征 是,所述步骤6)中,对门诊医疗数据进行0LAP分析主要是通过HiveQL查询语句或者编写 MapReduce并行程序,对Hive数据仓库中的事实表和维度表做关联进行多维分析,从而统 计出各个维度的相关信息,展现给用户。
【文档编号】G06F17/30GK104111996SQ201410320881
【公开日】2014年10月22日 申请日期:2014年7月7日 优先权日:2014年7月7日
【发明者】孔兰菊, 宋婷婷, 闫中敏, 李庆忠 申请人:山大地纬软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1