数据传输方法、装置、终端及存储介质与流程

文档序号:27379623发布日期:2021-11-15 19:31阅读:106来源:国知局
数据传输方法、装置、终端及存储介质与流程

1.本技术实施例涉及通信技术领域,特别涉及一种数据传输方法、装置、终端及存储介质。


背景技术:

2.目前针对于蓝牙的编解码的处理方式是编码端将短数据量的帧增加帧头和帧尾校验位进行编码后,进行一次传输,然后解码端对每次接收到的短数据量的数据帧进行解码校验,基于每次的校验结果向编码端发送对应的应答帧,编码端基于每次的应答帧确定各个数据帧是否重传。
3.相关技术中,每次传输数据帧之间均需要间隔一个固定周期,每个数据帧发送后会等待发送周期结束,上述的编解码方式会造成等待时间的浪费,从而造成了蓝牙传输的吞吐量受限,进而使得蓝牙数据传输带宽较小,速度较慢,数据传输的效率较低。


技术实现要素:

4.本技术实施例提供了一种数据传输方法、装置、终端及存储介质。所述技术方案如下:
5.一方面,本技术实施例提供了一种数据传输方法,所述方法由数据发送设备执行,所述方法包括:
6.通过蓝牙方式向数据接收设备发送聚合数据帧;所述聚合数据帧中包括至少两个目标数据段;
7.接收由所述数据接收设备通过蓝牙方式反馈的目标应答帧;所述目标应答帧用于反馈所述至少两个目标数据段各自对应的传输情况;
8.基于所述目标应答帧,通过蓝牙方式对所述传输情况为传输失败的所述目标数据段进行重传。
9.一方面,本技术实施例提供了一种数据传输方法,所述方法由数据接收设备执行,所述方法包括:
10.接收由数据发送设备通过蓝牙方式发送的聚合数据帧;所述聚合数据帧中包括至少两个目标数据段;
11.基于所述聚合数据帧,生成目标应答帧;所述目标应答帧用于反馈所述至少两个目标数据段各自对应的传输情况;
12.将所述目标应答帧通过蓝牙方式发送给所述数据发送设备;
13.响应于所述目标应答帧反馈存在传输失败的所述目标数据段,接收由所述数据发送设备通过蓝牙方式进行重传的所述目标数据段。
14.另一方面,本技术实施例提供了一种数据传输装置,所述装置用于数据发送设备中,所述装置包括:
15.数据发送模块,用于通过蓝牙方式向数据接收设备发送聚合数据帧;所述聚合数
据帧中包括至少两个目标数据段;
16.应答接收模块,用于接收由所述数据接收设备通过蓝牙方式反馈的目标应答帧;所述目标应答帧用于反馈所述至少两个目标数据段各自对应的传输情况;
17.数据重传模块,用于基于所述目标应答帧,通过蓝牙方式对所述传输情况为传输失败的所述目标数据段进行重传。
18.在一种可能的实现方式中,所述数据重传模块,包括:
19.信息获取子模块,用于获取所述目标应答帧对应的位图信息;所述位图信息中包括第一信息;所述第一信息用于指示对应的所述目标数据段的所述传输情况为传输失败;
20.数据重传子模块,用于基于所述位图信息,通过蓝牙方式向所述数据接收设备重新发送所述第一信息对应的所述目标数据段。
21.在一种可能的实现方式中,所述位图信息中还包括第二信息;所述第二信息用于指示对应的所述目标数据段的所述传输情况为传输成功。
22.在一种可能的实现方式中,所述装置还包括:
23.目标数据获取模块,用于通过蓝牙方式向数据接收设备发送聚合数据帧之前,获取在指定时间内到达的所述至少两个目标数据段;
24.聚合数据生成模块,用于将所述至少两个目标数据段进行聚合编码,生成所述聚合数据帧。
25.在一种可能的实现方式中,所述装置还包括:
26.集合获取模块,用于获取在指定时间内到达的所述至少两个目标数据段之前,获取待发送的数据集合;所述待发送的数据集合中包括所述数据发送设备在数据传输周期中缓存的,待通过蓝牙发送的数据;
27.第一数据确定模块,用于基于所述待发送的数据集合,确定至少两个第一数据段;所述第一数据段是所述待发送的数据集合中指定数据长度的数据段;
28.所述目标数据获取模块,包括:
29.目标获取子模块,用于向至少两个所述第一数据段中分别添加对应的校验标识,得到所述至少两个目标数据段。
30.在一种可能的实现方式中,所述校验标识中包括时间戳标识以及校验码标识;
31.所述目标获取子模块,包括:
32.第二数据获取单元,用于向至少两个所述第一数据段中添加各自对应的所述时间戳标识,得到至少两个所述第一数据段各自对应的第二数据段;
33.目标数据获取单元,用于向至少两个所述第二数据段中添加各自对应的校验码标识,得到至少两个所述第二数据段各自对应的所述至少两个目标数据段。
34.在一种可能的实现方式中,所述聚合数据生成模块,包括:
35.排序子模块,用于将所述至少两个目标数据段按照各自对应的所述时间戳标识进行排序,得到目标数据集合;
36.编码生成子模块,用于将所述目标数据集合进行编码,生成所述聚合数据帧。
37.另一方面,本技术实施例提供了一种数据传输装置,所述装置用于数据接收设备中,所述装置包括:
38.数据接收模块,用于接收由数据发送设备通过蓝牙方式发送的聚合数据帧;所述
聚合数据帧中包括至少两个目标数据段;
39.应答生成模块,用于基于所述聚合数据帧,生成目标应答帧;所述目标应答帧用于反馈所述至少两个目标数据段各自对应的传输情况;
40.应答发送模块,用于将所述目标应答帧通过蓝牙方式发送给所述数据发送设备;
41.重传接收模块,用于响应于所述目标应答帧反馈存在传输失败的所述目标数据段,接收由所述数据发送设备通过蓝牙方式进行重传的所述目标数据段。
42.在一种可能的实现方式中,所述应答生成模块,包括:
43.解码子模块,用于将所述聚合数据帧进行解码,获取所述聚合数据帧中的所述至少两个目标数据段以及各自对应的校验标识;
44.校验子模块,用于基于所述至少两个目标数据段各自对应的所述校验标识进行校验,得到所述至少两个目标数据段各自对应的校验结果;
45.应答生成子模块,用于基于所述校验结果,生成所述目标应答帧。
46.另一方面,本技术实施例提供了一种终端,所述终端包括处理器和存储器;所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的数据传输方法。
47.另一方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如上述方面所述的数据传输方法。
48.根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。终端的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该终端执行上述方面的各种可选实现方式中提供的数据传输方法。
49.本技术实施例提供的技术方案带来的有益效果至少包括:
50.本技术实施例中,数据发送设备通过蓝牙以聚合数据帧的方式组合多个目标数据段向数据接收设备进行发送,并且接收反馈的目标应答帧,从而确定聚合数据帧中的各个目标数据段对应的传输情况,并且实现将传输失败的目标数据段进行重发,使数据接收设备得到完整的数据,通过上述方式可以在一次数据传输时发送多个目标数据段,并且同时反馈各个目标数据段对应的传输情况,避免了每次传输单个数据段时由于传输周期造成的等待时间的浪费,从而提高了蓝牙传输的数据吞吐量,进而提高了蓝牙数据传输的效率。
附图说明
51.图1是本技术一个示例性实施例提供的数据传输方法的流程图;
52.图2是本技术另一个示例性实施例提供的数据传输方法的流程图;
53.图3是本技术一个示例性实施例提供的数据传输方法的流程图;
54.图4是图3所示实施例涉及的一种聚合数据帧生成示意图;
55.图5是图3所示实施例涉及的一种目标应答帧生成示意图;
56.图6是图3所示实施例涉及的一种蓝牙编解码方法框架图;
57.图7是本技术一个示例性实施例提供的数据传输装置的结构框图;
58.图8是本技术一个示例性实施例提供的数据传输装置的结构框图;
59.图9是本技术一个示例性实施例提供的计算机设备的结构框图。
具体实施方式
60.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
61.在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
62.在通信领域中,进行数据传输的方式可以是通过蓝牙建立数据发送端与数据接收端之间的物理连接,基于蓝牙的数据收发机制实现数据的传输。在相关技术中,通过蓝牙进行数据传输时对传输数据的编解码方案是在蓝牙的基带层进行编解码的,在编码时是通过增加帧头和帧尾校验位的方式,每次仅传输短数据量的数据帧,而后在数据接收端的蓝牙基带层对接收到的单个数据帧进行校验、判断该数据帧是否需要重传。通过这种方式进行蓝牙传输在时域上是以时隙作为周期,每个数据帧发送后会等待发送周期结束后,再进行下次发送。目前,通过上述的编解码方式会造成这部分等待时间的浪费,从而造成了蓝牙传输的吞吐量受限,传输数据时使用蓝牙的传输带宽较小,导致传输速度较慢。同时,由于上述的编解码方式对校验的处理是只在帧尾增加一次校验,整个帧中任何一位发生传输错误,那么整个数据帧都会进行重传。从而导致数据的传输效率较低,并且在干扰环境下传输的可靠性不足。
63.为了解决上述技术问题,本技术提供了一种数据传输方法,该方法应用于具有蓝牙功能的终端进行数据传输的过程中,进行数据收发的终端可以是智能蓝牙耳机、智能手机、平板电脑、电子书阅读器、个人便携式计算机、台式计算机等。本技术实施例提供的方法能够通过聚合数据帧的方式组合数据向接收端进行发送,在进行用户大数据发送/接收的应用场景下,可以节约每个短数据帧间的发送间隙时间,从而提升传输吞吐量,在占用的频谱资源不变的情况下提升了传输带宽。另外,基于接收端返回的目标应答帧确定聚合数据帧中传输失败的目标数据段,从而可以向接收端重新发送传输失败的目标数据段,这种逐段重传的机制,在用户电磁环境存在干扰的场景,可以避免传输过程中由于丢包引起的卡顿问题。使得蓝牙连接以及传输的可靠性得到了提升,提升了蓝牙数据传输的抗干扰能力。
64.图1示出了本技术一个示例性实施例提供的数据传输方法的流程图。其中,该数据传输方法可以由数据发送设备执行,例如,该数据发送设备可以是具有蓝牙功能的终端,该数据传输方法包括如下步骤:
65.步骤101,通过蓝牙方式向数据接收设备发送聚合数据帧;聚合数据帧中包括至少两个目标数据段。
66.其中,目标数据段可以是音频数据(advanced audio distribution profile,a2dp),文件数据(object push profile,opp)等。
67.在一种可能的实现方式中,目标数据段对应的数据是由指定应用程序收集的数据。
68.比如,目标数据段对应的数据可以是指定应用程序的后台收集到的用户数据。
69.在一种可能的实现方式中,数据发送设备通过射频链路以及天线将聚合数据帧发送给数据接收设备,由数据接收设备中的天线进行数据接收。
70.步骤102,接收由数据接收设备通过蓝牙方式反馈的目标应答帧;目标应答帧用于反馈至少两个目标数据段各自对应的传输情况。
71.在一种可能的实现方式中,传输情况是对应的目标数据段传输成功或者传输失败中的至少一种。
72.步骤103,基于目标应答帧,通过蓝牙方式对传输情况为传输失败的目标数据段进行重传。
73.在一种可能的实现方式中,当数据发送设备确定聚合数据帧中的各个目标数据段对应的传输情况时,将确定传输失败的聚合数据帧通过蓝牙方式重新发送给数据接收设备。
74.综上所述,本技术实施例所示的方案中,数据发送设备通过蓝牙以聚合数据帧的方式组合多个目标数据段向数据接收设备进行发送,并且接收反馈的目标应答帧,从而确定聚合数据帧中的各个目标数据段对应的传输情况,并且实现将传输失败的目标数据段进行重发,使数据接收设备得到完整的数据,通过上述方式可以在一次数据传输时发送多个目标数据段,并且同时反馈各个目标数据段对应的传输情况,避免了每次传输单个数据段时由于传输周期造成的等待时间的浪费,从而提高了蓝牙传输的数据吞吐量,进而提高了蓝牙数据传输的效率。
75.图2示出了本技术一个示例性实施例提供的数据传输方法的流程图。其中,该数据传输方法可以由数据接收设备执行,例如,该数据接收设备可以是具有蓝牙功能的终端,该数据传输方法包括如下步骤:
76.步骤201,接收由数据发送设备通过蓝牙方式发送的聚合数据帧;聚合数据帧中包括至少两个目标数据段。
77.在本技术实施例中,数据接收设备获取由数据发送设备蓝牙发送的聚合数据帧,聚合数据帧中包括至少两个目标数据段。
78.步骤202,基于聚合数据帧,生成目标应答帧;目标应答帧用于反馈至少两个目标数据段各自对应的传输情况。
79.在一种可能的实现方式中,数据接收设备对接收到的聚合数据帧进行解码校验,生成目标应答帧。
80.步骤203,将目标应答帧通过蓝牙方式发送给数据发送设备。
81.在本技术实施例中,数据接收设备通过射频链路以及天线将对聚合数据帧进行校验后生成的目标应答帧发送给数据发送设备,由数据发送设备的天线进行接收。
82.步骤204,响应于目标应答帧反馈存在传输失败的目标数据段,接收由数据发送设备通过蓝牙方式进行重传的目标数据段。
83.综上所述,本技术实施例所示的方案中,数据发送设备通过蓝牙以聚合数据帧的方式组合多个目标数据段向数据接收设备进行发送,并且接收反馈的目标应答帧,从而确定聚合数据帧中的各个目标数据段对应的传输情况,并且实现将传输失败的目标数据段进行重发,使数据接收设备得到完整的数据,通过上述方式可以在一次数据传输时发送多个目标数据段,并且同时反馈各个目标数据段对应的传输情况,避免了每次传输单个数据段
时由于传输周期造成的等待时间的浪费,从而提高了蓝牙传输的数据吞吐量,进而提高了蓝牙数据传输的效率。
84.图3示出了本技术一个示例性实施例提供的数据传输方法的流程图。其中,该数据传输方法可以由数据发送设备与数据接收设备交互执行,例如,该数据发送设备以及该数据接收设备可以是具有蓝牙功能的终端,该数据传输方法包括如下步骤:
85.步骤301,数据发送设备获取待发送的数据集合。
86.在本技术实施例中,在通过蓝牙进行数据传输的过程中,存在数据传输周期,即每间隔一个数据传输周期进行一次聚合数据帧的传输。
87.其中,待发送的数据集合中包括数据发送设备在数据传输周期中缓存的,待通过蓝牙发送的数据。
88.在一种可能的实现方式中,数据发送设备在向数据接收设备发送聚合数据帧后,在时域上间隔一个数据传输周期后,再次向数据接收设备发送聚合数据帧。
89.其中,在时域上的一个数据传输周期中可以获取在该段时间内接收到的需要通过蓝牙进行发送的数据。
90.示例性的,若数据传输周期为a,时域为0时开始进行蓝牙数据缓存,时域为a是第一次进行数据传输的时间节点,在该时间节点数据发送设备获取待发送的数据集合a为0~a这一时间段中接收到的需要进行蓝牙传输的数据,在时间节点a将待发送的数据集合a经过处理后发送给数据接收设备,同时,数据发送设备在时间节点a开始获取下一轮的待发送的数据集合b,待发送的数据集合b是a~2a这一时间段中接收到的需要进行蓝牙传输的数据,在时间节点2a将待发送的数据集合b经过处理后发送给数据接收设备,同样的,数据发送设备在时间节点2a开始获取接下来一轮的待发送的数据集合c,然后依次类推。
91.在一种可能的实现方式中,待发送的数据集合中包括获取的各个待发送的数据段。
92.其中,各个待发送的数据段各自对应的数据长度可以是各不相同的。
93.示例性的,在数据传输周期中缓存的需要通过蓝牙发送的数据包括数据段a、数据段b、数据段c以及数据段d,数据段a对应的数据长度为5bit,数据段b对应的数据长度为2bit,数据段c对应的数据长度为3bit,数据段d对应的数据长度为6bit,则获取的待发送的数据集合是[数据段a,数据段b,数据段c,数据段d],其中,各个数据段具有各自对应的数据长度。
[0094]
步骤302,数据发送设备基于待发送的数据集合,确定至少两个第一数据段。
[0095]
在本技术实施例中,数据发送设备通过将待发送的数据集合进行切分,确定至少两个第一数据段。
[0096]
其中,第一数据段可以是待发送的数据集合中指定数据长度的数据段。
[0097]
在一种可能的实现方式中,基于待发送的数据段的数量,对待发送的数据集合进行均分,确定至少两个第一数据段。
[0098]
示例性的,对待发送的数据集合[数据段a,数据段b,数据段c,数据段d]进行均分,由于数据段a对应的数据长度为5bit,数据段b对应的数据长度为2bit,数据段c对应的数据长度为3bit,数据段d对应的数据长度为6bit,待发送的数据集合中具有的数据段的数量为4,则将待发送的数据集合中总数据长度与待发送的数据段数量相除,确定待发送的数据集
合可以均分为4个第一数据段,每个第一数据段对应的数据长度为4bit。
[0099]
在另一种可能的实现方式中,预先设置有固定数据长度,将待发送的数据集合切分为固定数据长度的各个第一数据段。
[0100]
示例性的,若预先设置的固定数据长度为2bit,则将待发送的数据集合[数据段a,数据段b,数据段c,数据段d]进行切分,由于数据段a对应的数据长度为5bit,数据段b对应的数据长度为2bit,数据段c对应的数据长度为3bit,数据段d对应的数据长度为6bit,所以可以将待发送的数据切分为数据长度均为2bit的8个第一数据段。
[0101]
在另一种可能的实现方式中,将待发送的数据集合均分为预设固定数量的第一数据段。
[0102]
示例性的,若预先设置的第一数据段的固定数量为4,则将待发送的数据集合[数据段a,数据段b,数据段c,数据段d]进行切分,由于数据段a对应的数据长度为5bit,数据段b对应的数据长度为2bit,数据段c对应的数据长度为3bit,数据段d对应的数据长度为6bit,所以可以将待发送的数据切分为数据长度均为4bit的4个第一数据段。
[0103]
步骤303,数据发送设备向至少两个第一数据段中分别添加对应的校验标识,得到至少两个目标数据段。
[0104]
在本技术实施例中,数据发送设备将切分得到的至少两个第一数据段进行添加对应的校验标识的处理,获取在指定时间内到达的至少两个目标数据段。指定时间可以是数据传输周期,也可以是预先设置的固定时长。
[0105]
在一种可能的实现方式中,校验标识中包括时间戳标识以及校验码标识。
[0106]
其中,数据发送设备向至少两个第一数据段中添加各自对应的时间戳标识,得到至少两个第一数据段各自对应的第二数据段;然后,向至少两个第二数据段中添加各自对应的校验码标识,得到至少两个第二数据段各自对应的至少两个目标数据段。
[0107]
其中,时间戳标识可以是第一数据段起始处对应的在数据传输周期中的时间戳,也可以是第一数据段进行缓存时在数据传输周期中的所处时间戳。时间戳标识用于指示各个第一数据段缓存成为待传输数据的先后顺序。
[0108]
在得到各个第一数据段各自对应的时间戳标识后,将各个第一数据段各自对应的时间戳标识添加到对应的第一数据段中,生成各个第一数据段分别添加时间戳标识后对应的第二数据段。
[0109]
在一种可能的实现方式中,校验码标识是添加到第二数据段中的冗余校验码。
[0110]
其中,冗余校验码可以是奇偶校验码、海明校验码以及循环冗余校验码等。冗余校验码可以添加在第二数据段的尾部生成目标数据段,可以用于对目标数据段进行检错。
[0111]
步骤304,数据发送设备将至少两个目标数据段进行聚合编码,生成聚合数据帧。
[0112]
在本技术实施例中,数据发送设备将各个目标数据段进行排列聚合,编码生成对应的聚合数据帧。
[0113]
在一种可能的实现方式中,将至少两个目标数据段按照各自对应的时间戳标识进行排序,得到目标数据集合;将目标数据集合进行编码,生成聚合数据帧。
[0114]
示例性的,图4是本技术实施例涉及的一种聚合数据帧生成示意图。该聚合数据帧生成过程可以在蓝牙的编码模块中进行,如图4所示,蓝牙的编码模块存在于数据发送设备的蓝牙模块中,当数据传入蓝牙的编码模块后,编码模块启动并且开始进行编码工作。蓝牙
的编码模块的工作流程包括如下步骤:
[0115]
s41,蓝牙的编码模块每次发送数据的数据传输周期为时间t,编码模块缓存在时间t内所有的待发送数据,形成一个聚合数据包,该聚合数据包可以是上述实施例中的待发送的数据集合。
[0116]
s42,蓝牙的编码模块将缓存的待发送数据等分为n份,可以计算得到每一份数据段对应的数据长度是b,编码模块基于每一份数据段对应的传入顺序在各自的后面插入对应的时间戳。
[0117]
s43,蓝牙的编码模块对插入时间戳后的每一份数据段的后面增加冗余校验码,该冗余校验码可以选择奇偶校验、海明校验以及循环冗余校验中的任意一个,然后完成对每一份数据段的编码。
[0118]
s44,蓝牙编码模块将编码完成的各份数据段按其中的时间戳顺序进行排序,形成聚合数据帧401。其中,生成的聚合数据帧401的结构如图4所示。
[0119]
s45,通过蓝牙的发送模块对生成的聚合数据帧401进行发射。
[0120]
步骤305,数据发送设备向数据接收设备发送聚合数据帧。
[0121]
在本技术实施例中,数据发送设备通过蓝牙基带中的蓝牙的发射模块向数据接收设备发送聚合数据帧。
[0122]
步骤306,数据接收设备接收由数据发送设备通过蓝牙方式发送的聚合数据帧。
[0123]
其中,聚合数据帧中可以包括至少两个目标数据段,目标数据段可以是在指定时间内待通过蓝牙进行传输的数据段。
[0124]
示例性的,数据发送设备待传输的用户数据由应用程序收集,通过对应的蓝牙剖面(profile)下发到蓝牙协议栈,并通过hci(host controller interface,主机控制接口层)发送给蓝牙基带与链路控制层。上述实施例可以在蓝牙基带与链路控制层进行编码和解码。
[0125]
在一种可能的实现方式中,数据发送设备可以通过待传输数据的种类或者来源,确定是否采用聚合数据帧以及聚合数据帧的容量大小。
[0126]
比如,当基于待传输数据的种类或者来源,可以确定该待传输数据的具有高吞吐量和高可靠性数据传输需求,可以确定使用聚合数据帧进行传输。根据该待传输数据对高吞吐量和高可靠性数据传输需求程度,可以确定聚合数据帧的容量大小,即需求程度较高的时候,确定聚合数据帧的容量大小越大,聚合数据帧中包含的数据量越大。
[0127]
步骤307,数据接收设备基于聚合数据帧,生成目标应答帧。
[0128]
在本技术实施例中,数据接收设备接收到聚合数据帧后,在蓝牙的解码模块中对聚合数据帧进行解码校验,生成对应的目标应答帧。
[0129]
其中,目标应答帧可以用于反馈至少两个目标数据段各自对应的传输情况。
[0130]
在一种可能的实现方式中,将聚合数据帧进行解码,获取聚合数据帧中的至少两个目标数据段以及各自对应的校验标识;基于至少两个目标数据段各自对应的校验标识进行校验,得到至少两个目标数据段各自对应的校验结果;基于校验结果,生成目标应答帧。
[0131]
示例性的,图5是本技术实施例涉及的一种目标应答帧生成示意图。该目标应答帧生成过程可以在蓝牙的解码模块中进行,如图5所示,蓝牙的解码模块存在于数据接收设备的蓝牙模块中,当数据接收设备的蓝牙的接收模块收到空中传输的聚合数据帧后,对聚合
数据帧进行解调后传入蓝牙的解码模块中,然后蓝牙的解码模块开始进行工作。蓝牙的解码模块的工作流程包括如下步骤:
[0132]
s51,数据接收设备通过蓝牙的接收模块与数据发送模块进行通信,接收到聚合数据帧。
[0133]
s52,蓝牙的解码模块将聚合数据帧按时间戳顺序,对其中的各个目标数据段进行校验。
[0134]
其中,将聚合数据帧501按照时间戳的顺序依次进行校验,得到各个目标数据段的校验结果,目标数据段1对应的校验结果为校验正确,目标数据段2对应的校验结果为校验错误,目标数据段n对应的校验结果为校验正确。基于各个目标数据段对应的校验结果,可以确定聚合数据帧501对应的位图信息502,其中,位图信息502中可以包括用于表示校验结果为校验错误的第一信息以及用于表示校验结果为校验正确的第二信息。第一信息可以标注为0,第二信息可以标注为1。
[0135]
s53,基于聚合数据帧中的全部目标数据段对应的校验结果,计算得到该聚合数据帧对应的位图信息bitmap。
[0136]
其中,位图信息bitmap可以是一个n比特的数值,每个比特对应聚合数据帧中的一个目标数据段。如果第j个目标数据段的校验结果为校验正确,那么位图信息bitmap中第j位的数值置为1,如果第k个目标数据段校验结果为校验错误,那么位图信息bitmap中第k位的数值置为0。
[0137]
s54,蓝牙的解码模块将计算得到的位图信息bitmap作为目标应答帧传输给蓝牙接收设备的蓝牙发送模块,作为目标应答帧进行发射。
[0138]
s55,通过发射模块将生成的目标应答帧发送给蓝牙发送设备。
[0139]
步骤308,数据接收设备将目标应答帧通过蓝牙方式发送给数据发送设备。
[0140]
在本技术实施例中,数据接收设备通过蓝牙发射模块将计算生成的目标应答帧发送给数据发送设备,数据发送设备可以通过蓝牙接收模块接收目标应答帧。
[0141]
步骤309,数据发送设备基于目标应答帧,通过蓝牙方式对传输情况为传输失败的目标数据段进行重传。
[0142]
在本技术实施例中,数据发送设备接收到目标应答帧后,对目标应答帧进行解析,获取各个目标数据段对应的传输情况,若获取的各个目标数据段对应的传输情况中存在传输情况为传输失败时,获取传输失败的目标数据段,从缓存数据中重新获取对应的目标数据段,将对应的目标数据段重新发送给数据接收设备。
[0143]
在一种可能的实现方式中,获取目标应答帧对应的位图信息;基于位图信息,向数据接收设备重新发送第一信息对应的目标数据段。
[0144]
其中,位图信息中可以包括第一信息;第一信息用于指示对应的目标数据段的传输情况为传输失败;位图信息中还可以包括第二信息;第二信息可以用于指示对应的目标数据段的传输情况为传输成功。
[0145]
在进行聚合数据帧传输过程中可能受到干扰或者其它因素干扰导致聚合数据帧中部分数据段可能出现传输错误,通过检查位图信息的方式可以确定出现传输错误的数据,无需将整个聚合数据帧进行重传,大大提高了数据传输的效率。
[0146]
示例性的,当数据发送设备接收到目标应答帧后,检查该位图信息bitmap中为0的
各个标志位,数据发送设备通过蓝牙的编码模块读取缓存中的各个标志位对应的数据段,并将各个标志位对应的数据段进行重传。
[0147]
在一种可能的实现方式中,响应于数据发送设备接收到目标应答帧,分别将目标应答帧中指示传输失败的各个目标数据段重新发送给数据接收设备,或者,将目标应答帧中指示传输失败的各个目标数据段添加校验信息后进行聚合编码,生成一个重传数据帧,将该重传数据帧发送给数据接收设备。
[0148]
在一种可能的实现方式中,响应于数据发送设备接收到目标应答帧,将目标应答帧中指示传输失败的各个目标数据段与下一数据传输周期中缓存的数据一起发送给数据接收设备。
[0149]
步骤310,数据接收设备接收由数据发送设备进行重传的目标数据段。
[0150]
在一种可能的实现方式中,响应于目标应答帧反馈存在传输失败的目标数据段,接收由数据发送设备通过蓝牙方式进行重传的目标数据段。
[0151]
其中,若目标应答帧反馈不存在传输失败的目标数据段,则数据发送设备无需进行数据重传,可以等待在下一数据传输周期继续进行下一周期内缓冲的蓝牙数据的传输。
[0152]
示例性的,图6是本技术实施例涉及的一种蓝牙编解码方法框架图,如图6所示,该蓝牙编解码方法涉及数据发送设备610以及数据接收设备620。数据发送设备610以及数据接收设备620中均包括带传输的蓝牙数据、蓝牙发射模块以及蓝牙接收模块,数据发送设备610中还包括蓝牙编码模块,数据接收设备620中还包括蓝牙解码模块。由于上述实施例中未使用传统蓝牙中短周期高频率的编码传输方式,而是通过缓存一定发送周期t内的数据,聚合生成一个大容量的聚合数据帧一次性发送。明显提升了数据的传输效率和吞吐量。同时,由于利用时间戳对聚合数据帧中的数据段进行排序,在每个数据段后增加冗余校验码,并建立了通过位图信息bitmap来逐段进行重传的机制,从而可以识别出传输错误的数据段,并高效率地进行数据重传。提升了数据传输可靠性和抗干扰能力。
[0153]
在一种可能的实现方式中,数据接收设备将聚合数据帧中传输失败的目标数据段与接收到的重传的目标数据段进行替换,得到目标数据帧。
[0154]
综上所述,本技术实施例所示的方案中,数据发送设备通过蓝牙以聚合数据帧的方式组合多个目标数据段向数据接收设备进行发送,并且接收反馈的目标应答帧,从而确定聚合数据帧中的各个目标数据段对应的传输情况,并且实现将传输失败的目标数据段进行重发,使数据接收设备得到完整的数据,通过上述方式可以在一次数据传输时发送多个目标数据段,并且同时反馈各个目标数据段对应的传输情况,避免了每次传输单个数据段时由于传输周期造成的等待时间的浪费,从而提高了蓝牙传输的数据吞吐量,进而提高了蓝牙数据传输的效率。
[0155]
图7示出了本技术一个示例性实施例提供的数据传输装置的结构框图。该数据传输装置用于数据发送设备中,该数据传输装置包括:
[0156]
数据发送模块710,用于通过蓝牙方式向数据接收设备发送聚合数据帧;所述聚合数据帧中包括至少两个目标数据段;
[0157]
应答接收模块720,用于接收由所述数据接收设备通过蓝牙方式反馈的目标应答帧;所述目标应答帧用于反馈所述至少两个目标数据段各自对应的传输情况;
[0158]
数据重传模块730,用于基于所述目标应答帧,通过蓝牙方式对所述传输情况为传
输失败的所述目标数据段进行重传。
[0159]
在一种可能的实现方式中,所述数据重传模块730,包括:
[0160]
信息获取子模块,用于获取所述目标应答帧对应的位图信息;所述位图信息中包括第一信息;所述第一信息用于指示对应的所述目标数据段的所述传输情况为传输失败;
[0161]
数据重传子模块,用于基于所述位图信息,通过蓝牙方式向所述数据接收设备重新发送所述第一信息对应的所述目标数据段。
[0162]
在一种可能的实现方式中,所述位图信息中还包括第二信息;所述第二信息用于指示对应的所述目标数据段的所述传输情况为传输成功。
[0163]
在一种可能的实现方式中,所述装置还包括:
[0164]
目标数据获取模块,用于通过蓝牙方式向数据接收设备发送聚合数据帧之前,获取在指定时间内到达的所述至少两个目标数据段;
[0165]
聚合数据生成模块,用于将所述至少两个目标数据段进行聚合编码,生成所述聚合数据帧。
[0166]
在一种可能的实现方式中,所述装置还包括:
[0167]
集合获取模块,用于获取在指定时间内到达的所述至少两个目标数据段之前,获取待发送的数据集合;所述待发送的数据集合中包括所述数据发送设备在数据传输周期中缓存的,待通过蓝牙发送的数据;
[0168]
第一数据确定模块,用于基于所述待发送的数据集合,确定至少两个第一数据段;所述第一数据段是所述待发送的数据集合中指定数据长度的数据段;
[0169]
所述目标数据获取模块,包括:
[0170]
目标获取子模块,用于向至少两个所述第一数据段中分别添加对应的校验标识,得到所述至少两个目标数据段。
[0171]
在一种可能的实现方式中,所述校验标识中包括时间戳标识以及校验码标识;
[0172]
所述目标获取子模块,包括:
[0173]
第二数据获取单元,用于向至少两个所述第一数据段中添加各自对应的所述时间戳标识,得到至少两个所述第一数据段各自对应的第二数据段;
[0174]
目标数据获取单元,用于向至少两个所述第二数据段中添加各自对应的校验码标识,得到至少两个所述第二数据段各自对应的所述至少两个目标数据段。
[0175]
在一种可能的实现方式中,所述聚合数据生成模块,包括:
[0176]
排序子模块,用于将所述至少两个目标数据段按照各自对应的所述时间戳标识进行排序,得到目标数据集合;
[0177]
编码生成子模块,用于将所述目标数据集合进行编码,生成所述聚合数据帧。
[0178]
综上所述,本技术实施例所示的方案中,数据发送设备通过蓝牙以聚合数据帧的方式组合多个目标数据段向数据接收设备进行发送,并且接收反馈的目标应答帧,从而确定聚合数据帧中的各个目标数据段对应的传输情况,并且实现将传输失败的目标数据段进行重发,使数据接收设备得到完整的数据,通过上述方式可以在一次数据传输时发送多个目标数据段,并且同时反馈各个目标数据段对应的传输情况,避免了每次传输单个数据段时由于传输周期造成的等待时间的浪费,从而提高了蓝牙传输的数据吞吐量,进而提高了蓝牙数据传输的效率。
[0179]
图8出了本技术一个示例性实施例提供的数据传输装置的结构框图。该数据传输装置用于数据接收设备中,该数据传输装置包括:
[0180]
数据接收模块810,用于接收由数据发送设备通过蓝牙方式发送的聚合数据帧;所述聚合数据帧中包括至少两个目标数据段;
[0181]
应答生成模块820,用于基于所述聚合数据帧,生成目标应答帧;所述目标应答帧用于反馈所述至少两个目标数据段各自对应的传输情况;
[0182]
应答发送模块830,用于将所述目标应答帧发送给所述数据发送设备;
[0183]
重传接收模块840,用于响应于所述目标应答帧反馈存在传输失败的所述目标数据段,接收由所述数据发送设备进行重传的所述目标数据段。
[0184]
在一种可能的实现方式中,所述应答生成模块820,包括:
[0185]
解码子模块,用于将所述聚合数据帧进行解码,获取所述聚合数据帧中的所述至少两个目标数据段以及各自对应的校验标识;
[0186]
校验子模块,用于基于所述至少两个目标数据段各自对应的所述校验标识进行校验,得到所述至少两个目标数据段各自对应的校验结果;
[0187]
应答生成子模块,用于基于所述校验结果,生成所述目标应答帧。
[0188]
综上所述,本技术实施例所示的方案中,数据发送设备通过蓝牙以聚合数据帧的方式组合多个目标数据段向数据接收设备进行发送,并且接收反馈的目标应答帧,从而确定聚合数据帧中的各个目标数据段对应的传输情况,并且实现将传输失败的目标数据段进行重发,使数据接收设备得到完整的数据,通过上述方式可以在一次数据传输时发送多个目标数据段,并且同时反馈各个目标数据段对应的传输情况,避免了每次传输单个数据段时由于传输周期造成的等待时间的浪费,从而提高了蓝牙传输的数据吞吐量,进而提高了蓝牙数据传输的效率。
[0189]
图9是根据一示例性实施例示出的计算机设备900的结构框图。该计算机设备900可以是上述实施例涉及的终端,即数据发送设备、数据接收设备,比如智能手机、平板电脑或台式电脑。计算机设备900还可能被称为目标用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0190]
通常,计算机设备900包括有:处理器901和存储器902。
[0191]
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0192]
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个
或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器901所执行以实现本技术中方法实施例提供的方法。
[0193]
在一些实施例中,计算机设备900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。
[0194]
射频电路904用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
[0195]
在一些实施例中,计算机设备900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
[0196]
本领域技术人员可以理解,图9中示出的结构并不构成对计算机设备900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0197]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上各个实施例所述的数据传输方法。
[0198]
根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。终端的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该终端执行上述方面的各种可选实现方式中提供的数据传输方法。
[0199]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本技术实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读存储介质中或者作为计算机可读存储介质上的一个或多个指令或代码进行传输。计算机可读存储介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0200]
以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1