System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 健康数据的上传方法、计算机可读存储介质及电子设备技术_技高网

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

技术编号:40125762 阅读:7 留言:0更新日期:2024-01-23 21:21
本发明专利技术公开了一种健康数据的上传方法、计算机可读存储介质及电子设备,涉及数据处理技术领域,所述上传方法包括以下步骤:S10,获取用户的步数数据及对应的第一时间戳,并储存至第一文本文件中;S20,获取用户的心率数据及对应的第二时间戳,并储存至第二文本文件中;S30,获取用户的血氧数据及对应的第三时间戳,储存至第三文本文件中;S40,自定义一个数据容器,将获取的数据填装于数据容器中;S50,将第一时间戳、第二时间戳以及第三时间戳转换成UTC时间格式并将数据容器转换成json字符串写入第四文本文件中;S60,将时区和第四文本文件同时上传到云服务器。本发明专利技术的有益效果:既保证了健康数据的上传效率,又保证了健康数据上传的准确性。

【技术实现步骤摘要】

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


技术介绍

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、处理器,用于执行可执行指令;

<本文档来自技高网...

【技术保护点】

1.一种健康数据的上传方法,其特征在于,所述上传方法包括以下步骤:

2.根据权利要求1所述的健康数据的上传方法,其特征在于,步骤S10具体包括:

3.根据权利要求2所述的健康数据的上传方法,其特征在于,步骤S20具体包括:

4.根据权利要求3所述的健康数据的上传方法,其特征在于,步骤S30具体包括:

5.根据权利要求4所述的健康数据的上传方法,其特征在于,步骤S101中,通过加速度传感器采集加速度数据;步骤S201中,通过光电传感器采集心率数据;步骤S301中,通过红光传感器和红外光传感器获取血氧数据。

6.根据权利要5所述的健康数据的上传方法,其特征在于,步骤S40中,所述数据容器为自定义的HealthDate类,用以填装从step.txt、heartRate.txt以及Oxygen.txt中分别读取到的步数数据、第一时间戳、心率数据、第二时间戳、血氧数据以及第三时间戳;其中,读取方式为使用JAVA提供的FileReader类读取。

7.根据权利要求6所述的一种健康数据的上传方法,其特征在于,步骤S50中,所述UTC时间格式的转换方式具体为:首先,使用AndroidSDK提供的Date类,将时间戳赋值给Date类的构造函数,然后,使用Date类的getYear()、getMonth()、getDate()、getHours()、getMinutes()以及getSeconds()方法获取转换后的年月日时分秒以及时区数据;最后,使用Android原生的SDK的SimpleDateFormat类,创建一个SimpleDateFormat对象,将要转换的时间格式作为参数传入,并将获取到的年月日时分秒以及时区数据作为参数,调用SimpleDateFormat对象的format()方法进行时间格式化。

8.根据权利要求7所述的健康数据的上传方法,其特征在于,步骤S50中,所述将数据容器转换成json字符串写入第四文本文件中的具体步骤包括:首先,将HealthData对象通过Android系统的Gson工具类的方法toJson()将HealthData对象转化为json字符串;然后,创建第四文本文件HealthData.txt;最后,使用JAVA提供的FileOutputStream类将json字符串写入HealthData.txt中。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行实现权利要求1-8任一项所述的健康数据的上传方法。

10.一种电子设备,其特征在于,包括:

...

【技术特征摘要】

1.一种健康数据的上传方法,其特征在于,所述上传方法包括以下步骤:

2.根据权利要求1所述的健康数据的上传方法,其特征在于,步骤s10具体包括:

3.根据权利要求2所述的健康数据的上传方法,其特征在于,步骤s20具体包括:

4.根据权利要求3所述的健康数据的上传方法,其特征在于,步骤s30具体包括:

5.根据权利要求4所述的健康数据的上传方法,其特征在于,步骤s101中,通过加速度传感器采集加速度数据;步骤s201中,通过光电传感器采集心率数据;步骤s301中,通过红光传感器和红外光传感器获取血氧数据。

6.根据权利要5所述的健康数据的上传方法,其特征在于,步骤s40中,所述数据容器为自定义的healthdate类,用以填装从step.txt、heartrate.txt以及oxygen.txt中分别读取到的步数数据、第一时间戳、心率数据、第二时间戳、血氧数据以及第三时间戳;其中,读取方式为使用java提供的filereader类读取。

7.根据权利要求6所述的一种健康数据的上传方法,其特征在于,步骤s50中,所述utc时间格式的转换方式具体为:首先,使用androidsdk提供的date类,将时间戳赋值给date类的构造函数,然后,使用...

【专利技术属性】
技术研发人员:黄文海江滔邵国光陈悦清
申请(专利权)人:深圳优美创新科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1