掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本公开涉及通信技术领域,尤其涉及一种数据传输控制方法、装置、电子设备及存储介质。

背景技术

随着通信技术的快速发展,各类网络应用都需要进行数据传输。然而,互联网的通信网络并非总是可靠,在数据传输过程中,可能会由于网络的不稳定因素而导致数据包丢失。

相关技术中,通常由接收数据包的电子设备接收到数据包后,向发送数据包的电子设备发送数据包未确认(Negative Acknowledgement,NACK)请求,以基于该NACK请求判断该数据包是否丢失,若丢包触发进行数据包重传。

这种方式下,重传控制效率较低,影响数据包的重传控制效果,从而影响设备间的通信稳定性,影响通信质量。

发明内容

本公开旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本公开的目的在于提出一种数据传输控制方法、装置、电子设备、存储介质及计算机程序产品,能够避免受到网络抖动的影响,有效提升数据包的重传控制效率,有效地提升数据包的重传控制效果,有效提升设备间的通信稳定性和通信质量。

根据本公开第一方面,提供了一种数据传输控制方法,应用于第一设备,所述第一设备接收第二设备传输的数据包,包括:接收所述第二设备传输的第一数据包,并确定与所述第一数据包对应的第一时间信息;根据所述第一时间信息和第二时间信息确定网络抖动程度值,其中,所述第二时间信息是与第二数据包对应的时间信息,所述第二数据包是所述第二设备在传输所述第一数据包之前向所述第一设备传输的数据包;以及根据所述网络抖动程度值确定重传时间戳,并将所述重传时间戳发送至所述第二设备。

根据本公开第二方面,提供了一种数据传输控制方法,应用于第二设备,所述第二设备向第一设备传输数据包,包括:在向所述第一设备传输第一数据包后,接收所述第一设备发送的重传时间戳,所述重传时间戳是所述第一设备根据网络抖动程度值确定的;根据所述重传时间戳进行数据传输控制。

根据本公开第三方面,提供了一种数据传输控制装置,应用于第一设备,所述第一设备接收第二设备传输的数据包,包括:第一接收模块,用于接收所述第二设备传输的第一数据包,并确定与所述第一数据包对应的第一时间信息;第一确定模块,用于根据所述第一时间信息和第二时间信息确定网络抖动程度值,其中,所述第二时间信息是与第二数据包对应的时间信息,所述第二数据包是所述第二设备在传输所述第一数据包之前向所述第一设备传输的数据包;以及第二确定模块,用于根据所述网络抖动程度值确定重传时间戳,并将所述重传时间戳发送至所述第二设备。

根据本公开第四方面,提供了一种数据传输控制装置,应用于第二设备,所述第二设备向第一设备传输数据包,包括:第二接收模块,用于在向所述第一设备传输第一数据包后,接收所述第一设备发送的重传时间戳,所述重传时间戳是所述第一设备根据网络抖动程度值确定的;控制模块,用于根据所述重传时间戳进行数据传输控制。

根据本公开第五方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开第一方面实施例的数据传输控制方法,或者执行本公开第二方面实施例的数据传输控制方法。

根据本公开第六方面,提出了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开第一方面实施例的数据传输控制方法,或者执行本公开第二方面实施例的数据传输控制方法。

根据本公开第七方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开第一方面实施例的数据传输控制方法,或者实现本公开第二方面实施例的数据传输控制方法。

本公开的数据传输控制方法、装置、电子设备、存储介质及计算机程序产品,至少存在以下有益效果:

通过接收所述第二设备传输的第一数据包,并确定与所述第一数据包对应的第一时间信息,并根据所述第一时间信息和第二时间信息确定网络抖动程度值,其中,所述第二时间信息是与第二数据包对应的时间信息,所述第二数据包是所述第二设备在传输所述第一数据包之前向所述第一设备传输的数据包,以及根据所述网络抖动程度值确定重传时间戳,并将所述重传时间戳发送至所述第二设备,由于是结合网络抖动程度来辅助进行数据包的重传控制,能够避免受到网络抖动的影响,有效提升数据包的重传控制效率,有效地提升数据包的重传控制效果,有效提升设备间的通信稳定性和通信质量。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是根据本公开第一实施例提出的数据传输控制方法的流程示意图;

