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链路,所述第一数据收发端与所述第二数据收发端的链路之间包括至少一个节点服务器,所述数据包包括表征自身在数据流中的封装顺序的序列号;将所述最快到达的数据包根据自身的序列号写入缓冲区中相应的缓存队列中,并丢弃次到达的序列号相同的所述数据包;其中,所述缓冲区包括至少一个缓存队列;根据所述缓存队列中的数据包的缓存情况及序列号顺序,对所述缓存队列中的数据包进行封装处理,以形成第一数据流。在第一方面的第一种实现方式中, ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。