数据传输方法、装置、数据收发设备、系统及存储介质制造方法及图纸

技术编号:18840105 阅读:43 留言:0更新日期:2018-09-05 08:23
本发明专利技术公开了一种数据传输方法、装置、数据收发设备、系统及介质,其方法包括:在第一数据收发端处:获取第二数据收发端通过N条链路发送的N个相同数据包中最快到达的数据包;N>1,所述N条链路包括1条TCP链路及N‑1条UDP链路,所述数据包包括表征自身在数据流中的封装顺序的序列号;将所述最快到达的数据包根据自身的序列号写入缓冲区中相应的缓存队列中,并丢弃次到达的序列号相同的所述数据包;所述缓冲区包括至少一个缓存队列;根据所述缓存队列中的数据包的缓存情况及序列号顺序,对所述缓存队列中的数据包进行封装处理,以形成第一数据流,保证通信可靠性,提高网络稳定性。

Data transmission method, device, data transceiver device, system and storage medium

The invention discloses a data transmission method, device, data transmitting and receiving device, system and medium. The method comprises: at the first data receiving and receiving terminal, acquiring the fastest arriving packet of N same packets transmitted by the second data receiving and receiving terminal through N links; N > 1, the N links comprising one TCP link and N_1 UDP. A link in which the packet includes a sequence number representing its own encapsulation order in the data stream; writes the fastest-arriving packet into the corresponding buffer queue in the buffer according to its own sequence number and discards the packet with the same sequence number as the second-arriving packet; the buffer includes at least one buffer queue; and the root. According to the caching situation and sequence number order of the packets in the caching queue, the packets in the caching queue are encapsulated to form a first data stream, ensure communication reliability and improve network stability.