图2是根据本公开第二实施例提出的数据传输控制方法的流程示意图;

图3是本公开实施例中丢包重传NACK请求消息的结构示意图;

图4是根据本公开第三实施例提出的数据传输控制方法的流程示意图;

图5是根据本公开第四实施例提出的数据传输控制方法的流程示意图;

图6是根据本公开第五实施例提出的数据传输控制装置的结构示意图;

图7是根据本公开第六实施例提出的数据传输控制装置的结构示意图;

图8是根据本公开第七实施例提出的数据传输控制装置的结构示意图;

图9示出了适于用来实现本公开实施方式的示例性电子设备的框图。

具体实施方式

下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本公开,而不能理解为对本公开的限制。相反,本公开的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

针对相关技术中,在数据传输过程中会受到网络抖动的影响,影响数据包的重传控制效率,从而影响设备间的通信稳定性,影响通信质量的技术问题,本实施例技术方案提供了一种数据传输控制方法、装置、电子设备、存储介质及计算机程序产品,下面结合具体的实施例对该方法进行说明

图1是根据本公开第一实施例提出的数据传输控制方法的流程示意图。

其中,需要说明的是,本实施例的数据传输控制方法的执行主体为数据传输控制装置,该装置可以由软件和/或硬件的方式实现,该装置可以配置在电子设备中,电子设备可以包括但不限于终端、服务器端等。

本实施例中的数据传输控制方法,可以应用于第一设备,所述第一设备接收第二设备传输的数据包,也即是说,该第一设备可以是接收第二设备所传输的数据包的电子设备,相应的,第二设备即可以是向第一设备传输数据包的电子设备,对此不做限制。

如图1所示,该数据传输控制方法,包括:

S101:接收第二设备传输的第一数据包,并确定第一数据包对应的第一时间信息。

其中,数据包可以是指分块的网络数据,例如,第二设备可以通过通信网络向第一设备传输通信用的数据包,该通信网络可以为广域网、局域网,对此不做限制。

其中,第一设备所接收到的第二设备当前传输的一个数据包,可以被称为第一数据包,该第一数据包会具有一些关联的时间信息,该关联的时间信息,可以被称为第一时间信息,第一时间信息比如第一设备接收该第一数据包的时间,或者第二设备发送该第一数据包的时间,对此不做限制。

上述在接收第二设备传输的第一数据包时,可以实时地确定与第一数据包对应的第一时间信息,该第一时间信息可以被用于确定通信网络的网络抖动程度。

可选地,一些实施例中,确定与第一数据包对应的第一时间信息,可以是确定接收第一数据包时的第一接收时间,并解析与第一数据包对应的第一时间戳,所述第一时间戳,是第二设备传输所述第一数据包时的时间戳;第一接收时间和第一时间戳被共同作为所述第一时间信息,从而能够实现快速地确定出与第一数据包关联的时间信息,并通过将第一接收时间和第一时间戳作为前述关联的时间信息,且该关联的时间信息被用于计算网络抖动程度值,从而能够辅助便捷地确定出网络抖动程度值,使得所计算得到的网络抖动程度值的参考性更高,从而有效地辅助提升数据包的重传控制效果。

也即是说,在本实施例中,在确定第一数据包对应的第一时间信息时,可以通过确定第一设备接收第一数据包的时间,即第一数据包的接收时间,并确定第二设备传输第一数据包的时间(第一时间戳),由此可以得到第一数据包关联的两个时间信息,第一数据包关联的两个时间信息即为第一数据包对应的时间信息。

当然,也可以采用其它任意可能的与第一数据包关联的时间信息作为上述的第一时间信息,比如将第一接收时间和第一时间戳进行相应的数学运算,将运算得到的时间值作为第一时间信息,对此不做限制。

