体征数据实时展示方法、系统和存储介质与流程

文档序号:14614576发布日期:2018-06-05 21:49阅读:118来源:国知局
体征数据实时展示方法、系统和存储介质与流程

本发明涉及医疗器械领域,尤其涉及一种体征数据实时展示方法、系统和存储介质。



背景技术:

睡眠呼吸暂停低通气综合征(Sleep Apnea Hypopnea Syndrome,SAHS)是指人们在睡觉过程中出现的呼吸障碍,包括睡眠呼吸暂停综合症、低通气综合症以及上气道阻力综合症等引起的有关睡眠呼吸障碍。便携式睡眠监测仪也叫做家庭睡眠监测或睡眠中心外睡眠监测,SAHS患者佩戴便携式睡眠监测仪可自主在家中进行体征数据的监测,并将监测的体征数据实时的远程展示给医院的医护人员,便于医护人员及时了解患者的睡眠情况,但遇到网络拥塞的时候,体征数据远程展示效果差、实时性差。



技术实现要素:

为了解决现有技术中存在的技术问题,本发明提供了一种体征数据实时展示方法、系统和存储介质,可以增强体征数据远程展示的效果,提高体征数据远程展示的实时性。

一种体征数据实时展示方法,其特征在于,包括:

展示终端接收服务器发送的实时体征数据包,所述实时体征数据包包括第一实时体征数据包和第二实时体征数据包;

所述展示终端将所述第一实时体征数据包插入第一数据队列,将所述第二实时体征数据包插入第二数据队列;

当满足预设条件时,所述展示终端获取所述第一数据队列中第一最早采集时间对应的所述第一实时体征数据包并存入待展示缓冲区,以及获取所述第二数据队列中第二最早采集时间对应的所述第二实时体征数据包并存入待展示缓冲区,得到待展示数据;

所述展示终端根据预设展示时间展示所述待展示数据。

所述展示终端接收服务器发送的实时体征数据包之前还包括:

功能设备将采集的所述实时体征数据包按照预设时间间隔发送给数据处理终端,所述功能设备包括第一功能设备和第二功能设备,所述第一功能设备采集所述第一实时体征数据包,所述第二功能设备采集所述第二实时体征数据包;

所述数据处理终端将接收到的所述实时体征数据包通过UDP协议发送给所述服务器;

所述服务器将接收到的所述实时体征数据包通过WebSocket协议发送给所述展示终端。

所述第一实时体征数据包包括第一功能设备ID,第一采集时间,第一实时体征数据的数据值,第一实时体征数据的采集频率,第一实时体征数据的数据点数目,第一实时体征数据的采集通道ID;

所述第二实时体征数据包包括第二功能设备ID,第二采集时间,第二实时体征数据的数据值,第二实时体征数据的采集频率,第二实时体征数据的数据点数目,第二实时体征数据的采集通道ID。

所述第一实时体征数据包括血氧饱和度和脉率数据中的至少一个;

所述第二实时体征数据包括胸腹运动数据、鼻气流数据、打鼾数据和睡眠体位数据中的至少一个。

所述所述展示终端将所述第一实时体征数据包插入第一数据队列,将所述第二实时体征数据包插入第二数据队列包括:

所述展示终端将所述第一功能设备采集的所述第一实时体征数据包插入所述第一数据队列,将所述第二功能设备采集的所述第二实时体征数据包插入所述第二数据队列。

所述预设条件为:所述第一数据队列中有至少一个所述第一实时体征数据包,和所述第二数据队列中有至少一个所述第二实时体征数据包。

所述预设条件为:所述第一数据队列和所述第二数据队列中任意一个有两个或两个以上所述实时体征数据包。

所述所述展示终端根据预设展示时间展示所述待展示数据,包括:

当所述第一数据队列和所述第二数据队列中的最长队列的队列长度大于10时,按照第一预设展示时间展示所述待展示数据;

当所述第一数据队列和所述第二数据队列中的最长队列的队列长度大于5且小于等于10时,按照第二预设展示时间展示所述待展示数据;

