数据发送方法、接收方法及数据发送装置、接收装置与流程

文档序号:12917263阅读:182来源:国知局
数据发送方法、接收方法及数据发送装置、接收装置与流程

本发明涉及网络通信技术领域,特别是涉及一种数据发送方法、接收方法及数据发送装置、接收装置。



背景技术:

ble(bluetoothlowenergy,蓝牙低能耗)传输技术是一种低成本、短距离、可互操作的无线技术,ble技术最大的特点是拥有超低功耗,因此能极大地降低移动设备在数据传输时的功耗。

现有ble技术在传输大数据时,会对大数据进行数据切割并分为若干小数据包进行传输。但是,这种数据传输方法的传输时间比较长,当环境干扰或者信号不稳定时,发送数据容易出现丢包现象,导致在接收数据时难以确定何时数据接收完成,因而无法保证接收数据的完整性。



技术实现要素:

本发明实施例的目的在于提供一种数据发送方法、接收方法及数据发送装置、接收装置,以实现保证ble发送和接收数据的完整性。具体技术方案如下:

一种数据发送方法,应用于通过ble协议进行数据传输的发送端,包括:

获取数据并确定所述数据的长度信息;

将所述数据拆分为多个按顺序排列的数据包,所述多个按顺序排列的数据包大小相等;

在所述多个按顺序排列的数据包的第一个数据包中添加第一标识,所述第一标识用以标明所述数据的长度信息;

在所述多个按顺序排列的数据包的各数据包中添加第二标识,所述第二标识用以标明所述数据包是否为所述多个按顺序排列的数据包中的最后一个数据包;

依次发送所述经标识处理后的所述多个按顺序排列的数据包,以使接收端接收所述多个按顺序排列的数据包。

优选地,所述在所述多个按顺序排列的数据包的第一个数据包中添加第一标识,具体包括:

在所述多个按顺序排列的数据包的第一个数据包的包头中添加第一标识;

所述在所述多个按顺序排列的数据包的各数据包中添加第二标识,具体包括:

在所述多个按顺序排列的数据包的各数据包的包头中添加第二标识。

一种数据接收方法,应用于通过ble协议进行数据传输的接收端,包括:

接收经标识处理后的多个按顺序排列的数据包;

通过所述多个按顺序排列的数据包中的第一标识,确定所述多个按顺序排列的数据包所含有的总数据长度为第一长度信息;

通过所述多个按顺序排列的数据包中的第二标识,依次判断所述多个按顺序排列的数据包中的各数据包是否为最后一个数据包;

当判定为最后一个数据包时,将所述多个按顺序排列的数据包组合为数据;

对比组合后的数据长度和所述第一长度信息,根据对比结果判断组合后的数据是否完整。

优选地,所述将所述多个按顺序排列的数据包组合为数据,具体包括:

去除所述多个按顺序排列的数据包中的第一标识和第二标识,将去除标识后的数据包组合为数据。

优选地,所述对比组合后的数据长度和所述第一长度信息,根据对比结果判断组合后的数据是否完整,具体包括:

计算组合后的数据的长度为第二长度信息;

比对所述第一长度信息和第二长度信息,如果所述第一长度信息和所述第二长度信息一致,判定接收的数据完整;

如果所述第一长度信息与所述第二长度信息不一致,判定接收的数据不完整。

一种数据发送装置,所述数据发送装置通过ble协议进行数据传输,包括:

获取模块,用于获取数据并确定所述数据的长度信息;

拆分模块,用于将所述数据拆分为多个按顺序排列的数据包,所述多个按顺序排列的数据包大小相等;

第一添加模块,在所述多个按顺序排列的数据包的第一个数据包中添加第一标识,所述第一标识用以标明所述数据的长度信息;

第二添加模块,用于在所述多个按顺序排列的数据包的各数据包中添加第二标识,所述第二标识用以标明所述数据包是否为所述多个按顺序排列的数据包中的最后一个数据包;

发送模块,用于依次发送所述经标识处理后的所述多个按顺序排列的数据包,以使接收端接收所述多个按顺序排列的数据包。

优选地,所述第一添加模块,具体用于:

在所述多个按顺序排列的数据包的第一个数据包的包头中添加第一标识;

所述第二添加模块,具体用于:

在所述多个按顺序排列的数据包的各数据包的包头中添加第二标识。

一种数据接收装置,所述数据接收装置通过ble协议进行数据传输,包括:

接收模块,用于接收经标识处理后的多个按顺序排列的数据包;

确定模块,用于通过所述多个按顺序排列的数据包中的第一标识,确定所述多个按顺序排列的数据包所含有的总数据长度为第一长度信息;

