本发明涉及通信,尤其涉及一种数据传输方法、装置及设备。
背景技术:
1、现有技术中,在选择性重传中为了确保在接收方乱序到达的数据包能够按正确的顺序组装,需要对数据参数表寻址,以便根据下一个要接收数据包的序列号从数据参数表中读取相应的存储信息,进而进行对应的数据包发送;目前常用的方法是遍历数据包寻址,直到找到序列号a’=序列号a+1,其中序列号a为接收方当前正确接收到的最后一个数据包的序列号,此处可假定所有数据包都是无序的。
2、但是,在实际网络传输中,发送窗口的数据可能只有一个或者几个数据包发生丢包进行了重传,某段间隔的数据包可能是连续正常顺序到达的。如果每发送一个数据包都要对数据参数表进行遍历寻址,会极大的占用逻辑资源和增加时延。
3、由上,现有技术中针对乱序数据重组的数据传输方案存在传输时延大等问题。
技术实现思路
1、本发明的目的在于提供一种数据传输方法、装置及设备,以解决现有技术中针对乱序数据重组的数据传输方案存在传输时延大的问题。
2、为了解决上述技术问题,本发明实施例提供一种数据传输方法,包括:
3、在向上层应用发送乱序包中的第一数据包后,获取所述乱序包中第二数据包对应的标识信息;所述第二数据包为与所述第一数据包相邻接收的下一数据包;所述标识信息用于指示所述第二数据包是否与所述第一数据包连续;
4、在所述标识信息指示所述第二数据包与所述第一数据包连续的情况下,向所述上层应用发送所述第二数据包。
5、可选的,还包括:
6、在向上层应用发送乱序包中的第一数据包后,更新当前目标序列号;所述第一数据包的第一序列号与更新前的所述当前目标序列号相匹配;
7、在所述标识信息指示所述第二数据包与所述第一数据包不连续的情况下,根据更新后的所述当前目标序列号,在乱序信息中查找对应第二序列号的参数信息;所述第二序列号与更新后的所述当前目标序列号相匹配;所述乱序包中的每一数据包分别对应一个参数信息,所述参数信息包括:标识信息,所述标识信息用于指示对应数据包是否与相邻接收的上一数据包连续;
8、在查找到所述对应第二序列号的参数信息的情况下,向所述上层应用发送所述乱序包中的第三数据包;所述第三数据包是指与所述对应第二序列号的参数信息对应的数据包;
9、在未查找到所述对应第二序列号的参数信息的情况下,等待接收所述第三数据包。
10、可选的,在向上层应用发送乱序包中的第一数据包之前,还包括:
11、接收第四数据包;
12、在所述第四数据包携带的第三序列号与当前目标序列号相匹配的情况下,向所述上层应用发送所述第四数据包,并更新所述当前目标序列号;
13、在所述第四数据包携带的第三序列号与当前目标序列号不匹配的情况下,根据所述当前目标序列号,在乱序信息中查找对应第一序列号的参数信息;所述第一序列号与所述当前目标序列号相匹配;
14、所述向上层应用发送乱序包中的第一数据包,包括:
15、在查找到所述对应第一序列号的参数信息的情况下,向上层应用发送乱序包中的第一数据包;所述第一数据包是指与所述对应第一序列号的参数信息对应的数据包。
16、可选的,还包括:
17、在所述第四数据包携带的第三序列号与当前目标序列号不匹配的情况下,获取所述第四数据包对应的标识信息;
18、根据所述第四数据包对应的标识信息,得到所述第四数据包对应的参数信息;
19、在所述乱序信息中,增加所述第四数据包对应的参数信息。
20、可选的,所述在所述第四数据包携带的第三序列号与当前目标序列号不匹配的情况下,获取所述第四数据包对应的标识信息,包括:
21、在所述第四数据包携带的第三序列号与当前目标序列号不匹配且所述第四数据包非首个存储的数据包的情况下,根据所述第三序列号以及第五数据包携带的第五序列号,确定所述第四数据包是否与所述第五数据包连续;根据确定结果,得到所述第四数据包对应的所述标识信息;其中,所述第五数据包为存储所述第四数据包之前存储的上一数据包;
22、在所述第四数据包携带的第三序列号与当前目标序列号不匹配且所述第四数据包为首个存储的数据包的情况下,得到用于指示所述第四数据包与相邻接收的上一数据包不连续的标识信息。
23、本发明实施例还提供了一种数据传输装置,包括:
24、第一获取模块,用于在向上层应用发送乱序包中的第一数据包后,获取所述乱序包中第二数据包对应的标识信息;所述第二数据包为与所述第一数据包相邻接收的下一数据包;所述标识信息用于指示所述第二数据包是否与所述第一数据包连续;
25、第一发送模块,用于在所述标识信息指示所述第二数据包与所述第一数据包连续的情况下,向所述上层应用发送所述第二数据包。
26、可选的,还包括:
27、第一处理模块,用于在向上层应用发送乱序包中的第一数据包后,更新当前目标序列号;所述第一数据包的第一序列号与更新前的所述当前目标序列号相匹配;
28、第一查找模块,用于在所述标识信息指示所述第二数据包与所述第一数据包不连续的情况下,根据更新后的所述当前目标序列号,在乱序信息中查找对应第二序列号的参数信息;所述第二序列号与更新后的所述当前目标序列号相匹配;所述乱序包中的每一数据包分别对应一个参数信息,所述参数信息包括:标识信息,所述标识信息用于指示对应数据包是否与相邻接收的上一数据包连续;
29、第二发送模块,用于在查找到所述对应第二序列号的参数信息的情况下,向所述上层应用发送所述乱序包中的第三数据包;所述第三数据包是指与所述对应第二序列号的参数信息对应的数据包;
30、第二处理模块,用于在未查找到所述对应第二序列号的参数信息的情况下,等待接收所述第三数据包。
31、可选的,还包括:
32、第一接收模块,用于在向上层应用发送乱序包中的第一数据包之前,接收第四数据包;
33、第三处理模块,用于在所述第四数据包携带的第三序列号与当前目标序列号相匹配的情况下,向所述上层应用发送所述第四数据包,并更新所述当前目标序列号;
34、第二查找模块,用于在所述第四数据包携带的第三序列号与当前目标序列号不匹配的情况下,根据所述当前目标序列号,在乱序信息中查找对应第一序列号的参数信息;所述第一序列号与所述当前目标序列号相匹配;
35、所述向上层应用发送乱序包中的第一数据包,包括:
36、在查找到所述对应第一序列号的参数信息的情况下,向上层应用发送乱序包中的第一数据包;所述第一数据包是指与所述对应第一序列号的参数信息对应的数据包。
37、可选的,还包括:
38、第二获取模块,用于在所述第四数据包携带的第三序列号与当前目标序列号不匹配的情况下,获取所述第四数据包对应的标识信息;
39、第四处理模块,用于根据所述第四数据包对应的标识信息,得到所述第四数据包对应的参数信息;
40、第五处理模块,用于在所述乱序信息中,增加所述第四数据包对应的参数信息。
41、可选的,所述在所述第四数据包携带的第三序列号与当前目标序列号不匹配的情况下,获取所述第四数据包对应的标识信息,包括:
42、在所述第四数据包携带的第三序列号与当前目标序列号不匹配且所述第四数据包非首个存储的数据包的情况下,根据所述第三序列号以及第五数据包携带的第五序列号,确定所述第四数据包是否与所述第五数据包连续;根据确定结果,得到所述第四数据包对应的所述标识信息;其中,所述第五数据包为存储所述第四数据包之前存储的上一数据包;
43、在所述第四数据包携带的第三序列号与当前目标序列号不匹配且所述第四数据包为首个存储的数据包的情况下,得到用于指示所述第四数据包与相邻接收的上一数据包不连续的标识信息。
44、本发明实施例还提供了一种数据传输设备,包括:处理器和收发机;
45、所述处理器,用于在向上层应用发送乱序包中的第一数据包后,获取所述乱序包中第二数据包对应的标识信息;所述第二数据包为与所述第一数据包相邻接收的下一数据包;所述标识信息用于指示所述第二数据包是否与所述第一数据包连续;
46、在所述标识信息指示所述第二数据包与所述第一数据包连续的情况下,通过所述收发机向所述上层应用发送所述第二数据包。
47、可选的,所述处理器还用于:
48、在向上层应用发送乱序包中的第一数据包后,更新当前目标序列号;所述第一数据包的第一序列号与更新前的所述当前目标序列号相匹配;
49、在所述标识信息指示所述第二数据包与所述第一数据包不连续的情况下,根据更新后的所述当前目标序列号,在乱序信息中查找对应第二序列号的参数信息;所述第二序列号与更新后的所述当前目标序列号相匹配;所述乱序包中的每一数据包分别对应一个参数信息,所述参数信息包括:标识信息,所述标识信息用于指示对应数据包是否与相邻接收的上一数据包连续;
50、在查找到所述对应第二序列号的参数信息的情况下,通过所述收发机向所述上层应用发送所述乱序包中的第三数据包;所述第三数据包是指与所述对应第二序列号的参数信息对应的数据包;
51、在未查找到所述对应第二序列号的参数信息的情况下,等待接收所述第三数据包。
52、可选的,所述处理器还用于:
53、在向上层应用发送乱序包中的第一数据包之前,通过所述收发机接收第四数据包;
54、在所述第四数据包携带的第三序列号与当前目标序列号相匹配的情况下,通过所述收发机向所述上层应用发送所述第四数据包,并更新所述当前目标序列号;
55、在所述第四数据包携带的第三序列号与当前目标序列号不匹配的情况下,根据所述当前目标序列号,在乱序信息中查找对应第一序列号的参数信息;所述第一序列号与所述当前目标序列号相匹配;
56、所述向上层应用发送乱序包中的第一数据包,包括:
57、在查找到所述述对应第一序列号的参数信息的情况下,通过所述收发机向上层应用发送乱序包中的第一数据包;所述第一数据包是指与所述对应第一序列号的参数信息对应的数据包。
58、可选的,所述处理器还用于:
59、在所述第四数据包携带的第三序列号与当前目标序列号不匹配的情况下,获取所述第四数据包对应的标识信息;
60、根据所述第四数据包对应的标识信息,得到所述第四数据包对应的参数信息;
61、在所述乱序信息中,增加所述第四数据包对应的参数信息。
62、可选的,所述在所述第四数据包携带的第三序列号与当前目标序列号不匹配的情况下,获取所述第四数据包对应的标识信息,包括:
63、在所述第四数据包携带的第三序列号与当前目标序列号不匹配且所述第四数据包非首个存储的数据包的情况下,根据所述第三序列号以及第五数据包携带的第五序列号,确定所述第四数据包是否与所述第五数据包连续;根据确定结果,得到所述第四数据包对应的所述标识信息;其中,所述第五数据包为存储所述第四数据包之前存储的上一数据包;
64、在所述第四数据包携带的第三序列号与当前目标序列号不匹配且所述第四数据包为首个存储的数据包的情况下,得到用于指示所述第四数据包与相邻接收的上一数据包不连续的标识信息。
65、本发明实施例还提供了一种数据传输设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器执行所述程序时实现上述的数据传输方法。
66、本发明实施例还提供了一种可读存储介质,其上存储有程序,该程序被处理器执行时实现上述的数据传输方法中的步骤。
67、本发明的上述技术方案的有益效果如下:
68、上述方案中,所述数据传输方法通过在向上层应用发送乱序包中的第一数据包后,获取所述乱序包中第二数据包对应的标识信息;所述第二数据包为与所述第一数据包相邻接收的下一数据包;所述标识信息用于指示所述第二数据包是否与所述第一数据包连续;在所述标识信息指示所述第二数据包与所述第一数据包连续的情况下,向所述上层应用发送所述第二数据包;能够支持实现不需要每发送一个数据包都要(对乱序包对应的乱序信息)进行遍历寻址,从而减少寻址(乱序信息)时的逻辑资源占用,同时降低由于不停的寻址而带来的传输时延,很好的解决了现有技术中针对乱序数据重组的数据传输方案存在传输时延大的问题。
1.一种数据传输方法,其特征在于,包括:
2.根据权利要求1所述的数据传输方法,其特征在于,还包括:
3.根据权利要求1或2所述的数据传输方法,其特征在于,在向上层应用发送乱序包中的第一数据包之前,还包括:
4.根据权利要求3所述的数据传输方法,其特征在于,还包括:
5.根据权利要求4所述的数据传输方法,其特征在于,所述在所述第四数据包携带的第三序列号与当前目标序列号不匹配的情况下,获取所述第四数据包对应的标识信息,包括:
6.一种数据传输装置,其特征在于,包括:
7.根据权利要求6所述的数据传输装置,其特征在于,还包括:
8.根据权利要求6或7所述的数据传输装置,其特征在于,还包括:
9.根据权利要求8所述的数据传输装置,其特征在于,还包括:
10.根据权利要求9所述的数据传输装置,其特征在于,所述在所述第四数据包携带的第三序列号与当前目标序列号不匹配的情况下,获取所述第四数据包对应的标识信息,包括:
11.一种数据传输设备,其特征在于,包括:处理器和收发机;
12.一种数据传输设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;其特征在于,所述处理器执行所述程序时实现如权利要求1至5中任一项所述的数据传输方法。
13.一种可读存储介质,其上存储有程序,其特征在于,该程序被处理器执行时实现如权利要求1至5中任一项所述的数据传输方法中的步骤。