起接收方状态复位,丢弃之前接收并重组的分片,并回滚传输事务,传输重新开始,直到成功结束进入(6)或者失败进入(7)。
[0044]本发明在不可传输大量数据及不可靠的蓝牙4.0链路规范上通过应用层协议扩充,较好的实现了蓝牙4.0缺失的上述两个特性。本发明中提供的方法其优势体现在:
(1)在物联网领域中需要用到大量数据传输的场景中可以得到广泛运用,例如传输文件、特定码流、大量用户产生的内容的数据;
(2)提高了蓝牙链接发起的灵活度,即无需进行长连接按应用层定制的数据进行传输,而是可以在主机有传输请求时进行一次性数据传输,或者在主机有数据获取需求时进行一次性数据传输;
(3)由于链接并不是实时存在,因此更加节省物联网嵌入式设备上的功耗;
(4)具备断点续传能力,能够解决因主机、外设之间因为蓝牙信号较弱或者超出连接范围引起的断开异常,在逻辑层面上确保无数据丢失;
(5)分片校验和重传的机制非常适合一些需要精确传导数据的场合。
[0045]如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。
【主权项】
1.一种基于蓝牙4.0的设备间大数据通信方法,在物理链路层采用蓝牙4.0协议建立蓝牙主机与蓝牙外设之间的连接,其特征在于,在传输层采用全双工通信方式,并对传输的数据进行分片重组,其分片重组的数据结构为: 分片数据为20字节的数据帧,其结构从前向后依次为:2字节代表有效载荷,I字节代表分片编号,16字节代表有效载荷数据,I字节代表校验值; 分片确认数据为20字节的数据帧,其结构从前向后依次为:I字节代表数据类型,I字节代表响应类型,18字节代表响应数据。2.根据权利要求1所述的一种基于蓝牙4.0的设备间大数据通信方法,其特征在于,所述全双工通信方式具体按如下步骤进行: 51、蓝牙主机将要发送的用户层数据进行长度计算,并提交至传输层;传输层采用16字节分片原则对数据进行分片,并将分片的数据通过下行通道传输给等待接收的蓝牙外设; 52、蓝牙外设接收分片数据,校验分片数据中的有效载荷和分片编号,如果正确,则将接收的分片数据进行重组保存并发送响应类型为“成功”的分片确认数据;如果不正确,则发送响应类型为“失败”的分片确认数据; 53、蓝牙主机通过传输层的上行通道接收蓝牙外设发送的分片确认数据,通过分片确认数据中携带的数据类型判定接收的本条信息为分片确认数据,再通过分片确认数据的响应类型判定数据传送是否成功,如果成功,则蓝牙主机根据分片确认数据中携带的响应数据继续发送下一片分片; 54、重复执行步骤SI和S2,直到蓝牙外设接收到的有效载荷等于应用数据长度,视为应用数据传输成功,蓝牙外设发送“接收成功”的分片确认数据至蓝牙主机,蓝牙主机结束传输。3.根据权利要求2所述的一种基于蓝牙4.0的设备间大数据通信方法,其特征在于,在步骤SI中,蓝牙主机发送数据之后,进入阻塞等待状态,如果在超时时间内没有接收到来自蓝牙外设的分片确认数据,认为分片传输失败,进而重传当前分片,直到正确收到来自蓝牙外设的分片确认数据或者超出重传次数上限。4.根据权利要求3所述的一种基于蓝牙4.0的设备间大数据通信方法,其特征在于,如果超出重传次数上限或者物理链路层的连接断开,则视为传输事务未完成,可启用断点续传,具体为: Xl、确认物理链路层的连接是否正常,如果不正常,重新建立物理链路层的连接; X2、确定上一次发送成功的分片数据的分片编号N,开始发送分片编号为N+1的分片数据,直到蓝牙外设接收到的有效载荷等于应用数据长度,视为应用数据传输成功,蓝牙外设发送“接收成功”的分片确认数据至蓝牙主机,蓝牙主机结束传输。5.根据权利要求3所述的一种基于蓝牙4.0的设备间大数据通信方法,其特征在于,如果超出重传次数上限或者物理链路层的连接断开,则视为传输事务未完成,可重新启动进行数据传送,具体为: Cl、确认物理链路层的连接是否正常,如果不正常,重新建立物理链路层的连接; C2、蓝牙主机发送分片编号为O的分片数据,蓝牙外设接收到此分片数据后,采用状态复位机制,丢弃之前接收并重组的分片数据,并回滚传输事务,传输重新开始。6.根据权利要求2所述的一种基于蓝牙4.0的设备间大数据通信方法,其特征在于,步骤S2中,如果蓝牙外设校验分片编号时,发现分片编号不是期望的编号,则发送响应类型为“失败”的分片确认数据,同时,响应数据为期望的分片编号; 步骤S3中,蓝牙主机接到此分片确认数据后,根据响应数据表示的期望分片编号开始发送分片数据。7.根据权利要求2所述的一种基于蓝牙4.0的设备间大数据通信方法,其特征在于,步骤S2中,如果蓝牙外设接收处理时发生异常,则直接丢弃本次分片,并发送响应类型为“失败”的分片确认数据,同时,响应数据为当前的分片编号; 步骤S3中,蓝牙主机接到此分片确认数据后,根据响应数据表示的期望分片编号开始发送分片数据。8.根据权利要求1所述的一种基于蓝牙4.0的设备间大数据通信方法,其特征在于,所述物理链路层采用蓝牙4.0协议建立蓝牙主机与蓝牙外设之间的连接的方法具体分为如下两种类型: 主机请求发送:主机在扫描到外设MAC或者名称之后,如果判定为目标设备,则发起连接,连接过程中根据指定的Characteristic UUID,建立至少两条逻辑信道,并使用GATTCharacteristic fcite和notify方式进行全双工通信,外设根据主机主动传输的数据进行帧ACK和应用层ACK,直到数据传输结束,主机断开连接; 主机请求接收:主机在扫描到外设MAC或者名称之后,如果判定为目标设备,则发起连接,连接过程中根据指定的Characteristic UUID,建立至少两条逻辑信道,并进行全双工通信,夕卜设不主动以notify方式向主机发送数据,主机采用GATT Characteristic Read方式获取数据,直到数据传输结束,主机断开连接。
【专利摘要】本发明公开一种基于蓝牙4.0的设备间大数据通信方法,在物理链路层采用蓝牙4.0协议建立蓝牙主机与蓝牙外设之间的连接,在传输层采用全双工通信方式,并对传输的数据进行分片重组,其分片重组的数据结构为:分片数据为20字节的数据帧,其结构从前向后依次为:2字节代表有效载荷,1字节代表分片编号,16字节代表有效载荷数据,1字节代表校验值;分片确认数据为20字节的数据帧,其结构从前向后依次为:1字节代表数据类型,1字节代表响应类型,18字节代表响应数据。本发明传输数据量可以突破20字节每帧的限制,并具有传输确认机制,有效避免传输过程中的帧丢弃及帧错误。
【IPC分类】H04L29/08, H04W4/00, H04W76/02, H04W52/02
【公开号】CN105657646
【申请号】
【发明人】周昊, 张香江, 徐文杰
【申请人】南京悦控智能科技有限公司
【公开日】2016年6月8日
【申请日】2016年1月29日