一种数据丢包处理方法、系统及终端与流程

    专利2022-07-07  126


    本申请涉及wifi6数据传输领域,尤其涉及一种数据丢包处理方法、系统及终端。



    背景技术:

    wi-fi6(原称:802.11.ax)即第六代无线网络技术,是wi-fi标准的名称。是wi-fi联盟创建于ieee802.11标准的无线局域网技术。wi-fi6主要使用了ofdma、mu-mimo等技术,mu-mimo(多用户多入多出)技术允许路由器同时与多个设备通信,而不是依次进行通信。mu-mimo允许路由器一次与四个设备通信,wi-fi6将允许与多达8个设备通信。

    基于wi-fi6的数据通信方式由于允许路由器与多个设备进行通信,因此在数据传输处理方面避免了传统技术中数据传输处理需要排队等待的问题。而路由器通过数据链路与设备之间进行通信时,数据传输处理的速度与设备的数量无关,不论是一个设备还是多个设备都可以保持高速的数据传输处理。

    但是,由于路由器与设备之间建立的数据链路会存在串扰,导致相邻链路之间的数据传输处理会出现数据串扰,进而使得路由器与设备之间的数据传输存在丢包的风险。



    技术实现要素:

    为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种数据丢包处理方法、系统及终端。

    第一方面,本申请提供了一种数据丢包处理方法,其特征在于,所述方法包括:路由器广播携带有第一设备的设备标识和数据包序号的数据包,所述第一设备为与路由器通信的任一终端设备;所述路由器判断所述数据包发送后的预设时间段内是否接收到所述第一设备发送的数据包反馈响应消息;若所述路由器未接收到所述数据包反馈响应消息,设置至少一个数据包重发窗口;在每个所述数据包重发窗口内,暂停所述路由器与所述第一设备外其余与所述路由器接入的第二设备的数据传输,在所述数据包重发窗口内重发所述数据包;所述路由器判断在所有数据包重发窗口结束后预设时间段内是否接收到所述第一设备发送的数据包反馈响应消息;若所述路由器未接收到所述数据包反馈响应消息,检测是否接收到接收来自第三设备的反馈信息,所述第三设备为除所述第一设备以外的与路由器通信的任一终端设备;根据所述反馈信息将所述数据包通过所述第三设备发送给所述第一设备。

    采用上述实现方式,当路由器与多设备通信,数据链路串扰导致数据丢包时,则暂停其他设备在数据包重发窗口重发数据包,如果仍然失败,则通过接收到第一数据包的第三设备重发,进而降低了路由器与多设备之间数据传输处理时丢包的风险。

    结合第一方面,在第一方面第一种可能的实现方式中,所述设置至少一个数据包重发窗口,包括:比较所述数据包的长度和所述数据包重发窗口的发送数据长度;如果所述数据包的长度大于所述数据包重发窗口的发送数据长度,确定设置的数据包重发窗口的数量。

    结合第一方面或第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,所述在每个所述数据包重发窗口内,暂停所述路由器与所述第一设备外其余与所述路由器接入的第二设备的数据传输,包括:判断其余与第一设备之间的信道干扰程度,如果信道干扰程度大于预设值,确定为第二设备;或者,将所有其余设备都作为第二设备,全部暂停。

    结合第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,如果所述第二设备与路由器之间的剩余传输时间不大于预设值,则等待所述第二设备传输完毕后再暂停。

    结合第一方面或第一方面第一至三种任一可能的实现方式,在第一方面第四种可能的实现方式中,所述在所述数据包重发窗口内重发所述数据包,包括:判断当前路由器与其它设备的数据流量大小,如果流量小于预设值,则多个数据包重发窗口在t时刻之后依次并排发送所述数据包;或者,如果流量大于预设值,则多个数据包重发窗口之间设置窗口间隔δt,且路由器与其它设备的数据流量越大,所述窗口间隔δt设置越长。

    结合第一方面第四种可能的实现方式,在第一方面第五种可能的实现方式中,每个数据包重发窗口发送对应的数据段后,接收来自所述第一设备的反馈响应信息。

    结合第一方面,在第一方面第六种可能的实现方式中,所述根据所述反馈信息将所述数据包通过所述第三设备发送给所述第一设备,包括:所述路由器向所述第一设备发送询问信息,确定是否建立与所述第三设备之间的数据包传输通道;如果接收到所述第一设备发送的建立通道授权信息,则建立所述第一设备与所述第三设备之间的临时数据包传输通道;所述第三设备通过所述临时数据包传输通道将所述第一数据包发送给所述第一设备。

    结合第一方面第六种可能的实现方式,在第一方面第七种可能的实现方式中,如果通过第三设备转发数据包失败,则设置至少一个数据包重发窗口发送所述数据包。

    第二方面,本申请提供了一种基于wifi6的数据丢包处理系统,所述系统包括:广播模块,用于路由器广播携带有第一设备的设备标识和数据包序号的数据包,所述第一设备为与路由器通信的任一终端设备;第一判断模块,所述路由器判断所述数据包发送后的预设时间段内是否接收到所述第一设备发送的数据包反馈响应消息;窗口设置模块,用于若所述路由器未接收到所述数据包反馈响应消息,设置至少一个数据包重发窗口;第一处理模块,用于在每个所述数据包重发窗口内,暂停所述路由器与所述第一设备外其余与所述路由器接入的第二设备的数据传输,在所述数据包重发窗口内重发所述数据包;第二判断模块,用于所述路由器判断在所有数据包重发窗口结束后预设时间段内是否接收到所述第一设备发送的数据包反馈响应消息;信息接收模块,用于若所述路由器未接收到所述数据包反馈响应消息,检测是否接收到接收来自第三设备的反馈信息,所述第三设备为除所述第一设备以外的与路由器通信的任一终端设备;第二处理模块,用于根据所述反馈信息将所述数据包通过所述第三设备发送给所述第一设备。

    结合第二方面,在第二方面第一种可能的实现方式中,所述窗口设置模块包括:比较单元,用于比较所述数据包的长度和所述数据包重发窗口的发送数据长度;第一确定单元,用于如果所述数据包的长度大于所述数据包重发窗口的发送数据长度,确定设置的数据包重发窗口的数量。

    结合第二方面或第二方面第一种可能的实现方式,在第二方面第二种可能的实现方式中,所述第一处理模块包括:

    第一判断处理单元,用于判断其余与第一设备之间的信道干扰程度,如果信道干扰程度大于预设值,确定为第二设备;或者,将所有其余设备都作为第二设备,全部暂停。

    第二判断处理单元,用于判断当前路由器与其它设备的数据流量大小,如果流量小于预设值,则多个数据包重发窗口在t时刻之后依次并排发送所述数据包;或者,如果流量大于预设值,则多个数据包重发窗口之间设置窗口间隔δt,且路由器与其它设备的数据流量越大,所述窗口间隔δt设置越长。

    结合第二方面,在第二方面第三种可能的实现方式,所述第二处理模块包括:第二确定单元,用于所述路由器向所述第一设备发送询问信息,确定是否建立与所述第三设备之间的数据包传输通道;传输通道建立单元,用于如果接收到所述第一设备发送的建立通道授权信息,则建立所述第一设备与所述第三设备之间的临时数据包传输通道所述第三设备通过所述临时数据包传输通道将所述第一数据包发送给所述第一设备。

    第三方面,本申请实施例提供了一种终端,包括:处理器;存储器,用于存储计算机可执行指令;当所述处理器执行所述计算机可执行指令时,所述处理器执行第一方面或第一方面任一可能实现方式的数据丢包处理方法。

    附图说明

    此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

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

    图1为本申请实施例提供的一种数据丢包处理方法的流程示意图;

    图2为本申请实施例提供的路由器与设备通信的示意图;

    图3为本申请实施例提供的数据包标记方式示意图;

    图4为本申请实施例提供的数据通信时串扰丢包的示意图

    图5为本申请实施例提供的一种数据丢包处理系统的示意图;

    图6为本申请实施例提供的一种终端的示意图。

    具体实施方式

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

    图1为本申请实施例提供的一种数据丢包处理方法的流程示意图,参见图1,本实施例提供的数据丢包处理方法包括以下步骤。

    s101,路由器广播携带有第一设备的设备标识和数据包序号的数据包。

    参见图2,本实施例中路由器100与多个设备120进行数据通信,第一设备为多个设备120中的任一个,不代表某一具体设备。而且图2总所示的设备数量仅是示意性的,本实施例中对设备的数量不做具体限定,实际数据传输中基于wifi6的数据通信路由器可以与8个设备同时进行数据传输。

    路由器110与多个设备120通信前确定每一个设备120的设备标识,具体的可以是设备120的mac地址信息转化出的设备标识或在一个通信组内对每个设备120进行标号后确定的设备标识,本实施例不作具体限定。

    路由器110确定每个设备120的设备标识后,在后续数据通信发送数据传输时,会将发送给第一设备的数据包标记上第一是设备的设备标识,并且如果多个数据包会进行数据包序号标记,以实现数据包的顺序发送。参见图3,路由器与第一设备进行数据通信,数据传输还未进行,路由器将发送给第一设备的数据包进行设备标识标记和序号标记。

    s102,所述路由器判断所述数据包发送后的预设时间段内是否接收到所述第一设备发送的数据包反馈响应消息。

    路由器为了保证发送给每个设备的数据包能够被准确接收,本申请实施例中当路由器与第一设备通信发送数据包后,会设置一个预设时间段用来接收来自第一设备的数据包反馈响应。路由器只有接收到上一个数据包被正常接收的反馈响应后,才会开始对下一个数据包的发送。

    如果不接收数据包反馈响应,则路由器会按照顺序依次将数据包发送出去,直至数据传输结束,都无法获得本次传输的质量,有无丢包,从而无法保证通信质量。

    s103,若所述路由器未接收到所述数据包反馈响应消息,设置至少一个数据包重发窗口。

    数据包重发窗口是一个很短的数据发送时长的概念,在一个数据包重发窗口内发送数据时,对其他设备通信基本无影响。正是因为,一个数据包重发窗口发送数据时间短,因此发送的数据长度也比较短。

    因此本申请实施例中,为了保证对数据包的发送,需要保证充足数量的数据包重发窗口。为了实现上述目的,首先比较所述数据包的长度和所述数据包重发窗口的发送数据长度,如果所述数据包的长度大于所述数据包重发窗口的发送数据长度,确定设置的数据包重发窗口的数量。

    例如,数据包的长度为1mb,一个数据包重发窗口的发送数据长度为200kb,则需要设置5个数据包重发窗口。也有可能数据包的长度不是数据包重发窗口发送数据长度的整数倍,假设数据包长度为1.1kb,则设置5个数据包重发窗口显然是不够的,但是设置6个又会产生数据传输时间的浪费。本实施例中首先要保证数据包重发,因此会设置6个数据包重发窗口,但是也可以设置数据包重发窗口结束机制,来克服数据传输时间浪费的问题。当然上述举例只是示意性的,具体情况中数据包的长度是随机的,数据包重发窗口的发送数据长度则是需要依据具体通信情况进行确定。

    s104,在每个所述数据包重发窗口内,暂停所述路由器与所述第一设备外其余与所述路由器接入的第二设备的数据传输,在所述数据包重发窗口内重发所述数据包。

    数据包重发窗口确定后,则开始对数据包进行重发,但是考虑到其他设备可能还会对第一设备的传输产生比较大的影响,则暂停所述路由器与所述第一设备外其余与所述路由器接入的第二设备的数据传输,这样路由器与其他设备的数据传输暂停,则不会存在上述的串扰问题。

    上述是将除第一设备以外的所有设备作为第二设备,但是也会存在这样的情况,就是存在一部分设备对第一设备与路由器之间的通信干扰较小,对于这部分设备时无需暂停它们与路由器之间的通信的。因此本实施例中海可以设置一个判断信道干扰程度的预设值,如果对第一设备与路由器之间的信号传输的信道干扰程度大于预设值,则将这些设备确定为第二设备,将第二设备暂停。

    还有一种情况就是,确定出的第二设备与路由器之间的数据传输即将结束,剩余的数据传输时间远小于相比数据包的重发时间。则等待第二设备的数据传输完毕后,再对第二设备进行暂停操作。

    如果本实施例中的第二设备只是部分对第一设备信号干扰程度大的设备,则路由器还会继续与除第一设备以外的其他设备进行数据通信。此时通过数据包重发窗口进行数据包重发操作时,就需要考虑既可以实现数据包的重发,又得尽量不影响路由器与其他没有暂停的设备之间的数据通信。

    因此本实施例中设置一个流量的预设值,判断当前路由器与其它设备的数据流量大小,如果流量小于预设值,则多个数据包重发窗口在t时刻之后依次并排发送所述数据包。并且本实施例中t时刻之后为路由器与其他设备通信数据流量最小的时间段。

    但是,如果流量大于预设值,则说明其他设备与路由器之间的数据通信是比较多的。则需要将多个数据包重发窗口间隔开来,具体地,多个数据包重发窗口之间设置窗口间隔δt,即第一个数据包重发窗口结束与第二个数据包重发窗口之间的间隔为δt,并且随着路由器与其它设备的数据流量越大,窗口间隔δt设置越长,这样是为了保证其他设备与路由器之间通信的正常。

    本实施例中的窗口间隔δt的设置机制可以根据路由器与其他设备之间进行数据通信时,确定数据传输间歇间隔。在间歇间隔里是数据传输流量最小的,因此可以将数据传输间隔的开始时刻和结束时刻作为窗口间隔δt的开始和结束时刻,这样使得数据包的重发和其他设备与路由器之间的通信是基本无影响的。

    本实施例中采用多个数据包重发窗口将数据包分为多个数据段重新发送给第一设备时,为了保证重发是有效的,在每个数据包重发窗口发送对应的数据段后,需要第一设备发回一个反馈响应信息,以使得路由器确定该数据包重发窗口发出的数据段已被成功接收。

    s105,所述路由器判断在所有数据包重发窗口结束后预设时间段内是否接收到所述第一设备发送的数据包反馈响应消息。

    同样如上述可知,接收第一设备的数据包反馈响应是为了确定数据包能够重发成功。本实施例中,如果多个数据包重发窗口是连续发送的,则需要在数据包重发窗口结束后预设时间段内能否接收到数据包反馈响应消息。如果多个数据包重发窗口之间存在窗口间隔δt,则在每个数据包重发窗口都需要一个反馈响应消息。

    s106,若所述路由器未接收到所述数据包反馈响应消息,检测是否接收到接收来自第三设备的反馈信息。

    由于路由器在同一时间可以与多个设备进行数据通信和传输,因此路由器将数据包通过与第一设备之间的数据链路发送发送给第一设备时,在数据包从发出时刻到第一设备接收到之前,数据包可能会因此数据链路之间的串扰导致数据包传输到其他数据链路上,进而导致路由器与第一设备之间进行数据传输时丢包,如图4所示。

    当第三设备接收到来自路由器发送的数据包时,确定数据包上的设备标识与自身设备标识不符,向路由器发送反馈信息,告知路由器接收到来自第一设备的数据包。具体地,第三设备会对第一数据包的设备标识和数据包长度信息进行确定,然后打包发送给路由器。

    路由器接收到第三设备发送来的信息包后,会对信息包进行解析,以获取信息包中的内容。

    s107,根据所述反馈信息将所述数据包通过所述第三设备发送给所述第一设备。

    路由器接收到来自第三设备的信息包时,数据包的数据信息暂时存储在第三设备的缓存内。路由器根据设备标识确定丢失数据包的第一设备,并且向第一设备发送询问信息,确定第一设备丢包后进一步确定是否建立第一设备与所述第三设备之间的链路。如果第一设备确定存在接收的数据不完整,有丢包情况存在,则想路由器回复确定信息,同意路由器建立其与第三设备之间的链路。

    此时路由器向第三设备发送信息,告知第三设备辅助数据传输,同时建立第一设备与第三设备之间的临时链路。第三设备通过临时链路将数据包发送给所述第一设备。待第一数据包传输完毕后,临时链路断开,第一设备和第三设备通信中断。最初路由器在数据包上不仅进行设备标识,而且还会对每个设备的数据包进行标号,因此第一设备接收到数据包后,会根据数据包编号对所有数据包进行重新排序,以保证接收到数据包进行后期使用时的连贯性。

    进一步地,如果通过第三设备重发数据包仍然失败,则需要确定第一设备的通信状态。并且再次尝试采用数据包重发窗口的方式对数据包进行重发,具体步骤不再赘述。

    由上述实施例可知,本实施例提供的数据丢包处理方法,路由器与多设备通信,数据链路串扰导致数据丢包时,则暂停其他设备在数据包重发窗口重发数据包,如果仍然失败,则通过接收到第一数据包的第三设备重发,进而降低了路由器与多设备之间数据传输处理时丢包的风险。

    与上述实施例提供的一种数据丢包处理方法相对应,本申请还提供了一种基于wifi6的数据丢包处理系统的实施例,参见图5,数据丢包处理系统20包括:广播模块201、第一判断模块202、窗口设置模块203、第一处理模块204、第二判断模块205、信息接收模块206和第二处理模块207。

    广播模块201,用于路由器广播携带有第一设备的设备标识和数据包序号的数据包,所述第一设备为与路由器通信的任一终端设备。第一判断模块202,所述路由器判断所述数据包发送后的预设时间段内是否接收到所述第一设备发送的数据包反馈响应消息。窗口设置模块203,用于若所述路由器未接收到所述数据包反馈响应消息,设置至少一个数据包重发窗口。第一处理模块204,用于在每个所述数据包重发窗口内,暂停所述路由器与所述第一设备外其余与所述路由器接入的第二设备的数据传输,在所述数据包重发窗口内重发所述数据包。第二判断模块205,用于所述路由器判断在所有数据包重发窗口结束后预设时间段内是否接收到所述第一设备发送的数据包反馈响应消息。信息接收模块206,用于若所述路由器未接收到所述数据包反馈响应消息,检测是否接收到接收来自第三设备的反馈信息,所述第三设备为除所述第一设备以外的与路由器通信的任一终端设备。第二处理模块207,用于根据所述反馈信息将所述数据包通过所述第三设备发送给所述第一设备。

    一个示意性实施例,所述窗口设置模块包括:比较单元,用于比较所述数据包的长度和所述数据包重发窗口的发送数据长度;第一确定单元,用于如果所述数据包的长度大于所述数据包重发窗口的发送数据长度,确定设置的数据包重发窗口的数量。

    另一个示意性实施例,所述第一处理模块包括:第一判断处理单元,用于判断其余与第一设备之间的信道干扰程度,如果信道干扰程度大于预设值,确定为第二设备;或者,将所有其余设备都作为第二设备,全部暂停。

    如果所述第二设备与路由器之间的剩余传输时间不大于预设值,则等待所述第二设备传输完毕后再暂停。

    第二判断处理单元,用于判断当前路由器与其它设备的数据流量大小,如果流量小于预设值,则多个数据包重发窗口在t时刻之后依次并排发送所述数据包;或者,如果流量大于预设值,则多个数据包重发窗口之间设置窗口间隔δt,且路由器与其它设备的数据流量越大,所述窗口间隔δt设置越长。每个数据包重发窗口发送对应的数据段后,接收来自所述第一设备的反馈响应信息。

    有一个示意性实施例,所述第二处理模块包括:第二确定单元,用于所述路由器向所述第一设备发送询问信息,确定是否建立与所述第三设备之间的数据包传输通道;传输通道建立单元,用于如果接收到所述第一设备发送的建立通道授权信息,则建立所述第一设备与所述第三设备之间的临时数据包传输通道所述第三设备通过所述临时数据包传输通道将所述第一数据包发送给所述第一设备。如果通过第三设备转发数据包失败,则设置至少一个数据包重发窗口发送所述数据包。

    本申请还提供了一种终端,参见图6,终端30包括:处理器301、存储器302和通信接口303。

    在图6中,处理器301、存储器302和通信接口303可以通过总线相互连接;总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

    处理器301通常是控制终端30的整体功能,例如终端30的启动、以及设备启动后路由器广播携带有第一设备的设备标识和数据包序号的数据包,所述第一设备为与路由器通信的任一终端设备;所述路由器判断所述数据包发送后的预设时间段内是否接收到所述第一设备发送的数据包反馈响应消息;若所述路由器未接收到所述数据包反馈响应消息,设置至少一个数据包重发窗口;在每个所述数据包重发窗口内,暂停所述路由器与所述第一设备外其余与所述路由器接入的第二设备的数据传输,在所述数据包重发窗口内重发所述数据包;所述路由器判断在所有数据包重发窗口结束后预设时间段内是否接收到所述第一设备发送的数据包反馈响应消息;若所述路由器未接收到所述数据包反馈响应消息,检测是否接收到接收来自第三设备的反馈信息,所述第三设备为除所述第一设备以外的与路由器通信的任一终端设备;根据所述反馈信息将所述数据包通过所述第三设备发送给所述第一设备。。

    此外,处理器301可以是通用处理器,例如,中央处理器(英文:centralprocessingunit,缩写:cpu),网络处理器(英文:networkprocessor,缩写:np)或者cpu和np的组合。处理器也可以是微处理器(mcu)。处理器还可以包括硬件芯片。上述硬件芯片可以是专用集成电路(asic),可编程逻辑器件(pld)或其组合。上述pld可以是复杂可编程逻辑器件(cpld),现场可编程逻辑门阵列(fpga)等。

    存储器302被配置为存储计算机可执行指令以支持终端30数据的操作。存储器301可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

    启动终端30后,处理器301和存储器302上电,处理器301读取并执行存储在存储器302内的计算机可执行指令,以完成上述数据丢包处理方法方法实施例中的全部或部分步骤。

    通信接口303用于终端30传输数据,例如实现与路由器和设备之间的数据通信。通信接口303包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口包括usb接口、microusb接口,还可以包括以太网接口。无线通信接口可以为wlan接口,蜂窝网络通信接口或其组合等。

    在一个示意性实施例中,本申请实施例提供的终端30还包括电源组件,电源组件为终端30的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为终端30生成、管理和分配电力相关联的组件。

    通信组件,通信组件被配置为便于终端30和其他设备之间有线或无线方式的通信。终端30可以接入基于通信标准的无线网络,如wifi,4g或5g,或它们的组合。通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。通信组件还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

    本申请说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于系统及终端实施例而言,由于其中的方法基本相似于方法的实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

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

    以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。


    技术特征:

    1.一种数据丢包处理方法,其特征在于,所述方法包括:

    路由器广播携带有第一设备的设备标识和数据包序号的数据包,所述第一设备为与路由器通信的任一终端设备;

    所述路由器判断所述数据包发送后的预设时间段内是否接收到所述第一设备发送的数据包反馈响应消息;

    若所述路由器未接收到所述数据包反馈响应消息,设置至少一个数据包重发窗口;

    在每个所述数据包重发窗口内,暂停所述路由器与所述第一设备外其余与所述路由器接入的第二设备的数据传输,在所述数据包重发窗口内重发所述数据包;

    所述路由器判断在所有数据包重发窗口结束后预设时间段内是否接收到所述第一设备发送的数据包反馈响应消息;

    若所述路由器未接收到所述数据包反馈响应消息,检测是否接收到接收来自第三设备的反馈信息,所述第三设备为除所述第一设备以外的与路由器通信的任一终端设备;

    根据所述反馈信息将所述数据包通过所述第三设备发送给所述第一设备。

    2.根据权利要求1所述的数据丢包处理方法,其特征在于,所述设置至少一个数据包重发窗口,包括:

    比较所述数据包的长度和所述数据包重发窗口的发送数据长度;

    如果所述数据包的长度大于所述数据包重发窗口的发送数据长度,确定设置的数据包重发窗口的数量。

    3.根据权利要求1或2所述的数据丢包处理方法,其特征在于,所述在每个所述数据包重发窗口内,暂停所述路由器与所述第一设备外其余与所述路由器接入的第二设备的数据传输,包括:

    判断其余与第一设备之间的信道干扰程度,如果信道干扰程度大于预设值,确定为第二设备;

    或者,将所有其余设备都作为第二设备,全部暂停。

    4.根据权利要求3所述的数据丢包处理方法,其特征在于,如果所述第二设备与路由器之间的剩余传输时间不大于预设值,则等待所述第二设备传输完毕后再暂停。

    5.根据权利要求1-4任一项所述的数据丢包处理方法,其特征在于,所述在所述数据包重发窗口内重发所述数据包,包括:

    判断当前路由器与其它设备的数据流量大小,如果流量小于预设值,则多个数据包重发窗口在t时刻之后依次并排发送所述数据包;

    或者,

    如果流量大于预设值,则多个数据包重发窗口之间设置窗口间隔δt,且路由器与其它设备的数据流量越大,所述窗口间隔δt设置越长。

    6.根据权利要求5所述的数据丢包处理方法,其特征在于,还包括:每个数据包重发窗口发送对应的数据段后,接收来自所述第一设备的反馈响应信息。

    7.根据权利要求1所述的数据丢包处理方法,其特征在于,所述根据所述反馈信息将所述数据包通过所述第三设备发送给所述第一设备,包括:

    所述路由器向所述第一设备发送询问信息,确定是否建立与所述第三设备之间的数据包传输通道;

    如果接收到所述第一设备发送的建立通道授权信息,则建立所述第一设备与所述第三设备之间的临时数据包传输通道;

    所述第三设备通过所述临时数据包传输通道将所述第一数据包发送给所述第一设备。

    8.根据权利要求7所述的数据丢包处理方法,其特征在于,如果通过第三设备转发数据包失败,则设置至少一个数据包重发窗口发送所述数据包。

    9.一种基于wifi6的数据丢包处理系统,其特征在于,所述系统包括:

    广播模块,用于路由器广播携带有第一设备的设备标识和数据包序号的数据包,所述第一设备为与路由器通信的任一终端设备;

    第一判断模块,所述路由器判断所述数据包发送后的预设时间段内是否接收到所述第一设备发送的数据包反馈响应消息;

    窗口设置模块,用于若所述路由器未接收到所述数据包反馈响应消息,设置至少一个数据包重发窗口;

    第一处理模块,用于在每个所述数据包重发窗口内,暂停所述路由器与所述第一设备外其余与所述路由器接入的第二设备的数据传输,在所述数据包重发窗口内重发所述数据包;

    第二判断模块,用于所述路由器判断在所有数据包重发窗口结束后预设时间段内是否接收到所述第一设备发送的数据包反馈响应消息;

    信息接收模块,用于若所述路由器未接收到所述数据包反馈响应消息,检测是否接收到接收来自第三设备的反馈信息,所述第三设备为除所述第一设备以外的与路由器通信的任一终端设备;

    第二处理模块,用于根据所述反馈信息将所述数据包通过所述第三设备发送给所述第一设备。

    10.一种终端,其特征在于,包括:

    处理器;

    存储器,用于存储计算机可执行指令;

    当所述处理器执行所述计算机可执行指令时,所述处理器执行权利要求1-8任一项所述的数据丢包处理方法。

    技术总结
    本申请涉及一种数据丢包处理方法、系统及终端,路由器在数据包发送后的预设时间段内如果未收到第一设备发送的数据包反馈响应消息,设置至少一个数据包重发窗口并暂停其余与所述路由器接入的第二设备的数据传输,重发所述数据包;如果所有数据包重发窗口结束后预设时间段内仍未接收到第一设备发送的数据包反馈响应消息,检测是否接收到接收来自第三设备的反馈信息,根据反馈信息将数据包通过第三设备发送给所述第一设备。当路由器与多设备通信,数据链路串扰导致数据丢包时,则暂停其他设备在数据包重发窗口重发数据包,如果仍然失败,则通过接收到第一数据包的第三设备重发,进而降低了路由器与多设备之间数据传输处理时丢包的风险。

    技术研发人员:卫彩霞;陈涛;朱开发;邢省委;席磊磊;关欣赟
    受保护的技术使用者:深圳市微网力合信息技术有限公司
    技术研发日:2020.12.18
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-5499.html

    最新回复(0)