一种数据传输方法及装置制造方法及图纸

技术编号:21917277 阅读:18 留言:0更新日期:2019-08-21 13:27
本申请提供了一种数据传输方法及装置,其中,该数据传输方法包括:获取当前待存放的数据包的目标序号;根据目标序号、已存放在滑动窗口的数据包的序号中的最大序号,以及滑动窗口的最大位置序号,确定当前待存放的数据包在滑动窗口存放的目标位置序号;将当前待存放的数据包存放在滑动窗口中的目标位置序号。通过本申请提供的数据传输方法,可以将接收到的乱序的数据包有序的转发至接收端,确保数据包的传输率;并且,在目标序号大于或等于最大序号与最大位置序号之和时,创建空数据包,补全数据流中缺失的数据包,使接收端可以按照有序,全量的逻辑来处理数据流,简化其处理逻辑,提高处理效率。

A Data Transmission Method and Device

【技术实现步骤摘要】
一种数据传输方法及装置
本申请涉及通信
,具体而言,涉及一种数据传输方法及装置。
技术介绍
流式数据是一组顺序、大量、快速、连续到达的数据序列,一般情况下,数据流可被视为一个随时间延续而无限增长的动态数据集合。在流式数据发送/接收时,需要保证所有数据包有序且不丢失。现有技术中,在传输控制协议(TransmissionControlProtocol,TCP)中,利用滑动窗口与计时器配合使用,以保证数据的有序发送,并且确保数据包确实被接收方收到。但是,上述方法需要预先知道带传输的数据包的数量,进而利用计时器确保每个数据包确实被接收端收到,而流式数据在传输之前,待传输的数据包的数量是未知的,因此,亟需一种传输流式数据的方法。
技术实现思路
有鉴于此,本申请实施例的目的在于提供一种数据传输方法及装置,能够将接收到的乱序的数据包有序的转发至接收端,并且确保数据包的传输率。第一方面,本申请实施例提供了一种数据传输方法,其中,包括:获取当前待存放的数据包的目标序号;根据所述目标序号、已存放在滑动窗口的数据包的序号中的最大序号,以及所述滑动窗口的最大位置序号,确定所述当前待存放的数据包在所述滑动窗口存放的目标位置序号;将所述当前待存放的数据包存放在所述滑动窗口中的目标位置序号。结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,其中,在根据所述目标序号、已存放在滑动窗口的数据包的序号中的最大序号,以及所述滑动窗口的最大位置序号,确定所述当前待存放的数据包在所述滑动窗口存放的目标位置序号之前,还包括:获取已存放在所述滑动窗口的数据包的序号中的最大序号;判断所述目标序号是否大于或等于所述最大序号;若否,则将所述当前待存放的数据包删除。结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第二种可能的实施方式,其中,若所述目标序号大于所述最大序号,且小于所述最大序号与所述最大位置序号之和;所述根据所述目标序号、已存放在滑动窗口的数据包的序号中的最大序号,以及所述滑动窗口的最大位置序号,确定所述当前待存放的数据包在所述滑动窗口存放的目标位置序号,包括:获取所述最大序号对应数据包在所述滑动窗口存放的第一位置序号;对所述第一位置序号与所述目标序号进行求和计算,得到第一中转值;将所述第一中转值作为被减数,将所述最大序号作为减数,计算所述第一中转值与所述最大序号之间的差值;将所述差值作为被除数,将所述最大位置序号作为除数,得到所述差值与所述最大位置序号对应的余数,以将所述余数作为所述当前待存放的数据包在所述滑动窗口存放的目标位置序号。结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第三种可能的实施方式,其中,若所述目标序号大于或等于所述最大序号与所述最大位置序号之和;所述根据所述目标序号、已存放在滑动窗口的数据包的序号中的最大序号,以及所述滑动窗口的最大位置序号,确定所述当前待存放的数据包在所述滑动窗口存放的目标位置序号,包括:对当前滑动窗口中数据包对应的最大序号进行加一计算,得到第一序号;创建所述第一序号对应的空数据包;将所述空数据包存放在所述滑动窗口中空数据包对应的位置序号上;判断所述目标序号是否小于所述第一序号与所述最大位置序号之和;若是,则根据所述目标序号、已存放在滑动窗口的数据包的序号中的最大序号,以及所述滑动窗口的最大位置序号,确定所述当前待存放的数据包在所述滑动窗口存放的目标位置序号。结合第一方面的第三种可能的实施方式,本申请实施例提供了第一方面的第四种可能的实施方式,其中,还包括:若否,则将所述第一序号作为当前滑动窗口中数据包对应的最大序号,执行所述对当前滑动窗口中数据包对应的最大序号进行加一计算,得到第一序号的步骤,直至所述目标序号小于所述最大序号与所述最大位置序号之和。结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第五种可能的实施方式,其中,还包括:按照所述滑动窗口中的位置序号,由小到大依次将所述滑动窗口中存放的数据包进行转发。第二方面,本申请实施例还提供了一种数据传输装置,其中,包括:获取模块,用于获取当前待存放的数据包的目标序号;确定模块,用于根据所述目标序号、已存放在滑动窗口的数据包的序号中的最大序号,以及所述滑动窗口的最大位置序号,确定所述当前待存放的数据包在所述滑动窗口存放的目标位置序号;存放模块,用于将所述当前待存放的数据包存放在所述滑动窗口中的目标位置序号。结合第二方面,本申请实施例提供了第二方面的第一种可能的实施方式,其中,还包括:判断模块,用于获取已存放在所述滑动窗口的数据包的序号中的最大序号;判断所述目标序号是否大于或等于所述最大序号;若否,则将所述当前待存放的数据包删除。结合第二方面的第一种可能的实施方式,本申请实施例提供了第二方面的第二种可能的实施方式,其中,若所述目标序号大于所述最大序号,且小于所述最大序号与所述最大位置序号之和;所述确定模块,具体用于:获取所述最大序号对应数据包在所述滑动窗口存放的第一位置序号;对所述第一位置序号与所述目标序号进行求和计算,得到第一中转值;将所述第一中转值作为被减数,将所述最大序号作为减数,计算所述第一中转值与所述最大序号之间的差值;将所述差值作为被除数,将所述最大位置序号作为除数,得到所述差值与所述最大位置序号对应的余数,以将所述余数作为所述当前待存放的数据包在所述滑动窗口存放的目标位置序号。结合第二方面的第一种可能的实施方式,本申请实施例提供了第二方面的第三种可能的实施方式,其中,若所述目标序号大于或等于所述最大序号与所述最大位置序号之和;所述确定模块,具体用于:对所述最大序号进行加一计算,得到第一序号;创建所述第一序号对应的空数据包;将所述空数据包存放在所述滑动窗口中空数据包对应的位置序号上;判断所述目标序号是否小于所述第一序号与所述最大位置序号之和;若是,则根据所述目标序号、已存放在滑动窗口的数据包的序号中的最大序号,以及所述滑动窗口的最大位置序号,确定所述当前待存放的数据包在所述滑动窗口存放的目标位置序号。本申请实施例提供的一种数据传输方法及装置,其中,该数据传输方法包括:获取当前待存放的数据包的目标序号;根据目标序号、已存放在滑动窗口的数据包的序号中的最大序号,以及滑动窗口的最大位置序号,确定当前待存放的数据包在滑动窗口存放的目标位置序号;将当前待存放的数据包存放在滑动窗口中的目标位置序号。通过本申请提供的数据传输方法,可以将接收到的乱序的数据包有序的转发至接收端,确保数据包的传输率;并且,在目标序号大于或等于最大序号与最大位置序号之和时,创建空数据包,补全数据流中缺失的数据包,使接收端可以按照有序,全量的逻辑来处理数据流,简化其处理逻辑,提高处理效率。为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本申请实施例所提供的一种数据传输方法的流程图;图2示出本文档来自技高网...

