CN112333281A - 一种数据传输方法及装置 - Google Patents
一种数据传输方法及装置 Download PDFInfo
- Publication number
- CN112333281A CN112333281A CN202011281770.XA CN202011281770A CN112333281A CN 112333281 A CN112333281 A CN 112333281A CN 202011281770 A CN202011281770 A CN 202011281770A CN 112333281 A CN112333281 A CN 112333281A
- Authority
- CN
- China
- Prior art keywords
- data
- server
- gateway
- terminal
- transmission mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Abstract
本申请实施例提供一种数据传输方法及装置,涉及通信技术领域,解决了现有的多路径传输数据的方法费时费力,效率较低的技术问题。数据传输方法应用于包括网关、终端和服务器的通信系统,网关与服务器之间以单通道连接;网关与终端之间以多通道连接;数据传输方法包括:网关接收服务器以第一传输方式发送的数据;第一传输方式为:以服务器的IP地址为起始地址、终端的IP地址为目的地址的传输方式;网关响应于服务器发送的数据,并以第二传输方式向服务器返回确认报文;第二传输方式为:以终端的IP地址为起始地址、服务器的IP地址为目的地址的传输方式;网关缓存数据,并以第一传输方式向终端转发数据。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据传输方法及装置。
背景技术
随着无线保真(wireless fidelity,WIFI)技术的发展,越来越多的WIFI设备(例如家庭网关)支持多路径传输数据。
但是,当WIFI设备通过多路径传输数据时,服务器也需要设置多个网际互连协议(internet protocol,IP)地址,以实现从服务器到终端之间通过多路径传输数据。在这种情况下,由于服务器通常设置于服务提供商的机房中心、且不同的服务提供商的服务器可能不同,因此,通过在服务器上设置多个IP地址以实现多路径传输数据的方法,费时费力,效率较低。
发明内容
本申请提供一种数据传输方法及装置,解决了现有的多路径传输数据的方法费时费力,效率较低的技术问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种数据传输方法,应用于包括网关、终端和服务器的通信系统,网关与服务器之间以单通道连接;网关与终端之间以多通道连接;数据传输方法包括:网关接收服务器以第一传输方式发送的数据;第一传输方式为:以服务器的IP地址为起始地址、终端的IP地址为目的地址的传输方式;网关响应于服务器发送的数据,并以第二传输方式向服务器返回确认报文;第二传输方式为:以终端的IP地址为起始地址、服务器的IP地址为目的地址的传输方式;网关缓存数据,并以第一传输方式向终端转发数据。
可以看出,本申请中的网关在接收到服务器以第一传输方式发送的数据后,响应于服务器发送的数据,并以第二传输方式向服务器返回确认报文,然后缓存数据,并以第一传输方式向终端转发数据。由于第一传输方式为:以服务器的IP地址为起始地址、终端的IP地址为目的地址的传输方式,第二传输方式为:以终端的IP地址为起始地址、服务器的IP地址为目的地址的传输方式,因此,服务器与终端之间传输数据时,目标为服务器或者终端,而不是网关,网关仅用于存储和转发。在这种情况下,本申请实现了服务器和终端无需感知网关的情况下传输数据,提高了数据传输的效率。
第二方面,提供一种数据传输装置,应用于网关;网关归属于包括网关、终端和服务器的通信系统,网关与服务器之间以单通道连接;网关与终端之间以多通道连接;数据传输装置包括:接收单元、响应单元和转发单元;接收单元,用于接收服务器以第一传输方式发送的数据;第一传输方式为:以服务器的IP地址为起始地址、终端的IP地址为目的地址的传输方式;响应单元,用于响应于服务器发送的数据,并以第二传输方式向服务器返回确认报文;第二传输方式为:以终端的IP地址为起始地址、服务器的IP地址为目的地址的传输方式;转发单元,用于缓存数据,并以第一传输方式向终端转发数据。
第三方面,提供一种数据传输装置,包括存储器和处理器。存储器用于存储计算机执行指令,处理器与存储器通过总线连接。当数据传输装置运行时,处理器执行存储器存储的计算机执行指令,以使数据传输装置执行第一方面所述的数据传输方法。
该数据传输装置可以是网络设备,也可以是网络设备中的一部分装置,例如网络设备中的芯片系统。该芯片系统用于支持网络设备实现第一方面及其任意一种可能的实现方式中所涉及的功能,例如,接收、确定、分流上述数据传输方法中所涉及的数据和/或信息。该芯片系统包括芯片,也可以包括其他分立器件或电路结构。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得该计算机执行第一方面所述的数据传输方法。
第五方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行如上述第一方面及其各种可能的实现方式所述的数据传输方法。
第六方面,提供一种网关,该网关包括上述第二方面所述的数据传输装置。
需要说明的是,上述计算机指令可以全部或者部分存储在第一计算机可读存储介质上。其中,第一计算机可读存储介质可以与数据传输装置的处理器封装在一起的,也可以与数据传输装置的处理器单独封装,本申请对此不作限定。
本发明中第二方面、第三方面、第四方面以及第五方面的描述,可以参考第一方面的详细描述;并且,第二方面、第三方面、第四方面、第五方面以及第六方面的描述的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
在本申请中,上述数据传输装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本发明类似,属于本发明权利要求及其等同技术的范围之内。
本发明的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1a为本申请实施例提供的一种通信系统的结构示意图;
图1b为本申请实施例提供的又一种通信系统的结构示意图;
图1c为本申请实施例提供的又一种通信系统的结构示意图;
图1d为本申请实施例提供的又一种通信系统的结构示意图;
图2为本申请实施例提供的一种数据传输方法的流程示意图;
图3为本申请实施例提供的又一种数据传输方法的流程示意图;
图4为本申请实施例提供的又一种数据传输方法的流程示意图;
图5为本申请实施例提供的又一种数据传输方法的流程示意图;
图6为本申请实施例提供的又一种数据传输方法的流程示意图;
图7为本申请实施例提供的又一种数据传输方法的流程示意图;
图8为本申请实施例提供的又一种数据传输方法的流程示意图;
图9为本申请实施例提供的一种数据传输装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于清楚描述本申请实施例的技术方案,在本申请实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
如背景技术所描述,当WIFI设备通过多路径传输数据时,服务器也需要设置多个网际互连协议IP地址,以实现从服务器到终端之间通过多路径传输数据。在这种情况下,由于服务器通常设置于服务提供商的机房中心、且不同的服务提供商的服务器可能不同,因此,通过在服务器上设置多个IP地址以实现多路径传输数据的方法,费时费力,效率较低。
针对上述问题,本申请实施例提供了一种数据传输方法,网关(gateway)在接收到服务器以第一传输方式发送的数据后,响应于服务器发送的数据,并以第二传输方式向服务器返回确认报文,然后缓存数据,并以第一传输方式向终端转发数据。由于第一传输方式为:以服务器的IP地址为起始地址、终端的IP地址为目的地址的传输方式,第二传输方式为:以终端的IP地址为起始地址、服务器的IP地址为目的地址的传输方式,因此,服务器与终端之间传输数据时,目标为服务器或者终端,而不是网关,网关仅用于存储和转发。在这种情况下,本申请实现了服务器和终端无需感知网关的情况下传输数据,提高了数据传输的效率。
本申请实施例提供的数据传输方法适用于通信系统10-1。图1a示出了该通信系统10-1的一种结构。如图1a所示,该通信系统10-1包括:终端11-1、网关12-1和服务器13-1。其中,网关12-1分别与终端11-1和服务器13-1通信连接。
在实际应用中,网关12-1可以连接多个终端,还可以连接多个服务器;也可以是多个网关连接一个服务器13-1。图1a以网关12-1连接一个终端11-1和一个服务器13-1为例进行说明。
可选的,本申请实施例提供的数据传输方法适用于通信系统10-2。图1b示出了该通信系统10-2的一种结构。如图1b所示,该通信系统10-2包括:终端11-2、网关12-2和服务器13-3。
终端11-2包括:上层应用、接口U1和接口U2。网关12-2包括:接口G1、接口G2和用于接收数据、存储数据和转发数据的处理模块。服务器13-2包括上层服务和接口S1。
其中,终端11-2的接口U1通过WIFI通道1与网关12-2的接口G1连接。终端11-2的接口U2通过WIFI通道2与网关12-2的接口G2连接。网关12-2的接口G3通过运营商网络光纤通道与服务器13-2的接口S1连接。
示例性的,结合图1b,如图1c所示,终端添加了用于标记终端身份的IP1,而终端的网卡接口则是使用接口IP11和IP12。网关和终端之间,建立2条并行通道:IP31至IP11为5Ghz的WIFI通道,IP32至IP12为2.5Ghz的WIFI通道。网关和服务器之间,建立1条通道:IP30至IP2为由运营商网络承载的传输通道。
首先,终端新增IP1,使用回环地址等技术手段,建立终端内IP1、IP11、IP12的回环路由。然后,网关从终端学习路由时,同时学到终端IP1和接口IP11/IP12的路由,并将出接口IP31/IP32视为是IP1的两条等价路由的出接口。接着,终端使用IP1,向服务器获取服务。然后,服务器向终端发送服务对应的数据,源地址为服务器IP2,目的地址为终端的IP1。后续,网关向服务器发送确认字符(acknowledge character,ACK)即是消息时,生成的ACK消息,源地址为IP1,目的地址为服务器IP2。
其次,网关将数据转发给终端时,有2条等价路径,出接口分别为IP31和IP32,由MP-TCP状态机控制每个数据出接口的选择。转发数据的内容不变,仍为源地址服务器IP2,目的地址终端IP1。终端的接口在收到数据时,通过回环路由将数据转给终端IP1。接着,终端发送ACK消息时,源地址为终端IP1,目的地址为服务器IP2。网关向终端重传丢弃的数据时,重传数据的源地址仍为服务器IP2,目的地址仍为终端IP1,并依据MP-TCP状态机选择出接口。
上述实施例中,服务器在传输数据时,将整体传输链路视为从IP2到IP1,服务器并不感知终端的接口IP11和IP12,由网关控制数据出接口为IP31还是IP32,从而控制数据在家庭无线网内的多路径。
示例性的,结合图1b,如图1d所示,终端直接将接口IP11用于标记终端身份,而并未添加应用层面的终端IP。网关和终端之间,建立2条并行通道:IP31至IP11为5Ghz的WIFI通道,IP32至IP12为2.5Ghz的WIFI通道。网关和服务器之间,建立1条通道:IP30至IP2为由运营商网络承载的传输通道。
首先,终端将接口IP11配置为业务的主用IP,使用回环地址等技术手段,建立终端内IP11、IP12的回环路由。接着,网关从终端学习路由时,同时学到接口IP11/IP12的路由,并强制将出接口IP31/IP32配置为是IP11的两个等价出接口。然后,终端使用终端的IP11,向服务器获取服务。接着,服务器向终端发送服务对应的数据,源地址为服务器IP2,目的地址为终端的IP11。然后,网关向服务器发送ACK消息时,生成的ACK消息,源地址为终端IP11,目的地址为服务器IP2。
其次,网关将数据转发给终端时,有2条等价路径,出接口分别为IP31和IP32,由MP-TCP状态机控制每个数据出接口的选择。转发数据的内容不变,仍为源地址服务器IP2,目的地址终端的IP11。接着,终端的接口在收到数据时,接口IP11收到的数据直接上送应用层,接口IP12收到的数据通过回环路由将数据转给终端的接口IP11。后续,终端发送ACK消息时,源地址为终端的IP11,目的地址为服务器IP2。后续,网关向终端重传丢弃的数据时,重传数据的源地址仍为服务器IP2,目的地址仍为终端的IP11,并依据MP-TCP状态机选择出接口。
上述实施例中,服务器在传输数据时,将整体传输链路视为从IP2到IP11,服务器并不感知终端具有额外接口IP12,由网关强制将IP31/IP32视为是去往IP11的等价出接口,通过控制数据出接口为IP31还是IP32,从而控制数据在家庭无线网内的多路径。
图2为本申请实施例提供的一种数据传输方法的流程示意图。如图2所示,该数据传输方法包括下述S201-S203。
S201、网关接收服务器以第一传输方式发送的数据。
其中,第一传输方式为:以服务器的IP地址为起始地址、终端的IP地址为目的地址的传输方式。
具体的,终端向服务器获取服务时,服务器以第一传输方式向终端发送数据。由于网关设置于服务器与终端之间,因此,网关接收服务器以第一传输方式发送的数据。
S202、网关响应于服务器发送的数据,并以第二传输方式向服务器返回确认报文。
具体的,在接收到服务器以第一传输方式发送的数据后,网关响应于服务器发送的数据,并以第二传输方式向服务器返回确认报文。
其中,第二传输方式为:以终端的IP地址为起始地址、服务器的IP地址为目的地址的传输方式。
S203、网关缓存数据,并以第一传输方式向终端转发数据。
具体的,网关以单通道的通信方式与服务器通信连接,以多通道的通信方式与终端通信连接。服务器向终端发送数据时,可以将整个数据传输的链路视为单一链路,终端与网关之间的多接入/多宿特性对服务器不可见。网关在接收到服务器发送的数据后,通过多通道向终端转发数据,并维护多通道的数据传输的状态管理。
可选的,网关在接收和转发数据时,同时维护2套传输协议状态机:与服务器的单通道传输状态机和与终端的多链路传输状态机。网关向终端发送数据时,可以根据内部维护的与终端的多链路传输状态机,为数据选择传输链路。
即:网关维护第一状态机和第二状态机;所述第一状态机用于控制所述网关与所述服务器之间以所述单通道的方式传输所述数据;所述第二状态机用于控制所述网关与所述终端之间以所述多通道的方式传输所述数据。
可选的,网关内部维护的与终端的多链路传输状态机,可以为基于传输控制协议(transmission control protocol,TCP)扩展多路径传输控制协议(multipath TCP,MP-TCP),也可以基于流控制传输协议(stream control transmission protocol,SCTP)扩展多路径并行传输(concurrent multipath transfer)。
需要说明的是,本申请实施例中,网关可以先执行S202,后执行S203;也可以先执行S203,后执行S202,还可以同时执行S202和S203,本申请实施例对此不作限定。
结合上述图2,如图3所示,上述S203可以替换为:S301。
S301、网关将数据缓存至缓存模块中,并由第二状态机控制多通道分配比例,通过多通道以第一传输方式向终端转发数据。
示例性的,如图1b所示,网关通过接口G3获得服务器发送的报文X后,网关由第一状态机控制生成报文X的确认报文,并根据第一状态机判别gap,然后以第二传输方式向服务器返回确认报文。此外,网关将数据缓存至缓存模块中,并由第二状态机控制多通道分配比例,为报文X选择转发出接口,从接口G1或G2转发给终端。
结合上述图2,如图4所示,在S203之后,还包括:S401-S403。
S401、网关接收到来自终端的响应消息,并由第二状态机进行数据的确认与丢包判断。
S402、网关根据第二状态机的数据确认判断,删除缓存模块中与确认对应的数据。
S403、网关根据第二状态机的数据丢包判断,提取缓存模块中与丢包对应的数据,并以第一传输方式向终端重传丢包对应的数据。
示例性的,如图1b所示,网关从接口G1或G2获得终端发送的报文x的确认报文后,网关维护与终端的第二状态机。若将累计确认计数推进报文y,则将报文y之前的全部报文从内部提速缓存中清除。若触发了第二状态机的重传机制,则需重传报文z。具体的,网关从内部提速缓存中取出待重传报文z,根据与终端的第二状态机为报文z选择重传出接口,从接口G1或G2将报文z重传给终端。
结合上述图2,如图5所示,所述S202可以替换为S501-S502。
S501、网关响应于服务器发送的数据,生成确认报文,并以第二传输方式向服务器返回确认报文。
S502、网关接收到来自终端的响应消息后,终结响应消息。
示例性的,如图6所示,服务器向终端依次发送数据Data1-Data6。网关依次收到数据Data1-Data6,分别代替终端提前向服务器返回ACK1-ACK6,并将Data1-Data依次缓存在内部的缓存模块中。接着,网关通过多路径向终端转发Data1-Data6,其中Data1/3/5使用路径1,Data2/4/6使用路径2。终端在收到Data1后,返回ACK1。由于之前没有丢失数据,因而Data1直接上送应用层。网关收到终端返回的ACK1后,由于之前没有丢失数据,因而将Data1从缓存模块中清除。
若Data2在路径2上发生了丢弃,终端在收到Data3/4/5/6后,都发现之前的Data2缺失,因而分别返回ACK3/4/5/6+Gap2,指出Data2的丢失。由于Data2的缺失,因而Data3/4/5/6暂时都无法上送应用层。网关收到用户返回的ACK3/4/5+Gap2后,ACK消息终结,并不转发给服务器。并由于连续的3次Gap报告,在收到ACK5+Gap2时触发Data2的快速重传。由于Data2未能被ACK,因而没有新Data能够从缓存模块中清除,网关从内部缓存模块中取出Data2,使用另一条路径1向用户重传Data2(Data2的原传输路径为路径2)。
后续,网关收到终端返回的ACK6+Gap2后,ACK消息终结,并不转发给服务器。虽然已经是连续第4次收到Gap2报告,但由于Data2刚刚被重传,未满足重传计时器的要求,因而不再次触发Data2的重传。由于Data2未能被ACK,因而没有新Data能够从缓存模块中清除。终端在收到Data2后,返回ACK2,由于之前已没有丢失数据,因而Data2/3/4/5/6一起被上送应用层。网关收到终端返回的ACK2后,ACK消息终结,并不转发给服务器。并由于之前已没有丢失数据,因而将Data2/3/4/5/6一起从缓存模块中清除。
上述实施例中,服务器是连续收到网关返回的ACK1-6,并不会收到终端的Gap2,因而并不会降低服务器发送数据的速率,使得服务器至网关段能够运行在高速下载状态下。网关至终端段,利用缓存模块机制,在服务器不感知的前提下,向终端提供多路径传输,充分使用了WIFI双频段的传输能力,以改善WIFI传输瓶颈的问题。
结合上述图2,如图7所示,所述S202可以替换为S701-S704。
S701、网关接收到来自终端的响应消息。
S702、若响应消息中未指出任何丢失数据,则网关将响应消息作为确认报文,以第二传输方式向服务器转发确认报文。
S703、若响应消息中指出了丢失数据,则网关在响应消息中追加丢失数据的虚拟确认。
S704、网关将追加虚拟确认后不再指出丢失数据的响应消息作为确认报文,以第二传输方式向服务器返回确认报文。
示例性的,如图8所示,服务器向终端依次发送数据Data1-Data6。网关依次收到数据Data1-Data6,并将Data1-Data6依次缓存在网关内部的缓存模块中。接着,网关通过多路径向终端转发Data1-Data6,其中Data1/3/5使用路径1,Data2/4/6使用路径2。终端在收到Data1后,返回ACK1。由于Date1之前没有丢失数据,因而Data1直接上送应用层。网关收到终端返回的ACK1后,将ACK1转发给服务器。由于ACK1之前没有丢失数据,因而将Data1从缓存模块中清除。
若Data2在路径2上发生了丢弃,则终端在收到Data3/4/5/6后,都发现之前的Data2缺失,因而分别返回ACK3/4/5/6+Gap2,指出Data2的丢失。由于Data2的缺失,因而Data3/4/5/6暂时都无法上送应用层。然后,网关收到终端返回的ACK3+Gap2后,删除其中的Gap2丢包报告,代替终端生成ACK2确认消息,将ACK2和ACK3同时转发给服务器。并由于Data2未能被ACK,因而没有新Data能够从缓存模块中清除。后续,网关收到终端返回的ACK4/5+Gap2后,删除其中的Gap2丢包报告,仅将ACK4/5转发给服务器。并由于连续的3次Gap报告,在收到ACK5+Gap2时触发Data2的快速重传。并由于Data2未能被ACK,因而没有新Data能够从提速缓存中清除。接着,网关从内部缓存模块中取出Data2,使用另一条路径1向终端重传Data2(Data2的原传输路径为路径2)。
后续,网关收到终端返回的ACK6+Gap2后,删除其中的Gap2丢包报告,仅将ACK6转发给服务器。虽然已经是连续第4次收到Gap2报告,但由于Data2刚刚被重传,未满足重传计时器的要求,因而不再次触发Data2的重传。由于Data2未能被ACK,因而没有新Data能够从缓存模块中清除。终端在收到Data2后,返回ACK2,由于之前已没有丢失数据,因而Data2/3/4/5/6一起被上送应用层。网关收到终端返回的ACK2后,由于之前已代替终端向服务器返回了ACK2,因而不再将ACK2转发给服务器。并由于之前已没有丢失数据,因而将Data2/3/4/5/6一起从缓存模块中清除。
上述实施例中,服务器连续收到网关返回的ACK1-6,并不会收到终端的Gap2,因而并不会降低服务器发送数据的速率,使得服务器至网关段能够运行在高速下载状态下。网关至终端段,利用缓存模块机制,在服务器不感知的前提下,向终端提供多路径传输,充分使用了WIFI双频段的传输能力,以改善WIFI传输瓶颈的问题。
本申请实施例提供一种数据传输方法,应用于包括网关、终端和服务器的通信系统,网关与服务器之间以单通道连接;网关与终端之间以多通道连接;数据传输方法包括:网关接收服务器以第一传输方式发送的数据;第一传输方式为:以服务器的IP地址为起始地址、终端的IP地址为目的地址的传输方式;网关响应于服务器发送的数据,并以第二传输方式向服务器返回确认报文;第二传输方式为:以终端的IP地址为起始地址、服务器的IP地址为目的地址的传输方式;网关缓存数据,并以第一传输方式向终端转发数据。
可以看出,本申请中的网关在接收到服务器以第一传输方式发送的数据后,响应于服务器发送的数据,并以第二传输方式向服务器返回确认报文,然后缓存数据,并以第一传输方式向终端转发数据。由于第一传输方式为:以服务器的IP地址为起始地址、终端的IP地址为目的地址的传输方式,第二传输方式为:以终端的IP地址为起始地址、服务器的IP地址为目的地址的传输方式,因此,服务器与终端之间传输数据时,目标为服务器或者终端,而不是网关,网关仅用于存储和转发。在这种情况下,本申请实现了服务器和终端无需感知网关的情况下传输数据,提高了数据传输的效率。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本申请实施例可以根据上述方法示例对数据传输装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图9所示,为本申请实施例提供的一种数据传输装置的结构示意图。该数据传输装置用于解决现有的多路径传输数据的方法费时费力,效率较低的技术问题,例如用于执行图2、图3、图4、图5或图7所示的数据传输方法。该数据传输装置应用于网关;网关归属于包括网关、终端和服务器的通信系统,网关与服务器之间以单通道连接;网关与终端之间以多通道连接;数据传输装置包括:接收单元901、响应单元902和转发单元903。
接收单元901,用于接收服务器以第一传输方式发送的数据;第一传输方式为:以服务器的IP地址为起始地址、终端的IP地址为目的地址的传输方式。例如,结合图2,接收单元901用于执行S201。
响应单元902,用于响应于服务器发送的数据,并以第二传输方式向服务器返回确认报文;第二传输方式为:以终端的IP地址为起始地址、服务器的IP地址为目的地址的传输方式。例如,结合图2,响应单元902用于执行S202。
转发单元903,用于缓存数据,并以第一传输方式向终端转发数据。例如,结合图2,转发单元903用于执行S203。
可选的,数据传输装置还包括:处理单元904。
处理单元904,用于维护第一状态机和第二状态机;第一状态机用于控制网关与服务器之间以单通道的方式传输数据;第二状态机用于控制网关与终端之间以多通道的方式传输数据。
转发单元903,具体用于:
将数据缓存至缓存模块中,并由第二状态机控制多通道分配比例,通过多通道以第一传输方式向终端转发数据。例如,结合图3,转发单元903用于执行S301。
可选的,接收单元901,还用于接收到来自终端的响应消息,并由第二状态机进行数据的确认与丢包判断。例如,结合图4,接收单元901用于执行S401。
处理单元904,还用于根据第二状态机的数据确认判断,删除缓存模块中与确认对应的数据。例如,结合图4,处理单元904用于执行S402。
发送单元,还用于根据第二状态机的数据丢包判断,提取缓存模块中与丢包对应的数据,并以第一传输方式向终端重传丢包对应的数据。例如,结合图4,发送单元用于执行S403。
可选的,响应单元902,具体用于:
响应于服务器发送的数据,生成确认报文,并以第二传输方式向服务器返回确认报文。例如,结合图5,响应单元902用于执行S501。
网关接收到来自终端的响应消息后,终结响应消息。例如,结合图5,响应单元902用于执行S502。
可选的,响应单元902,具体用于:
接收到来自终端的响应消息。例如,结合图7,响应单元902用于执行S901。
若响应消息中未指出任何丢失数据,则将响应消息作为确认报文,以第二传输方式向服务器转发确认报文。例如,结合图7,响应单元902用于执行S902。
若响应消息中指出了丢失数据,则在响应消息中追加丢失数据的虚拟确认;将追加虚拟确认后不再指出丢失数据的响应消息作为确认报文,以第二传输方式向服务器返回确认报文。例如,结合图7,响应单元902用于执行S903。
本申请实施例还提供一种网关,该网关包括上述图9中的数据传输装置。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令。当计算机执行指令在计算机上运行时,使得计算机执行如上述实施例提供的数据传输方法中,数据传输装置执行的各个步骤。
本申请实施例还提供一种计算机程序产品,该计算机程序产品可直接加载到存储器中,并含有软件代码,该计算机程序产品经由计算机载入并执行后能够实现上述实施例提供的数据传输方法中,数据传输装置执行的各个步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取的存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种数据传输方法,其特征在于,应用于包括网关、终端和服务器的通信系统,所述网关与所述服务器之间以单通道连接;所述网关与所述终端之间以多通道连接;所述数据传输方法包括:
所述网关接收所述服务器以第一传输方式发送的数据;所述第一传输方式为:以所述服务器的IP地址为起始地址、所述终端的IP地址为目的地址的传输方式;
所述网关响应于所述服务器发送的所述数据,并以第二传输方式向所述服务器返回确认报文;所述第二传输方式为:以所述终端的IP地址为起始地址、所述服务器的IP地址为目的地址的传输方式;
所述网关缓存所述数据,并以所述第一传输方式向所述终端转发所述数据。
2.根据权利要求1所述的数据传输方法,其特征在于,所述网关维护第一状态机和第二状态机;所述第一状态机用于控制所述网关与所述服务器之间以所述单通道的方式传输所述数据;所述第二状态机用于控制所述网关与所述终端之间以所述多通道的方式传输所述数据;
所述网关缓存所述数据,并以所述第一传输方式向所述终端转发所述数据,包括:
所述网关将所述数据缓存至缓存模块中,并由所述第二状态机控制多通道分配比例,通过所述多通道以所述第一传输方式向所述终端转发所述数据。
3.根据权利要求2所述的数据传输方法,其特征在于,所述网关缓存所述数据,并以所述第一传输方式向所述终端转发所述数据之后,还包括:
所述网关接收到来自所述终端的响应消息,并由所述第二状态机进行所述数据的确认与丢包判断;
所述网关根据所述第二状态机的所述数据确认判断,删除所述缓存模块中与所述确认对应的数据;
所述网关根据所述第二状态机的所述数据丢包判断,提取所述缓存模块中与所述丢包对应的数据,并以所述第一传输方式向所述终端重传所述丢包对应的数据。
4.根据权利要求1所述的数据传输方法,其特征在于,所述网关响应于所述服务器发送的所述数据,并以第二传输方式向所述服务器返回确认报文,包括:
所述网关响应于所述服务器发送的所述数据,生成所述确认报文,并以所述第二传输方式向所述服务器返回所述确认报文;
所述网关接收到来自所述终端的响应消息后,终结所述响应消息。
5.根据权利要求1所述的数据传输方法,其特征在于,所述网关响应于所述服务器发送的所述数据,并以第二传输方式向所述服务器返回确认报文,包括:
所述网关接收到来自所述终端的响应消息;
若所述响应消息中未指出任何丢失数据,则将所述响应消息作为所述确认报文,以所述第二传输方式向所述服务器转发所述确认报文;
若所述响应消息中指出了丢失数据,则在所述响应消息中追加所述丢失数据的虚拟确认;
将追加所述虚拟确认后不再指出丢失数据的响应消息作为所述确认报文,以所述第二传输方式向所述服务器返回所述确认报文。
6.一种数据传输装置,其特征在于,应用于网关;所述网关归属于包括所述网关、终端和服务器的通信系统,所述网关与所述服务器之间以单通道连接;所述网关与所述终端之间以多通道连接;所述数据传输装置包括:接收单元、响应单元和转发单元;
所述接收单元,用于接收所述服务器以第一传输方式发送的数据;所述第一传输方式为:以所述服务器的IP地址为起始地址、所述终端的IP地址为目的地址的传输方式;
所述响应单元,用于响应于所述服务器发送的所述数据,并以第二传输方式向所述服务器返回确认报文;所述第二传输方式为:以所述终端的IP地址为起始地址、所述服务器的IP地址为目的地址的传输方式;
所述转发单元,用于缓存所述数据,并以所述第一传输方式向所述终端转发所述数据。
7.根据权利要求6所述的数据传输装置,其特征在于,所述数据传输装置还包括:处理单元;
所述处理单元,用于维护第一状态机和第二状态机;所述第一状态机用于控制所述网关与所述服务器之间以所述单通道的方式传输所述数据;所述第二状态机用于控制所述网关与所述终端之间以所述多通道的方式传输所述数据;
所述转发单元,具体用于:
将所述数据缓存至缓存模块中,并由所述第二状态机控制多通道分配比例,通过所述多通道以所述第一传输方式向所述终端转发所述数据。
8.根据权利要求7所述的数据传输装置,其特征在于,
所述接收单元,还用于接收到来自所述终端的响应消息,并由所述第二状态机进行所述数据的确认与丢包判断;
所述处理单元,还用于根据所述第二状态机的所述数据确认判断,删除所述缓存模块中与所述确认对应的数据;
所述发送单元,还用于根据所述第二状态机的所述数据丢包判断,提取所述缓存模块中与所述丢包对应的数据,并以所述第一传输方式向所述终端重传所述丢包对应的数据。
9.根据权利要求6所述的数据传输装置,其特征在于,所述响应单元,具体用于:
响应于所述服务器发送的所述数据,生成所述确认报文,并以所述第二传输方式向所述服务器返回所述确认报文;
所述网关接收到来自所述终端的响应消息后,终结所述响应消息。
10.根据权利要求6所述的数据传输装置,其特征在于,所述响应单元,具体用于:
接收到来自所述终端的响应消息;
若所述响应消息中未指出任何丢失数据,则将所述响应消息作为所述确认报文,以所述第二传输方式向所述服务器转发所述确认报文;
若所述响应消息中指出了丢失数据,则在所述响应消息中追加所述丢失数据的虚拟确认;
将追加所述虚拟确认后不再指出丢失数据的响应消息作为所述确认报文,以所述第二传输方式向所述服务器返回所述确认报文。
11.一种网关,其特征在于,所述网关包括上述权利要求6-10任一项所述的数据传输装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011281770.XA CN112333281A (zh) | 2020-11-16 | 2020-11-16 | 一种数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011281770.XA CN112333281A (zh) | 2020-11-16 | 2020-11-16 | 一种数据传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112333281A true CN112333281A (zh) | 2021-02-05 |
Family
ID=74317848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011281770.XA Pending CN112333281A (zh) | 2020-11-16 | 2020-11-16 | 一种数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112333281A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113518411A (zh) * | 2021-04-14 | 2021-10-19 | 珠海派诺科技股份有限公司 | 一种物联网设备的通信入网连接方法 |
CN114866624A (zh) * | 2022-03-25 | 2022-08-05 | 深圳市国电科技通信有限公司 | 数据传输方法、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1404068A2 (en) * | 2002-09-17 | 2004-03-31 | NTT DoCoMo, Inc. | Mobile communication system, server apparatus, and data transmission method |
CN103428013A (zh) * | 2012-05-18 | 2013-12-04 | 华为终端有限公司 | 设备管理方法、系统和网关设备 |
US20170134261A1 (en) * | 2014-06-27 | 2017-05-11 | Kt Corporation | Network device and terminal for multi-path communication, operation method thereof, and program implementing operation method |
CN107949018A (zh) * | 2017-12-30 | 2018-04-20 | 广东欧珀移动通信有限公司 | 终端无线数据传输方法、装置、终端及存储介质 |
CN109818878A (zh) * | 2019-01-25 | 2019-05-28 | 杭州天谷信息科技有限公司 | 多通道自适应流量控制方法和系统 |
CN110213167A (zh) * | 2018-02-28 | 2019-09-06 | 吴瑞 | 一种传输控制协议在网络拥塞时的处理方法和装置 |
CN210928000U (zh) * | 2020-01-15 | 2020-07-03 | 漳州海银智慧信息科技有限公司 | 一种全双工多通道并行的物联网基站 |
CN111585888A (zh) * | 2020-05-21 | 2020-08-25 | 深圳前海移联科技有限公司 | 一种通用的多通道智能路由方法 |
-
2020
- 2020-11-16 CN CN202011281770.XA patent/CN112333281A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1404068A2 (en) * | 2002-09-17 | 2004-03-31 | NTT DoCoMo, Inc. | Mobile communication system, server apparatus, and data transmission method |
CN103428013A (zh) * | 2012-05-18 | 2013-12-04 | 华为终端有限公司 | 设备管理方法、系统和网关设备 |
US20170134261A1 (en) * | 2014-06-27 | 2017-05-11 | Kt Corporation | Network device and terminal for multi-path communication, operation method thereof, and program implementing operation method |
CN107949018A (zh) * | 2017-12-30 | 2018-04-20 | 广东欧珀移动通信有限公司 | 终端无线数据传输方法、装置、终端及存储介质 |
CN110213167A (zh) * | 2018-02-28 | 2019-09-06 | 吴瑞 | 一种传输控制协议在网络拥塞时的处理方法和装置 |
CN109818878A (zh) * | 2019-01-25 | 2019-05-28 | 杭州天谷信息科技有限公司 | 多通道自适应流量控制方法和系统 |
CN210928000U (zh) * | 2020-01-15 | 2020-07-03 | 漳州海银智慧信息科技有限公司 | 一种全双工多通道并行的物联网基站 |
CN111585888A (zh) * | 2020-05-21 | 2020-08-25 | 深圳前海移联科技有限公司 | 一种通用的多通道智能路由方法 |
Non-Patent Citations (1)
Title |
---|
张亮: "多通道短信服务平台的设计与实现", 《电脑与电信》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113518411A (zh) * | 2021-04-14 | 2021-10-19 | 珠海派诺科技股份有限公司 | 一种物联网设备的通信入网连接方法 |
CN114866624A (zh) * | 2022-03-25 | 2022-08-05 | 深圳市国电科技通信有限公司 | 数据传输方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9088511B2 (en) | Multi-hop error recovery | |
US7965674B2 (en) | Sub-segment based transport layer protocol for wireless medium | |
JP5327864B2 (ja) | 通信ネットワークシステム及びネットワーク通信方法 | |
CN107396396B (zh) | 支持多源多径的数据传输管理方法 | |
US20090133105A1 (en) | Multi-medium wide area communication network | |
US20150319644A1 (en) | A method and a system for sharing wireless broadband connection between devices | |
EP3061276B1 (en) | Distributed data transmission in data networks | |
EP1966937A2 (en) | Digital object routing | |
CN103828323A (zh) | 用于可靠的会话迁移的方法和设备 | |
Wang et al. | SDUDP: A reliable UDP-Based transmission protocol over SDN | |
CN103548307A (zh) | 通过计算机网络传输数据的方法和系统 | |
JP7327730B2 (ja) | パケット処理方法および装置 | |
CN106576108B (zh) | 通信系统中的通信方法和设备及系统 | |
CN112333281A (zh) | 一种数据传输方法及装置 | |
CN109510690A (zh) | 传输报文的方法、网络组件和计算机可读存储介质 | |
CN112887209A (zh) | 关于数据传输的表项建立方法及相关设备 | |
US9003466B2 (en) | Method and system for isochronous data stream management in high speed audio/video networks | |
CN106603205B (zh) | 数据传输方法、装置和系统 | |
CN110381007B (zh) | Tcp加速方法及装置 | |
WO2023108328A1 (en) | Packet routing in a layer 2 mesh network | |
KR101503717B1 (ko) | 네트워크 장치 및 이에 이용되는 데이터 송수신 방법 | |
CN108702243A (zh) | Mmw网络中的中继arq的增强 | |
CN116032635B (zh) | 一种使用公共网络代替专线网络的数据传输方法及系统 | |
CN111817957B (zh) | 一种多路协同通信装置、通信系统及通信方法 | |
ITRA20070067A1 (it) | Sistema di comunicazione per terminali mobili con accesso wireless multicanale |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210205 |