1 研究目标和研究内容
本研究为《基于物联网技术的社区家庭老人实时智能健康监护系统的研究及实现》《The Internet of thingstechnology community home for the elderly health intelligentmonitoring system based on real-time》简称 IOT-HMS)项目中应用层软件设计部分。
1.1 研究目标
①实时检测被监护人的血压、脉象、温度、心跳等各项健康指标。
②利用物联网技术使用 SIM900A 模块的 GPRS 功能,将被监护人各项健康指标信息通过打包的方式通过移动数据交换中心发送给 PC 机。
③PC 机中设立数据库包含被监护人的姓名、性别、照片、家庭地址、应急电话、以往病史以及被监护人健康指标参数等字段,当被监护人健康指标出现问题时,PC 机通过短信模块向监护人手机发送预警短信,实现远程监护功能。
④设备上自带语音模块,当被监护人出现严重健康状况时,启动语音模块提醒邻近人进行救助。
1.2 研究内容
本系统主要由三部分组成:感知层、传输层以及应用层
。①感知层包含被监护人健康指标检测模块以及 CPU控制模块。检测模块包括血压、脉象、温度、心跳等健康参数检测设备,负责对被监护人进行健康信息采集,向上传输至控制模块;控制模块是整个装置的核心,由 CPU 负责对传输进来的各种信息进行智能分析并做出综合处理。
②传输层包含 GPRS 服务器数据传送模块和预警短信模块。GPRS 服务器数据传送模块将被监护人的健康参数通过打包的方式通过移动数据交换中心发送给 PC 机;PC 机将信息与数据库中的信息进行比对,及时向监护人发送预警短信。
③应用层主要指 PC 机上的数据库的建设。数据库包含被监护人的姓名、性别、照片、家庭地址、应急电话、以往病史以及被监护人健康指标参数等字段,通过信息比对查询,及时通过传输层发送预警信息。
2 软件系统设计
软件系统贯穿整个研究设计过程:从感知层需要运行在 STC12C5A60S2 平台中的 C 程序,到运行在传输层和应用层的 windows 软件程序。
2.1 软件架构设计理念 软件系统设计采用模块化,各个软件单独设计,再集成。从而利于软件功能的实现。
2.2 软件设计 当采集数据通过 GSM/GPRS 系统传输到服务器中开始使用服务器软件对数据进行处理。整体软件架构思路如图 1。
2.3 软件处理流程 软件的数据流处理流程如图 2。
2.4 文件处理流程 文件的处理流程如图 3。
2.5 软件单元模块
2.5.1 数据采集单元
通过运行于 STC12C5A60S2 单片机平台中的 C 程序,实现被采集人的体温等等健康指标的采集,采集数据实时通过 GSM/GPRS 模块(SIM900B模块)将数据送往服务器端。被采集人的个人识别信息通过软件直接写入单片机运行程序中。服务器端的 IP 地址通过使用花生壳动态域名进行解析,从而保证采集器可以实时通过 TCP/UDP 方式连接到服务器端。从而实现采集数据实时传输到服务器中。
2.5.2 数据接收单元
数据接收单元运行于服务器端。将以 TCP/DUP 方式收到的数据以文本文件的方式存储于服务器中,便于入库及扫描单元使用。数据接收单元实时运行。实时监控 TCP/UDP 端口的数据变化。
2.5.3 线程服务
线程服务单元为系统线程管理服务,通过该单元可以控制系统 CPU 的使用,控制文件扫描和处理的线程数量等。该单元保证了既充分利用系统资源的同时也避免了处理瓶颈的出现。线程服务单元通过配置文件以供系统组件使用,通过配置文件,可以修改线程池的大小,线程优先级,线程的等待队列大小等等。线程池的大小决定了处理程序的并发度,线程优先级决定了处理程序获得 CPU 执行的机会多少,线程的等待队列可以限制排队长度,当排队数量超过指定限制时,向线程服务单元提交处理任务将会被阻塞,直到有线程处理完成且排队数量减少为止。2.5.4 日志服务 为系统提供日志服务,以便开发和维护使用。可以通过该单元控制日志的输出信息。
2.5.5 定时调度服务
该单元为服务组件,提供定时调度服务,其他单元可以利用该单元进行定时任务的注册和解除。通常情况下文件的扫描、文件入库等等任务都是由相关组件进行注册,由定时调度单元进行适时调度的。定时调度主要是针对需要按时钟来触发的任务,比如说文件扫描任务、文件入库任务、文件清除任务等等。
2.5.6 配置管理服务
为系统各个单元组件提供配置信息。专门设置配置管理单元,可以更方便的进行系统配置管理。将所有配置文件集中到该单元目录下,以提供集中的配置管理。当然或许可以通过数据库或者其他方式进行配置信息的管理。
2.5.7 文件扫描服务
当数据接收单元接收到数据并生成文本文件存于数据接收目录中时,本组件可以方便的进行文件扫描控制,并可以按各种条件过滤文件:比如按修改时间戳过滤,按文件扩展名过滤。同时该单元会记录已经处理过的文件,以保证不会被重复处理。该单元同时提供多种文件源扫描,比如 FTP、本地文件等。
2.5.8 标准监护数据计算服务
以 IOT-HMS 所输出的数据为标准数据,在此单元中实现计算和输出,输出数据存入数据库中。该单元同时控制数据的输出格式,包括定时、定性数据输出。该模块具备可编辑性,能够定制特定的数据输出格式。
2.5.9 文件入库单元
本单元对应文件处理流程中将扫描单元标记的文本文件打开,读取,处理后将数据直接送入 SQL SERVER2008 数据库中。数据的入库将采用即时的入库方式,从而保障数据查询的及时性。当然入库等过程需要周期,延迟当控制在 2分钟以内。所以入库的数据将使用 100 行或者 10 行等不同的数量同时入库的方式。
2.5.10 文件清除单元
根据扫描单元的标记和入库单元的入库标记,将已经入库的文件清除,从而还系统简洁明快。
2.5.11 SQL SERVER 数据库检查单元
数据库检查单元负责检查当前数据库表结构是否适应于 IOT-HMS 的输出,如果不适用,则会生成修改数据库表结构的脚本或者建表脚本。这样的检查可以简化数据库结构升级,并减少因增减数据字段导致的系统不兼容。该模块的产生是应对系统数据库运行是否稳定。以及预防认为的在系统数据库中增加非法表格和字段,造成系统空间浪费和数据错误的发生。一旦检查发现错误,会进行及时修复,保障系统的干净、高效。
2.5.12 自定义监护数据管理单元
可以自定义 IOT-HMS 系统的监控指标。按照用户需求进行定义。
3 总结
软件系统设计采用模块化、插件化、标准化的各个子系统设计。所有子系统按照平台需求采用不同的软件平台开发。
作者:王红 WANG Hong 边洪宁 BIAN Hong-ning 宫琳琳 GONG Lin-lin 单位:山东协和学院,济南