判断模块,用于通过所述多个按顺序排列的数据包中的第二标识,依次判断所述多个按顺序排列的数据包中的各数据包是否为最后一个数据包;

组合模块,用于当判定为最后一个数据包时,将所述多个按顺序排列的数据包组合为数据;

对比模块,用于对比组合后的数据长度和所述第一长度信息,根据对比结果判断组合后的数据是否完整。

优选地,所述组合模块,具体用于:

去除所述多个按顺序排列的数据包中的第一标识和第二标识,将去除标识后的数据包组合为数据。

优选地,所述对比模块,具体用于:

计算组合后的数据的长度为第二长度信息;

比对所述第一长度信息和第二长度信息,如果所述第一长度信息和所述第二长度信息一致,判定接收的数据完整;

如果所述第一长度信息与所述第二长度信息不一致,判定接收的数据不完整。

本发明实施例提供的数据发送方法、接收方法及数据发送装置、接收装置,通过在在多个按顺序排列的数据包的第一个数据包中添加用以标明数据的长度信息的第一标识,以及在多个按顺序排列的数据包的各数据包中添加用以标明是否为最后一个数据包的第二标识,可以保证通过ble发送和接收数据时的完整性。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的一种数据发送方法的一种流程示意图;

图2为本发明实施例的一种数据发送方法的另一种流程示意图;

图3为本发明实施例的一种数据接收方法的流程示意图;

图4为本发明实施例的数据发送装置的一种结构示意图;

图5为本发明实施例的数据接收装置的一种结构示意图;

图6为本发明实施例的数据收发装置的一种结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

方法实施例一

本发明实施例提供的一种数据发送方法的一种具体实施例,应用于通过ble议进行数据传输的发送端,例如移动终端、智能手表、智能手环,参考图1,图1为本发明实施例的一种数据发送方法的一种流程示意图,包括:

s101、获取数据并确定数据的长度信息。

在本发明一种可行的实施例中,获取的数据可以但不限于包含:文字、图片、视频、音频、文件、数字等。发送端获取数据后,会确认数据的长度,其中数据的长度信息是指数据的数据量大小。以获取到的一张图片为例,假设图片实际数据量大小为300kb,即说明该图片数据的长度信息为300kb。

可选地,确定数据的长度信息,可以通过数据本身的属性信息进行确认,具体地可以为,获取的某段音频,其属性信息中显示的大小为4mb,那么,系统就可以直接读取该属性信息,并确定该音频的长度信息为4mb。

可选地,还可以通过直接计算数据的大小来确认数据的长度信息。例如,获取的某段文字,计算每个文字所占的比特数,然后计算该段文字的总比特数,即可确定该段文字的长度信息。

s102、将数据拆分为多个按顺序排列的数据包。

确定数据的长度信息后,即可将数据拆分为多个数据包,以方便数据通过ble协议进行传输。ble协议中规定数据包为顺序发送、顺序接收,但是在传输过程中,由于信号不稳定、信号干扰等因素,可能出现丢包现象,造成接收端无法判断数据何时接收完成、以及无法确定数据的准确性。

s103、在多个按顺序排列的数据包的第一个数据包中添加第一标识,其中,第一标识用以标明数据的长度信息。

本发明实施例中,第一标识起到标明数据的长度信息的作用,可选地,将第一标识添加到多个按顺序排列的数据包的第一个数据包中,这样做的目的是为了当接收端接收数据包时,能够第一时间获知待接收数据的数据总的大小。其中,第一标识具体地可以为:一个2字节的字符,该字符中含有数据的长度信息。当然,也可以使用多个字节的字符作为第一标识,但是,由于每个数据包的大小固定后,随着第一标识所占的字节增多,相同的数据拆分的数据包数量就会增多。因此,优选地,本发明实施例在保证标明数据长度信息的前提下,尽量减少第一标识所占的空间。另外,通常情况下,第一标识添加至数据包的包头结构中。

s104、在多个按顺序排列的数据包的各数据包中添加第二标识,第二标识用以标明数据包是否为多个按顺序排列的数据包中的最后一个数据包。

本发明实施例中,第二标识起到标明数据包是否为多个按顺序排列的数据包中的最后一个数据包的作用,第二标识可以为一组具有特征信息的字符串。例如具体地可以为:将0x02作为非最后一个数据包的标识;将0x82作为最后一个数据包的标识。上述示例并非对本发明实施例的第二标识样式的限定,只要能满足在第二标识所含的特征信息中区分出是否为最后一个数据包,都属于本发明实施例的保护范围。另外,通常情况下,将第二标识添加至多个按顺序排列的数据包的各数据包的包头结构中。