S102:根据第一时间信息和第二时间信息确定网络抖动程度值,其中,第二时间信息是与第二数据包对应的时间信息,第二数据包是所述第二设备在传输第一数据包之前向所述第一设备传输的数据包。

其中,第二数据包是第二设备在传输第一数据包之前向第一设备传输的数据包,即第一设备所接收到的第二设备当前传输的一个数据包,可以被称为第一数据包,相应的,在当前时间之前,第一设备所接收到的第二设备传输的数据包,可以被称为第二数据包。

该第二数据包会具有一些关联的时间信息,该关联的时间信息,可以被称为第二时间信息,第二时间信息比如第一设备接收该第二数据包的时间,或者第二设备传输该第二数据包时的时间戳,对此不做限制。

也即是说,本公开实施例中,可以根据第一设备所接收到的第二设备当前传输的第一数据包,以及在当前时间之前,第一设备所接收到的第二设备传输的第二数据包来相应地确定网络抖动程度。

其中,网络抖动是指网络发生拥塞的情况下,排队产生的延迟会影响端到端的延迟,并导致通过同一连接传输的分组延迟各不相同,而抖动就是用来描述这样一延迟变化的程度,网络抖动程度值则可以是对该抖动程度的一种量化体现,网络抖动程度值越小,可以表明通信网络质量越稳定,反之表明通信网络质量越不稳定。

本公开实施例中,可以基于与第一数据包对应的第一时间信息,和与第二数据包对应的第二时间信息,并结合一定的算法逻辑来确定网络抖动程度值,从而能够实现便捷地、准确地确定出网络抖动程度值。

举例而言,在基于与第一数据包对应的第一时间信息,和与第二数据包对应的第二时间信息确定网络抖动程度值时,可以基于预训练的抖动检测模型来确定,比如可以将与第一数据包对应的第一时间信息,和与第二数据包对应的第二时间信息输入至预训练的抖动检测模型之中,以得到预训练的抖动检测模型输出的网络抖动程度值,或者,也可以采用其它任意可能的方式来执行根据所述第一时间信息和第二时间信息确定网络抖动程度值的步骤,对此不做限制。

本公开实施例中,上述将所述第一接收时间和所述第一时间戳被共同作为所述第一时间信息,还可以确定与第二数据包对应的第二时间信息,该第二时间信息可以包括:第二接收时间,以及第二时间戳,第二接收时间,是第一设备接收所述第二数据包时的时间,第二时间戳,是第二设备传输所述第二数据包时的时间戳,则根据所述第一时间信息和第二时间信息确定网络抖动程度值,可以是根据第一接收时间、第一时间戳、第二接收时间,以及第二时间戳确定网络抖动程度值,从而能够更为准确地对当前时间的网络抖动程度进行量化计算,有效地提升网络抖动程度在数据包的重传控制方面的参考价值。

也即是说,本公开实施例中,可以支持参考第一接收时间、第一时间戳、第二接收时间,以及第二时间戳来确定当前时间的网络抖动程度,由于在数据通信的过程中,不同数据包的接收时间、时间戳之间的相互关系,可能会与通信网络的网络抖动程度具有一定的关联关系,比如的网络抖动程度越大,可能会对不同数据包的接收时间、时间戳之间的相互关系的影响越大,网络抖动程度越小,可能会对不同数据包的接收时间、时间戳之间的相互关系的影响也较小。

从而本公开实施例中,可以参考第一接收时间、第一时间戳、第二接收时间,以及第二时间戳来辅助确定网络抖动程度值,比如,可以对第一接收时间、第一时间戳、第二接收时间,以及第二时间戳结合一定的运算处理,以得到网络抖动程度值,对此不做限制。

S103:根据网络抖动程度值确定重传时间戳,并将重传时间戳发送至第二设备。

上述在根据所述第一时间信息和第二时间信息确定网络抖动程度值之后,可以根据网络抖动程度值确定重传时间戳,并将重传时间戳发送至第二设备,以使第二设备参考该重传时间戳进行数据传输控制。

