HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种医院后台数据的处理方法及系统与流程

2021-01-08 13:01:49|373|起点商标网
一种医院后台数据的处理方法及系统与流程

本发明涉及数据处理的技术领域,尤其涉及一种医院后台数据的处理方法及系统。



背景技术:

随着医疗领域信息化技术的日益成熟,在不断提高诊断水平和改善医疗服务质量的同时,大量结构各异的医疗数据也随之呈现指数级的增长,这也使得医疗大数据的处理成为当前研究的热点。

随着数据量的增多,传统关联规则挖掘算法,如fp-growth算法在处理海量医疗数据时,会因为内存问题而导致处理效率低下,甚至无法处理;同时传统数据存储介质中有大量的历史数据需要迁入升级后新的存储系统中,通过hbase应用程序接口写入的方式效率比较低,会挤压系统读操作的内存和cpu等资源。

鉴于此,如何更为高效地对医院后台数据进行数据处理以及数据挖掘,成为本领域技术人员亟待解决的问题。



技术实现要素:

本发明提供一种医院后台数据的处理方法,通过利用一种基于mapreduce的数据批量导入算法将医院后台数据批量导入到数据库中,同时利用一种数据抽取算法,以不同的时间粒度抽取医院后台数据中的特征数据,在数据检索过程中根据查询数据的时间范围,检索并范围相应时间粒度的特征数据,极大提高了数据检索效率,最后利用一种改进的剪枝fp-growth算法对医院后台数据之间的关联规则进行挖掘,为医生提供医疗决策参考。

为实现上述目的,本发明提供的一种医院后台数据的处理方法,包括:

获取医院后台数据,并利用基于mapreduce的数据批量导入算法将医院后台数据批量导入到hbase中;

利用数据抽取算法,以不同的时间粒度抽取hbase中医院后台数据的特征数据,并将特征数据存入冗余数据表中;

将冗余数据表中的特征数据构建成医院后台数据树;

利用改进的fp-growth算法对所述医院后台数据树进行剪枝;

挖掘剪枝后医院后台数据树中的频繁项集,并将频繁项集作为医疗决策参考。

可选地,所述利用基于mapreduce的数据批量导入算法将医院后台数据批量导入到hbase中,包括:

1)将rinex格式的医院后台数据合并成若干128mb的数据文件;

2)在map阶段对数据文件进行预处理,将医院后台数据记录部分和文件头分离,并将索引信息同步至索引创建模块;并利用combiner函数将医院后台数据记录部分与索引信息合并为map的输出文件;

3)根据map输出文件的格式定义生成行键,解析出不同类型的医院后台数据,并封装进hbase的put数据结构,以行键为索引信息,put为value,写入reduce阶段;

4)reduce阶段由hbase自行处理,开发人员通过hfileoutputformat进行相关配置即可;

5)调用java接口通知各节点的regionserver将hdfs中的hfile文件加载到region中。

可选地,所述利用数据抽取算法抽取hbase中医院后台数据的特征数据,包括:

所述数据抽取算法设计了3种时间粒度,分别为1分钟、1小时和1天,以及4种特征值,分别为某个时间粒度下每一段的第一个值、最小值、最大值和平均值;

预处理过程以1分钟的时间粒度对原始数据进行分段,并提取每个时间段中的特征值,同时预处理过程还会实现了数据对齐的功能,该功能在hbase存储插件中实现;

后处理过程则以较粗的时间粒度周期性地对冗余数据表中较细时间粒度的数据作进一步处理;如果1分钟粒度的数据存满一小时,则后处理过程将以1小时的时间粒度来分段并抽取相应特征数据,并将特征数据存入冗余数据表;

在数据检索过程中,根据査询时间范围内的数据时间粒度数来选择是从原始数据表或冗余数据表中检索数据,若查询时间范围内的时间粒度数小于1000,则在原始数据表中检索数据,反之则在冗余数据表中检索数据;同时在检索冗余数据表之前,按照时间粒度从细到粗的顺序来计算査询时间范围内的数据点数,直到某个粒度下的数据点数小于医院后台数据前端所能允许展示的数据点数,并以此时间粒度检索数据。