【技术实现步骤摘要】
数据传输方法、装置、数据收发设备、系统及存储介质
本专利技术涉及通信领域,尤其涉及一种数据传输方法、装置、数据收发设备、数据传输系统及计算机可读存储介质。
技术介绍
用户端和服务器之间的通信一般通过socket建立tcp链接或者udp链路进行数据交互,在现有技术中,用户端与服务器之间的通信通常建立一个tcp链路或者一个udp链路进行数据交互,但专利技术人发现:tcp链路由于保证可靠性的自身机制,受到网络延迟波动的影响容易造成延迟峰值变高。udp链路虽可降低延迟,但是缺乏可靠性保障。另外,无论是tcp还是udp,数据包都经过唯一路径达到对方,路径上出现网络异常(如:拥塞)的情况下,通信就会受阻。
技术实现思路
针对上述问题,本专利技术的目的在于提供一种数据传输方法、装置、数据收发设备、数据传输系统及计算机可读存储介质,保证通信可靠性,提高网络稳定性。第一方面,本专利技术实施例提供了一种数据传输方法,包括以下步骤:在第一数据收发端处:获取第二数据收发端通过N条链路发送的N个相同数据包中最快到达的数据包;其中,N>1,所述N条链路包括1条TCP链路及N-1条UDP链路,所述第一数据收发端与所述第二数据收发端的链路之间包括至少一个节点服务器,所述数据包包括表征自身在数据流中的封装顺序的序列号;将所述最快到达的数据包根据自身的序列号写入缓冲区中相应的缓存队列中,并丢弃次到达的序列号相同的所述数据包;其中,所述缓冲区包括至少一个缓存队列;根据所述缓存队列中的数据包的缓存情况及序列号顺序,对所述缓存队列中的数据包进行封装处理,以形成第一数据流。在第一方面的第一种实现方式中,所述缓存队列包括用于缓存数据包的至少一个缓存块;则所述将所述最快到达的数据包根据自身的序列号写入缓冲区中相应的缓存队列中,并丢弃次到达的序列号相同的所述数据包,具体为:根据所述最快到达的数据包的序列号,将所述最快到达的数据包写入缓冲区相应缓存队列中预定的缓存块上,并丢弃次到达的序列号相同的所述数据包;则所述根据所述缓存队列中的数据包的缓存情况及序列号顺序,对所述缓存队列中的数据包进行封装处理,以形成第一数据流,具体为:当检测到所述缓存队列的队头缓存块上存储有数据包时,依次检测下一个缓存块的缓存情况直到检测到第一个空缓存块;剔除所述空缓存块之前的所有缓存块上的数据包的序列号,并对剔除序列号的数据包进行封装处理,以形成第一数据流;将所述所有缓存块移到所述缓存队列的队尾,并更新所述所有缓存块的缓存状态。根据第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述根据所述最快到达的数据包的序列号,将所述最快到达的数据包写入缓冲区相应缓存队列中预定的缓存块上,并丢弃次到达的序列号相同的所述数据包,具体为:根据所述最快到达的数据包的序列号,及相应缓存队列中移到队尾的缓存块的数量,确定所述最快到达的数据包对应的缓存块的位置顺序;其中,所述对应的缓存块的位置顺序=所述最快到达的数据包自身的序列号-相应缓存队列中移到队尾的缓存块的数量;将所述最快到达的数据包写入对应的缓存块上,并丢弃次到达的序列号相同的所述数据包。则所述的数据传输方法,还包括:当检测到所述最快到达的数据包序列号与相应缓存队列中移到队尾的缓存块的数量之差,大于所述缓存队列的缓存块数量时,释放所述缓存队列。在第一方面的第三种实现方式中,还包括:将产生的第二数据流进行分割处理并按顺序分配序列号,以生成包括序列号的数据包;通过所述N条链路发送N个相同的所述数据包,以传输给所述第二数据收发端;其中,所述数据包用于触发所述第二数据收发端获取通过N条链路发送的N个相同数据包中最快到达的数据包。在第一方面的第四种实现方式中,所述第一数据收发端为用户端,所述第二数据收发端为目标服务器;或者,所述第一数据收发端为目标服务器,所述第二数据收发端为用户端。在第一方面的第五种实现方式中,所述第一数据收发端为用户端,所述第二数据收发端为目标服务器;则所述数据传输方法,还包括:在选定的M个节点服务器中,根据选择的至少一个节点服务器与所述目标服务器建立TCP链路连接;其中,M≥N;在接收所述目标服务器的连接确认通知后,根据其余M-1个节点服务器与所述目标服务器建立N-1条UDP链路连接;其中,所述N条链路上的节点服务器互不相同。第二方面,本专利技术提供了一种数据传输装置,包括:在第一数据收发端处:数据包获取模块,用于获取第二数据收发端通过N条链路发送的N个相同数据包中最快到达的数据包;其中,N>1,所述N条链路包括1条TCP链路及N-1条UDP链路,所述第一数据收发端与所述第二数据收发端的链路之间包括至少一个节点服务器,所述数据包包括表征自身在数据流中的封装顺序的序列号;数据包写入模块,用于将所述最快到达的数据包根据自身的序列号写入缓冲区中相应的缓存队列中,并丢弃次到达的序列号相同的所述数据包;其中,所述缓冲区包括至少一个缓存队列;数据包封装模块,用于根据所述缓存队列中的数据包的缓存情况及序列号顺序,对所述缓存队列中的数据包进行封装处理,以形成第一数据流。第三方面,本专利技术提供了一种数据收发设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任意一项所述的数据传输方法。第四方面,本专利技术提供了一种数据传输系统,包括至少一个第一数据收发端、至少一个第二数据收发端第二数据收发端及至少一个节点服务器;其中,所述第一数据收发端与所述第二数据收发端通过节点服务器建立N条链路连接,N>1,所述N条链路包括1条TCP链路及N-1条UDP链路;所述第二数据收发端,用于将产生的第一数据流进行分割处理并按顺序分配序列号,以生成包括序列号的数据包;通过所述N条链路发送N个相同的所述数据包,以传输给所述第一数据收发端;所述第一数据收发端,用于获取所述第二数据收发端通过N条链路发送的N个相同数据包中最快到达的数据包;将所述最快到达的数据包根据自身的序列号写入缓冲区中相应的缓存队列中,并丢弃次到达的序列号相同的所述数据包;其中,所述缓冲区包括至少一个缓存队列;所述第一数据收发端,还用于根据所述缓存队列中的数据包的缓存情况及序列号顺序,对所述缓存队列中的数据包进行封装处理,以形成第一数据流。第五方面,本专利技术提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行第一方面中任意一项所述的数据传输方法。本专利技术实施例提供了一种数据传输方法、装置、数据收发设备、数据传输系统及计算机可读存储介质,其一个实施例具有如下有益效果:所述第一数据收发端通过获取第二数据收发端通过N条链路发送的N个相同数据包中最快到达的数据包,并将所述最快到达的数据包根据自身的序列号写入缓冲区中相应的缓存队列中,并丢弃次到达的序列号相同的所述数据包,最后根据所述缓存队列中的数据包的缓存情况及序列号顺序,对所述缓存队列中的数据包进行封装处理,以形成第一数据流,采用TCP与UDP结合的通信方式,降低了单TCP链路受网络波动影响的几率,降低了通信的延迟峰值,同时利用UDP链路延迟低的特点,使整体的通信延迟优于单TCP链路,利用TCP的可本文档来自技高网...