本实施例中,通过接收所述第二设备传输的第一数据包,并确定与所述第一数据包对应的第一时间信息,并根据第一时间信息和第二时间信息确定网络抖动程度值,其中,第二时间信息是与第二数据包对应的时间信息,第二数据包是第二设备在传输第一数据包之前向第一设备传输的数据包,以及根据网络抖动程度值确定重传时间戳,并将重传时间戳发送至第二设备,由于是结合网络抖动程度来辅助进行数据包的重传控制,从而能够避免受到网络抖动的影响,,有效提升数据包的重传控制效率,有效地提升数据包的重传控制效果,有效提升设备间的通信稳定性和通信质量。

图2是本公开第二实施例提出的数据传输控制方法的流程示意图。

本实施例中的数据传输控制方法,可以应用于第一设备,第一设备接收第二设备传输的数据包,也即是说,该第一设备可以是接收第二设备所传输的数据包的电子设备,相应的,第二设备即可以是向第一设备传输数据包的电子设备,对此不做限制。

如图2所示,该数据传输控制方法,包括:

S201:接收第二设备传输的第一数据包。

S202:确定接收第一数据包时的第一接收时间。

S203:解析与第一数据包对应的第一时间戳,第一时间戳,是第二设备传输第一数据包时的时间戳;第一接收时间和第一时间戳被共同作为第一时间信息。

S201-S203的描述说明可以具体参见上述实施例,在此不再赘述。

S204:确定接收第二数据包时的第二接收时间,以及与第二数据包对应的第二时间戳,第二接收时间,是第一设备接收第二数据包时的时间,第二时间戳,是第二设备传输第二数据包时的时间戳。

其中,在当前时间之前,第一设备所接收到的第二设备传输的一个数据包,可以被称为第二数据包,该第二数据包会具有一些有关联的时间信息,该与第二数据包关联的时间信息,可以被称为第二时间信息,第二时间信息比如第一设备接收该第二数据包的时间(第二接收时间),或者第二设备传输该第二数据包时的时间戳(第二时间戳),对此不做限制。

一些实施例中,第一设备在接收第二设备传输的第二数据包时,可以实时地确定与第二数据包对应的第二时间信息,并将该第二时间信息记录在第一设备本地中,从而在接收第一数据包,并根据第一数据包对应的第一时间信息分析网络抖动程度时,可以直接从本地读取存储的第二时间信息,以根据第一时间信息结合第二时间信息确定网络抖动程度。

S205:确定第一时间戳和第一接收时间的第一差值。

其中,第一时间戳是指所述第二设备传输第一数据包时的时间戳。

也即是说,第一设备在接收第二设备传输的第一数据包时,可以确定第一数据包对应的第一时间信息,解析该第一时间信息得到第一时间戳和第一接收时间,而后可以确定第一时间戳和第一接收时间的差值(该差值可以被称为第一差值),该第一差值可被用于确定网络抖动程度值。

举例来说,假如第二设备发送第一数据包的第一时间戳,即,第一时间戳为t11,第一设备接收第二设备传输的第一数据包的第一接收时间为t12,则t11与t12的差值即为第一差值。

S206:确定第二时间戳和第二接收时间的第二差值。

其中,第二时间戳是指第二设备传输第二数据包的时间。

也即是说,第一设备在确定第一时间戳和所述第一接收时间的第一差值之后,可以从本地存储中读取相应的第二时间戳和第二接收时间,由于第二数据包是在当前时间之前由第二设备传输至第一设备的,由此,可以预先将第二时间戳和第二接收时间存储至第一设备本地存储中,以支持直接读取。

上述确定的第二时间戳和第二接收时间之间的差值,可以被称为第二差值,该第二差值可以被用于与第一差值相结合,以确定网络抖动程度值。

举例来说,假如第二设备传输该第二数据包时的时间戳,即,第二时间戳为t21,第一设备接收第二设备传输的第二数据包的第二接收时间为t22,则t21与t22的差值即为第二差值。

S207:将第二差值和所述第一差值之间的差值,作为网络抖动程度值。

