基于Web的康复设备监控系统设计与实现

2019-10-24 10:51周深李娇喻洪流倪伟
中国康复理论与实践 2019年10期
关键词:服务器端康复训练数据库

周深,李娇,喻洪流,3,倪伟

1.上海理工大学医疗器械与食品学院康复工程与技术研究所,上海市 200093;2.上海康复器械工程技术研究中心,上海市 200093;3.民政部神经功能信息与康复工程重点实验室,上海市 200093

近年来,随着物联网和互联网技术的快速发展[1],在各行各业各种基于Web 的设备监控系统应运而生。当前康复设备主要通过康复设备管理系统与人进行交互,多采用C/S (客户端/服务器)架构[2],患者和医护人员只能通过本地客户端软件控制康复设备、查询康复训练数据[3],这给康复医生查询训练数据进行疗效评估、医患之间信息交流及设备管理员及时获悉设备异常进行维护带来很大的不便。

本文提出的基于Web 的康复设备监控系统设计与实现,采用B/S 架构[4],通过该系统,康复设备可将患者的康复训练数据实时传入云端数据库,医生可随时随地通过浏览器获取患者康复训练的数据,并进行康复训练的结果评估和康复处方的更新;患者可通过此系统查看自己的康复训练记录和医生下达的康复训练处方,并可随时与医生进行在线沟通交流;设备管理员也可借助此系统实现康复设备的监控和管理,及时获悉设备的数据信息,便于设备的维护和更新。

此外,该平台也为远程医疗康复提供了可能。相对于传统设备C/S 架构软件系统,B/S 架构软件系统界面以浏览器为载体,该系统体系结构允许设备独立于它们的位置工作。这使得康复设备可以远程进行治疗,而不需要在康复过程中有专家在场[5]。

1 总体框架设计

本系统采用物联网的三层架构——感知层、网络层、应用层[6]搭建。其总体架构如图1 所示,设备通信层是基于HTTP协议和Socket[7]技术,通过制定通信协议,以JSON[8]数据格式为载体进行双方的数据交换;服务器层主要利用MVC[9]设计模式和J2EE 技术,采用当前流行的Web 框架SSM[10]设计,由MySQL 数据库负责数据存储;用户访问层采用JSP 技术,结合JavaScript、Ajax[11]实现前后台动态交互,通过CSS 定义页面布局,运用Bootstrap、HighCharts 等框架技术进行页面美化设计。

2 设备通信层设计

本文的康复设备指中央驱动式上肢康复机器人[12](图2)。该机器人是由上海理工大学康复工程与技术研究所研发,适用于脑卒中、外伤和术后神经损伤所致上肢功能障碍患者。它能帮助医生为上肢功能障碍患者提供个性化训练方案,在三维空间里帮助患者完成主、被动模式下的单关节或多关节复合的功能训练。

图1 云平台架构

图2 中央驱动式上肢康复机器人

图3 所示上肢康复机器人的主控制系统基于一主三从式的结构,数据采集模块和姿态控制模块独立设计。在机器人辅助训练过程中,设备将自身状态信息和患者训练过程中采集的数据经过一定的封装处理,通过内置无线模块与外界相连以实现通信。

康复设备要想实现网络通信,除了实现以上设备端设计外,还需要提供智能网关作为设备与平台服务器通信的桥梁,设备采集的数据通过网关才能连接入互联网与服务端通信。网络通信实现原理如图1所示,基于本设备的功能需求,我们选取DM9000 作为以太网网卡芯片,同时需要RTthread 实时操作系统[13]与lwip 协议栈共同实现。在RTthread 系统lwip 协议栈的传输层TCP/IP[14]协议基础上,通过HTTP 协议根据服务器制定的数据上传接口上传数据,并通过Socket套接字实现接收服务器下发的指令。

3 服务器层设计

选取当前最流行MVC 业务框架SSM[10]进行设计。其中,Spring 作为容器负责实例化bean 以及管理业务组件,SpringMVC[15]负责拦截用户请求,并匹配控制器执行相关业务返回JSP页面给前端,Mybatis主要负责数据库访问业务[16]。

图3 中央驱动式上肢康复机器人主控制系统

3.1 数据持久化层设计

3.1.1实体类设计

实体类是JAVA 语言中的一个类,这个类与普通意义上的类不同,它代表的是一个实体,实体类通常与数据库联系在一起,所谓的实体即数据库中对应的一张表。本文中主要有3 类用户角色,分别是患者、康复医师、设备管理员,通过对他们权限及业务的分析,考虑Java 语言中继承关系[17]可知,本平台主要涉及的用户实体类有用户(User)、医生(Doctor)、患者(Patient)、平台管理员(PlatformAdministrator),用户业务实体类有设备(Equipment)、设备数据(Equipment Data)、训练计划(RehabPlan)、康复处方(Prescription)、训练报告(Report)等。经过功能需求分析得到实体类UML[18]类图。见图4。

3.1.2数据库设计

从以上UML 类图看出,图中实体类之间存在多重关联关系。医生与患者之间为一对多的关联关系,设备管理员与设备之间为一对多的关联关系,设备与患者、治疗师、设备数据和训练报告之间为一对多的关联关系。通过以上分析,在SQLyog 中操作数据库建表,相互关联的表通过相应字段作为外键设置关联即可。

3.2 业务逻辑层设计