可选地,所述将冗余数据表中的特征数据构建成医院后台数据树的流程为:

1)遍历冗余数据表中的特征数据,并为医院后台数据树创建一个根节点null;

2)为冗余数据表中的每一类特征数据在医院后台数据树下创建一个分支;

3)若当前特征数据的类别在医院后台数据树中已经存在,则对该分支的共享节点进行计数加1;

4)当冗余数据表中所有特征数据均出现在医院后台数据树中时,则完成医院后台数据树的构建。

可选地,所述利用改进的fp-growth算法对医院后台数据树进行剪枝,包括:

1)对医院后台数据树中的每条分支,根据分支中每条路径的项在冗余数据表中出现的频数降序排序;

2)由[fi|l]的形式表示的递减排序的路径,其中fi是第一项,l代表路径中的其余项;

3)通过设置频数,若fi满足设置的频数,则往下执行,否则跳过该路径本发明将频数设置为100;

4)如果根节点null具有直接子节点node,使得node的名字和fi的名字相同,则项node的计数加1;并将根节点从null转到fi;

5)对于l中的每个剩余项,执行以下步骤:若l中的项li没有存在于剪枝后的医院后台数据树中,且li直接连接当前根节点,则为该项创建一个count为1的新子节点,将根节点转移到li节点;若l中的项li,且它早已存在于剪枝的医院后台数据树中,若特殊节点表中没有li,则先加入节点表中,li频数加1,若存在,判断是否有相似路径加入,若有这放弃该节点;

6)如果表中的节点出现多次,则累加其在表中的频数,并输出改进的剪枝医院后台数据树以及特殊节点表。

可选地,所述挖掘剪枝后医院后台数据树中的频繁项集,包括:

对于剪枝后医院后台数据树中的每一个项item,都会通过如下3种不同的情况来判断是否构成频繁项集,本发明将支持度s设置为20:

1)item的项频数n小于支持度s,当所有被考虑的项目集和剪枝后医院后台数据树中所有中间节点组合达到最频繁项节点时,生成频繁项集,此时频数为n+count;

2)item的项频数n等于支持度s,当所有被考虑的项目集和剪枝后医院后台数据树中节点的组合含有最高频数的项时,生成频繁项集,此时频数为n;

3)item的项频数n大于支持度s,当所有被考虑的项目集和改进的剪枝fp树中其父节点的组合时,生成频繁项集,此时频数为n;

根据上述构成频繁项集的条件,本发明对剪枝后的医院后台数据树进行遍历,将符合条件的频繁项集进行归并。

此外,为实现上述目的,本发明还提供一种医院后台数据的处理系统,所述系统包括:

医院后台数据获取装置,用于获取医院后台数据,并利用基于mapreduce的数据批量导入算法将医院后台数据批量导入到hbase中;

医院后台数据处理器,用于利用数据抽取算法,以不同的时间粒度抽取hbase中医院后台数据的特征数据,并将特征数据存入冗余数据表中,并将冗余数据表中的特征数据构建成医院后台数据树;

医院后台数据挖掘装置,用于利用改进的fp-growth算法对所述医院后台数据树进行剪枝,并挖掘剪枝后医院后台数据树中的频繁项集,并将频繁项集作为医疗决策参考。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有医院后台数据处理程序指令,所述医院后台数据处理程序指令可被一个或者多个处理器执行,以实现如上所述的医院后台数据的处理的实现方法的步骤。

相对于现有技术,本发明提出一种医院后台数据的处理方法,该技术具有以下优势:

首先,为了解决hbase中大时间跨度的数据查询速度不足,本发明提出了一种数据抽取算法,以不同的时间粒度抽取原始数据中的特征数据,并将原始数据和特征数据分别存入到hbase的原始数据表和冗余数据表中;在数据检索中,当查询大时间跨度的历史数据时,首先以1分钟的时间粒度对历史数据进行分段,并提取每个时间段中的特征值,然后以较粗的时间粒度周期性地对冗余数据表中较细时间粒度的数据作进一步处理:若1分钟粒度的数据存满一小时,则后处理过程将以1小时的时间粒度来分段并抽取相应特征数据,并将特征数据存入冗余数据表,同时根据査询时间范围内的时间粒度来选择是从原始数据表或冗余数据表中检索数据,若查询时间范围内的时间粒度数小于1000,则在原始数据表中检索数据,反之则在冗余数据表中检索数据;同时在检索冗余数据表之前,本发明将按照时间粒度从细到粗的顺序来计算査询时间范围内的数据点数,直到某个粒度下的数据点数小于医院后台数据前端所能允许展示的数据点数,并以此时间粒度检索数据,从冗余数据表中检索并返回相应粒度的特征数据,从而提高了大时间跨度的数据查询速度。

传统的fp-growth算法作为一种常用的挖掘频繁项的算法,但是fp-growth算法也存在不足,比如,当处理的数据量足够大时,它不能生成完全基于内存的全局fp树,因为数据量大,算法所生成的fp树就特别大,导致fp树根本无法放进内存从而不能对目标数据集进行频繁项集挖掘。另外,在事务集量大的情况下,两次扫描磁盘要耗费的时间也相当长,对算法执行效率的影响也很大。因此本发明提出一种改进的fp-growth算法对所创建的医院后台数据树进行剪枝,由于在医院后台数据树生成后,统计项的出现次数只需扫描医院后台数据树即可,不必再去扫描冗余数据集,由于从存储器中读取事务要比从磁盘扫描速度快,所以降低了算法执行时间;同时在本发明所提出的改进fp-growth算法中,若医院后台数据树中存在公共路径,那么只会保留第一次出现的路径上的节点,后出现的相同路径中的节点都会被当作枝叶剪去,并将剪去的枝叶节点记录在特殊节点表中,通过这种剪枝策略能够较大的减小搜索空间的规模,提高挖掘频繁项的效率。

附图说明

图1为本发明一实施例提供的一种医院后台数据的处理方法的流程示意图;

图2为本发明一实施例提供的一种医院后台数据的处理系统的结构示意图;

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

通过利用一种基于mapreduce的数据批量导入算法将医院后台数据批量导入到数据库中,同时利用一种数据抽取算法,以不同的时间粒度抽取医院后台数据中的特征数据,在数据检索过程中根据查询数据的时间范围,检索并范围相应时间粒度的特征数据,极大提高了数据检索效率,最后利用一种改进的剪枝fp-growth算法对医院后台数据之间的关联规则进行挖掘,为医生提供医疗决策参考。参照图1所示,为本发明一实施例提供的医院后台数据的处理方法示意图。

在本实施例中,医院后台数据的处理方法包括:

s1、获取医院后台数据,并利用基于mapreduce的数据批量导入算法将医院后台数据批量导入到hbase中。

首先,本发明获取医院后台数据,并利用基于mapreduce的数据批量导入算法将医院后台数据批量导入到hbase中,所述基于mapreduce的数据批量导入算法的算法流程为:

1)将rinex格式的医院后台数据合并成若干128mb的数据文件;

2)在map阶段对数据文件进行预处理,将医院后台数据记录部分和文件头分离,并将索引信息同步至索引创建模块;并利用combiner函数将医院后台数据记录部分与索引信息合并为map的输出文件,减少中间结果数据传输量,进而降低集群带宽占用;

3)根据map输出文件的格式定义生成行键,解析出不同类型的医院后台数据,并封装进hbase的put数据结构,以行键为索引信息,put为value,写入reduce阶段;

4)reduce阶段由hbase自行处理,开发人员通过hfileoutputformat进行相关配置即可;

5)调用java接口通知各节点的regionserver将hdfs中的hfile文件加载到region中。

s2、利用数据抽取算法,以不同的时间粒度抽取hbase中医院后台数据的特征数据,并将特征数据存入冗余数据表中。