上述确定第一时间戳和所述第一接收时间的第一差值,并确定第二时间戳和所述第二接收时间的第二差值之后,可以确定第二差值和所述第一差值之间的差值,并将该差值作为网络抖动程度值。

也即是说,可以根据第二差值和第一差值,并结合相应的数学运算逻辑以得到网络抖动程度值。

由于是根据第一时间戳和第一接收时间的第一差值,以及第二时间戳和所述第二接收时间的第二差值确定网络抖动程度值,从而能够快速准确地确定当前时间内网络抖动程度,实现更加准确地对当前时间的网络抖动情况进行量化,有效地辅助提升数据包的重传控制效果,从而有效辅助提升设备间的通信稳定性和通信质量。

S208:确定目标时间戳,目标时间戳是多个时间戳之中值最大的时间戳,多个时间戳是历史时间段之内与所接收到的多个数据包分别对应的时间戳。

上述在确定网络抖动程度值之后,还可以从第一设备在历史时间段之内与所接收到的多个数据包分别对应的多个时间戳之中确定出最大的时间戳并作为目标时间戳,而后,结合网络抖动程度值和目标时间戳来确定出重传时间戳,该重传时间戳可以被用于辅助第二设备对数据包进行重传控制。

S209:确定目标时间戳对应的目标接收时间,并确定目标时间戳和目标接收时间的时间和值,以及将时间和值和网络抖动程度值之间的差值确定为所述重传时间戳。

上述在确定目标时间戳后,可以确定目标时间戳对的目标接收时间,并确定目标时间戳和目标接收时间的时间和值,以及将所述时间和值和所述网络抖动程度值之间的差值确定为重传时间戳。

举例来说,假如在历史时间段内,目标时间戳即收到的最大时间戳是10000ms,目标时间戳所对应的目标接收时间是50ms,计算所得的网络抖动程度值是30ms,则目标时间戳和目标接收时间的时间和值=10000ms+50ms=10050ms,重传时间戳=10050ms-30ms=10020ms。

由于是结合目标时间戳、以及目标时间戳对应的接收时间及网络抖动程度值对重传时间戳进行计算,可以准确得到重传时间戳,从而能够有效保证数据包重传控制的准确性,能够使第二设备参考重传时间戳对数据包传输进行控制。

S210:根据重传时间戳,生成丢包重传NACK请求消息。

上述根据目标时间戳和所述网络抖动程度值之间的差值确定重传时间戳之后,第一设备可以根据重传时间戳,生成丢包重传NACK请求消息,从而基于该丢包重传NACK请求消息来触发第二设备对数据包进行相应的重传控制。

其中,丢包重传的NACK请求消息是指数据发送端向接收端发送数据包后,接收端如果未收到相应的某个数据包,及某个数据包在数据传输过程中丢失,则接收端会生成非应答消息,请求发送端对相应的丢失的数据包进行重新发送,该非应答消息即可以被称为丢包重传NACK请求消息。

本实施例中,第一设备可以将重传时间戳传送NACK生成器(NACK Generator),由NACK生成器根据重传时间戳,生成丢包重传NACK请求消息,而后触发后续将丢包重传NACK请求消息发送至第二设备的处理逻辑。

如图3所示,图3是本公开实施例中丢包重传NACK请求消息的结构示意图。

S211:如果当前时间达到设定时间,则将丢包重传NACK请求消息发送至所述第二设备。

上述根据重传时间戳生成丢包重传NACK请求消息后,可以预先配置一个定时器,并基于该定时器进行定时控制,实时地检测当前时间是否达到定时器的设定时间,如果当前时间达到设定时间,则将丢包重传NACK请求消息发送至所述第二设备。

在本实施例中,NACK生成器(NACK Generator)可以通过定时器对丢包重传NACK请求消息进行发送控制,例如,当第一设备接收到数据包时,可以触发启动定时器,设定时间可以例如100ms,后续也可以配置为Rtt(网络延时)时间(最小30ms),从而支持定期将丢包重传NACK请求消息发送至第二设备。

