数据传输方法、装置、电子设备、存储介质及程序产品与流程

文档序号:40818194发布日期:2025-01-29 02:37阅读:9来源:国知局
数据传输方法、装置、电子设备、存储介质及程序产品与流程

本发明涉及无线通信,具体涉及一种数据传输方法、装置、电子设备、存储介质及程序产品。


背景技术:

1、低功耗蓝牙(bluetooth low energy,ble)相比于经典蓝牙,能够在保持同等通信范围的同时降低功耗和成本,可穿戴设备和智能家居等设备可以接入ble与具有控制功能的终端设备进行数据传输。

2、但是受制于ble技术的传输带宽、传输距离以及蓝牙设备的处理能力及复杂的无线环境等因素的影响,ble数据传输稳定性较差,数据传输过程中容易出现数据包丢失等问题,从而导致文件损坏,限制ble的使用场景。


技术实现思路

1、有鉴于此,本发明提供了一种数据传输方法、装置、电子设备、存储介质及程序产品,以改善ble数据传输过程数据包丢失的问题。

2、第一方面,本发明提供了一种数据传输方法,方法应用于具有蓝牙功能的终端设备,终端设备与蓝牙设备通信连接,方法包括:根据当前信号强度,确定间隔包数量,间隔包数量用于指示终端设备在发送的数据包达到第一预设数量时等待来自于蓝牙设备的确认包;向蓝牙设备发送传输请求消息,传输请求消息用于请求蓝牙设备接收数据,以及用于指示蓝牙设备在接收到的数据包达到第一预设数量时向终端设备发送确认包;在接收到来自于蓝牙设备的请求响应消息之后,读取待传输的文件封装形成的第二预设数量的数据包,第二预设数量大于第一预设数量;向蓝牙设备连续发送第一预设数量的数据包,并等待确认包;在接收到确认包之后,返回向蓝牙设备连续发送第一预设数量的数据包的步骤,直至发送的数据包达到第二预设数量或接收到停止消息。

3、本实施例提供的数据传输方法,终端设备在接收到来自于蓝牙设备的确认包之后才继续传输数据包,能够保证蓝牙设备接收到的数据包完整,避免文件缺失,实现ble传输文件的可靠性。而且,本实施例提供的数据传输方法,终端设备还会根据当前信号强度确定间隔包数量,终端设备根据间隔包数量连续发送第一预设数量的数据包之后才等待确认包,而不是每发送一个数据包就等待确认包,能够提升传输文件的效率。

4、在一种可选的实施方式中,第二预设数量的数据包设置有序号,在向蓝牙设备连续发送第一预设数量的数据包之后,方法还包括:接收来自于蓝牙设备的重传请求消息,重传请求消息包括丢失的数据包的序号;根据丢失的数据包的序号,向蓝牙设备重新发送丢失的数据包。

5、在本实施例中,蓝牙设备设置超时时长,在预设时长内未接收到第一预设数量的数据包时,向终端设备发送重传请求消息,重新获取丢失的数据包,能够避免丢包的问题。

6、在一种可选的实施方式中,在向蓝牙设备连续发送第一预设数量的数据包之后,方法还包括:根据接收到的重传请求消息的次数,更新间隔包数量,更新后的间隔包数量用于指示终端设备在下一次发送的数据包达到第三预设数量时等待确认包,第三预设数量和第一预设数量不同;向蓝牙设备发送更新消息,更新消息用于指示蓝牙设备在下一次接收到的数据包达到第三预设数量时向终端设备发送确认包。

7、在本实施例中,在传输过程中,根据丢包情况动态调整间隔包数量,不仅可以减少等待确认时间提升传输效率,还能够避免大量的超时重传现象出现。

8、在一种可选的实施方式中,请求响应消息包括蓝牙设备所需的数据包的序号,向蓝牙设备连续发送第一预设数量的数据包,包括:根据蓝牙设备所需的数据包的序号,向蓝牙设备连续发送第一预设数量的数据包。

9、在本实施例中,蓝牙设备向终端设备发送的请求响应消息中包含蓝牙设备所需的数据包的序号,能够避免待传输的文件对应的数据包重复传输,实现断点续传。

10、在一种可选的实施方式中,在向蓝牙设备连续发送第一预设数量的数据包之后,方法还包括:将发送的第一预设数量的数据包缓存在缓存模块;在接收到确认包之后,删除缓存模块中的缓存数据。

11、在本实施例中,将数据包存储在缓存模块,以备超时重传需要,当需要重传时可以快速重传,当蓝牙设备确认成功接收后再丢掉。

12、第二方面,本发明提供了一种数据传输方法,方法应用于蓝牙设备,蓝牙设备与具有蓝牙功能的终端设备通信连接,方法包括:接收来自于终端设备的传输请求消息,传输请求消息用于请求蓝牙设备接收数据,以及用于指示蓝牙设备在接收到的数据包达到第一预设数量时向终端设备发送确认包;向终端设备发送请求响应消息;接收来自于终端设备的数据包;在接收到的数据包的数量达到第一预设数量后,向终端设备发送确认包。