当所述第一数据队列和所述第二数据队列中的最长队列的队列长度大于2且小于等于5时,按照第三预设展示时间展示所述待展示数据;

当所述第一数据队列和所述第二数据队列中的最长队列的队列长度大于0且小于等于2时,按照第四预设展示时间展示所述待展示数据。

所述方法还包括:

当初始时间与当前获取时间的时间间隔超过所述预设展示时间时,获取所述待展示数据的剩余待展示数据点,并展示所述剩余待展示数据点;

当初始时间与当前获取时间的时间间隔未超过所述预设展示时间时,计算所述待展示数据的所述实时体征数据的数据点数目,获取所述数据点数目的数据点并展示。

一种体征数据实时展示系统,包括展示终端和服务器,所述展示终端包括:

接收模块,用于接收服务器发送的实时体征数据包,所述实时体征数据包包括第一实时体征数据包和第二实时体征数据包;

插入模块,用于将所述第一实时体征数据包插入第一数据队列,将所述第二实时体征数据包插入第二数据队列;

获取模块,用于当满足预设条件时,获取所述第一数据队列中第一最早采集时间对应的所述第一实时体征数据包并存入待展示缓冲区,以及获取所述第二数据队列中第二最早采集时间对应的所述第二实时体征数据包并存入待展示缓冲区,得到待展示数据;

展示模块,用于根据预设展示时间展示所述待展示数据。

所述系统还包括功能设备和数据处理终端;

所述功能设备用于将采集的所述实时体征数据包按照预设时间间隔发送给数据处理终端,所述功能设备包括第一功能设备和第二功能设备,所述第一功能设备采集所述第一实时体征数据包,所述第二功能设备采集所述第二实时体征数据包;

所述数据处理终端用于将接收到的所述实时体征数据包通过UDP协议发送给所述服务器;

所述服务器将接收到的所述实时体征数据包通过WebSocket协议发送给所述展示终端。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可执行指令,所述计算机可执行指令被处理器执行时,使得所述处理器执行以下步骤:

接收实时体征数据包,所述实时体征数据包包括第一实时体征数据包和第二实时体征数据包;

将所述第一实时体征数据包插入第一数据队列,将所述第二实时体征数据包插入第二数据队列;

当满足预设条件时,获取所述第一数据队列中第一最早采集时间对应的所述第一实时体征数据包并存入待展示缓冲区,以及获取所述第二数据队列中第二最早采集时间对应的所述第二实时体征数据包并存入待展示缓冲区,得到待展示数据;

根据预设展示时间展示所述待展示数据。

上述体征数据实时展示方法、系统和存储介质,展示终端接收服务器发送的实时体征数据包,所述实时体征数据包包括第一实时体征数据包和第二实时体征数据包,所述展示终端将所述第一实时体征数据包插入第一数据队列,将所述第二实时体征数据包插入第二数据队列,当满足预设条件时,所述展示终端获取所述第一数据队列中第一最早采集时间对应的所述第一实时体征数据包并存入待展示缓冲区,以及获取所述第二数据队列中第二最早采集时间对应的所述第二实时体征数据包并存入待展示缓冲区,得到待展示数据,所述展示终端根据预设展示时间展示所述待展示数据,可以增强体征数据远程展示的效果,提高体征数据远程展示的实时性。

附图说明

图1为一个实施例的体征数据实时展示方法的系统架构图;

图2为一个实施例的体征数据实时展示方法的流程图;

图3为另一个实施例的体征数据实时展示方法的部分流程图;

图4为一个实施例的体征数据实时展示系统的示意图;

图5为另一个实施例的体征数据实时展示系统的示意图;

