一种基于HBase的传染病数据管理方法

文档序号:8473399阅读:487来源:国知局
一种基于HBase的传染病数据管理方法
【技术领域】
[0002] 本发明涉及数据存储与查询技术领域,具体地说是一种基于HBase的传染病数据 管理方法。
【背景技术】
[0003] 随着当今互联网的迅速发展,各行各业的运行与互联网的关系越加紧密,许许多 多的数据信息通过互联网流通,使得目前互联网上的数据达到了一个难以预测的数量级。 这些信息的管理维护需要花费大量人力与技术等宝贵资源。而这些充斥在互联网上的数据 中,绝大部分是有着各自不同格式的文档、图片以及视频等非结构化数据。
[0004] 随着医疗信息化的发展以及数字医疗设备的广泛使用,传染病数据呈海量增长趋 势,相比传统数据来说,传染病数据具有采集来源多样化、实时更新、数据量大以及数据结 构多样化的特点。在这种情况下,结构化型数据库面临许多难以解决的问题。
[0005] 首先,大量半结构化、非结构化数据的存在,使得数据库设计者难以事先确定合 理、有效的数据关系模型,这就与结构化数据库优先设计模式的原则产生了冲突。而且结构 化数据库的横向扩展能力通常比较差,数据模式的变更、数据库的升级产生相当高的代价, 这对大型系统来说几乎是不可能的。
[0006] 其次,传染病数据处理对并发读写能力要求极高,需要很高的实时性。简单的查询 操作可能就涉及到对海量数据的读写,结构化数据库使用基于SQL的接口,难以实现单条 语句的分布式处理。而在面对超大规模数据集,对于如Join、Union等多表联合的操作的 效率非常低下,很难满足高并发处理和大数据量下的实时性要求。
[0007] 最后,海量的传染病数据使得分布式的存储方案势在必行,而多数结构化数据库 都不支持大规模的分布式存储,一般都会米用数据分表分库的方式来实现。这样在数据量 到达一定阶段后又将面临扩展性的问题,而且存储需求的变更可能又会需要一种新的数据 切分方式,对于应用系统而言不透明,将会使系统变得非常复杂。虽然可以通过开发透明的 中间件来使开发者避免复杂的编程,但却避免不了系统整个架构的复杂性。而问题产生的 根源来自结构化数据模型自身的缺陷,只有采用全新的数据模型,才能从根本上解决这些 问题。

【发明内容】

[0008] 本发明的目的是针对现有技术的不足而提供的一种基于HBase的传染病数据管 理方法,该方法将传染病数据分为结构化和非结构化数据进行存取,存储使用HBase数据 库,存储容量大,存储扩展性好,查询效率高,并能满足用户和医生对数据查询、获取、存储 等各种要求。
[0009] 实现本发明目的的具体技术方案是: 一种基于HBase的传染病数据管理方法,特点是:该方法包括传染病数据的存储及查 询获取;所述传染病数据的存储包括传染病非结构化数据的存储和从已有的结构化数据库 获取的传染病结构化数据的存储;所述传染病数据的查询获取包括传染病结构化数据的查 询获取和传染病非结构化数据的查询获取;其中: a、 所述从已有的结构化数据库获取的传染病结构化数据的存储,包括以下步骤: ⑴、在HBase非结构化数据库中,建立HBase传染病非结构化存储表; ⑵、从已有的结构化数据库中,选取所有的传染病结构化数据; ⑶、采用Thrift接口,调用该接口的Tput函数读取所有的传染病结构化数据,将所有 的传染病结构化数据存储到HBase传染病非结构化存储表中; b、 所述传染病非结构化数据的存储,包括以下步骤: ⑴、建立传染病非结构化数据的存储文本; ⑵、将传染病非结构化数据保存到存储文本中; ⑶、采用Thrift接口,调用该接口的Tput函数读取存储文本,将传染病非结构化数据 以〈key,value〉形式存储在HBase传染病非结构化存储表中; c、 所述传染病结构化数据的查询获取,包括以下步骤: ⑴、采用Thrift接口,向HBase传染病非结构化存储表发送查询传染病结构化数据的 查询条件; ⑵、Thrift接口调用Tget函数,查询HBase传染病非结构化存储表中与查询条件相符 的传染病结构化数据,并获取数据; ⑶、建立存储文本,将步骤⑵获取数据存储到文本中; d、 所述传染病非结构化数据的查询获取,包括以下步骤: ⑴、采用Thrift接口,向HBase传染病非结构化存储表发送传染病非结构化数据的查 询条件; (2)、调用Tget函数,查询HBase传染病非结构化存储表中与查询条件相符的传染病非 结构化数据,并获取该数据; ⑶、建立存储文本,把获取的传染病非结构化数据存储到文本中;其中: 所述传染病结构化数据为地区、年龄、性别、职业、病种、诊断医院和诊断科室的用户信 息以及传染病的发病人数、死亡率、死亡人数和死亡率的疾病信息; 所述传染病非结构化数据为B超视频流、CT视频流、医学影像图片、数字病历及医生开 的医院诊断报告。
[0010] 所述HBase传染病非结构化存储表,对于数字病历数据,采用文档数据模型,文档 数据模型是基于〈key,value〉模型。
[0011] 所述HBase传染病非结构化存储表,对于医学影像图片数据,采用图片数据模型, 具体方法是: 用单独的列簇存储图片内容,用其他列簇存储图片的类型、大小、创建时间、修改时间; 在存储每个列簇时,会以〈Key,Value〉的方式存储每行单元格中的数据,形成若干数据块, 然后把数据块保存到HFile中,最后把HFile保存到后台的HDFS。
[0012] 所述HBase传染病非结构化存储表,采用列式存储数据,在列导向的存储机制下 对于空值存储是不占用任何空间的,大大节省了读写数据的空间。
[0013] 所述〈key,value〉模型的每条记录都是由主键和值两部分组成,并且不限制数 据的类型。
[0014] 所述的Thrift接口安装在Hadoop的任意结点上面,通过Java语言启动Thrift 接口。
[0015] 所述的传染病非结构化数据的查询条件为两种,一种是按指定主键获取唯一一条 数据,一种是按指定列簇或者列获取一批数据。
[0016] 与现有技术相比,本发明的有益结果: 本发明针对结构化数据库对半结构化、非结构化数据难以事先确定合理、有效的数据 关系模型,难以实现单条语句的分布式处理、Join、Union等多表联合的操作的效率非常低 下,很难满足高并发处理和大数据量下实时性的问题,通过HBase存储结构,Thrift接口的 实时存储与查询,即可解决上述的对半结构化、非结构化数据确定数据关系模型、实现单条 语句的分布式处理、JoiruUnion等多表联合的操作以及大规模的分布式存储问题。本发明 从根本上提高了存储性能和查询效率,数据存储量得到提高,具有支持高并发读写等优势, 同时对非结构化记忆半结构化数据进行
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1