13、在一种可选的实施方式中,数据包设置有序号,在接收来自于终端设备的数据包时,方法还包括:在预设时长内未接收到第一预设数量的数据包时,向终端设备发送重传请求消息,重传请求消息包括丢失的数据包的序号。

14、在一种可选的实施方式中,数据包设置有序号,且终端设备发送的第一预设数量数据包的序号连续,在接收来自于终端设备的数据包时,方法还包括:确定当前接收到的数据包的序号和上一个接收到的数据包的序号是否连续;在不连续时,确认缺失的数据包的序号;若之后接收的第四预设数量的数据包均不是缺失的数据包,向终端设备发送重传请求消息,第四预设数量小于第一预设数量。

15、本实施例提供的数据传输方法,蓝牙设备在接收到数据包之后,确定当前接收到的数据包的序号和上一个接收到的数据包的序号是否连续,在不连续时,确认缺失的数据包的序号,并在之后接收的第四预设数量的数据包均不是缺失的数据包的情况下,向终端设备发送重传请求消息,能够及时确定丢失的数据包,并重新获取丢失的数据包,不用等待超时时间到达,可以减少很多等待超时的时间,进一步提高数据传输效率。

16、第三方面,本发明提供了一种数据传输装置,装置包括:第一确定模块,用于根据当前信号强度,确定间隔包数量,间隔包数量用于指示终端设备在发送的数据包达到第一预设数量时等待来自于蓝牙设备的确认包;第一发送模块,用于向蓝牙设备发送传输请求消息,传输请求消息用于请求蓝牙设备接收数据,以及用于指示蓝牙设备在接收到的数据包达到第一预设数量时向终端设备发送确认包;读取模块,用于在接收到来自于蓝牙设备的请求响应消息之后,读取待传输的文件封装形成的第二预设数量的数据包,第二预设数量大于第一预设数量;第二发送模块,用于向蓝牙设备连续发送第一预设数量的数据包,并等待确认包;处理模块,用于在接收到确认包之后,返回向蓝牙设备连续发送第一预设数量的数据包的步骤,直至发送的数据包达到第二预设数量或接收到停止消息。

17、在一种可选的实施方式中,第二预设数量的数据包设置有序号,装置还包括:第三接收模块,用于接收来自于蓝牙设备的重传请求消息,重传请求消息包括丢失的数据包的序号;第五发送模块,用于根据丢失的数据包的序号,向蓝牙设备重新发送丢失的数据包。

18、在一种可选的实施方式中,装置还包括:更新模块,用于根据接收到的重传请求消息的次数,更新间隔包数量,更新后的间隔包数量用于指示终端设备在下一次发送的数据包达到第三预设数量时等待确认包,第三预设数量和第一预设数量不同;第六发送模块,用于向蓝牙设备发送更新消息,更新消息用于指示蓝牙设备在下一次接收到的数据包达到第三预设数量时向终端设备发送确认包。

19、在一种可选的实施方式中,请求响应消息包括蓝牙设备所需的数据包的序号,第二发送模块,包括:第一发送单元,用于根据蓝牙设备所需的数据包的序号,向蓝牙设备连续发送第一预设数量的数据包。

20、在一种可选的实施方式中,装置还包括:存储模块,用于将发送的第一预设数量的数据包缓存在缓存模块;删除模块,在接收到确认包之后,删除缓存模块中的缓存数据。

21、第四方面,本发明提供了一种数据传输装置,包括:第一接收模块,用于接收来自于终端设备的传输请求消息,传输请求消息用于请求蓝牙设备接收数据,以及用于指示蓝牙设备在接收到的数据包达到第一预设数量时向终端设备发送确认包;第三发送模块,用于向终端设备发送请求响应消息;第二接收模块,用于接收来自于终端设备的数据包;第四发送模块,用于在接收到的数据包的数量达到第一预设数量后,向终端设备发送确认包。

22、在一种可选的实施方式中,数据包设置有序号,装置还包括:第七发送模块,用于在预设时长内未接收到第一预设数量的数据包时,向终端设备发送重传请求消息,重传请求消息包括丢失的数据包的序号。

23、在一种可选的实施方式中,数据包设置有序号,且终端设备发送的第一预设数量数据包的序号连续,装置还包括:第二确定模块,用于确定当前接收到的数据包的序号和上一个接收到的数据包的序号是否连续;第二确定模块,用于在不连续时,确认缺失的数据包的序号;第八发送模块,用于若之后接收的第四预设数量的数据包均不是缺失的数据包,向终端设备发送重传请求消息,第四预设数量小于第一预设数量。

24、第五方面,本发明提供了一种电子设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的方法,或执行上述第二方面或其对应的任一实施方式的方法。

25、第六方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的方法,或执行上述第二方面或其对应的任一实施方式的方法。

26、第七方面,本发明提供了一种计算机程序产品,包括计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的方法,或执行上述第二方面或其对应的任一实施方式的方法。

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