【技术保护点】
1.一种数据传输方法,其特征在于,包括以下步骤:在第一数据收发端处:获取第二数据收发端通过N条链路发送的N个相同数据包中最快到达的数据包;其中,N>1,所述N条链路包括1条TCP链路及N‑1条UDP链路,所述第一数据收发端与所述第二数据收发端的链路之间包括至少一个节点服务器,所述数据包包括表征自身在数据流中的封装顺序的序列号;将所述最快到达的数据包根据自身的序列号写入缓冲区中相应的缓存队列中,并丢弃次到达的序列号相同的所述数据包;其中,所述缓冲区包括至少一个缓存队列;根据所述缓存队列中的数据包的缓存情况及序列号顺序,对所述缓存队列中的数据包进行封装处理,以形成第一数据流。

【技术特征摘要】
1.一种数据传输方法,其特征在于,包括以下步骤:在第一数据收发端处:获取第二数据收发端通过N条链路发送的N个相同数据包中最快到达的数据包;其中,N>1,所述N条链路包括1条TCP链路及N-1条UDP链路,所述第一数据收发端与所述第二数据收发端的链路之间包括至少一个节点服务器,所述数据包包括表征自身在数据流中的封装顺序的序列号;将所述最快到达的数据包根据自身的序列号写入缓冲区中相应的缓存队列中,并丢弃次到达的序列号相同的所述数据包;其中,所述缓冲区包括至少一个缓存队列;根据所述缓存队列中的数据包的缓存情况及序列号顺序,对所述缓存队列中的数据包进行封装处理,以形成第一数据流。2.根据权利要求1所述的数据传输方法,其特征在于,所述缓存队列包括用于缓存数据包的至少一个缓存块;则所述将所述最快到达的数据包根据自身的序列号写入缓冲区中相应的缓存队列中,并丢弃次到达的序列号相同的所述数据包,具体为:根据所述最快到达的数据包的序列号,将所述最快到达的数据包写入缓冲区相应缓存队列中预定的缓存块上,并丢弃次到达的序列号相同的所述数据包;则所述根据所述缓存队列中的数据包的缓存情况及序列号顺序,对所述缓存队列中的数据包进行封装处理,以形成第一数据流,具体为:当检测到所述缓存队列的队头缓存块上存储有数据包时,依次检测下一个缓存块的缓存情况直到检测到第一个空缓存块;剔除所述空缓存块之前的所有缓存块上的数据包的序列号,并对剔除序列号的数据包进行封装处理,以形成第一数据流;将所述所有缓存块移到所述缓存队列的队尾,并更新所述所有缓存块的缓存状态。3.根据权利要求2所述的数据传输方法,其特征在于,所述根据所述最快到达的数据包的序列号,将所述最快到达的数据包写入缓冲区相应缓存队列中预定的缓存块上,并丢弃次到达的序列号相同的所述数据包,具体为:根据所述最快到达的数据包的序列号,及相应缓存队列中移到队尾的缓存块的数量,确定所述最快到达的数据包对应的缓存块的位置顺序;其中,所述对应的缓存块的位置顺序=所述最快到达的数据包自身的序列号-相应缓存队列中移到队尾的缓存块的数量;将所述最快到达的数据包写入对应的缓存块上,并丢弃次到达的序列号相同的所述数据包。则所述的数据传输方法,还包括:当检测到所述最快到达的数据包序列号与相应缓存队列中移到队尾的缓存块的数量之差,大于所述缓存队列的缓存块数量时,释放所述缓存队列。4.根据权利要求1所述的数据传输方法,其特征在于,还包括:将产生的第二数据流进行分割处理并按顺序分配序列号,以生成包括序列号的数据包;通过所述N条链路发送N个相同的所述数据包,以传输给所述第二数据收发端;其中,所述数据包用于触发所述第二数据收发端获取通过N条链路发送的N个相同数据包中最快到达的数据包。5.根据权利要求1所述的数据传输方法,其特征在...

【专利技术属性】
技术研发人员:徐波
申请(专利权)人:广州多益网络股份有限公司广东利为网络科技有限公司多益网络有限公司
类型:发明
国别省市:广东,44

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

1