本实施例中,通过接收第二设备传输的第一数据包,并确定接收第一数据包的时间,解析第一数据包对应的第一时间戳,第一时间戳,是第二设备传输第一数据包时的时间戳,第一接收时间和第一时间戳被共同作为第一时间信息,并确定接收第二数据包时的第二接收时间,以及第二数据包对应的第二时间戳,第二接收时间,是第一设备接收第二数据包时的时间,第二时间戳,是第二设备传输第二数据包时的时间戳,后确定第一时间戳和第一接收时间的第一差值,确定第二时间戳和第二时间戳的第二差值,根据第二差值和第一差值,得出网络抖动程度值,确定目标时间戳,目标时间戳是多个时间戳之中值最大的时间戳,多个时间戳是历史时间段之内与所接收到的多个数据包分别对应的时间戳,并将目标时间戳和所述网络抖动程度值之间的差值确定为重传时间戳,根据重传时间戳,生成丢包重传NACK请求消息,如果当前时间达到设定时间,则将丢包重传NACK请求消息发送至所述第二设备。由于是根据第一时间戳和第一接收时间的第一差值,以及第二时间戳和所述第二接收时间的第二差值确定网络抖动程度值,从而能够快速准确地确定当前时间内网络抖动程度,实现更加准确地对当前时间的网络抖动情况进行量化,有效地辅助提升数据包的重传控制效果,从而有效辅助提升设备间的通信稳定性和通信质量。还实现结合网络抖动程度值和目标时间戳得到重传时间戳,使得第一设备可以根据重传时间戳生成NACK请求消息,从而辅助准确地对数据包进行重传控制,提升数据传输控制效果。

图4是本公开第三实施例提出的数据传输控制方法的流程示意图。

本实施例中的数据传输控制方法,可以应用于第二设备,第二设备向第一设备传输数据包,也即是说,该第一设备可以是接收第二设备所传输的数据包的电子设备,相应的,第二设备即可以是向第一设备传输数据包的电子设备,对此不做限制。

如图4所示,该数据传输控制方法,包括:

S401:在向第一设备传输第一数据包后,接收第一设备发送的重传时间戳,重传时间戳是第一设备根据网络抖动程度值确定的。

在本实施例中,第二设备在向第一设备传输第一数据包后,可以实时地监听是否接收到第一设备反馈的重传时间戳,如果检测接收到该重传时间戳,则可以触发后续步骤。

S402:根据重传时间戳进行数据传输控制。

也即是说,第二设备在接收到第一设备发送的重传时间戳之后,可以参考该重传时间戳进行数据包的重传控制。

本实施例中,通过在向第一设备传输第一数据包后,接收所述第一设备发送的重传时间戳,根据重传时间戳进行数据传输控制,由于重传时间戳是第一设备根据网络抖动程度值确定的,从而能够避免受到网络抖动的影响,保证数据包重传控制的准确性。

图5是本公开第四实施例提出的数据传输控制方法的流程示意图。

本实施例中的数据传输控制方法,可以应用于第二设备,第二设备向第一设备传输数据包,也即是说,该第一设备可以是接收第二设备所传输的数据包的电子设备,相应的,第二设备即可以是向第一设备传输数据包的电子设备,对此不做限制。

如图5所示,该数据传输控制方法,包括:

S501:在向第一设备传输第一数据包后,接收第一设备发送的丢包重传NACK请求消息。

本实施例中,第二设备在向第一设备传输第一数据包后,接收第一设备发送的丢包重传NACK请求消息。

S502:对丢包重传NACK请求消息进行解析,以得到重传时间戳,重传时间戳是所述第一设备根据网络抖动程度值确定的。

上述在向第一设备传输第一数据包,并接收第一设备发送的丢包重传NACK请求消息后,可以对丢包重传NACK请求消息进行解析,以得到重传时间戳,重传时间戳是第一设备根据网络抖动程度值确定的。

在本实施例中,第二设备在接收到第一设备发送的丢包重传NACK请求消息时,即可判定数据传输过程中出现了数据丢包情况,此时可以对第一设备生成的丢包重传NACK请求消息进行解析,以得到NACK请求消息中所携带的重传时间戳。