进一步地,本发明利用数据抽取算法,以以不同的时间粒度抽取hbase中医院后台数据的特征数据,所述数据抽取算法包括预处理以及后处理两个步骤;

所述数据抽取算法设计了3种时间粒度,分别为1分钟、1小时和1天,以及4种特征值,分别为某个时间粒度下每一段的第一个值、最小值、最大值和平均值,在本发明一个具体实施例中,当医院后台数据前端允许显示的数据量被配置为4000时,当时间粒度为1分钟,4000分钟对应的是3天,因此医院后台数据前端显示的时间范围为3天;当时间粒度为1小时,4000小时对应的是6个月,因此医院后台数据前端显示的时间范围为6个月;

预处理过程以1分钟的时间粒度对原始数据进行分段,并提取每个时间段中的特征值,同时预处理过程还会实现了数据对齐的功能,该功能在hbase存储插件中实现;

后处理过程则以较粗的时间粒度周期性地对冗余数据表中较细时间粒度的数据作进一步处理;如果1分钟粒度的数据存满一小时,则后处理过程将以1小时的时间粒度来分段并抽取相应特征数据,并将特征数据存入冗余数据表;

在数据检索过程中,本发明将根据査询时间范围内的数据点数来选择是从原始数据表或冗余数据表中检索数据,若查询时间范围内的时间粒度数小于1000,则在原始数据表中检索数据,反之则在冗余数据表中检索数据;同时在检索冗余数据表之前,本发明将按照时间粒度从细到粗的顺序来计算査询时间范围内的数据点数,直到某个粒度下的数据点数小于医院后台数据前端允许显示的数据点数,并以此时间粒度检索数据。

s3、将冗余数据表中的特征数据构建成医院后台数据树。

进一步地,本发明将冗余数据表中的特征数据构建成医院后台数据树,所述医院后台数据树的构建流程为:

1)遍历冗余数据表中的特征数据,并为医院后台数据树创建一个根节点null;

2)为冗余数据表中的每一类特征数据在医院后台数据树下创建一个分支;

3)若当前特征数据的类别在医院后台数据树中已经存在,则对该分支的共享节点进行计数加1;

4)当冗余数据表中所有特征数据均出现在医院后台数据树中时,则完成医院后台数据树的构建。

s4、利用改进的fp-growth算法对所述医院后台数据树进行剪枝。

进一步地,本发明利用改进的fp-growth算法对所述医院后台数据树进行剪枝,所述改进的fp-growth算法流程为:

1)对医院后台数据树中的每条分支,根据分支中每条路径的项在冗余数据表中出现的频数降序排序;

2)由[fi|l]的形式表示的递减排序的路径,其中fi是第一项,l代表路径中的其余项;

3)通过设置频数,若fi满足设置的频数,则往下执行,否则跳过该路径本发明将频数设置为100;

4)如果根节点null具有直接子节点node,使得node的名字和fi的名字相同,则项node的计数加1;并将根节点从null转到fi;

5)对于l中的每个剩余项,执行以下步骤:若l中的项li没有存在于剪枝后的医院后台数据树中,且li直接连接当前根节点,则为该项创建一个count为1的新子节点,将根节点转移到li节点;若l中的项li,且它早已存在于剪枝的医院后台数据树中,若特殊节点表中没有li,则先加入节点表中,li频数加1,若存在,判断是否有相似路径加入,若有这放弃该节点;

6)如果表中的节点出现多次,则累加其在表中的频数,并输出改进的剪枝医院后台数据树以及特殊节点表。

s5、挖掘剪枝后医院后台数据树中的频繁项集,并将频繁项集作为医疗决策参考。

进一步地,本发明对剪枝后的医院后台数据树进行挖掘,得到所述剪枝后医院后台数据树中的频繁项集,所述剪枝后医院后台数据树的挖掘流程为:

对于剪枝后医院后台数据树中的每一个项item,都会通过如下3种不同的情况来判断是否构成频繁项集,本发明将支持度s设置为20:

1)item的项频数n小于支持度s,当所有被考虑的项目集和剪枝后医院后台数据树中所有中间节点组合达到最频繁项节点时,生成频繁项集,此时频数为n+count;