s105、依次发送经标识处理后的多个按顺序排列的数据包,以使接收端接收多个按顺序排列的数据包。

根据ble传输协议,经标识处理后的多个按顺序排列的数据包会依次按顺序发送至接收端。

本发明方法实施例一,通过在多个按顺序排列的数据包的第一个数据包中添加用以标明数据的长度信息的第一标识,以及在多个按顺序排列的数据包的各数据包中添加用以标明是否为最后一个数据包的第二标识,能够保证通过ble发送数据时的完整性。

方法实施例二

本发明实施例提供的一种数据发送方法的另一种具体实施例,应用于通过ble协议进行数据传输的发送端,例如移动终端、智能手表、智能手环,参考图2,图2为本发明实施例的一种数据发送方法的另一种流程示意图,包括:

s201、获取数据并确定数据的长度信息。

s202、将数据包拆分为多个按顺序排列的具有相同的大小的数据包。

s203、在多个按顺序排列的具有相同的大小的数据包的第一个数据包中添加第一标识,其中,第一标识用以标明数据的长度信息。

s204、在多个按顺序排列的具有相同的大小的数据包的各数据包中添加第二标识,第二标识用以标明数据包是否为多个按顺序排列的数据包中的最后一个数据包。

s205、依次发送经标识处理后的具有相同的多个按顺序排列的数据包,以使接收端接收多个按顺序排列的数据包。

将数据包拆分为多个按顺序排列的具有相同的大小的数据包,有助于提高拆分数据包的效率。根据ble协议每次传输长度的限制,例如具体地可以为:拆分每个数据包为150字节。

本发明方法实施例二,通过将数据包拆分为多个按顺序排列的具有相同的大小的数据包,因为每个数据包都规定了相同的大小,因此系统不需要再根据不同的数据内容拆分为不同大小的数据包,有助于提高拆分数据包的效率,

方法实施例三

本发明实施例提供的一种数据接收方法的一种具体实施例,应用于通过ble协议进行数据传输的接收端,例如移动终端、智能手表、智能手环,参考图3,图3为本发明实施例的一种数据接收方法的流程示意图,包括:

s301、接收经标识处理后的多个按顺序排列的数据包。

根据ble传输协议,接收端按顺序依次接收由发送端发送的经标识处理后的多个按顺序排列的数据包。

s302、通过多个按顺序排列的数据包中的第一标识,确定多个按顺序排列的数据包所含有的总数据长度为第一长度信息。

由于第一标识起到标明数据的长度信息的作用,因此,接收端通过读取接收的数据包中第一标识,便可以读取第一标识所标明的整个数据的长度信息。

可选地,接收端通过读取接收的第一个数据包中的第一标识,读取第一标识所标明的整个数据的长度信息,记为第一长度信息。这样,接收端便可以在接收到第一个数据包时,便已经能够确定出将要接收的数据的大小。

s303、通过多个按顺序排列的数据包中的第二标识,依次判断多个按顺序排列的数据包中的各数据包是否为最后一个数据包。

接收端依次接收数据包,并读取每个数据包中的第二标识。例如,将0x02作为非最后一个数据包的标识,将0x82作为最后一个数据包的标识时,接收端读取到某个数据包的第二标识中的0x02这一信息时,因为0x02表示非最后一个数据包的标识,接收端就能够知晓数据还没接收完成,继续接收数据包;当接收端读取到最后一个数据包的第二标识中的0x82这一信息时,因为0x82表示最后一个数据包的标识,接收端就能够知晓数据已经接收完成。因此,接收端就能够判断出何时数据已经接收完成。在实际应用中体现为,不会出现传输虽然已经中断,但是接收端还显示正在接收的情况。

s304、当判定为最后一个数据包时,将多个按顺序排列的数据包组合为数据。

数据包接收完毕后,接收端会将接收到的所有数据包重新组合成数据以供使用。

可选地,接收端将第一个数据包中的第一标识去除,同时将每个数据包中的第二标识去除,得到纯数据。

或者,可选地,接收端直接忽略第一标识和第二标识,直接提取每个数据包中的内容并重新组合成数据。

s305、对比组合后的数据长度和第一长度信息,根据对比结果判断组合后的数据是否完整。

接收端将接收的数据包重新组合为数据后,计算组合后的数据的长度,并通过与第一长度信息进行对比,从而判断接收数据的完整性。

将组合后的数据的长度与第一长度信息进行对比,是为了判断接收数据的完整性。可选地,接收端计算组合后的数据的长度,记为第二长度信息。将之前得到的第一长度信息和第二长度信息比较,就能判断出接收数据是否完整。如果第一长度信息和第二长度信息一致,说明接收的数据不完整;如果不一致,说明接收的数据不完整。