S503:对丢包重传NACK请求消息进行解析,以得到已丢失的至少一个数据包标识。

上述在对丢包重传NACK请求消息进行解析得到重传时间戳后,可以在对丢包重传NACK请求消息进行解析,以得到已丢失的至少一个数据包标识,该数据包标识可以用于唯一标识相应的数据包。

在本实施例中,第二设备在接收到第一设备发送的NACK请求消息后,即可判定数据传输过程中出现了数据丢包情况,此时可以对第一设备生成的丢包重传NACK请求消息进行解析,以得到在数据传输过程中丢失的一个或者多个的数据包标识,该一个或者多个的数据包标识可以被用于辅助确定相应的数据包,对此不做限制。

S504:根据至少一个数据包标识确定对应的至少一个目标数据包,目标数据包对应的时间戳在所述重传时间戳之前。

上述在对所述丢包重传NACK请求消息进行解析,以得到已丢失的至少一个数据包标识后,可以根据所述至少一个数据包标识确定对应的至少一个目标数据包,该目标数据包可以是指在数据传输过程中已丢失的数据包,从而可以触发后续对已丢失的数据包进行针对性的重传控制。

S505:将至少一个目标数据包传输至所述第一设备。

本实施例中,在确定数据传输过程中丢失的数据包后,第二设备会将目标数据包即丢失的数据包重新传输至第一设备,并在向第一设备传输各个目标数据包时,对相应的目标数据包的时间戳进行更新。

本实施例中,通过向第一设备传输第一数据包后,接收第一设备发送的丢包重传NACK请求消息,后对丢包重传NACK请求消息进行解析,以得到重传时间戳,并对丢包重传NACK请求消息进行解析,以得到已丢失的至少一个数据包标识,后将至少一个目标数据包传输至所述第一设备,从而能够准确地判定出数据传输过程中的丢包情况,能够实现更为全面地对丢失的数据包进行重传,且通过对重传的目标数据包对应的时间戳进行更新,从而可以在重传之后,支持对重传过程是否发生丢包的情况进行再次判断,能够有效地提升数据传输控制的全面性和准确性。

图6是根据本公开第五实施例提出的数据传输控制装置的结构示意图。

如图6所示该数据传输控制装置60,应用于第一设备,所述第一设备接收第二设备传输的数据包,包括:

第一接收模块601,用于接收第二设备传输的第一数据包,并确定与第一数据包对应的第一时间信息;

第一确定模块602,用于根据第一时间信息和第二时间信息确定网络抖动程度值,其中,第二时间信息是与第二数据包对应的时间信息,第二数据包是所述第二设备在传输第一数据包之前向所述第一设备传输的数据包;以及

第二确定模块603,用于根据网络抖动程度值确定重传时间戳,并将重传时间戳发送至所述第二设备。

可选地,在本公开的一些实施例中,第一接收模块601,具体用于:

确定接收第一数据包时的第一接收时间;

解析与第一数据包对应的第一时间戳,第一时间戳,是第二设备传输所述第一数据包时的时间戳;第一接收时间和第一时间戳被共同作为第一时间信息。

可选地,在本公开的一些实施例中,第二时间信息包括:第二接收时间,以及第二时间戳,第二接收时间,是第一设备接收所述第二数据包时的时间,第二时间戳,是第二设备传输第二数据包时的时间戳,则第一确定模块602,具体用于:

根据第一接收时间、第一时间戳、第二接收时间,以及第二时间戳确定所述网络抖动程度值。

可选的,在本公开的一些实施例中,第一确定模块602,具体用于:

确定第一时间戳和第一接收时间的第一差值;

确定第二时间戳和第二接收时间的第二差值;

将所述第二差值和所述第一差值之间的差值作为所述网络抖动程度值。

可选的,在本公开的一些实施例中,如图7所示,图7是根据本公开第六实施例提出的数据传输控制装置的结构示意图,第二确定模块603,包括:

第一确定子模块6031,用于确定目标时间戳,目标时间戳是多个时间戳之中值最大的时间戳,多个时间戳是历史时间段之内与所接收到的多个数据包分别对应的时间戳;

第二确定子模块6032,用于确定目标时间戳对应的目标接收时间,并确定目标时间戳和目标接收时间的时间和值,以及将时间和值和网络抖动程度值之间的差值确定为所述重传时间戳。

可选的,在本公开的一些实施例中,第二确定模块603,具体用于:

根据重传时间戳,生成丢包重传NACK请求消息;

如果当前时间达到设定时间,则将丢包重传NACK请求消息发送至所述第二设备。

需要说明的是,前述对数据传输控制方法的解释说明也适用于本实施例的数据传输控制装置,此处不再赘述。

本实施例中,通过接收所述第二设备传输的第一数据包,并确定与所述第一数据包对应的第一时间信息,并根据第一时间信息和第二时间信息确定网络抖动程度值,其中,第二时间信息是与第二数据包对应的时间信息,第二数据包是第二设备在传输第一数据包之前向第一设备传输的数据包,以及根据网络抖动程度值确定重传时间戳,并将重传时间戳发送至第二设备,由于是结合网络抖动程度来辅助进行数据包的重传控制,从而能够避免受到网络抖动的影响,有效提升数据包的重传控制效率,有效地提升数据包的重传控制效果,有效提升设备间的通信稳定性和通信质量。图8是根据本公开第七实施例提出的数据传输控制装置的结构示意图。

如图8所示,该数据传输控制装置80,应用于第二设备,第二设备向第一设备传输数据包,所述装置包括:

第二接收模块801,用于在向第一设备传输第一数据包后,接收第一设备发送的重传时间戳,重传时间戳是所述第一设备根据网络抖动程度值确定的;

控制模块802,用于根据重传时间戳进行数据传输控制。

在本公开的一些实施例中,第二接收模块801,具体用于:

接收第一设备发送的丢包重传NACK请求消息;

对丢包重传NACK请求消息进行解析,以得到重传时间戳。

在本公开的一些实施例中,控制模块802,具体用于:

对丢包重传NACK请求消息进行解析,以得到已丢失的至少一个数据包标识;

根据至少一个数据包标识确定对应的至少一个目标数据包,目标数据包对应的时间戳在重传时间戳之前;

将至少一个目标数据包传输至第一设备。

需要说明的是,前述对数据传输控制方法的解释说明也适用于本实施例的数据传输控制装置,此处不再赘述。

本实施例中,通过在向第一设备传输第一数据包后,接收所述第一设备发送的重传时间戳,根据重传时间戳进行数据传输控制,由于重传时间戳是第一设备根据网络抖动程度值确定的,从而能够避免受到网络抖动的影响,保证数据包重传控制的准确性。

为了实现上述实施例,本公开还提出一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如本公开前述实施例提出的数据传输控制方法。为了实现上述实施例,本公开还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开前述实施例提出的数据传输控制方法。

为了实现上述实施例,本公开还提出一种计算机程序产品,当计算机程序产品中的指令处理器执行时,执行如本公开前述实施例提出的数据传输控制方法。

图9示出了适于用来实现本公开实施方式的示例性电子设备的框图。图9显示的电子设备12仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图9所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry Standard Architecture;以下简称:ISA)总线,微通道体系结构(MicroChannel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(VideoElectronics Standards Association;以下简称:VESA)局域总线以及外围组件互连(Peripheral Component Interconnection;以下简称:PCI)总线。

电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RandomAccessMemory;以下简称:RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图9未显示,通常称为“硬盘驱动器”)。

尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本公开所描述的实施例中的功能和/或方法。

电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Net work;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的数据传输控制方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

需要说明的是,在本公开的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本公开的描述中,除非另有说明,“多个”的含义是两个或两个以上。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。

应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。

相关技术
  • 数据传输控制方法及系统、装置、电子设备、存储介质
  • 数据传输控制方法、装置、电子设备及存储介质
技术分类

06120113192465