具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一设备称为第二设备,且类似地,可将第二设备称为第一设备。第一设备和第二设备两者都是电子设备,但其不是同一电子设备。
图1为一个实施例中数据发送方法的应用环境示意图。如图1所示,该应用环境包括第一设备100和第二设备200。其中,上述第一设备100和第二设备200之间可以进行通信传输,第一设备100可以向第二设备200发送数据。第一设备100与第二设备200之间的数据传输可以是蓝牙传输,也可以是WiFi传输,对于数据传输的类型在此不做限定。上述第一设备100和第二设备200可以是个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。例如,上述第一设备100可以是智能手机,上述第二设备200可以是蓝牙耳机。
图2为一个实施例中数据发送方法的流程图。本实施例中的数据发送方法,以运行于图1中的第一设备上为例进行描述。如图2所示,上述方法包括:
S102、确定第一设备与第二设备之间的数据传输是否满足降速触发条件。
上述第一设备与第二设备之间的数据传输,可以是蓝牙传输,也可以是WiFi传输,对于数据传输的类型在此不做限定。第一设备可以通过数据传输向第二设备发送数据。上述数据可以是音频数据,也可以是视频数据,还可以是控制信令数据,对于发送数据的类型在此不做限定。
以第一设备为手机,第二设备为蓝牙播放设备为例。第一设备可以通过蓝牙传输向第二设备发送音频数据。上述音频数据可以是第一设备中的音乐播放器输出的数据,也可以是视频播放器输出的音频数据,还可以是语音通话数据,对于音频数据的类型在此不做限定。
第一设备可以通过对数据传输进行状态监控,确定数据传输是否满足降速触发条件。在一种实现方式中,第一设备可以根据向第二设备发送数据包的重传次数,确定数据传输是否满足降速触发条件。上述降速触发条件可以为重传次数阈值,第一设备向第二设备发送数据包的重传次数大于重传次数阈值时,第一设备可以认为当前数据传输满足降速触发条件。在另一种实现方式中,第一设备可以通过信号强度检测,确定第二设备接收数据包之后返回的响应信息的信号强度,根据信号强度确定数据传输是否满足降速触发条件。上述降速触发条件可以是信号强度阈值,若第一设备检测到的信号强度小于预设的信号强度阈值,可以确定上述数据传输满足降速触发条件。对于确定是否满足降速触发条件的确定方式,在此不做限定。
S104、若是,则第一设备对缓存的第一数据包进行速率适配处理,获得第二数据包;其中,速率适配处理用于降低单个发送时隙内待发送的数据包的大小;第一数据包为第一设备基于当前传输速率完成编码的数据。
第一设备向第二设备发送数据包时,可以先将待发送的数据包进行缓存。第一设备中缓存的第一数据包的数量可以是一个,也可以是多个,在此不做限定。
上述第一数据包为第一设备基于当前传输速率完成编码的数据,也就是说上述第一数据包的大小与当前传输速率匹配。当第一设备与第二设备降速传输之后,降速后的传输速率不能满足上述第一数据包的数据传输。
继续以第一设备为手机,第二设备为蓝牙播放设备为例。第一设备和第二设备中均可以包括音频模块(audio模块)和蓝牙模块,蓝牙模块中可以包括缓存buffer,如图3所示。第一设备中的audio模块可以对待播放的音频文件进行解析,获得脉冲编码调制(PulseCode Modulation,简称PCM)数据;上述PCM数据为未经压缩的音频采样数据裸流,可以通过音频模块进行播放。第一设备将音频数据发送至第二设备时,可以通过第一设备中的audio模块对PCM数据进行编码,实现对PCM数据的压缩处理,获得第一数据包;第一设备中的音频模块将上述第一数据包发送至第一设备中的蓝牙模块进行缓存,使得第一设备中的蓝牙模块可以将缓存的第一数据包发送至第二设备中的蓝牙模块,然后由第二设备中的蓝牙模块将数据包发送至第二设备中的audio模块。
第一设备的蓝牙模块向第二设备的蓝牙模块发送数据包时,需要在固定的发送时隙中完成发送,避免发送时间太长导致数据受到干扰。如图4所示,第一设备向第二设备发送的每个数据流对应一个传输时长ISO_interval,该ISO_interval中可以包括多个发送时隙Sub_interval,第一设备可以通过Sub_interval向第二设备传输数据包。第一设备中的蓝牙模块可以缓存多个数据包(例如数据包P0-P2),第一设备可以在其中一个发送时隙Sub_interval内发送数据包P0;若P0发送成功,则在下一个Sub_interval内发送下一个数据包P1,并向audio模块请求数据包P3;若P0发送失败,则在下一个Sub_interval内重传数据包P0。
随着蓝牙通信的发展,第一设备和第二设备之间的传输速率可以包括多个等级,例如速率可以是12M、8M、4M等;在高速率的蓝牙传输,第一设备中的audio模块编码获得的第一数据包的大小可以较大,实现高质量的音频文件传输。当第一设备和第二设备之间的距离变大或者数据传输受到干扰时,第一设备与第二设备之间的传输速率下降,使得第一设备中已缓存的第一数据包需要的传输时长较长,无法在一个发送时隙内完成传输。第二设备按照数据包的顺序依次接收第一设备发送的数据包,若第一设备无法将缓存中的第一数据包发送至第二设备,使得第二设备的缓存中没有待播放的数据包,造成播放卡顿。
基于此,第一设备在检测到数据传输满足降速触发条件之后,可以对缓存的第一数据包进行速率适配处理。其中,上述速率适配处理可以用于降低单个发送时隙内待发送的数据包的大小,使得处理后的第二数据包可以在一个发送时隙内完成发送。
第一设备对第一数据包进行速率适配处理时,可以根据第一数据包的数据格式,在第一数据包中删除冗余数据,获得第二数据包,使得第二数据包的大小小于对应的第一数据包的大小;或者,第一设备可以对第一数据包进行降采样,获得第二数据包;对于速率适配处理的方式,在此不做限定。
可选地,上述速率适配处理可以包括拆包处理和/或重编码处理。其中,拆包处理可以将一个第一数据包吃分成多个第二数据包,使得每个第二数据包的大小小于原第一数据包的大小。也就是说,上述拆包处理之后,一个第一数据包可以对应多个第二数据包。
上述重编码处理对应的传输速率小于当前传输速率。第一设备可以在确定数据传输满足降速触发条件之后,确定降速后的传输速率,然后采用降速后的传输速率对第一数据包进行重新编码,获得第二数据包。也就是说,重编码处理之后,每个第一数据包均对应一个第二数据包。由于降速后的传输速率小于当前传输速率,因此,上述第二数据包的大小小于第一数据包的大小。
S106、将第二数据包发送至第二设备。
在获得第二数据包之后,第一设备可以将第二数据包发送至第二设备。
若每个第一数据包对应多个第二数据包,上述多个第二数据包可以按照拆分顺序进行排列,第一设备可以在每个发送时隙中发送一个第二数据包,依次将各第二数据包发送至第二设备。
若第一设备中缓存多个第一数据包,则第一设备分别对多个第一数据包进行速率适配处理后,可以获得多个第二数据包。上述多个第二数据包可以按照第一数据包的排列顺序进行排列,第一设备可以在每个发送时隙中发送一个第二数据包,依次将各第二数据包发送至第二设备。
需要说明的是,在数据传输满足降速触发条件的情况下,第一设备可以采用降速后的传输速率对待缓存的数据包进行编码并缓存。第一设备在将当前缓存的第一数据包发送完成之后,新生成的第一数据包的大小可以与降速后的传输速率匹配,通过单个发送时隙完成发送,进一步提高数据包的传输可靠性。
上述数据发送方法,第一设备确定第一设备与第二设备之间的数据传输是否满足降速触发条件;若是,则第一设备对缓存的第一数据包进行速率适配处理,获得第二数据包;然后,将第二数据包发送至第二设备;其中,速率适配处理用于降低单个发送时隙内待发送的数据包的大小;第一数据包为第一设备基于当前传输速率完成编码的数据。由于第一设备通过对数据传输进行监控,确定是否满足降速触发条件,从而可以在数据传输质量差的情况下及时触发降速;进一步地,针对第一设备中缓存的已基于当前传输速率完成编码的第一数据包,第一设备通过对第一数据包进行速率适配处理,降低单个发送时隙内待发送的数据包的大小,使得处理后获得的第二数据包可以在单个发送时隙内完成发送,使得第二设备可以顺利接收到第一设备发送的各个数据包,提高了缓存区域中的数据包的发送可靠性;对于蓝牙耳机等类型的第二设备,可以在蓝牙数据传输突然降速的情况下,基于当前的时序参数配置顺利接收到第一设备发送的音频数据包,避免第二设备中的播放卡顿。
在其中一个实施例中,在上述实施例的基础上,上述速率适配处理可以包括拆包处理。第一设备在进行拆包处理时,可以按照预设拆包个数,将第一数据包拆分成多个第二数据包;或者,第一设备可以根据数据传输状态,确定拆包个数,然后根据确定的拆包个数对第一数据包进行拆分,获得多个第二数据包。对于拆包处理的方式,在此不做限定。
可选地,第一设备可以根据降速后的传输速率将第一数据包拆分成多个第二数据包。在一种实现方式中,第一设备可以根据预设的传输速率与数据包大小阈值的对应关系,确定与降速后的传输速率匹配的数据包大小阈值;然后,根据第一数据包的大小以及上述匹配的数据包大小阈值的比值,对第一数据包进行拆分,使得拆分后的第二数据包的大小小于上述数据包大小阈值。
在另一种实现方式中,第一设备可以根据当前传输速率与降速后的传输速率的比值,确定拆包个数;然后,按照拆包个数对第一数据包进行拆分,获得多个第二数据包。上述拆包个数可以等于上述比值,也可以大于上述比值,在此不做限定。例如,当前传输速率为8M,降速后的传输速率为4M,则拆包个数可以是2,第一设备可以将第一数据包拆分成两个数据包。
第一设备对第一数据包进行拆包处理之后,获得的各个第二数据包的大小可以相同,也可以不同。第一设备可以按照拆包个数,将第一数据包拆分成大小平均的多个第二数据包;或者,第一设备可以确定降速后的传输速率匹配的数据包大小阈值,然后按照数据包大小阈值对第一数据包进行拆分,使得每个拆分后的第二数据包均小于上述数据包大小阈值。
继续以第一设备为手机、第二设备为蓝牙播放设备为例,对上述拆包处理过程进行说明。如图5所示,第一设备中的蓝牙模块中可以缓存3个第一数据包,包括P0-P2,当第一设备向第二设备发送第一数据包P2时,重传次数大于预设次数阈值,确定数据传输满足降速触发条件。此时,第一设备中的蓝牙模块缓存的第一数据包可以为P2-P4,第一设备中的蓝牙模块可以对第一数据包P2进行拆包处理,拆分成2个第二数据包P2-1和P2-2,依次通过两个发送时隙发送至第二设备。在发送完P2-2之后,第一设备中的蓝牙模块可以向音频模块请求第一数据包P5,并将缓存的第一数据包P3拆分成P3-1和P3-2后依次发送至第二设备。
上述数据发送方法,第一设备直接对缓存的第一数据包进行拆包处理,既可以使得拆包处理后的第二数据包可以适应降速后的传输速率进行发送,也可以使得第二设备能够接收到完整的数据,保证了数据包中携带的信息质量;在音频数据传输中,可以使得第二设备可以在降速后接收到高质量的音频数据。
图6为另一个实施例中的数据传输方法的流程示意图,本实施例涉及第一设备进行速率适配处理的另一种方式,在上述实施例的基础上,上述速率适配处理可以包括重编码处理,如图6所示,上述S104包括:
S202、获取第三数据包;第三数据包为第一数据包对应的未编码数据包。
其中,上述第三数据包为第一数据包对应的未编码数据包;也就是说,第一数据包为采用当前传输速率对第三数据包进行编码获得的。
第一设备中可以在采用传输速率进行编码前,将各个未编码数据包进行缓存。当需要获取第一数据包对应的未编码数据包时,可以根据第一数据包对应的数据包标识,查询该数据包标识对应的未编码数据包,获得上述第三数据包。
第一设备包括音频模块和蓝牙模块的情况下,对未编码数据包的缓存以及对第一数据包的缓存不在同一个模块中。上述未编码数据包可以缓存在音频模块中的缓存区域,上述第一数据包缓存在蓝牙模块中的缓存区域。
在一种实现方式中,在获取第三数据包时,音频模块可以根据上一个发送至蓝牙模块的第一数据包对应的发送时长,确定是否需要获取该第一数据包对应的第三数据包。例如,蓝牙模块向音频模块发送第一数据包P2,若P2的发送时刻距离当前时刻之间的时长超过了预设时长阈值,音频模块可以认为P2发送失败,自动获取上述第一数据包对应的第三数据包。
在另一种实现方式中,第一设备可以通过蓝牙模块向音频模块发送重编码指令;然后,通过音频模块查询标识对应的未编码数据包,获得第三数据包。其中,上述重编码指令包括待编码的第一数据包的标识,以及降速后的传输速率。
S204、采用降速后的传输速率对第三数据包进行编码,获得第二数据包。
第一设备在获取第三数据包之后,可以采用降速后的传输速率对第三数据包进行编码,获得第三数据包。第一设备可以采用降速后的传输效率队第三数据包进行编码,获得第三数据包。
采用不同传输速率对数据包进行编码时,对应的压缩率不同。上述压缩率可以是0.8,也可以是0.5,在此不做限定。传输速率越高,压缩后的数据包越大。也就是说,第一数据包为采用当前传输速率对第三数据包进行编码获得,第二数据包为采用降速后的传输速率对第三数据包重新进行编码后获得,所获得的的第二数据包的大小小于第一数据包的大小。
第一设备包括音频模块和蓝牙模块的情况下,第一设备可以通过音频模块采用降速后的传输速率对第三数据包进行编码,获得第二数据包,并将第二数据包发送至蓝牙模块进行缓存。
继续以第一设备为手机、第二设备为蓝牙播放设备为例,对上述重编码处理过程进行说明。如图7所示,第一设备中的蓝牙模块中可以缓存3个第一数据包,包括P0-P2,当第一设备向第二设备发送第一数据包P2时,重传次数大于预设次数阈值,确定数据传输满足降速触发条件。此时,第一设备中的蓝牙模块缓存的第一数据包可以为P2-P4,第一设备中的蓝牙模块可以向音频模块发送重编码指令,上述重编码指令中携带第一数据包P2-P4的数据包标识。第一设备中的音频模块可以查询P2-P4对应的第三数据包,然后分别对各个第三数据包进行编码,获得第二数据包P2'、P3'和P4'。进一步地,第一设备中的音频模块可以将各第二数据包发送至第一设备中的蓝牙模块进行缓存,通过蓝牙模块将上述第二数据包发送至第二设备。
上述数据发送方法,第一设备通过对缓存中的第一数据包进行重编码,使得每个第一数据包重编码后对应一个第二数据包,从而可以通过一个发送时隙将第一数据包对应的数据发送至第二设备,提高了对缓存的数据包的发送效率,降低第一设备与第二设备之间的数据传输时延。
图8为另一个实施例中的数据传输方法的流程示意图,本实施例涉及第一设备进行速率适配处理的另一种方式,在上述实施例的基础上,上述第一设备中可以缓存多个第一数据包,上述速率适配处理可以包括拆包处理和重编码处理,如图8所示,上述S104包括:
S302、在多个第一数据包中,对发送次序靠前的至少一个目标数据包进行拆包处理,获得目标数据包对应的第二数据包。
第一设备中缓存多个第一数据包时,可以采用拆分处理和重编码处理的组合处理方式,对缓存的第一数据包进行处理。
第一设备可以将发送次序靠前的至少一个目标数据包进行拆包处理。上述目标数据包的个数可以是1个,也可以是2个,还可以是其他数量,在此不做限定。
可选地,第一设备可以根据第一数据包的数据包标识,确定各个第一数据包的发送次序,然后将发送次序最靠前的一个第一数据包确定为目标数据包。
第一设备对目标数据包进行拆包处理的具体方式,可以参见上述拆包处理过程对应的实施例,在此不做赘述。第一设备将目标数据包进行拆包处理之后,可以将拆分后的多个第二数据包依次发送至第二设备。
S304、对多个第一数据包中除目标数据包之外的其余数据包进行重编码处理,获得其余数据包对应的第二数据包。
对于缓存的其余数据包,第一设备可以对其进行重编码处理,获得其余数据包对应的第二数据包,然后将各第二数据包依次发送至第二设备。第一设备对其余数据包进行重编码处理的具体方式,可以参见上述图6对应的实施例,在此不做赘述。
继续以第一设备为手机、第二设备为蓝牙播放设备为例,对上述重编码处理过程进行说明。如图9所示,第一设备中的蓝牙模块中可以缓存3个第一数据包,包括P0-P2,当第一设备向第二设备发送第一数据包P2时,重传次数大于预设次数阈值,确定数据传输满足降速触发条件。此时,第一设备中的蓝牙模块缓存的第一数据包可以为P2-P4。第一设备中的蓝牙模块可以将第一数据包P2确定为目标数据包,对第一数据包P2进行拆包处理,拆分成2个第二数据包P2-1和P2-2,依次通过两个发送时隙发送至第二设备。同时,第一设备中的蓝牙模块可以向音频模块发送重编码指令,上述重编码指令中携带第一数据包P3-P4的数据包标识。第一设备中的音频模块可以查询P3-P4对应的第三数据包,然后分别对各个第三数据包进行编码,获得第二数据包P3'和P4'。进一步地,第一设备中的音频模块可以将各第二数据包发送至第一设备中的蓝牙模块进行缓存,通过蓝牙模块将上述第二数据包发送至第二设备。
上述数据处理方法,第一设备采用拆包处理和重编码处理的组合处理方式,通过对其余数据包进行重编码处理,可以提高数据传输效率;进一步地,通过对目标数据包进行拆包处理,可以利用对其余数据包进行重编码的过程中持续发送数据,进一步降低数据传输时延。
需要说明的是,第一设备中缓存的第一数据包的个数,可以与数据传输模式相关。若第一设备向第二设备发送的为音乐播放数据等对传输时延要求较低的数据包,第一设备可以缓存多个第一数据包。若第一设备向第二设备发送的为语音通话数据等对传输时延要求较高的数据包,第一设备缓存的第一数据包的个数可以较小。
第一设备可以根据数据传输模式确定缓存的数据包的个数,进一步地,在监测到数据传输降速时,可以根据缓存的第一数据包的个数确定对应的速率适配处理方式。例如,若第一设备中缓存的第一数据包的个数小于第一阈值,第一设备可以采用拆包处理方式对第一数据包进行处理,将获得的第二数据包发送至第二设备。若第一设备中缓存的第一数据包的个数大于或等于第一阈值且小于第一阈值,第一设备可以采用重编码处理方式对第一数据包进行处理,将获得的第二数据包发送至第二设备。若第一设备中缓存的第一数据包的个数大于获等于第二阈值,第一设备可以采用上述拆包处理和重编码处理的组合处理方式对各个第一数据包进行处理,将获得的第二数据包发送至第二设备。
在一个实施例中,提供一种数据发送方法,如图10所示,上述方法包括:
S401、确定第一设备与第二设备之间的数据传输是否满足降速触发条件;若是,则执行S402。
S402、根据当前传输速率与降速后的传输速率的比值,确定拆包个数。
S403、按照拆包个数对第一数据包进行拆分,获得多个第二数据包。
S404、在每个发送时隙中发送一个第二数据包,依次将各第二数据包发送至第二设备。
上述数据发送方法,其实现原理和技术效果参见上述实施例,在此不做赘述。
在一个实施例中,提供一种数据发送方法,如图11所示,上述方法包括:
S501、确定第一设备与第二设备之间的数据传输是否满足降速触发条件;若是,则执行S502。
S502、通过蓝牙模块向音频模块发送重编码指令。
S503、通过音频模块查询标识对应的未编码数据包,获得第三数据包。
S504、通过音频模块采用降速后的传输速率对第三数据包进行编码,获得第二数据包。
S505、将第二数据包发送至蓝牙模块进行缓存。
S506、在每个发送时隙中发送一个第二数据包,依次将各第二数据包发送至第二设备。
上述数据发送方法,其实现原理和技术效果参见上述实施例,在此不做赘述。
在一个实施例中,提供一种数据发送方法,如图12所示,上述方法包括:
S601、确定第一设备与第二设备之间的数据传输是否满足降速触发条件;若是,则执行S602。
S602、在多个第一数据包中,确定发送次序靠前的至少一个目标数据包。
S603、对目标数据包进行拆包处理,获得目标数据包对应的第二数据包。
S604、通过蓝牙模块向音频模块发送重编码指令;重编码指令包括除目标数据包之外的其余数据包的标识。
S605、通过音频模块查询标识对应的未编码数据包,获得第三数据包。
S606、通过音频模块采用降速后的传输速率对第三数据包进行编码,获得第二数据包。
S607、将第二数据包发送至蓝牙模块进行缓存。
S608、在每个发送时隙中发送一个第二数据包,依次将各第二数据包发送至第二设备。
上述数据发送方法,其实现原理和技术效果参见上述实施例,在此不做赘述。
应该理解的是,虽然图2-12的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-12中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图13为一个实施例的数据发送装置的结构框图。如图13所示,上述装置包括:
确定模块10,用于确定第一设备与第二设备之间的数据传输是否满足降速触发条件;
处理模块20,用于所述数据传输满足降速触发条件的情况下,对缓存的第一数据包进行速率适配处理,获得第二数据包;其中,所述速率适配处理用于降低单个发送时隙内待发送的数据包的大小;所述第一数据包为所述第一设备基于当前传输速率完成编码的数据;
发送模块30,用于将所述第二数据包发送至所述第二设备。
在一个实施例中,在上述实施例的基础上,所述速率适配处理包括拆包处理和/或重编码处理;所述重编码处理对应的传输速率小于所述当前传输速率。
在一个实施例中,在上述实施例的基础上,所述速率适配处理包括拆包处理,上述处理模块20具体用于:根据降速后的传输速率将所述第一数据包拆分成多个第二数据包。
在一个实施例中,在上述实施例的基础上,上述处理模块20具体用于:根据所述当前传输速率与所述降速后的传输速率的比值,确定拆包个数;按照所述拆包个数对所述第一数据包进行拆分,获得多个所述第二数据包。
在一个实施例中,在上述实施例的基础上,如图14所示,所述速率适配处理包括重编码处理,上述处理模块20包括:
获取单元201,用于获取第三数据包;所述第三数据包为所述第一数据包对应的未编码数据包;
第一编码单元202,用于采用降速后的传输速率对所述第三数据包进行编码,获得所述第二数据包。
在一个实施例中,在上述实施例的基础上,所述第一设备包括音频模块和蓝牙模块;获取单元201具体用于:通过所述蓝牙模块向所述音频模块发送重编码指令;所述重编码指令包括待编码的第一数据包的标识,以及降速后的传输速率;通过所述音频模块查询所述标识对应的未编码数据包,获得所述第三数据包。
在一个实施例中,在上述实施例的基础上,编码单元202具体用于:通过所述音频模块采用降速后的传输速率对所述第三数据包进行编码,获得所述第二数据包,并将所述第二数据包发送至所述蓝牙模块进行缓存。
在一个实施例中,在上述实施例的基础上,如图15所示,所述第一设备中缓存多个第一数据包;上述处理模块20包括:
拆分单元203,用于在所述多个第一数据包中,对发送次序靠前的至少一个目标数据包进行所述拆包处理,获得所述目标数据包对应的第二数据包;
第二编码单元204,用于对所述多个第一数据包中除所述目标数据包之外的其余数据包进行所述重编码处理,获得所述其余数据包对应的第二数据包。
在一个实施例中,在上述实施例的基础上,上述发送模块30具体用于:在每个发送时隙中发送一个所述第二数据包,依次将各所述第二数据包发送至所述第二设备。
在一个实施例中,在上述实施例的基础上,如图16所示,上述装置还包括降速模块40,用于在所述数据传输满足所述降速触发条件的情况下,采用降速后的传输速率对待缓存的数据包进行编码并缓存。
上述数据发送装置,其实现原理和技术效果可以参见上述方法实施例,在此不做赘述。
上述数据发送装置中各个模块的划分仅仅用于举例说明,在其他实施例中,可将数据发送装置按照需要划分为不同的模块,以完成上述数据发送装置的全部或部分功能。
关于数据发送装置的具体限定可以参见上文中对于数据发送方法的限定,在此不再赘述。上述数据发送装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图17为一个实施例中电子设备的内部结构示意图。该电子设备可以是手机、平板电脑、笔记本电脑、台式电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑、穿戴式设备等任意终端设备。该电子设备包括通过系统总线连接的处理器和存储器。其中,该处理器可以包括一个或多个处理单元。处理器可为CPU(Central Processing Unit,中央处理单元)或DSP(Digital Signal Processing,数字信号处理器)等。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种数据发送方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。
本申请实施例中提供的数据发送装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在电子设备的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行数据发送方法的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行数据发送方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括ROM(Read-Only Memory,只读存储器)、PROM(Programmable Read-only Memory,可编程只读存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-only Memory,电可擦除可编程只读存储器)或闪存。易失性存储器可包括RAM(Random Access Memory,随机存取存储器),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如SRAM(Static Random Access Memory,静态随机存取存储器)、DRAM(Dynamic Random Access Memory,动态随机存取存储器)、SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存取存储器)、双数据率DDRSDRAM(Double Data Rate Synchronous Dynamic Random Access memory,双数据率同步动态随机存取存储器)、ESDRAM(Enhanced Synchronous Dynamic Random Access memory,增强型同步动态随机存取存储器)、SLDRAM(Sync Link Dynamic Random Access Memory,同步链路动态随机存取存储器)、RDRAM(Rambus Dynamic Random Access Memory,总线式动态随机存储器)、DRDRAM(Direct Rambus Dynamic Random Access Memory,接口动态随机存储器)。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。