【技术保护点】
1.一种数据传输方法,其特征在于,包括:获取当前待存放的数据包的目标序号;根据所述目标序号、已存放在滑动窗口的数据包的序号中的最大序号,以及所述滑动窗口的最大位置序号,确定所述当前待存放的数据包在所述滑动窗口存放的目标位置序号;将所述当前待存放的数据包存放在所述滑动窗口中的目标位置序号。

【技术特征摘要】
1.一种数据传输方法,其特征在于,包括:获取当前待存放的数据包的目标序号;根据所述目标序号、已存放在滑动窗口的数据包的序号中的最大序号,以及所述滑动窗口的最大位置序号,确定所述当前待存放的数据包在所述滑动窗口存放的目标位置序号;将所述当前待存放的数据包存放在所述滑动窗口中的目标位置序号。2.根据权利要求1所述的数据传输方法,其特征在于,在根据所述目标序号、已存放在滑动窗口的数据包的序号中的最大序号,以及所述滑动窗口的最大位置序号,确定所述当前待存放的数据包在所述滑动窗口存放的目标位置序号之前,还包括:获取已存放在所述滑动窗口的数据包的序号中的最大序号;判断所述目标序号是否大于或等于所述最大序号;若否,则将所述当前待存放的数据包删除。3.根据权利要求2所述的数据传输方法,其特征在于,若所述目标序号大于所述最大序号,且小于所述最大序号与所述最大位置序号之和;所述根据所述目标序号、已存放在滑动窗口的数据包的序号中的最大序号,以及所述滑动窗口的最大位置序号,确定所述当前待存放的数据包在所述滑动窗口存放的目标位置序号,包括:获取所述最大序号对应数据包在所述滑动窗口存放的第一位置序号;对所述第一位置序号与所述目标序号进行求和计算,得到第一中转值;将所述第一中转值作为被减数,将所述最大序号作为减数,计算所述第一中转值与所述最大序号之间的差值;将所述差值作为被除数,将所述最大位置序号作为除数,得到所述差值与所述最大位置序号对应的余数,以将所述余数作为所述当前待存放的数据包在所述滑动窗口存放的目标位置序号。4.根据权利要求2所述的数据传输方法,其特征在于,若所述目标序号大于或等于所述最大序号与所述最大位置序号之和;所述根据所述目标序号、已存放在滑动窗口的数据包的序号中的最大序号,以及所述滑动窗口的最大位置序号,确定所述当前待存放的数据包在所述滑动窗口存放的目标位置序号,包括:对当前滑动窗口中数据包对应的最大序号进行加一计算,得到第一序号;创建所述第一序号对应的空数据包;将所述空数据包存放在所述滑动窗口中空数据包对应的位置序号上;判断所述目标序号是否小于所述第一序号与所述最大位置序号之和;若是,则根据所述目标序号、已存放在滑动窗口的数据包的序号中的最大序号,以及所述滑动窗口的最大位置序号,确定所述当前待存放的数据包...

【专利技术属性】
技术研发人员:刘袁王亚林
申请(专利权)人:秒针信息技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1