APP下载

健康监测大数据系统接入协议设计

2017-09-29赵博扬王勇

软件导刊 2017年9期
关键词:健康监测通信协议大数据

赵博扬 王勇

摘 要:首先对主流轻量级应用层通信协议进行研究,结合各类协议的优缺点,以及健康监测大数据平台的应用环境,探索了一种在客户端服务器模式下的应用层通信协议。它遵循应用层协议设计要求,采用应用层协议广泛使用的ASN.1语言进行协议描述。在调研用户群体、设备端和健康监测大数据平台三者之间关系以及健康监测大数据环境独有特点的情况下,设计了用于设备端与健康监测大数据平台进行协议交互的各种操作请求,在编解码方面选择了相对于XML有更好效率的BER编解码方法,使得网络带宽利用率更加充分。

关键词:健康监测;大数据;通信协议;异构性

DOI:10.11907/rjdk.171486

中图分类号:TP393 文献标识码:A 文章编号:1672-7800(2017)009-0173-04

Abstract:The article firstly design a application layer protocol in C/S server model to montor physiological parameter after we study advantages and defects of many protocols,environments of big data platform that monitors healthy information.The specific designation of protocol takes ASN.1 that is used to describe many application layer protocols.We design operational requests based on between triadic relation of users,devices and platform and unique features of healthy information.We used BER as a method of coding and decoding data so that it can improve efficiency of network transmission.

Key Words:health monitoring; big data; communication protocol; heterogeneity

0 引言

健康監测数据与每一个人息息相关,成熟的健康大数据应用拥有潜在的大规模用户,而且与健康相关的数据种类和数量庞大,决定了健康监测数据巨大的数据量(Volume)。而人们健康状况的实时采集和监测,使健康监测数据具有较快的产生速度(Velocity)。健康监测类设备功能和原理的多样性,决定了来自健康监测类设备的健康监测数据的广泛异构性(Variety),如存在结构化数据、音视频流数据、时空数据等多种数据形态。毫无疑问,健康监测数据具有巨大的价值(Value),即健康监测数据具有典型的大数据“4V”特性[1-5]。

由于健康监测类设备从功能、原理、生产厂商和型号等多个方面存在着异构性,因此在健康监测数据接入健康监测数据云中心时,需要一种统一的接入协议来屏蔽设备的异构性,如图1所示。

1 大数据接入协议设计

健康大数据统一的接入协议是一个应用层协议,该协议模型和Internet模型的层次结构如图2所示。

由于现阶段人体健康监测设备没有具体的行业标准,传输协议众多,为了保证数据的统一性和权威性,笔者在查阅了相关医学类文献后,结合大量应用层协议设计原则[6-8],设计了用于健康大数据监测的协议。使用该协议可以采集标准化的健康数据发送至云中心端进行存储,相关协议设计完成后,再以Java语言为基础进行通信协议工具包的开发。

1.1 健康监测数据字典模型设计

健康数据集采用中华人民共和国卫生行业标准制定的城乡居民健康档案基本数据集[9],该标准规定了城乡居民健康档案基本数据集的元数据属性和数据元目录。数据元目录包括城乡居民健康档案的个人基本信息、健康体检信息、重点人群健康管理记录和其它医疗卫生服务记录的相关数据元。本标准适用于城乡居民健康档案的信息收集、存储与共享,以及城乡居民健康档案管理信息系统建设。本文拟采用含有OID的分级、树形命名空间描述各类健康数据,根据合理的等级建立层次级别,以此形成一棵健康数据模型树。健康监测数据模型如图3所示。

1.2 协议交互消息设计

由于需要接收众多设备的数据,故传输的数据类型归为2种,分别为:结构化数据和非结构化数据。所谓结构化数据即行数据,其存储在数据库里,可以用二维表结构来逻辑表达实现的数据;非结构化数据是指其字段长度不等,并且每个字段的记录又可由可重复或不可重复的子字段构成数据库,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频、视频信息等。针对不同数据类型设计了不同的交互协议,整体设计如图4所示。

为了满足结构化、非结构化数据的需求,设计消息结构如下:

(1)Insert操作:①用于客户端将收集到的健康数据发送至云中心进行保存,针对两种格式:结构化数据如图5所示,非结构化数据如图6所示,采用不同的结构化数据库MySql和非结构化数据库MongoDB保存不同信息,确保了最高的存取效率;②结构化数据的参数信息采纳了城乡居民健康档案中定义的信息,以保证信息的权威性和标准性。对于非结构化数据,显现了设备端的自身特点,将其相关信息一并放入云中心,以待后续的数据挖掘工作。

(2)Reply操作:①用于客户端首次连接到云中心进行初始登录验证,云中心给予相关设备的具体反馈;②用于客户端发送了无法解析、不符合协议规定的数据;③用于云中心自身错误造成的数据接收问题或无法入库的情况,使用该操作通知用户重新发送历史信息。具体设计如图7所示。endprint

Init操作:设备初次登录到云中心,将设备状态信息反馈至服务器端。具体设计如图8所示。

1.3 编解码方案设计