在SSM 框架实现的系统中,业务逻辑层由SpringMVC 来实现,其中的Controller 作为控制器,是View层和Model层之间沟通的桥梁,负责接收前端请求和将请求结果响应给视图界面;Model即模型层,此处将其细分为Service、DAO 以及数据表对应的Ja‑vaBean三个部分,每个部分实现不同的功能且有层次关系,下层只能供上层调用[19]。在Controller层对请求的功能需求进行分析调用业务层Service 模块的接口,在业务层Service 模块中调用DAO 层接口对数据库中的数据进行增、删、改、查的操作并将结果返回给Service模块和Controller层,Controller 层通过ViewResolver 对象将最终结果返回给前端界面进行渲染并展示[20]。

3.3 设备远程监控设计

图4 平台实体UML类图

该系统主要功能是实现康复设备的远程监控,包括用户界面控制指令实时下发操控设备,以及设备状态信息实时上传到数据库并在前端展示。设备与平台服务器端通信需制定相应的请求报文格式,即通信协议。如图1 所示,设备将数据上传至服务器端和服务器端向设备发送远程控制指令是通过HTTP 协议和Socket[7]通信实现的。对指令报文以JSON 形式进行封装,考虑到上传信息和远程控制指令的安全性和准确性,对报文做如下设计:指令报文包括三部分信息,分别是设备编号(equID)、控制指令(command)和数据内容(data)。equID 用来让服务器识别该数据由哪个设备上传和让设备识别该指令是否是服务器端发送给本设备的;command 让设备根据指令作出相应动作变换;data 是设备上传数据时的具体数据报文,也可以是一个JSON 文本。控制指令JSON 报文如:{“equID”:1,”command”:2,”data”:null}.

服务器端在控制层EquipmentController 中为设备提供上传数据信息的接口及下发指令的接口。在设备数据上传过程中,服务器端通过updateEquipmentData()方法接收来自设备上传的JSON 数据,通过转化为Equipment 对象,将相应数据存入数据库中,医生可在前端页面获取此信息。在设备指令下发过程中,服务器端通过sendEquipmentCommand()方法接收前端页面提交的控制指令,并按以上定义好的指令报文形式封装成JSON 格式,通过Socket 获取字节输出流的OutputStream 对象,再获取打印流PrintWriter 对象,通过打印流PrintWriter 对象将其通过智能网关传送给设备主控制器,按照预定义的通信协议解析执行相关动作命令。

4 用户访问层设计

通过对本系统角色和功能的需求分析可知,本系统主要有游客、医生、患者、治疗师和设备管理员等用户,游客可以访问未登录时的所有资源,其他4 类用户通过账号登录进入个人中心,个人中心展示了该类角色可访问的所有资源。

平台部分展示图(图5)中,医生登录到医生中心后的界面如图5(d)所示,包含个人中心、患者管理、设备管理、工作安排、数据统计和站内信息,医生可对自己的患者进行相关操作,如查看患者信息、制定康复训练计划、进行在线康复训练和制定康复评估报告等。患者登录到患者中心后的界面如图5(c)所示,包含个人中心、医疗状况、训练计划、康复状况和站内信息,可查看医生制定的训练计划及完成情况,进行自我康复评定,查看阶段性康复训练效果,查看和发送医生信息和系统信息等。管理员登录到管理员中心后的界面如图5(b)所示,包含个人中心、设备管理等菜单,可查看设备运行期的相关信息,可对有异常状态的设备进行锁定等操作。

5 远程监控实验

本节将对平台进行有效性和可靠性实验测试,主要介绍对设备远程监控的测试。

图5 平台部分页面展示

首先,将该系统进行本地项目打包部署到公网服务器上,通过登陆自定义的域名便可访问该平台,系统默认给定有医生、患者、康复治疗师三个测试账号进行测试,用户也可以自行注册体验对应角色功能。在此,我们通过给定的医生测试账号进行登陆后,点击制定康复训练计划菜单,选定该医生对应的患者进行康复训练计划制定;点击“完成”后,服务器把该计划下发至设备进行相关训练;在训练过程中设备将传感器采集的数据以1 s 间隔上传至服务器端进行保存,同时界面每秒从数据库中读取一条记录进行展示。其实时数据展示如图5 f 所示。通过对比其实时展示图及状态标识和设备的状态可知,二者之间存在一致性,动态曲线图平均响应时间0.49~0.58 s,考虑网络等原因延迟,该结果在可接受范围内,基本达到预期的目标。

实验结果说明,本文提出的基于Web 的康复设备监控系统设计与实现具有可行性,通过本系统能够实现对康复设备及时、准确、有效的远程监控。

6 结论

本文设计的基于Web 的康复设备监控系统,利用物联网和互联网技术,以网页形式代替传统康复设备桌面客户端监控系统,通过将设备接入网络,各用户可随时随地操作带有浏览器的终端设备即可监控设备、查看信息和处理相关业务,为医生、患者和管理员等多角色带来了更好的业务体验。应用测试实验结果表明,该系统的设计是有效和可行的。

猜你喜欢
服务器端康复训练数据库
猕猴脊髓损伤康复训练装置的研制
听觉脑干植入儿童康复训练个案研究
气压差减重步行康复训练系统设计
Linux环境下基于Socket的数据传输软件设计
穴位按摩与康复训练治疗周围性面瘫的疗效观察
数据库
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
数据库
数据库