图6为一个实施例的计算机设备的内部结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,为一个实施例中的系统架构图,该系统包括功能设备1001、数据处理终端1002、服务器1003和展示终端1004。功能设备1001与数据处理终端1002通过蓝牙进行数据传输,数据处理终端1002与服务器1003通过用户数据报协议UDP(User Datagram Protocal)进行数据传输,服务器1003与展示终端1004通过Web Socket协议进行数据传输。功能设备1001可以为可以监测体征数据的便携式睡眠监测仪,比如血氧仪、鼻气流和胸腹运动盒子等,但并不局限于此。血氧仪可以监测患者的血氧饱和度和脉率数据;鼻气流和胸腹运动盒子可以监测患者的胸腹运动数据、鼻气流数据、打鼾数据和睡眠体位数据。数据处理终端1002可以为蓝牙4.0中心设备,可以同时连接多个外设的功能设备1001。服务器1003可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器。展示终端1004可为智能手机、平板电脑、笔记本电脑、台式计算机、智能手表等,但并不局限于此。功能设备1001采集患者的实时体征数据包,并按照预设时间间隔将实时体征数据包发送给数据处理终端,功能设备包括第一功能设备和第二功能设备,实时体征数据包包括第一实时体征数据包和第二实时体征数据包,第一功能设备采集第一实时体征数据包,第二功能设备采集第二实时体征数据包;数据处理终端接收实时体征数据包,并将实时体征数据包通过UDP协议发送给服务器;服务器接收实时体征数据包,并将实时体征数据包通过WebSocket协议发送给展示终端;展示终端接收服务器发送的实时体征数据包,并将第一实时体征数据包插入第一数据队列,将第二实时体征数据包插入第二数据队列;当满足预设条件时,展示终端获取第一数据队列中第一最早采集时间对应的第一实时体征数据包并存入待展示缓冲区,以及获取第二数据队列中第二最早采集时间对应的第二实时体征数据包并存入待展示缓冲区,得到待展示数据;展示终端根据预设展示时间展示待展示数据,从而增强了体征数据远程展示的效果,提高体征数据远程展示的实时性。

如图2所示,在一个实施例中,一种体征数据实时展示方法,包括以下步骤:

步骤S201,展示终端接收服务器发送的实时体征数据包,实时体征数据包包括第一实时体征数据包和第二实时体征数据包。

具体地,展示终端接收服务器通过UDP协议发送的实时体征数据包,实时体征数据包包括第一实时体征数据包和第二实时体征数据包。

步骤S202,展示终端将第一实时体征数据包插入第一数据队列,将第二实时体征数据包插入第二数据队列。

具体地,第一数据队列对应第一实时体征数据包,第二数据队列对应第二实时体征数据包,展示终端将接收到的第一实时体征数据包插入第一数据队列,将接收到的第二实时体征数据包插入第二数据队列。

步骤S203,当满足预设条件时,展示终端获取第一数据队列中第一最早采集时间对应的第一实时体征数据包并存入待展示缓冲区,以及获取第二数据队列中第二最早采集时间对应的第二实时体征数据包并存入待展示缓冲区,得到待展示数据。

具体地,判断第一数据队列和第二数据队列是否满足预设条件,当满足预设条件时,展示终端获取第一数据队列中第一最早采集时间对应的第一实时体征数据包并存入待展示缓冲区,以及获取第二数据队列中第二最早采集时间对应的第二实时体征数据包并存入待展示缓冲区,得到待展示数据。第一最早采集时间和第二最早采集时间可以是相同的,也可以是不相同的。

步骤S204,展示终端根据预设展示时间展示待展示数据。

具体地,展示终端根据第一数据队列和第二数据队列的队列长度确定预设展示时间,按照预设展示时间展示待展示数据,即展示终端根据第一数据队列和第二数据队列的队列长度动态控制待展示数据的展示速度,增强了体征数据远程展示的效果,提高了体征数据远程展示的实时性。

本实施例中,展示终端得到待展示数据,展示终端根据第一数据队列和第二数据队列的队列长度确定预设展示时间,按照预设展示时间展示待展示数据,即根据第一数据队列和第二数据队列的队列长度动态控制待展示数据的展示速度,增强了体征数据远程展示的效果,提高了体征数据远程展示的实时性。

在一个实施例中,一种体征数据实时展示方法,包括以下步骤:

步骤S211,功能设备将采集的实时体征数据包按照预设时间间隔发送给数据处理终端,功能设备包括第一功能设备和第二功能设备,第一功能设备采集第一实时体征数据包,第二功能设备采集第二实时体征数据包。

具体地,功能设备支持蓝牙传输数据,可以为可以监测体征数据的便携式睡眠监测仪,比如血氧仪、鼻气流和胸腹运动盒子等,但并不局限于此。

数据处理终端可以为蓝牙4.0中心设备,可以同时连接多个外设的功能设备,自动搜索和连接可用的功能设备,自动同步功能设备采集的实时体征数据包,将实时体征数据包通过WIFI或移动网络上传到云服务器。

本实施例中,预设时间间隔可以设置为1秒,第一功能设备和第二功能设备同时启用。第一功能设备通过蓝牙4.0低功耗协议1秒传输一个第一实时体征数据包给数据处理终端,第二功能设备通过蓝牙4.0低功耗协议1秒传输一个第二实时体征数据包给数据处理终端。

进一步地,第一实时体征数据包包括第一功能设备ID,第一采集时间,第一实时体征数据的数据值,第一实时体征数据的采集频率,第一实时体征数据的数据点数目,第一实时体征数据的采集通道ID;第二实时体征数据包包括第二功能设备ID,第二采集时间,第二实时体征数据的数据值,第二实时体征数据的采集频率,第二实时体征数据的数据点数目,第二实时体征数据的采集通道ID。

进一步地,第一实时体征数据包括血氧饱和度和脉率数据中的至少一个;第二实时体征数据包括胸腹运动数据、鼻气流数据、打鼾数据和睡眠体位数据中的至少一个。

具体地,第一功能设备可以为血氧仪,第二功能设备可以为鼻气流和胸腹运动盒子。血氧仪监测患者的血氧饱和度和脉率数据中的至少一个参数,鼻气流和胸腹运动盒子监测患者的胸腹运动数据、鼻气流数据、打鼾数据和睡眠体位数据中的至少一个参数。本实施例中,第一功能设备为血氧仪,采集患者的血氧饱和度和脉率数据,第二功能设备为鼻气流和胸腹运动盒子,采集患者的胸腹运动数据、鼻气流数据、打鼾数据和睡眠体位数据。第一实时体征数据包包括第一功能设备ID,第一采集时间,血氧饱和度的数据值,血氧饱和度的采集频率,血氧饱和度的数据点数目,血氧饱和度的采集通道ID;脉率数据的数据值,脉率数据的采集频率,脉率数据的数据点数目,脉率数据的采集通道ID。第二实时体征数据包包括第二功能设备ID,第二采集时间,胸腹运动数据的数据值,胸腹运动数据的采集频率,胸腹运动数据的数据点数目,胸腹运动数据的采集通道ID;鼻气流数据的数据值,鼻气流数据的采集频率,鼻气流数据的数据点数目,鼻气流数据的采集通道ID;打鼾数据的数据值,打鼾数据的采集频率,打鼾数据的数据点数目,打鼾数据的采集通道ID;睡眠体位数据的数据值,睡眠体位数据的采集频率,睡眠体位数据的数据点数目,睡眠体位数据的采集通道ID。

步骤S212,数据处理终端将接收到的实时体征数据包通过UDP协议发送给所述服务器。

具体地,服务器可以是云服务器,数据处理终端与云服务器通过UDP协议传输数据。数据处理终端接收到第一功能设备发送的第一实时体征数据包,并实时地将第一实时体征数据包通过UDP协议发送给云服务器;数据处理终端接收到第二功能设备发送的第二实时体征数据包,并实时地将第二实时体征数据包通过UDP协议发送给云服务器。UDP协议的额外负载小,传输效率高,实时性好,可以实现实时体征数据包在数据处理终端和云服务器之间的实时传输。

步骤S213,服务器将接收到的实时体征数据包通过WebSocket协议发送给展示终端。

具体地,服务器可以是云服务器,云服务器接收到数据处理终端发送的第一实时体征数据包和第二实时体征数据包,并实时地将第一实时体征数据包和第二实时体征数据包通过WebSocket协议发送给展示终端。WebSocket协议支持客户端与服务器之间进行全双工通信,提供了一个用来替代HTTP轮询实现网页到远程主机的双向通信的方法,额外负载小,支持服务器推送,很适合于这种每秒数据实时传输的场景。通过WebSocket方式不仅能支持自主客户端的C/S方式,也适合于浏览器的B/S访问方式。

步骤S214,展示终端监听云服务器发送的实时体征数据包。

本实施例中,功能设备每秒给数据处理终端传输一个实时体征数据包,数据处理终端实时地将接收到的实时体征数据包发送给云服务器,云服务器实时地将接收到的实时体征数据包发送给展示终端,展示终端监听云服务器发送的实时体征数据包。

步骤S215,展示终端判断实时体征数据包的采集时间是否晚于现有最早采集时间,当实时体征数据包的采集时间晚于现有最早采集时间时,执行步骤S216,接收实时体征数据包;当实时体征数据包的采集时间早于现有最早采集时间时,执行步骤S217,丢弃实时体征数据包。

具体地,现有最早采集时间指数据队列中的实时体征数据包的最早采集时间。可以从第一数据队列查找第一实时体征数据包的第一现有最早采集时间,从第二数据队列中查找第二实时体征数据包的第二现有最早采集时间,第一现有最早采集时间和第二现有最早采集时间可以是相同的,也可以是不同的。比对第一现有最早采集时间和服务器发送的第一实时体征数据包中的第一采集时间,当第一采集时间晚于第一现有最早采集时间时,接收服务器发送的第一实时体征数据包,当第一采集时间早于第一现有最早采集时间时,说明服务器发送的第一实时体征数据包延迟了,丢弃该第一实时体征数据包;比对第二现有最早采集时间和服务器发送的第二实时体征数据包中的第二采集时间,当第二采集时间晚于第二现有最早采集时间时,接收服务器发送的第二实时体征数据包,当第二采集时间早于第二现有最早采集时间时,说明服务器发送的第二实时体征数据包延迟了,丢弃该第二实时体征数据包。

步骤S218,展示终端将第一实时体征数据包插入第一数据队列,将第二实时体征数据包插入第二数据队列,包括:展示终端将第一功能设备采集的第一实时体征数据包插入第一数据队列,将第二功能设备采集的第二实时体征数据包插入第二数据队列。

具体地,比对实时体征数据包中的功能设备ID与数据队列中的功能设备ID,当第一实时体征数据包中的第一功能设备ID与第一数据队列中的第一功能设备ID一致时,将第一实时体征数据包插入第一数据队列;当第二实时体征数据包中的第二功能设备ID与第二数据队列中的第二功能设备ID一致时,将第二实时体征数据包插入第二数据队列。一个第一实时体征数据包中血氧饱和度的数据点数目为1,脉率数据的数据点数目为1;一个第二实时体征数据包中胸腹运动数据的数据点数目为50,鼻气流数据的数据点数目为50,打鼾数据的数据点数目为50,睡眠体位数据的数据点数目为1,为了后续展示过程中曲线绘制效果平滑,需要至少每个参数每秒有25个数据点,所以需要将血氧饱和度数据的数据点数目、脉率数据的数据点数目和睡眠体位数据的数据点数目分别扩展为25,数据值都一致。

需要说明的是,当未收到终止指令时,重复执行步骤S214至S218,实现数据队列每秒插入一个实时体征数据包,即第一数据队列每秒插入一个第一实时体征数据包,第二数据队列每秒插入一个第二实时体征数据包。

步骤S219,当满足预设条件时,展示终端获取第一数据队列中第一最早采集时间对应的第一实时体征数据包并存入待展示缓冲区,以及获取第二数据队列中第二最早采集时间对应的第二实时体征数据包并存入待展示缓冲区,得到待展示数据,如图3所示,包括以下步骤:

步骤S301,检查第一数据队列和第二数据队列。

步骤S302,判断第一数据队列中是否有至少一个第一实时体征数据包,和第二数据队列中是否有至少一个第二实时体征数据包,若是,则执行步骤S304,否则执行步骤S303。

具体地,判断第一数据队列中是否有至少一个第一实时体征数据包,和第二数据队列中是否有至少一个第二实时体征数据包,因为第一功能设备和第二功能设备同时启用,且都是每秒上传一个实时体征数据包,正常情况下第一数据队列和第二数据队列的时间差不会超过一秒,也就是第一数据队列有一个第一实时体征数据包,第二数据队列中有一个第二实时体征数据包,且第一实时体征数据包的第一采集时间和第二实时体征数据包的第二采集时间一致,这种情况下执行步骤S304;否则执行步骤S303。

步骤S303,判断是否满足第一数据队列和第二数据队列中任意一个有两个或两个以上实时体征睡眠数据包的条件,若是,则执行步骤S304,否则执行步骤S301。

具体地,判断第一数据队列和第二数据队列中是否任意一个有两个或者两个以上实时体征睡眠数据包,若是,则执行步骤S304,否则执行步骤S301。因为在异常情况下可能出现其中一个数据队列没有实时体征数据包而另一个数据队列有多个实时体征数据包的情况,比如其中一个功能设备没有上传实时体征数据包或者网络拥塞导致实时体征数据包传输延迟等原因,这种情况下也应该获取实时体征数据包进行展示。

步骤S304,获取第一数据队列中第一最早采集时间对应的第一实时体征睡眠数据包并存入待展示缓冲区,以及获取第二数据队列中第二最早采集时间对应的第二实时体征睡眠数据包并存入待展示缓冲区,得到待展示数据。

具体地,当第一数据队列中有至少一个第一实时体征数据包和第二数据队列中有至少一个第二实时体征数据包时,第一数据队列中第一最早采集时间和第二数据队列中第二最早采集时间一致,获取第一最早采集时间和第二最早采集时间作为当前获取数据时间,获取第一数据队列中当前获取数据时间对应的第一实时体征数据包并存入待展示缓冲区,获取第二数据队列中当前获取数据时间对应的第二实时体征数据包并存入待展示缓冲区,得到待展示数据。当第一数据队列和第二数据队列中任意一个有两个或两个以上实时体征睡眠数据包时,以有两个或两个以上实时体征睡眠数据包的数据队列中的最早采集时间作为当前获取数据时间,获取第一数据队列中当前获取数据时间对应的第一实时体征数据包并存入待展示缓冲区,获取第二数据队列中当前获取数据时间对应的第二实时体征数据包并存入待展示缓冲区,若当前获取数据时间对应的实时体征数据包为空,即功能设备还没有上传该实时体征数据包或者网络拥塞导致该实时体征数据包传输延迟了,则用0填充该实时体征数据包。比如第一数据队列有两个第一实时体征数据包,第二数据队列有0个第二实时体征数据包,则获取第一数据队列中第一最早采集时间作为当前获取数据时间,获取第一数据队列中当前获取数据时间对应的第一实时体征数据包并存入待展示缓冲区,第二数据队列中当前获取数据时间对应的第二实时体征数据包为空,则待展示缓冲区中第二实时体征数据包用0填充。本实施例中,待展示数据包括一个第一实时体征数据包和一个第二实时体征数据包。

步骤S220,展示终端根据预设展示时间展示待展示数据,包括以下步骤:

步骤S401,当第一数据队列和第二数据队列中的最长队列的队列长度大于10时,设置待展示数据的展示时间为第一预设展示时间;当第一数据队列和第二数据队列中的最长队列的队列长度大于5且小于等于10时,设置待展示数据的展示时间为第二预设展示时间;当第一数据队列和第二数据队列中的最长队列的队列长度大于2且小于等于5时,设置待展示数据的展示时间为第三预设展示时间;当第一数据队列和第二数据队列中的最长队列的队列长度大于0且小于等于2时,设置待展示数据的展示时间为第四预设展示时间。

具体地,第一预设展示时间为100ms,第二预设展示时间为250ms,第三预设展示时间为500ms,第四预设展示时间为(950ms-50ms*最长队列的队列长度)。当第一数据队列和第二数据队列中的最长队列的队列长度大于10时,设置待展示数据的展示时间为100ms;当第一数据队列和第二数据队列中的最长队列的队列长度大于5且小于等于10时,设置待展示数据的展示时间为250ms;当第一数据队列和第二数据队列中的最长队列的队列长度大于2且小于等于5时,设置待展示数据的展示时间为500ms;当第一数据队列和第二数据队列中的最长队列的队列长度大于0且小于等于2时,设置待展示数据的展示时间为(950ms-50ms*最长队列的队列长度)。

步骤S402,计算待展示数据中实时体征数据的数据点数目,获取该数据点数目的数据点绘制曲线并进行展示。

具体地,待展示数据包括一个第一实时体征数据包和一个第二实时体征数据包。第一实时体征数据包包括第一功能设备ID,第一采集时间,血氧饱和度的数据值,血氧饱和度的采集频率,血氧饱和度的数据点数目,血氧饱和度的采集通道ID;脉率数据的数据值,脉率数据的采集频率,脉率数据的数据点数目,脉率数据的采集通道ID。第二实时体征数据包包括第二功能设备ID,第二采集时间,胸腹运动数据的数据值,胸腹运动数据的采集频率,胸腹运动数据的数据点数目,胸腹运动数据的采集通道ID;鼻气流数据的数据值,鼻气流数据的采集频率,鼻气流数据的数据点数目,鼻气流数据的采集通道ID;打鼾数据的数据值,打鼾数据的采集频率,打鼾数据的数据点数目,打鼾数据的采集通道ID;睡眠体位数据的数据值,睡眠体位数据的采集频率,睡眠体位数据的数据点数目,睡眠体位数据的采集通道ID。血氧饱和度用血氧饱和度曲线进行展示,脉率数据用脉率曲线进行展示,胸腹运动数据用胸腹运动曲线进行展示,鼻气流数据用鼻气流曲线进行展示,打鼾数据用打鼾曲线进行展示,睡眠体位数据用睡眠体位曲线进行展示。每条曲线设置有ID,曲线的ID与该曲线展示的实时体征数据的采集通道ID一致。通过实时体征数据包中实时体征数据的采集通道ID确定该实时体征数据对应的展示曲线,取实时体征数据的数据值绘制曲线。曲线的横坐标为实时体征数据的采集时间,纵坐标为实时体征数据的数据值。计算每条曲线每次展示的对应实时体征数据的数据点数目,计算公式为:(实时体征数据的数据点数目)乘以(最近一次获取数据点时间与当前获取时间的时间间隔)除以(预设展示时间),获取该数据点数目的数据点,将数据点对应的数据值绘制在对应的曲线上。以预设展示时间为100ms,胸腹运动曲线为例,胸腹运动数据的数据点数目为50,胸腹运动数据的数据值为12,首次获取时,最近一次获取数据点时间为0,当前获取时间为第50ms,则首次获取胸腹运动数据的数据点数目为25,将该25个数据点绘制在胸腹运动曲线上,数据点的值为12,第二次获取时,当前获取时间为第90ms,则第二次获取的胸腹运动数据的数据点数目为20,将该20个数据点绘制在胸腹运动曲线上,数据点的值为12。按照计算公式计算每次获取数据点数目,直至将50个数据点全部展示完。

步骤S403,每50ms判断初始时间与当前获取时间的时间间隔是否超过预设展示时间,若是,执行步骤S404,获取待展示数据的剩余待展示数据点,绘制曲线并展示;否则,执行步骤S402。

具体地,初始时间为首次获取待展示数据中的实时体征数据的数据点的时间,每隔50ms判断一次初始时间与当前获取时间的时间间隔是否超过预设展示时间,如果超过,则获取待展示数据剩余待展示数据点,绘制曲线并展示,否则,执行步骤S402。因为待展示数据包中,每个实时体征数据的数据点数目可能相同,也可能不相同,对于每个实时体征数据的数据点数目不同的情况,每个实时体征数据的展示进度也不一致,所以需要每50ms判断一次初始时间与当前获取时间的时间间隔是否超过预设展示时间,如果超过,则获取待展示数据剩余待展示数据点,绘制曲线并展示,否则,执行步骤S402。