2)item的项频数n等于支持度s,当所有被考虑的项目集和剪枝后医院后台数据树中节点的组合含有最高频数的项时,生成频繁项集,此时频数为n;

3)item的项频数n大于支持度s,当所有被考虑的项目集和改进的剪枝fp树中其父节点的组合时,生成频繁项集,此时频数为n;

根据上述构成频繁项集的条件,本发明对剪枝后的医院后台数据树进行遍历,将符合条件的频繁项集进行归并,并将归并后的频繁项集作为医疗决策参考。

下面通过一个算法实验来说明本发明的具体实施方式,并对发明的处理方法进行测试。本发明算法的硬件测试环境为:操作系统为linuxcentos6.9,内存为16g,实验使用6台阿里云服务器,hadoop、hbase、zookeeper和elasticsearch集群部署在其中4台服务器上;对比方法为cart剪枝算法、ccp剪枝算法以及传统fp-growth剪枝算法。

在本发明所述算法实验中,本实验通过将医院后台数据集输入到算法中,将医院后台检索所花费的时间作为评价算法模型的指标。

根据实验结果,cart剪枝算法的检索时间为1.78s,ccp剪枝算法的检索时间为2.01s,传统fp-growth剪枝算法的检索时间为1.32s,本发明所述方法的检索时间为1.01s,相较于对比算法,本发明所提出的医院后台数据的处理方法具有更高的检索效率。

发明还提供一种医院后台数据的处理系统。参照图2所示,为本发明一实施例提供的医院后台数据的处理系统的内部结构示意图。

在本实施例中,所述医院后台数据的处理系统1至少包括医院后台数据获取装置11、医院后台数据处理器12、医院后台数据挖掘装置13,通信总线14,以及网络接口15。

其中,医院后台数据获取装置11可以是pc(personalcomputer,个人电脑),或者是智能手机、平板电脑、便携计算机等终端设备,也可以是一种服务器等。

医院后台数据处理器12至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。医院后台数据处理器12在一些实施例中可以是医院后台数据的处理系统1的内部存储单元,例如该医院后台数据的处理系统1的硬盘。医院后台数据处理器12在另一些实施例中也可以是医院后台数据的处理系统1的外部存储设备,例如医院后台数据的处理系统1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,医院后台数据处理器12还可以既包括医院后台数据的处理系统1的内部存储单元也包括外部存储设备。医院后台数据处理器12不仅可以用于存储安装于医院后台数据的处理系统1的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。

医院后台数据挖掘装置13在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行医院后台数据处理器12中存储的程序代码或处理数据,例如医院后台数据处理程序指令等。

通信总线14用于实现这些组件之间的连接通信。

网络接口15可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该系统1与其他电子设备之间建立通信连接。

可选地,该系统1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在医院后台数据的处理系统1中处理的信息以及用于显示可视化的用户界面。

图2仅示出了具有组件11-15以及医院后台数据的处理系统1,本领域技术人员可以理解的是,图1示出的结构并不构成对医院后台数据的处理系统1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

在图2所示的装置1实施例中,医院后台数据处理器12中存储有医院后台数据处理程序指令;医院后台数据挖掘装置13执行医院后台数据处理器12中存储的医院后台数据处理程序指令的步骤,与医院后台数据的处理方法的实现方法相同,在此不作类述。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有医院后台数据处理程序指令,所述医院后台数据处理程序指令可被一个或多个处理器执行,以实现如下操作:

获取医院后台数据,并利用基于mapreduce的数据批量导入算法将医院后台数据批量导入到hbase中;

利用数据抽取算法,以不同的时间粒度抽取hbase中医院后台数据的特征数据,并将特征数据存入冗余数据表中;

将冗余数据表中的特征数据构建成医院后台数据树;

利用改进的fp-growth算法对所述医院后台数据树进行剪枝;

挖掘剪枝后医院后台数据树中的频繁项集,并将频繁项集作为医疗决策参考。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips