谭瑶,赵君君,皮春春(.武汉科技大学计算机科学与技术学院,武汉430065;.武汉科技大学信息科学与工程学院,武汉430065)
基于云平台的健康监测系统的设计与创新
谭瑶1,赵君君1,皮春春2
(1.武汉科技大学计算机科学与技术学院,武汉430065;2.武汉科技大学信息科学与工程学院,武汉430065)
随着移动医疗热潮的兴起,医疗产品结合移动智能终端的研发成了当前的研究热点。美国是开展智能医疗监控方面研究比较早的国家,最早的应用系统应用于对宇航员进行无创生理数据监测以及战场伤病员急救等方面。目前越来越多的移动电子医疗产品投入商业应用,在监护类设备、运动类装备(如腕表、鞋类)以及消费产品等领域,已经有越来越多的相关产品进入人们的视野,并拥有一定的用户群体。人们可以通过可穿戴的移动医疗设备对自己的基本健康状况进行检测并实时显示,同时这些身体健康状况的数据还可以长期存储,方便随时查询和健康状况的跟踪分析。
在大数据时代,用户对数据处理的要求和精准度更加多元化。从技术上看,要求开发人员用更加敏捷的开发流程、更加安全、便捷的数据存储方式、更加高效的数据处理方式来实现。在开发流程、开发框架、数据存储和处理方面的创新和优化,对于软件开发来说有着重要意义。
近年来,智能医疗设备正在迅速发展,同时也涌现出了一些问题。智能医疗数据监测系统包括生理数据的采集、传输、存储以及分析处理等方面。市场上大多数智能健康类产品是一样的,缺乏有效的数据存储以及深入的数据分析等功能;健康数据采集设备方面的研究大多集中于大型穿戴式检测设备,没有将各种采集设备统一集成起来,对于用户来说不够便利;随着互联网和无线通信技术的发展,目前关于数据的传输技术更加成熟稳定;目前的智能医疗监控系统,其数据存储一般都存在本地数据库中,相对来说不够安全和稳定。
1.1整体框架
本课题提出的基于云平台的健康监测系统的模型如图1所示。
人体在数据采集端通过传感器测得基本体征数据,通过蓝牙模块传送至移动端存储,移动端通过网络将数据上传至服务器。当人们需要时,在移动终端下载App同步健康检测数据,即可在终端查看数据及分析健康情况。
图1 基于云平台的健康监测系统模型
1.2具体功能实现及分析
(1)硬件端的实现
硬件端为数据采集设备,通过相应的传感器实现体温、血压、心率等指标的测量。嵌入式云测量部分采用飞思卡尔解决方案,电源供电部分采用TI解决方案。其采用SPI总线和下一级通信,模拟传感器(红外温度传感器、压力传感器),同时留出接口,便于扩展。同时,该MCU负责和外界通信,处理前一级SPI总线传过来的数据。
(2)后台框架
后台使用基于Python的Django REST Framework框架实现,主要提供包括用户个人信息管理、用户数据管理、家庭关系管理、健康数据访问权限管理等一系列服务的API接口。
健康监测系统的后台逻辑较为清晰、简单,主要目的是处理以数据存取为主的与数据相关的全部业务,提供API给Android端访问。Django REST Framework就是基于Django的REST框架,是一个集健壮性与弹性于一体的开发框架。选择Django作为后台框架的主要原因是基于其本身的特性——简便、快速开发数据库驱动的应用,较为符合本系统的需求。
例如,本系统的用户信息表结构如表1所示。
表1 User数据库表
在数据处理方面,Django有自己的一套ORM (对象关系映射),即在关系型数据库和业务实体对象间做一个映射,它提供了比较完善的数据库操作,明显降低了学习曲线并提高了开发效率。在Django框架中的models.py中定义数据库代码如下:
定义好数据库后,调用数据库同步命令即可创建相应的表,接下来可以在views.py中用ORM封装好的命令对数据库进行增删改查等操作。
此外,Django还内置了非常便捷的管理应用工具——Admin。通过相应的安装、配置和运行后,即可通过默认位置 http://localhost:8000/admin/访问数据库后台管理页面,能够随时查看数据库表、并对其操作。在admin.py中激活使用代码如下:
(3)云平台
随着云计算的提出和发展,越来越多的企业开始提供云平台服务。利用云平台,我们可以低成本、快捷地搭建和部署服务,便捷地管理数据库,实时监控主机状态。
云平台的主要功能是作为服务器,部署服务提供API给移动端调用并且接收移动端上传的数据,使用MySQL数据库存储数据。这里MySQL和后台处理服务既可以在同一台服务器,也可以部署在不同的服务器上,以实现分布式计算。
(4)移动端的交互
这里我们以Android App为例作为移动端实现和硬件端和云平台的交互。
Android App首先通过蓝牙的串行通讯从硬件端获取数据信息,存储到本地的数据库中。
通过上传功能,在有网络的情况下,将本地数据库中没有上传的数据封装成JSON格式的字符串,通过调用服务端的API用POST方法上传到服务端。服务端收到POST请求后把JSON格式数据解析出来,并写入到数据库。客户端采用增量方式同步,每次通过API把上次同步的时间戳传到客户端,同步时客户端根据时间戳将之后的数据——即尚未同步的数据上传至服务器。
同时Android App还要提供UI供用户查看健康数据信息、健康状态分析等其他功能。
2.1引入“家庭”概念,共享健康信息
目前移动智能设备不仅是一种潮流,也是一种需要,我们不仅关心自己的健康数据,也关心家人朋友的健康信息,尤其是老人孩子,如果能够及时有效地知晓他们的健康信息,在必要的时候可以预防危险情况的发生。而在现有的大多数产品中,只是针对使用产品的用户,供其查看自己的信息、分享至社交平台等。因此,我们提出建立家庭关系,与其他用户绑定,可以共享他人信息。
通过建立家庭关系表来定义哪些人属于同一个“家庭”,通过建立用户数据权限表来定义每个用户将自己的那些数据项公开给同属一个家庭的用户,用户可以管理个人关系和数据,并在共享数据的同时保护个人隐私。
本系统涉及家庭关系的家庭信息表和数据访问权限信息表如表2、表3所示。
表2 Family数据库表
2.2收集健康标准,给出健康分析
目前的移动智能产品大多只是机械地显示测量数据,而忽略了数据本身的意义。我们为此提供了体温、血压、体重等各项数据的参考标准,测量得到真实数据后,提示用户测量数据处在什么样的位置,是否可能有健康隐患。例如正常人体腋下体温值的范围是[36.0℃,37.0℃]。当用户测量得到自己的体温值是37.5℃时,在Android端显示真实数据的同时,将给出一个人体正常体温的参考指标,并提示用户目前可能处于低热状态,最好尽快做进一步检查。
2.3测量设备与移动端帐号相互独立
将用户与硬件端绑定进而传输数据是一种常见的硬件、软件交互方式,但在这里用户独占了硬件设备,不便于设备分享。为了分离测量设备与移动端用户,我们通过“热测量”的方式来解决该问题,测量时只需即时用蓝牙连接测量设备,降低了使用成本,更加便捷地实现了多人共享同一设备。
2.4利用负载均衡缓解服务器压力
在分布式计算的基础上,随着用户量和数据量的增加,可能会带来服务器压力过大,处理请求缓慢、超时等情况。这里还可以使用云平台提供的负载均衡服务来提高服务器的性能和工作负载能力。目前企业使用的所谓“负载均衡服务器”,实际上是应用系统的一种控制服务器,所有用户的请求由此服务器分发,根据各个实际处理服务器状态将请求具体分配到某个实际处理服务器中,同时,对外公开的域名与IP地址都是这台服务器。
本文给出了基于云平台的健康监测系统的开发设计,整个系统综合运用了现在较为流行的技术手段,开发方法,包括云平台相关技术、Android开发技术、Django后台开发、MySQL数据库等,同时对现存的问题进行了分析和优化。可依据本文实现健康监测系统的开发,具有一定的参考意义。
[1]丘恩(Chun W.J.)著.Python核心编程[M].宋吉广译.北京:人民邮电出版社,2008.7.
[2]Brian Hardy,Bill Phillips著.Android编程权威指南[M].王明发译.北京:人民邮电出版社,2004.4.
[3]顾宏明.基于云平台的移动医疗健康服务系统的设计与实现[D].北京:北京邮电大学,2012.
Cloud Platform;Mobile Medical;Android
Design and Innovation in Health Monitoring System Based on Cloud Platform
TAN Yao1,ZHAO Jun-jun1,PI Chun-chun2
(1.College of Computer Science and Technology,Wuhan University of Science and Technology,Wuhan 430065;2.College of Information Science and Engineering,Wuhan University of Science and Technology,Wuhan430065)
1007-1423(2016)18-0071-04
10.3969/j.issn.1007-1423.2016.18.017
谭瑶(1994-),女,湖北武汉人,在读本科,研究方向为计算机应用
赵君君(1994-),男,重庆綦江人,在读本科,研究方向为计算机应用
皮春春(1993-),男,湖南常德人,在读本科,研究方向为FPGA视频处理
2016-04-12
2016-06-10
随着医疗热潮的兴起,医疗产品结合移动智能终端的研发成了当前的研究热点。基于云平台的健康监测产品的应用可以让大众受益匪浅。该系统通过硬件传感设备测量人体健康数据,并通过蓝牙模块传输至Android智能终端,通过Android端显示用户测量信息并将数据上传至云平台存储,用户可以从云平台同步健康信息,通过设置分享他人信息。整个系统综合运用了云平台相关技术、Android开发技术、Django后台开发和MySQL数据库。
云平台;移动医疗;Android
湖北省高等学校省级教学研究项目(No.2012215)
With the rise of intelligent medical,the research and development of medical products combined with intelligent mobile terminal has become the current research focus.The public can benefit a lot from the health monitoring products based on cloud platform.The application measures the data of health indicator through hardware sensors and sends the data to Android terminal through Bluetooth transmission module.Data will display by Android app and will be sent to cloud platform.Users can synchronize health information from the cloud platform and share information with others.The whole system applies the cloud platform related technology,Android development technology,Django background development and MySQL database.