当待展示区的待展示数据展示完后,重复执行步骤S219至S220,具体如上所述,在此不再赘述。

当收到结束实时体征数据展示的指令时,结束以上流程步骤。

本实施例中,根据数据队列的队列长度动态的调整数据队列中实时体征数据包的展示速度,即,数据队列的队列长度越大,数据队列中实时体征数据包的展示速度越快,队列长度大则加快速度获取并展示以尽快赶上最新的数据,且速度逐步平缓下来,既满足实时的要求,同时也不会因丢失数据而导致曲线不完整。

如图4所示,在一个实施例中,一种体征数据实时展示系统,包括展示终端400和服务器300,其中展示终端400包括接收模块401、插入模块402、获取模块403和展示模块404,其中:

服务器300用于将实时体征数据包发送给展示终端400。

接收模块401用于接收服务器发送的实时体征数据包,实时体征数据包包括第一实时体征数据包和第二实时体征数据包。

插入模块402用于将第一实时体征数据包插入第一数据队列,将第二实时体征数据包插入第二数据队列。

获取模块403用于当满足预设条件时,获取第一数据队列中第一最早采集时间对应的第一实时体征数据包并存入待展示缓冲区,以及获取第二数据队列中第二最早采集时间对应的第二实时体征数据包并存入待展示缓冲区,得到待展示数据。

展示模块404用于根据预设展示时间展示待展示数据。

如图5所示,在一个实施例中,一种体征数据实时展示系统,包括功能设备100、数据处理终端200、服务器300和展示终端400,其中,展示终端400包括监听模块411、判断模块412、接收模块401、插入模块402、获取模块403和展示模块404,其中:

功能设备100用于将采集的实时体征数据包按照预设时间间隔发送给数据处理终端,功能设备包括第一功能设备和第二功能设备,第一功能设备采集第一实时体征数据包,第二功能设备采集第二实时体征数据包。

数据处理终端200用于将接收到的实时体征数据包通过UDP协议发送给所述服务器。

服务器300用于将接收到的实时体征数据包通过WebSocket协议发送给展示终端。

监听模块411用于监听云服务器发送的实时体征数据包。

判断模块412用于判断实时体征数据包的采集时间是否晚于现有最早采集时间。

接收模块401用于当实时体征数据包的采集时间晚于现有最早采集时间时,接收实时体征数据包;当实时体征数据包的采集时间早于现有最早采集时间时,丢弃实时体征数据包。

插入模块402用于将第一实时体征数据包插入第一数据队列,将第二实时体征数据包插入第二数据队列,包括:将第一功能设备采集的第一实时体征数据包插入第一数据队列,将第二功能设备采集的第二实时体征数据包插入第二数据队列。

获取模块403用于当满足预设条件时,获取第一数据队列中第一最早采集时间对应的第一实时体征数据包并存入待展示缓冲区,以及获取第二数据队列中第二最早采集时间对应的第二实时体征数据包并存入待展示缓冲区,得到待展示数据。

展示模块404用于根据预设展示时间展示待展示数据。

如图6所示,为一个实施例中计算机设备的内部结构示意图,该计算机设备通过系统连接总线连接处理器、非易失性存储介质、内存储器和网络接口。其中,该计算机设备的非易失性存储介质可存储操作系统和计算机可读指令,该计算机可读指令被执行时,可使得处理器执行一种体征数据实时展示方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种体征数据实时展示方法。计算机设备的网络接口用于进行网络通信。该计算机设备可以是服务器,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。计算机设备也可以是终端,终端的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。触摸层和显示屏构成触控屏。

在一个实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储设备,上述程序(指令)可由计算机设备的处理器执行以完成本发明各个实施例所示的体征数据实时展示方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1