本发明专利技术公开了一种从手环到APP再到服务器的数据同步方法,按报文格式组装报文数据,并触发notify事件;APP端接收并解析报文头Header,按当前报文内容字节数长度接收对应的字节数,放入缓存中,并整体校验解析,回写接收成功的内容字节数;手环端接收到回写数据与上一次报文发送内容字节数比较,校验通过,删除存储器数据,发起下一次数据同步;根据APP本地记录的上传时间以戳获和上传最大ID值取上传数据,执行上传;连接服务器上传接口,解析上传数据内容,处理成功返回成功标识;通过采用该数据同步方法,实现手环、APP与服务器的数据同步过程中数据的正确和完整性,有效解决在下载和上传过程中数据的丢失和不完整性。
【技术实现步骤摘要】
本专利技术涉及一种佩戴在用户手腕上的手环,具体涉及该手环与服务器的数据同步方法,更具体的涉及一种从手环到APP再到服务器的数据同步方法,属于可穿戴设备
技术介绍
App运行在IPhone或者IPad等移动设备上,通过蓝牙4.0的Bluetooth lowenergy(BLE)协议与手环进行连接和通讯,手环采集到的体征数据分两步同步到服务器,第一步手环采集到的体征原始数据在报文机制保证数据完整性下通过蓝牙BLE上传到APP,第二步APP在时间戳和最大ID值机制保证数据完整性下通过网络与服务器进行数据同步。Android对BLE协议的支持,在连续大数据量读取会有延迟响应,数据丢包,数据包乱序现象,目前苹果公司手环因为对ble协议支持较早,协议支持较成熟稳定,其他公司手环在连续大数据量读取会有较明显延迟响应,数据丢包,数据包乱序现象。因此,有必要提出一种技术方案,能够有效解决读取数据时延迟响应,数据丢包,数据包乱序现象等问题,方便用户使用,成为了一种新的技术需求。
技术实现思路
针对现有技术存在的上述不足,本专利技术提出了一种从手环到APP再到服务器的数据同步方法,APP内置对应特征项的notify事件监听并保持数据同步;按报文格式组装报文数据,并触发notify事件;APP端接收并解析报文头Header,按当前报文内容字节数长度接收对应的字节数,放入缓存中,并整体校验解析,回写接收成功的内容字节数;手环端接收到回写数据与上一次报文发送内容字节数比较,校验通过,删除存储器数据,发起下一次数据同步;根据APP本地记录的上传时间戳和最大ID值获取上传数据,执行上传;连接服务器上传接口,解析上传数据内容,处理成功返回成功标识;通过采用该数据同步方法,实现手环、APP与服务器的数据同步过程中数据的正确和完整性,有效解决在下载和上传过程中数据的丢失和不完整性。本专利技术解决其技术问题,所采用的技术方案是:一种从手环到APP再到服务器的数据同步方法,所述方法包括以下步骤:步骤100:APP内置对应特征项的notify事件监听并保持数据同步,事件监听周期为APP连接上手环到与手环断开;步骤200:手环端查询存储器是否存在数据,若存在数据,按报文格式组装报文数据,并触发notify事件;步骤300:APP端接收并解析报文头Header,计算出当前报文内容字节数和剩余字节数和报文内容CRC16值,按当前报文内容字节数长度接收对应的字节数,放入缓存中,并整体字节CRC16校验,若校验通过,回写接收成功的内容字节数;步骤400:手环端接收到回写字节数,与上次发送字节数对比,若成功删除存储器对应数据字节数,并发起下一次数据同步;步骤500:根据APP本地记录的上传时间戳和上传记录最大ID值获取上传数据,具体根据时间戳标识是否有更新以及最大ID值标识数据上传点执行上传;连接服务器上传接口,解析上传数据内容,在每条数据记录中注入当前毫秒值operateTime字段和insert ignore into数据表,处理成功返回成功标识;APP解析接口成功返回数据内容,更新APP本地数据上传时间戳和上传记录最大ID值;步骤600:账户登录APP成功后,根据APP本地记录服务器下载时间戳和服务器下载数据最大ID值申请下载,服务器根据时间戳和最大ID值获取数据库记录,处理成功,返回数据和数据中最大时间戳和数据中最大ID值;APP解析接口成功返回数据内容,注入-1的operateTime字段用来区别为下载数据,更新APP本地服务器下载时间戳和下载数据最大ID值。进一步地,所述APP与手环实时连接时,且APP已经触发手环数据上传功能,手环采集到的数据会存储到存储器中并实时通过BLE协议与APP同步数据;若APP不在实时连接时,手环采集到的数据会存储到存储器中,在下次APP连接状态并触发同步数据流程时开始同步数据。进一步地,所述APP接收到体征数据,判断APP与服务器网络接口是否通畅,若通畅则上传到服务器;若APP不能实时连接到服务器,在网络恢复情况下执行上传,APP启动时运行定时周期的检测服务,按时间戳和最大ID值机制检测未上传数据进行上传。进一步地,建立手环上传报文数据传输机制,机制内容包括:APP与手环连接并触发同步流程时,硬件手环端查询存储器中数据,通过数据报文格式组装,组装过程中需要保证每个体征数据单元完整,以20个字节为数据单元字节流形式,NOTIFY到APP端,对数据报文头Header解析,APP端接收到完整报文数据流,若解析成功回写成功接收内容字节数,手环端会从存储器中删除数据报文中体征数据;若还有数据,再发起一次新数据的数据报文,以此循环。进一步地,所述报文头Header格式定义:当前报文数据内容长度字段为2字节十六进制表达,报文数据内容长度保持在256个字节以内,剩余数据总长度字段为4字节十六进制表达,当前报文数据内容CRC16值2字节十六进制表达,所述报文数据内容不包括header自身的长度;当对数据报文头Header处理异常:APP端解析失败或者传输过程异常,APP端直接发起再次同步命令,并丢弃数据,手环不做删除操作并发起新一次数据报文交互。进一步地,在报文头Header扩展两字节为当前所有内容字节crcl6校验值,在一次报文接收完成后,APP端对所有内容字节校验crcl6值,app校验crcl6值保证数据完整性,APP回写两字的成功接收内容字节数,手环端保证删除与上次发送内容相同字节数。进一步地,建立APP与服务器数据时间戳和最大ID值上传下载同步机制,所述机制内容包括:当APP需要操作大量本地时间连续的离线数据,需要保证与服务器数据完整一致,当有新手环采集数据产生时,需要及时上传服务器,保证数据一致。进一步地,所述机制出现异常:上传时发生异常接口不能成功返回时,APP端开启定时周期性服务,启动上传数据遗留检测执行上传;上传接口在接口返回环节出现异常,APP没有成功记录上传时间戳和最大ID值时,会再次执行上传,服务端会收到重复数据,再使用INSERT IGNORE消除重复数据。进一步地,所述机制完善扩展:APP登录服务器时,服务器返回是否与上一次登录的APP为同一个APP,不相同时APP才执行下载操作。 进一步地,所述APP本地记录表与服务端数据表设有自增ID,APP端在上传成功返回时,更新上传时间戳和本地最大数据库表记录自增唯一 ID值,以上传时间戳和上传数据表最大ID值为过滤条件,执行下一次上传,上传接口返回成功后,更新本地上传时间戳和上传记录最大ID值;APP端在下载数据时,初始默认下载时间戳参数为一个月前时间点,最大ID值为0,下载接口成功返回服务端数据表记录自增唯一最大ID值,APP端更新本地记录下载时间戳和最大ID值,并在下一次下载数据时,回传此两个参数,服务端接口以此参数条件过滤。更进一步地,所述蓝牙芯片采用nRF51822芯片。更进一步地,BLE Profile配置:对应特征项具备NOTIFY能力;BLE协议能力:NOTIFY通讯每个数据包大小限制为20 byte。更进一步地,对应特征项使能开关配置:0x01为启动,0x00为停止。更进一步地,所述APP表示APP运行在支持BLE功能的移动本文档来自技高网...
【技术保护点】
一种从手环到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值。...
【技术特征摘要】
【专利技术属性】
技术研发人员:余昌玖,庄育和,陈志,
申请(专利权)人:成都艾克尔特医疗科技有限公司,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。