一种从手环到APP再到服务器的数据同步方法[发明专利]

(10)申请公布号
(43)申请公布日              (21)申请号 201510706077.5
(22)申请日 2015.10.27
H04L 29/08(2006.01)
H04L 1/16(2006.01)
H04L 1/00(2006.01)
(71)申请人成都艾克尔特医疗科技有限公司
地址610041 四川省成都市高新区交子大道
333号中海国际中心E 座802-803
(72)发明人
余昌玖  庄育和  陈志
(54)发明名称
一种从手环到APP 再到服务器的数据同步方
(57)摘要
本发明公开了一种从手环到APP 再到服务
器的数据同步方法,按报文格式组装报文数据,
并触发notify 事件;APP 端接收并解析报文头
Header,按当前报文内容字节数长度接收对应的
字节数,放入缓存中,并整体校验解析,回写接收
成功的内容字节数;手环端接收到回写数据与上
一次报文发送内容字节数比较,校验通过,删除存
储器数据,发起下一次数据同步;根据APP 本地记
录的上传时间以戳获和上传最大ID 值取上传数
据,执行上传;连接服务器上传接口,解析上传数
据内容,处理成功返回成功标识;通过采用该数
据同步方法,实现手环、APP 与服务器的数据同步
过程中数据的正确和完整性,有效解决在下载和
上传过程中数据的丢失和不完整性。(51)Int.Cl.
(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页  说明书6页  附图1页CN 105407146 A 2016.03.16
C N 105407146
A
1.一种从手环到APP再到服务器的数据同步方法,其特征在于,所述方法包括以下步骤:
步骤100:APP内置对应特征项的notify事件监听并保持数据同步,事件监听周期为APP连接上手环到与手环断开;
步骤200:手环端查询存储器是否存在数据,若存在数据,按报文格式组装报文数据,并触发notify事件;
步骤300:APP端接收并解析报文头Header,计算出当前报文内容字节数和剩余字节数和报文内容CRC16值,按当前报文内容字节数长度接收对应的字节数,放入缓存中,并整体字节CRC16校验,若校验通过,回写接收成功的内容字节数;
步骤400:手环端接收到回写字节数,与上次发送字节数对比,若成功删除存储器对应数据字节数,并发起下一次数据同步;
步骤500:根据APP本地记录的上传时间戳和上传记录最大ID值获取上传数据,执行上传;连接服务器
上传接口,解析上传数据内容,在每条数据记录中注入当前毫秒值operateTime字段和insert ignore into数据表,处理成功返回成功标识;APP解析接口成功返回数据内容,更新APP本地数据上传时间戳和上传记录最大ID值;
步骤600:账户登录APP成功后,根据APP本地记录服务器下载时间戳和服务器下载数据最大ID值申请下载,服务器根据时间戳和最大ID值获取数据库记录,处理成功,返回数据和数据中最大时间戳和数据中最大ID值;APP解析接口成功返回数据内容,注入-1的operateTime字段用来区别为下载数据,更新APP本地服务器下载时间戳和下载数据最大ID值。
2.根据权利要求1所述的一种从手环到APP再到服务器的数据同步方法,其特征在于,所述APP与手环实时连接时,且APP已经触发手环数据上传功能,手环采集到的数据会存储到存储器中并实时通过BLE协议与APP同步数据;若APP不在实时连接时,手环采集到的数据会存储到存储器中,在下次APP连接状态并触发同步数据流程时开始同步数据。
3.根据权利要求1所述的一种从手环到APP再到服务器的数据同步方法,其特征在于,所述APP接收到体征数据,判断APP与服务器网络接口是否通畅,若通畅则上传到服务器;若APP不能实时连接到服务器,在网络恢复情况下执行上传,APP启动时运行定时周期的检测服务,按时间戳和最大ID值机制检测未上传数据进行上传。
4.根据权利要求1所述的一种从手环到APP再到服务器的数据同步方法,其特征在于,建立手环上传报文数据传输机制,机制内容包括:APP与手环连接并触发同步流程时,硬件手环端查询存储器中数据,通过数据报文格式组装,组装过程中需要保证每个体征数据单元完整,以20个字节为数据单元字节流形式,NOTIFY到APP端,对数据报文头Header解析,APP端接收到完整报文数据流,若解析成功回写成功接收内容字节数,手环端会从存储器中删除数据报文中体征数据;若还有数据,再发起一次新数据的数据报文,以此循环。
5.根据权利要求4所述的一种从手环到APP再到服务器的数据同步方法,其特征在于,所述报文头Header格式定义:当前报文数据内容长度字段为2字节十六进制表达,报文数据内容长度保持在256个字节以内,剩余数据总长度字段为4字节十六进制表达,当前报文数据内容CRC16值2字节十六进制表达,所述报文数据内容不包括header自身的长度;当对数据报文头Header处理异常:APP端解析失败或者传输过程异常,APP端直接发起再次同
步命令,并丢弃数据,手环不做删除操作并发起新一次数据报文交互。
6.根据权利要求4或5所述的一种从手环到APP再到服务器的数据同步方法,其特征在于,在报文头Header扩展两字节为当前所有内容字节crc16校验值,在一次报文接收完成后,APP端对所有内容字节校验crc16值,app校验crc16值保证数据完整性,APP回写两字的成功接收内容字节数,手环端保证删除与上次发送内容相同字节数。
7.根据权利要求1所述的一种从手环到APP再到服务器的数据同步方法,其特征在于,建立APP与服务器数据时间戳和最大ID值上传下载同步机制,所述机制内容包括:当APP 需要操作大量本地时间连续的离线数据,需要保证与服务器数据完整一致,当有新手环采集数据产生时,需要及时上传服务器,保证数据一致。
8.根据权利要求7所述的一种从手环到APP再到服务器的数据同步方法,其特征在于,所述机制出现异常:上传时发生异常接口不能成功返回时,APP端开启定时周期性服务,启动上传数据遗留检测执行上传;上传接口在接口返回环节出现异常,APP没有成功记录上传时间戳和最大ID值时,会再次执行上传,服务端会收到重复数据,再使用INSERT IGNORE 消除重复数据。
9.根据权利要求7或8所述的一种从手环到APP再到服务器的数据同步方法,其特征在于,所述机制完善扩展:APP登录服务器时,服务器返回是否与上一次登录的APP为同一个APP,不相同时APP才执行下载操作。
10.根据权利要求1所述的一种从手环到APP再到服务器的数据同步方法,其特征在于,所述APP本地记录表与服务端数据表设有自增ID,APP端在上传成功返回时,更新上传时间戳和本地最大数据库表记录自增唯一ID值,以上传时间戳和上传数据表最大ID值为过滤条件,执行下一次上传,上传接口返回成功后,更新本地上传时间戳和上传记录最大ID 值;APP端在下载数据时,初始默认下载时间戳参
数为一个月前时间点,最大ID值为0,下载接口成功返回服务端数据表记录自增唯一最大ID值,APP端更新本地记录下载时间戳和最大ID值,并在下一次下载数据时,回传此两个参数,服务端接口以此参数条件过滤。
一种从手环到APP再到服务器的数据同步方法
技术领域
[0001] 本发明涉及一种佩戴在用户手腕上的手环,具体涉及该手环与服务器的数据同步方法,更具体的涉及一种从手环到APP再到服务器的数据同步方法,属于可穿戴设备技术领域。
背景技术
[0002] App运行在IPhone或者IPad等移动设备上,通过蓝牙4.0的Bluetooth low energy(BLE)协议与手环进行连接和通讯,手环采集到的体征数据分两步同步到服务器,第一步手环采集到的体征原始数据在报文机制保证数据完整性下通过蓝牙BLE上传到APP,第二步APP在时间戳和最大ID值机制保证数据完整性下通过网络与服务器进行数据同步。[0003] Android对BLE协议的支持,在连续大数据量读取会有延迟响应,数据丢包,数据包乱序现象,目前苹果公司手环因为对ble协议支持较早,协议支持较成熟稳定,其他公司手环在连续大数据量读取会有较明显延迟响应,数据丢包,数据包乱序现象。
[0004] 因此,有必要提出一种技术方案,能够有效解决读取数据时延迟响应,数据丢包,数据包乱序现象等问题,方便用户使用,成为了一种新的技术需求。
发明内容
[0005] 针对现有技术存在的上述不足,本发明提出了一种从手环到APP再到服务器的数据同步方法,APP内置对应特征项的notify事件监听并保持数据同步;按报文格式组装报文数据,并触发notify事件;APP端接收并解析报文头Header,按当前报文内容字节数长度接收对应的字节数,放入缓存中,并整体校验解析,回写接收成功的内容字节数;手环端接收到回写数据与上一次报文发送内容字节数比较,校验通过,删除存储器数据,发起下一次数据同步;根据APP本地记录的上传时间戳和最大ID值获取上传数据,执行上传;连接服务器上传接口,解析上传数据内容,处理成功返回成功标识;通过采用该数据同步方法,实现手环、APP与服务器的数据同步过程中数据的正确和完整性,有效解决在下载和上传过程中数据的丢失和不完整性。
[0006] 本发明解决其技术问题,所采用的技术方案是:一种从手环到APP再到服务器的数据同步方法,所述方法包括以下步骤:
[0007] 步骤100:APP内置对应特征项的notify事件监听并保持数据同步,事件监听周期为APP连接上手环到与手环断开;
[0008] 步骤200:手环端查询存储器是否存在数据,若存在数据,按报文格式组装报文数据,并触发notify事件;
[0009] 步骤300:APP端接收并解析报文头Header,计算出当前报文内容字节数和剩余字节数和报文内容CRC16值,按当前报文内容字节数长度接收对应的字节数,放入缓存中,并整体字节CRC16校验,若校验通过,回写接收成功的内容字节数;
[0010] 步骤400:手环端接收到回写字节数,与上次发送字节数对比,若成功删除存储器
对应数据字节数,并发起下一次数据同步;
[0011] 步骤500:根据APP本地记录的上传时间戳和上传记录最大ID值获取上传数据,具体根据时间戳标识是否有更新以及最大ID值标识数据上传点执行上传;连接服务器上传接口,解析上传数据内容,在每条数据记录中注入当前毫秒值operateTime字段和insert ignore into数据表,处理成功返回成功标识;APP解析接口成功返回数据内容,更新APP本地数据上传时间戳和上传记录最大ID值;
[0012] 步骤600:账户登录APP成功后,根据APP本地记录服务器下载时间戳和服务器下载数据最大ID值申请下载,服务器根据时间戳和最大ID值获取数据库记录,处理成功,返回数据和数据中最大时间戳和数据中最大ID值;APP解析接口成功返回数据内容,注入-1的operateTime字段用来区别为下载数据,更新APP本地服务器下载时间戳和下载数据最大ID值。
[0013] 进一步地,所述APP与手环实时连接时,且APP已经触发手环数据上传功能,手环采集到的数据会存储到存储器中并实时通过BLE协议与APP同步数据;若APP不在实时连接时,手环采集到的数据会存储到存储器中,在下次APP连接状态并触发同步数据流程时开始同步数据。
[0014] 进一步地,所述APP接收到体征数据,判断APP与服务器网络接口是否通畅,若通畅则上传到服务器;若APP不能实时连接到服务器,在网络恢复情况下执行上传,APP启动时运行定时周期的检测服务,按时间戳和最大ID值机制检测未上传数据进行上传。[0015] 进一步地,建立手环上传报文数据传输机制,机制内容包括:APP与手环连接并触发同步流程时,硬件手环端查询存储器中数据,通过数据报文格式组装,组装过程中需要保证每个体征数据单元完整,以20个字节为数据单元字节流形式,NOTIFY到APP端,对数据报文头Header解析,APP端接收到完整报文数据流,若解析成功回写成功接收内容字节数,手环端会从存储器中删除数据报文中体征数据;若还有数据,再发起一次新数据的数据报文,以此循环。
[0016] 进一步地,所述报文头Header格式定义:当前报文数据内容长度字段为2字节十六进制表达,报文数据内容长度保持在256个字节以内,剩余数据总长度字段为4字节十六进制表达,当前报文数据内容CRC16值2字节十六进制表达,所述报文数据内容不包括header自身的长度;当对数据报文头Header处理异常:APP端解析失败或者传输过程异常,APP端直接发起再次同步命令,并丢弃数据,手环不做删除操作并发起新一次数据报文交互。
[0017] 进一步地,在报文头Header扩展两字节为当前所有内容字节crc16校验值,在一次报文接收完成后,APP端对所有内容字节校验crc16值,app校验crc16值保证数据完整性,APP回写两字的成功接收内容字节数,手环端保证删除与上次发送内容相同字节数。[0018] 进一步地,建立APP与服务器数据时间戳和最大ID值上传下载同步机制,所述机制内容包括:当APP需要操作大量本地时间连续的离线数据,需要保证与服务器数据完整一致,当有新手环采集数据产生时,需要及时上传服务器,保证数据一致。
[0019] 进一步地,所述机制出现异常:上传时发生异常接口不能成功返回时,APP端开启定时周期性服务,启动上传数据遗留检测执行上传;上传接口在接口返回环节出现异常,APP没有成功记录上传时间戳和最大ID值时,会再次执行上传,服务端会收到重复数据,再

本文发布于:2024-09-22 03:32:18,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/399149.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   上传   手环   报文   内容   服务器   字节数   时间
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议