一种基于云平台的心率检测与分析系统的制作方法

文档序号:13058981阅读:510来源:国知局
一种基于云平台的心率检测与分析系统的制作方法与工艺

本发明涉及一种基于云平台的心率检测与分析系统,属于医疗健康检测与智能分析技术领域。



背景技术:

心率是指人体心脏每分钟搏动的次数,它是反应心脏是否正常工作的一个重要参数。据姚震教授的《我国心血管疾病现状与展望》可得知:我国每年因其死亡人数约350万人,每天因心血管死亡9590人,估计每分钟就有6人死于cvd(cardiovasculardiseases,心血管疾病)。到2030年,中国每年的cvd事件数就将上升超过50%。心率与心脑血管疾病密切相关,携带有丰富的人体健康状况信息。framingham流行病学研究发现,无论是男性还是女性,随着心率次数的增加,心血管疾病死亡风险随之增加。可见,心率的检测与分析对于心血管疾病患者是十分重要的。

随着智能终端的发展,一些便携式的心率监护系统已经触手可及。但是目前的便携心率检测系统存在以下几个问题:(1)、没有一个健全的后端数据库存储模式,有的基于移动智能终端的心率监护设备,心率数据存储模式分为两种:一种是内存存储,另一种是sd卡存储,但是这两种存储模式的存储空间相对来说都是有限的,不适用于存储大量的心电数据和心率数据;(2)、心率分析基于专家系统的自动智能分析较少,基于开源的eresye工具开发的专家系统资料就更少;(3)、在心率检测与分析系统中,将会有大量的数据从设备来通过网络进行传输,这对运用到物联网通信上的http(hypertexttransferprotocol,超文本传输协议)协议来说,会有着协议开销大和性能急剧下降的问题。此外,ip寻址取决于物理位置,这将导致网络控制复杂的问题。

本发明android客户端采用mqtt(messagequeuingtelemetrytransport,消息队列遥测传输)推送协议作为心电数据上传的协议,省电省流量。云服务端是由五部系统为ubuntu14.04的主机搭建而成的一个容错性极强的分布式集群。将每台主机作为一个节点,搭建hadoop及非关系数据库集群(如:hbase的集群和riak环集群),还有中间件集群,同时每部主机安装有erlang语言、zotonic框架、关系型数据库(postgresql数据库),其中erlang是一种通用的面向并发的编程语言。因此本系统总体具有低成本、操作简单、移植性好、高度可扩展、负载均衡等优点,可安全高效的保存大量的用户数据。



技术实现要素:

本发明的目的在于提供一种基于云平台的心率检测与分析系统。

本发明所述的基于云平台的心率检测与分析系统,包括实时采集用户心电数据的可穿戴式采集设备、与采集设备通过蓝牙连接通讯的android智能手机以及与android智能手机通过网络连接通讯的云服务平台;android智能手机终端包含一些功能模块,如:用户管理功能模块、与采集设备通信模块、心电信号预处理模块、波形显示模块、心率计算模块和与云平台通信模块;所述的云服务平台由云存储、web服务器组成和中间件组成,提供用户个人信息管理平台、专家系统分析平台、数据存储平台;所述的android智能手机终端与云服务平台的网络连接通讯主要是通过3g/4g/wifi与远程android智能手机终端连接,将手机终端预处理后的心电数据和检测到的心率值实时上传至云服务平台。

一种基于云平台的心率检测与分析系统的实现方法,包括如下步骤:

s1:用户通过应用程序在android手机客户端登录注册;

s2:心电数据采集设备实时采集用户的心电数据,并将这些数据通过android智能手机中蓝牙模块传输至android智能手机终端;

s3:android智能手机对上述数据首先进行预处理,其次动态绘制心电波形,然后检测qrs波群,随后计算出心率值,最后将预处理后的心电数据以及心率值采用mqtt协议实时上传至云服务平台;

s4:云端服务平台中的个人信息管理平台处理用户登录或注册请求;

s5:云端服务平台接收用户数据,针对不同数据类型选择不同的存储方案;

s6:专家系统从riak数据库中读取心率值并进行分析。

所述的步骤s1中用户登录注册采用的协议是http(hypertexttransferprotocol,超文本传输协议)协议。

所述的步骤s3中心电信号预处理包括,用中值滤波算法滤除基线漂移、巴特沃斯滤波器滤除肌电干扰等高频干扰、fir滤波器来设计陷波器滤除工频干扰。

所述的步骤s5中的用户数据共有两种类型:第一种是用户登录注册数据类型、第二种是用户生理数据类型。这两种不同关系的数据可以归纳为需要两种不同的存储方案。

所述的步骤s6中的专家系统侧重于基于规则的专家系统,其开发工具本发明采用的是基于erlang语言的开源eresye。基于规则的专家系统实现对心率的自动分析包括如下步骤:

s61:建立心率过速和过缓规则库;

s62:建立专家系统推理过程。

本发明的优点及有益效果如下:(1)、所述的数据存储平台采用关系型数据库+非关系数据库集群存储模式,即postgressql数据库+riak环数据库+hbase集群模式,用于实时数据展示和用户数据存储。riak环数据库和hbase集群都是分布式数据存储,总体具有成本低、操作简单、移植性好、高度可扩展、负载均衡等优点,可安全高效的保存大量的用户数据。(2)、所述移动智能终端与web服务器之间通过主要通过mqtt协议进行信号连通。为了提高使用者的便捷性,不仅在手机终端能查看心率检测与分析信息,在web服务器端也能同步查看。(3)、目前针对心率的自动分析相关文献较少,本文结合当前医生们对心率异常诊断的常用思维,用分类法建立了知识库,对各个年龄阶段以及不同性别的窦性心律做了详细的分类,提高了专家系统对心动过速和心动过缓自动诊断的正确率。对于基于规则的专家系统,提出一种新的方法,利用开源的eresye和erlang本身的优势,节省开发专家系统的成本。同时利用专家系统来帮助解决复杂问题的分析与判断的智能化,是为智慧医疗,提供了一个有效的思路和方法。

附图说明

为了使本发明的目的、技术方案更加清楚明白,以下结合附图,对本发明做进一步详细说明,其中:

图1是本发明系统总体结构图;

图2是本发明移动智能终端功能模块图;

图3是本发明云平台的用户数据存储过程的总体框架图;

图4是本发明专家系统诊断推理图。

具体实施方式

下面结合附图对本发明的具体实施步骤详细阐述,如图1所示为本发明的系统总体结构图:

图1所示的是一种基于云平台的心率检测与分析系统的整体结构连接框图,主要分为三个大的部分,分别是可穿戴式心电数据采集设备、与采集设备通过蓝牙连接通讯的android智能手机以及与android智能手机通过网络连接通讯的

云服务平台。其中可穿戴式心电数据采集设备用于实时采集人体心电数据;android智能手机终端包含一些功能模块,如:用户管理功能模块、与采集设备通信模块、心电信号预处理模块、波形显示模块、心率计算模块和与云平台通信模块;云服务平台由云存储、web服务器组成和中间件组成,提供用户个人信息管理平台、专家系统分析平台、数据存储平台。

图2所示的是android手机客户端的几个功能模块图,主要步骤为:

s21:用户首先下载心电数据采集对应的android手机应用程序,接着注册,输入用户名、密码、性别和年龄,然后登录,经过认证后方能跳转到心电数据采集界面;

s22:心电数据采集设备实时采集用户的心电数据,并将这些数据通过android智能手机中蓝牙模块传输至android智能手机终端,涉及到蓝牙相关的类有bluetoothadapter(蓝牙适配器)、bluetoothdevice(蓝牙设备)、bluetoothsocket(蓝牙socket的接口);

s23:android智能手机对上述数据用中值滤波算法滤除基线漂移、巴特沃斯滤波器滤除肌电干扰等高频干扰、fir滤波器来设计陷波器滤除工频干扰,其次通过surfaceview来动态绘制心电波形,然后检测qrs波群,随后计算出心率值,最后将预处理后的心电数据以及心率值采用mqtt协议实时上传至云服务平台。

图3可详细看出不同类型的数据存储过程如下:

s31:android智能手机对应的心电数据采集应用程序是需要用户登录的,否则无法获得用户权限。zotonic框架最初响应的是用户注册或登录请求,其中zotonic是一种开源的web开发框架,如果是注册请求,则用户注册的信息会被写入到postgresql数据库,最后通过appach提供的sqoop工具将postgresql

数据库的所有数据迁移到hbase集群进行存储,其中sqoop是一款开源的工具,主要用于在hadoop(hive)与传统的数据库(postgresql)间进行数据的传递;如果是登录请求,则会从postgresql数据库中读取数据来对该用户进行认证;

s32:经认证后用户可以通过手机蓝牙与心电数据采集设备配对连接,实现数据的实时采集;

s33:android智能手机在使用应用程序将数据发送到消息中间件rabbitmq集群中,进行缓存;

s34:消息中间件rabbitmq与zotonic框架进行数据通信;

s35:将该数据存入到riak环,riak环再通过其节点与建立在hadoop架构上的hbase数据库节点通信,定时将数据存储到hbase集群中,最终实现数据的永久存储。

图4所示是本系统的专家系统推理过程,其中c1,c2,c3,c4是四个基本元组,代表四种条件。如果flag1为“否”,说明此规则没有被激活,反则相反,flag2同理。根据标志位flag1和flag2的情况决定他们四者之间是“and”关系还是“or”的关系,即通过判断该规则是否已经被激活,如果否的才执行激活操作,反则,不执行。从而实现对rete算法的优化。

为了避免造成误诊,本文采取的处理方法是只有当输入的心率值连续3次都出现异常时,才初步诊断为心率异常。根据eresye推理特点,需设计相关诊断规则,并定义不同规则的优先级别。然后从riak数据库中读取心率值,进行诊断分析。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1