健康数据的上传方法、计算机可读存储介质及电子设备与流程

文档序号:36796975发布日期:2024-01-23 12:20阅读:13来源:国知局
健康数据的上传方法、计算机可读存储介质及电子设备与流程

本发明涉及数据处理,更具体的是,涉及一种健康数据的上传方法、计算机可读存储介质及电子设备。


背景技术:

1、在信息技术和经济高速发展的今天,移动互联网的发展遍布国内各个行业,过去手表只是单纯用作查看时间,现在都进化到能实时获取用户的步数、距离和卡路、心率、血氧、体温和睡眠等健康数据了。智能手表只是负责收集用户健康数据,如果用户要直观查看每日的健康数据的详细,还需要去配套的app上查看。因此手表要把收集到的用户数据直接上传到云端服务器系统存储,app再通过互联网请求获取服务器系统上的健康数据。

2、智能手表在实时收集用户的健康数据的时候,手表一边生成健康数据,同时也会获取系统当前的时间,比如手表在当前时间为“2023-08-14 10:49:00”的时候收集了一个心率为80的数据,然后手表在当天结束的时间点,也就是“23:59:59”的时候会把今天内每一分钟收集的心率数据和对应的时间字符串上传到服务器那边去,云服务系统会把手表上传的数据存储起来后。当用户打开app查看今天的心率数据,app在通过网络获取服务器系统上存储的心率数据。

3、但是当中也会存在一个问题,就是国家时区和上传的数据量大的问题,一般手表收集用户24小时的健康数据,上述的方案手表单单收集一天24小时内每一分钟的心率值,也就是一天24*60=1440个数据,而且这还只是心率而已,如果手表还包含24小时内步数、距离、卡路里、血氧、睡眠和体温等数据,手表要把这些数据全部通过json的数据字符串一次性直接通过网络上传给服务器不太现实,只能分几次网络请求依序把数据上传给服务器。由于上传到服务器的数据的时间是按中国时区东八区的时间来获取的,如果用户带着手表出国去美国旅行,由于美国时区是西五区,比中国慢12个小时,这样就会造成上传重复时间的健康数据。


技术实现思路

1、为了克服现有技术的不足,本发明提供一种健康数据的上传方法、计算机可读存储介质及电子设备,解决了当前因健康数据量大而要分几次上传服务器以及因时区发生变化而导致健康数据上传重复的问题,从而既保证了健康数据的上传效率,又保证了健康数据上传的准确性。

2、本发明解决其技术问题所采用的技术方案是:一种健康数据的上传方法,其改进之处在于,所述上传方法包括以下步骤:

3、s10,获取用户的步数数据及对应的第一时间戳,并将步数数据及对应的第一时间戳储存至第一文本文件中;

4、s20,获取用户的心率数据及对应的第二时间戳,并将心率数据及对应的第二时间戳储存至第二文本文件中;

5、s30,获取用户的血氧数据及对应的第三时间戳,并将血氧数据及对应的第三时间戳储存至第三文本文件中;

6、s40,自定义一个数据容器,并将从第一文本文件中读取的步数数据及第一时间戳、从第二文本文件中读取的心率数据及第二时间戳和从第三文本文件中读取的血氧数据及第三时间戳填装于数据容器中;

7、s50,将第一时间戳、第二时间戳以及第三时间戳转换成utc时间格式并将数据容器转换成json字符串写入第四文本文件中;

8、s60,通过http请求以把时区设置作为网络的请求头的参数,并通过网络把时区和第四文本文件同时上传到云服务器。

9、进一步的,步骤s10具体包括:

10、s101,数据采集:定期采集用户的加速度数据;

11、s102,信号处理:将采集到的加速度数据进行滤波处理;

12、s103,峰谷检测:对经过滤波后的信号进行峰谷检测并计算步数数据,其中,每检测到一个峰和一个谷视为每一步运动状态;

13、s104,调用android系统原生sdk的system.currenttimemillis()函数获取步数数据对应的第一时间戳;

14、s105,创建第一文本文件step.txt,并将步数数据及第一时间戳以字符串的格式写入step.txt中。

15、进一步的,步骤s20具体包括:

16、s201,采集用户的心率数据;

17、s202,调用android系统原生sdk的system.currenttimemillis()函数获取心率数据对应的第二时间戳;

18、s203,创建第二文本文件heartrate.txt,并将心率数据及第二时间戳以字符串的格式写入heartrate.txt中。

19、进一步的,步骤s30具体包括:

20、s301,获取用户的血氧数据;

21、s302,调用android系统原生sdk的system.currenttimemillis()函数获取血氧数据对应的第三时间戳;

22、s303,创建第三文本文件oxygen.txt,并将血氧数据及第三时间戳以字符串的格式写入oxygen.txt中。

23、进一步的,步骤s101中,通过加速度传感器采集加速度数据;步骤s201中,通过光电传感器采集心率数据;步骤s301中,通过红光传感器和红外光传感器获取血氧数据。

24、进一步的,步骤s40中,所述数据容器为自定义的healthdate类,用以填装从step.txt、heartrate.txt以及oxygen.txt中分别读取到的步数数据、第一时间戳、心率数据、第二时间戳、血氧数据以及第三时间戳;其中,读取方式为使用java提供的filereader类读取。

25、进一步的,步骤s50中,所述utc时间格式的转换方式具体为:首先,使用androidsdk提供的date类,将时间戳赋值给date类的构造函数,然后,使用date类的getyear()、getmonth()、getdate()、gethours()、getminutes()以及getseconds()方法获取转换后的年月日时分秒以及时区数据;最后,使用android原生的sdk的simpledateformat类,创建一个simpledateformat对象,将要转换的时间格式作为参数传入,并将获取到的年月日时分秒以及时区数据作为参数,调用simpledateformat对象的format()方法进行时间格式化。

26、进一步的,步骤s50中,所述将数据容器转换成json字符串写入第四文本文件中的具体步骤包括:首先,将healthdata对象通过android系统的gson工具类的方法tojson()将healthdata对象转化为json字符串;然后,创建第四文本文件healthdata.txt;最后,使用java提供的fileoutputstream类将json字符串写入healthdata.txt中。

27、一种计算机可读存储介质,其上存储有计算机程序,其改进之处在于,所述计算机程序被处理器执行实现上述的健康数据的上传方法。

28、一种电子设备,其改进之处在于,包括:

29、处理器,用于执行可执行指令;

30、存储器,用于存储处理器所执行的计算机程序;

31、其中,所述处理器配置为经由执行所述可执行指令来执行上述的健康数据的上传方法。

32、本发明的有益效果是:通过以时区信息为请求头,将存储有json字符串形式的健康数据的文本文件与时区信息同时一次性上传至云服务器,当时区发生变化时,utc时间只需将时区信息修改为当前时区,健康数据对应的时间信息就会转换为当前时区的时间信息,从而既保证了健康数据的上传效率,又保证了健康数据上传的准确性。

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