基于Android移动医疗监护的设计与研究.docx_第1页
基于Android移动医疗监护的设计与研究.docx_第2页
基于Android移动医疗监护的设计与研究.docx_第3页
基于Android移动医疗监护的设计与研究.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Android 移动医疗监护的设计与研究 摘 要 基于自主研发的健康监护仪设备,研究如何在手机端利用有限的计算资源,实现实时接收监护仪设备上传的检测数据,并且快速、高效地并发处理、展示及存储手机端接收的检测数据,从而为疾病早发现早治疗提供数据支持。最终,利用自定义的SurfaceView,结合多线程以及缓存队列技术,很好地解决了实时监护数据的接收、处理及展示这一关键问题。 下载 关键词 双缓冲;多线程;缓冲队列 doi : 10 . 3969 / j . issn . 1673 - 0194 . 2016. 11. 108 中图分类号 TN919.8 文献标识码 A 文章编号 1673 - 0194(2016)11- 0181- 03 0 引 言 随着生活水平的提高,以及人口老龄化趋势的日益显著,人们愈加关注家庭健康问题。加之手机智能化的发展,移动智能手机已成为人们生活必需品,同时也改变着医疗保健产业的发展方向。移动医疗、智能医疗、远程医疗成为医疗领域发展的新热点。 基于所级课题“家庭式健康监护仪”,本文主要研究智能手机终端与家庭式健康监护仪之间多种生理参数监护数据的实时交互及展示。手机终端在接收到这些数据后,经过报文解析处理,在界面上实时显示健康监护数据并进行持久化存储。然而,手机的处理性能有限,如何实现实时接收、处理并展示监护数据,是本课题研究的关键,也是本课题研究的重点与难点。 1 背 景 通过研究发现,目前市场上结合Android平台及便携监护仪的移动家庭式监护产品尚处于起步阶段,仅有国内迈瑞已研制出一款名为迈瑞UBICARE(优必康)H900的生理参数监测仪/健康一体机。该设备具备基本的家用监护功能,但还处于初期研发阶段,存在不足。 因降低成本,监护仪测量数据过于简略,如心电数据标明三导联波形,实际只有II导联一道波形;无呼吸波(RESP)、血氧描记波(PLEH)的检测功能;仅可将单次测量的一导联10 s心电波形上传至手机端作为历史波形静态展示与查看;不支持测量数据的实时交互传输。 总而言之,该款设备定位于家用,而且配套的手机端应用功能也很弱,只能作为记录单次测量结果的工具。 在课题研究中,自己研制了家庭式便携型监护设备,该设备集成电源管理模块和蓝牙4.0模块。通过最新的低功耗蓝牙4.0协议,监护设备与手机终端可实时交互监护数据、控制命令以及告警信息。设备设计如图1所示。 大多数智能手机的处理资源和存储资源相对于PC机器是相当有限的,而医疗板卡对外传输的持续性监护数据量很大,本文所采用的医疗板卡发送各主要数据包的频率,如表1所示。 表1所示,仅心电波形数据,每秒钟就会向外发出250个数值点,即使在非实际监护状态下,医疗板卡也会通过蓝牙向手机发送数据,只是此时的数据相当于当前心电测量参数的零值。 2 应用总体设计 本文研究的移动监护APP软件,主要包括以下模块。 人机交互处理模块:负责实时处理并动态描绘接收的监护波形数据以及其他数值型健康数据,提供友好的人机界面,接收界面操作指令并向用户反馈处理结果信息。 健康数据接收处理模块:本模块通过手机端的蓝牙4.0协议接口,与监护设备建立数据连接,交互指令数据以及监护数据,并进行报文的解析与封装。 数据存储访问处理模块:该模块基于Android的Sqlite数据库,为其他模块提供监护数据增删改查的持久化操作接口。 数据通信模块:此模块提供对外网络交互接口,弥补健康监护仪的传输能力不足通过移动互联网与外部健康系统平台进行监护数据、个人信息等信息的交互。 其中,人机交互处理以及健康数据接收处理,是应用的核心部分,也是影响整个应用性能以及鲁棒性的关键,因而,这两个模块是本文着重研究与讨论的重点。 3 缓冲机制 针对上节实际需求,本文借助Android SurfaceView双缓冲机制,采用多线程结合阻塞队列的生产者消费者模式,很好解决了人机交互以及实时健康数据的并发处理问题。 数据交互过程中,因设计或网络影响,数据发送速率与接收速率并不总是能够保证一致的。尤其当发送速率高于接收速率时,可能会出现数据丢失的情况。 3.1 双缓冲机制 Android提供了两种基本画图对象:View和SurfaceView组件。View与SurfaceView在动态作图差异上的对比如下: View没有双缓冲机制,难于保存之前绘制的内容;当View组件上图形状态数据发生变化,需要更新View组件上的图像时,必须重绘整个View组件,如果数据量大,耗时较长;View的绘图必须在当前的UI线程中进行,在更新View组件时需要借助使用Android Handler机制来处理。因而,在绘制数据量大情况下,使用View很可能会阻塞UI线程,导致手机应用出现操作卡顿。 对比后可知,View组件适合于图形数据量小,状态数据变化较少,无需记录上次数据的整体视图绘制情形,但不适合实时动态画图及频繁局部图形更新的使用场景。 相比较View组件,SurfaceView启动新的线程,采用SurfaceHolder更新SurfaceView的组件绘制,而且通过获取SurfaceView上指定区域的Canvas,只对指定的图像区域部分进行数据更新,降低了性能消耗,提高了画面的更新速度,因而动态效果比自定义的View组件更加出色。 3.2 双缓冲与多线程 在使用SurfaceView绘制波形时,由于SurfaceView是通过锁定Canvas的方式来画图,因此需要耗费时间,不能保证动态画图的流畅,特别是在数据量大的情况下,这种问题尤其明显。解决方法是采用多线程的方式,通过建立单独的子线程,在子线程中使用SurfaceView来绘制波形。 当手机端计算处理过于频繁时,会严重消耗处理资源,降低手机应用的用户体验。在实际过程中,为了保证动态实时效果且又能够减少手机CPU处理负担,本文在绘制动态波形数据时对数据进行了分段处理。如对于心电波形数据,每秒产生250个点,即4 ms产生一个点,而人动态视觉效果刷屏为60 Hz,大约16 ms刷新一次,则感受不到停顿,那么在实际处理中可以每次描绘45个波形数据点构成的分段波形。 3.3 多线程与阻塞队列 一方面为了保证数据不会因为发送与处理速率的不同而丢失,另一方面为了使得数据接收顺序与处理顺序、展示顺序始终保持一致,因而,本文利用基于阻塞队列的生产者消费者模式,使用多线程来完成数据的接收、分发与处理。数据接收线程在接收到新的数据报文后,作为生产者将报文放入第一级的阻塞队列中,数据处理线程作为报文的消费者,从队列中获取报文并进行解析,同时数据处理线程作为下一级的生产者将解析后的报文分发到不同的阻塞队列中。 4 结 论 本设计中对于波形数据展示方式,参照传统监护仪器设备上的心电波、呼吸波以及血氧描记波的动态描绘效果,以小段重绘的方式动态展示,处理方式如下: (1)采用FIFO机制,逐步擦除动态展示波形数据中最早的小段波形数据,并加入本次最新的小段波形数据,以达到与监护仪上的波形显示相同的效果。 (2)针对绘图数据量大的特点,应用接收线程在累计接收处理5个波形数据点后,交由绘图线程一次性绘制5个点的小段波形,逐段覆盖更新。 (3)控制canvas,避免图像局部变化过于频繁。 以心电II导联波形为例,基于本文的技术研究,最终在手机上实现了预期的处理及绘制效果,并可以流畅地切换显示测量的7导联心电波形(ECG)、呼吸波形(RESP)以及血氧波形(PLETH)等波形数据。 本设计中的手机监护应用App完整实现效果图,如图2所示。 5 结 语 本文采用自定义的双缓冲机制SurfaceView控件进行动态监护波形描绘,相比于View控件,在动态波形图绘制上性能更加优越,并且大大降低了处理资源需求。同时,利用多线程和阻塞队列技术,很好的解决了实际应用中监护数据量过大以及传输处理速率不对等的问题,从而实现利用手机上有限的计算资源实时接收、处理并动态展示监护的各项生理参数数据,并且在已接入健康数据平台的情况下,可以支持将接收处理的监护数据通过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论