本发明方法实施例三,接收端通过接收的数据包中的第一标识,确定接收的总数据长度信息,通过接收的数据包中的第二标识,判断各数据包是否为最后一个数据包,能够保证接收端判断出何时数据接收完成;通过将组合后的数据的长度与第一长度信息进行对比,从而判断接收的数据与发送的数据长度是否一致,保证接收数据的完整性。

装置实施例一

本发明实施例提供的数据发送装置的一种具体实施例,与图1所示流程相对应,参考图4,图4为本发明实施例的数据发送装置的一种结构示意图,包括:

获取模块401,用于获取数据并确定数据的长度信息。

拆分模块402,用于将数据拆分为多个按顺序排列的数据包。

第一添加模块403,在多个按顺序排列的数据包的第一个数据包中添加第一标识,第一标识用以标明数据的长度信息。

第二添加模块404,用于在多个按顺序排列的数据包的各数据包中添加第二标识,第二标识用以标明数据包是否为多个按顺序排列的数据包中的最后一个数据包。

发送模块405,用于依次发送经标识处理后的多个按顺序排列的数据包,以使接收端接收多个按顺序排列的数据包。

其中,拆分模块402,进一步用于:将数据拆分为多个按顺序排列的具有相同的大小的数据包。

第一添加模块403,具体用于:在多个按顺序排列的数据包的第一个数据包的包头中添加第一标识。

第二添加模块404,具体用于:在多个按顺序排列的数据包的各数据包的包头中添加第二标识。

本发明装置实施例一提供的数据发送装置用于实现本发明方法实施例一提供的数据发送方法的发送,其实现原理和技术效果类似,此处不再赘述。

装置实施例二

本发明实施例提供的数据接收装置的一种具体实施例,与图3所示流程相对应,参考图5,图5为本发明实施例的数据接收装置的结构示意图,包括:

接收模块501,用于接收经标识处理后的多个按顺序排列的数据包;

确定模块502,用于通过多个按顺序排列的数据包中的第一标识,确定多个按顺序排列的数据包所含有的总数据长度为第一长度信息;

判断模块503,用于通过多个按顺序排列的数据包中的第二标识,依次判断多个按顺序排列的数据包中的各数据包是否为最后一个数据包;

组合模块504,用于当判定为最后一个数据包时,将多个按顺序排列的数据包组合为数据;

对比模块505,用于对比组合后的数据长度和第一长度信息,根据对比结果判断组合后的数据是否完整。

其中,组合模块504,具体用于:去除多个按顺序排列的数据包中的第一标识和第二标识,将去除标识后的数据包组合为数据。

对比模块505,具体用于:

计算组合后的数据的长度为第二长度信息;

比对第一长度信息和第二长度信息,如果第一长度信息和第二长度信息一致,判定接收的数据完整;

如果第一长度信息与第二长度信息不一致,判定接收的数据不完整。

本发明装置实施例二提供的数据接收装置用于实现本发明方法实施例二提供的数据接收方法的接收,其实现原理和技术效果类似,此处不再赘述。

装置实施例三

本发明实施例提供的数据收发装置的一种具体实施例,参考图6,图6为本发明实施例的数据收发装置的结构示意图,包括发送端和接收端,数据收发装置具体包括:

获取模块401,用于获取数据并确定数据的长度信息。

拆分模块402,用于将数据拆分为多个按顺序排列的数据包。

第一添加模块403,在多个按顺序排列的数据包的第一个数据包中添加第一标识,第一标识用以标明数据的长度信息。

第二添加模块404,用于在多个按顺序排列的数据包的各数据包中添加第二标识,第二标识用以标明数据包是否为多个按顺序排列的数据包中的最后一个数据包。

发送模块405,用于依次发送经标识处理后的多个按顺序排列的数据包,以使接收端接收多个按顺序排列的数据包。

接收模块501,用于接收经标识处理后的多个按顺序排列的数据包;

确定模块502,用于通过多个按顺序排列的数据包中的第一标识,确定多个按顺序排列的数据包所含有的总数据长度为第一长度信息;

判断模块503,用于通过多个按顺序排列的数据包中的第二标识,依次判断多个按顺序排列的数据包中的各数据包是否为最后一个数据包;

组合模块504,用于当判定为最后一个数据包时,将多个按顺序排列的数据包组合为数据;

对比模块505,用于对比组合后的数据长度和第一长度信息,根据对比结果判断组合后的数据是否完整。

本发明装置实施例三提供的数据收发装置,用于通过ble协议传输数据,可以保证通过ble发送和接收数据时的完整性。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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