由于业务平台不同、网络带宽以及传输数据量大小不同,会有众多的编解码方式,总体而言,可以归结为两大类型:基于字符串的编码和基于二进制流的编码,两种编码的优缺点各不相同。基于字符串的编码形式容易书写、阅读,实现方式简单,编码成本低,便于程序调试,缺点是会占用较多带宽;二进制方式的编码虽然不易书写,可读性差,编程方式相对于字符串会复杂许多,但是其优势也显而易见,如占用带宽少、节省资源,更适用于对性能要求较高的情况。综上所述,本文选用TLV的编解码方式作为该协议应用层的编解码方案。

TLV[10]指由数据类型Tag、数据的长度Length、数据值Value组成的结构体,几乎可以描述任意数据类型,TLV的Value也可以是一个TLV结构。

为了便于通信双方以一致的方式进行数据转换,需要制定协议的基本数据类型。根据健康监测数据集可以看出,所有表中的健康数据字段可以归为5大类,分别是字符串型、布尔型、整型、浮点型以及日期类型。为了保证协议中的基本数据类型能够覆盖所有字段,在此之上适当为后续可能出现的数据类型留下扩展空间,接入协议制定了13种基本数据类型,如表1所示。

1.4 传输层协议设计

由于该协议针对的设备众多,像穿戴设备、医疗器械以及健康监测设备等,每个器材的使用场景和对数据实时性的要求也不尽相同,所以为了能够满足不同场景的需要,最大程度地减小网络负荷,在做到实时性、准确性的同时充分运用计算机和网络性能,采取了传输层协议选择绑定的方式,分别是TCP协议绑定和UDP协议绑定两种形式[11]。

TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接。由于TCP是面向连接的,所以只能用于端到端的通讯。TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术实现传输的可靠性。

UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。具体架构如图9所示。

2 统一的数据接入协议软件实现

采用Java语言包的形式研制协议支持软件包,相关核心类如下:

TLV类:用于定义TLV类型,设置该数据相关参数。

TlvUtils类:用于相关TLV数据包内容的编解码功能。

Tag类:定义各类指令、状态等信息。

Package类:用于封装应用层协议以及相关操作。

UdpTransportMapping類:封装了传输层的UDP传输方式以及相关操作。

TcpTransportMapping类:封装了传输层的TCP传输方式以及相关操作。

3 实验

3.1 系统运行环境

硬件环境为Intel Core i5-3470 3.2G CPU,4G内存;软件环境为Windows7 Professional;网络环境为100M局域网。

测试策略:因为协议无法直观地进行测试,故将服务器端与客户端均按照协议包进行通信,看是否能够顺利通信,并观察在多个客户端同时通信过程是否正常。

3.2 功能性测试

3.3 压力测试

压力测试如表3所示。

3.4 稳定性测试

稳定性测试如表4所示。

综合以上测试情况,通过该协议,通信双方均可以建立可靠连接,在性能方面能够保证大数据量和一周内持续运行,无内存溢出、内存泄漏等问题,可满足工程稳定性要求。

4 结语

该协议成功屏蔽了设备之间的异构性,选择了专业、翔实的健康数据集,使得所有数据能够以统一、完整、权威的内容进行保存,方便了后续的数据挖掘工作。为了满足收集不同异构设备健康监测数据的需求,在协议设计上,充分考虑了健康监测数据的“4V”特性,对交互报文与交互命令的设计以及交互过程的规范进行了研究,并设计了相关操作指令。同时该协议选择了效率较高的BER编码方式和TCP或UDP传输模式,使其能够满足各种场合的使用要求。

参考文献:

[1] 颜延,秦兴彬,樊建平,等.医疗健康大数据研究综述[J].科研信息化技术与应用,2014,5(6):3-16.

[2] KUO M, SAHAMA T, KUNSHNIRUK A, et al. Health big data analytics: current perspectives, challenges and potential solutions[J].International Journal of Big Data Intelligence, 2014(1/2):114-126.

[3] SCHNEEWEIESS S. Learning from big health care data[J]. The New England Journal of Medicine, 2014(6):2161-2163.

[4] WANG Y, KUNG L, TING C, et al. Beyond a technical perspective: understanding big data capabilities in health care[J]. HICSS, 2015:3044-3053.

[5] GROVES P, KAYYALI B, KNOTT D, et al. The big data revolution in healthcare[J]. McKinsey&Company, 2013(4):1-22.

[6] 曾泽熠.基于CoAP的家庭网络通信协议的设计与实现[D].北京:北京交通大学,2013.

[7] 宋蒙.基于网络编码的TCP协议原型设计与实现[D].北京:北京邮电大学,2012.

[8] 王岩.应用层协议识别技术研究[D].西安:西安电子科技大学,2012.

[9] WS 365-2011,城乡居民健康档案基本数据集[S].北京:中华人民共和国卫生部,2011.

[10] 王沁,许娜,张燕,等.优化TLV编码规则[J].计算机科学,2008(11):11-14.

[11] 何润岸.基于UDP进行大规模数据传输的可靠传输系统的设计与实现[D].济南:山东大学,2015.

(责任编辑:黄 健)endprint

猜你喜欢

健康监测通信协议大数据
基于Z-Stack通信协议栈的红外地温采集电路设计
广东省某S型桥梁长期健康监测分析
基于DMX512通信协议的多路转发器设计与研究
基于NS-3的PLC多频通信协议仿真平台设计与实现
RSSP-I、RSSP-Ⅱ及SAHARA三种安全通信协议实现技术简介