CN109600388B - 数据传输方法、装置、计算机可读介质及电子设备 - Google Patents
数据传输方法、装置、计算机可读介质及电子设备 Download PDFInfo
- Publication number
- CN109600388B CN109600388B CN201910004540.XA CN201910004540A CN109600388B CN 109600388 B CN109600388 B CN 109600388B CN 201910004540 A CN201910004540 A CN 201910004540A CN 109600388 B CN109600388 B CN 109600388B
- Authority
- CN
- China
- Prior art keywords
- data
- data packet
- channel
- equipment
- address information
- 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.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 110
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 46
- 230000002776 aggregation Effects 0.000 claims abstract description 15
- 238000004220 aggregation Methods 0.000 claims abstract description 15
- 238000003860 storage Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 6
- 230000006854 communication Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 21
- 230000009977 dual effect Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
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/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
- H04L1/0017—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement
- H04L1/0018—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement based on latency requirement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1006—Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
-
- 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/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0289—Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
- H04W28/086—Load balancing or load distribution among access entities
- H04W28/0861—Load balancing or load distribution among access entities between base stations
- H04W28/0865—Load balancing or load distribution among access entities between base stations of different Radio Access Technologies [RATs], e.g. LTE or WiFi
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
- H04W28/086—Load balancing or load distribution among access entities
- H04W28/0866—Load balancing or load distribution among access entities between wireless and wire-based access points, e.g. via LTE and via DSL connected access points
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
- H04W28/0875—Load balancing or load distribution to or through Device to Device [D2D] links, e.g. direct-mode links
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/30—Connection release
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/15—Setup of multiple wireless link connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/30—Connection release
- H04W76/38—Connection release triggered by timers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明的实施例提供了一种数据传输方法、装置、计算机可读介质及电子设备。该数据传输方法包括:接收第一设备通过多个数据通道发送的第一数据包;解析所述第一数据包得到所述第一设备的地址信息,并根据所述第一数据包的数据包头对所述第一数据包进行聚合处理,得到第二数据包;将所述第二数据包的源地址信息更换为指定地址信息,得到第三数据包;将所述第三数据包发送至第二设备。本发明实施例的技术方案可以通过多个数据通道共同传输数据包来保证数据包的传输稳定性,有效解决了数据传输过程中的高丢包率及高延迟的问题,同时能够实现全栈的多通道数据传输过程。
Description
技术领域
本发明涉及计算机及通信技术领域,具体而言,涉及一种数据传输方法、装置、计算机可读介质及电子设备。
背景技术
由于无线环境的复杂性及无线通信协议的特性,无线通信下不可避免会出现干扰、空口拥塞等原因造成网络抖动情况。Wi-Fi(Wireless Fidelity,无线保真)因频谱较宽更容易受到干扰,但因其网络拓扑层较少,所以延迟较低。移动通信网络(如3G/4G/5G)由于频谱较窄而不容易受到干扰,但数据传输需要经过运营商的接入层,进而会导致延迟较高,并且也会因运营商基站设备部署和容量造成高延迟和拥塞的问题。
随着技术的发展,应用程序的通信过程越来越频繁,比如游戏客户端需要频繁与服务端进行通信,这类应用对网络环境的要求很高,低延迟、高稳定的特性成为这类应用的需求。但是,在复杂的无线通信环境下,目前的通信技术很难解决数据包丢失和高延迟的问题。
发明内容
本发明的实施例提供了一种数据传输方法、装置、计算机可读介质及电子设备,进而至少在一定程度上可以通过多个数据通道共同传输数据包来保证数据包的传输稳定性,有效解决了数据传输过程中的高丢包率及高延迟的问题,同时能够实现全栈的多通道数据传输过程。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明实施例的一个方面,提供了一种数据传输方法,包括:接收第一设备通过多个数据通道发送的第一数据包;解析所述第一数据包得到所述第一设备的地址信息,并根据所述第一数据包的数据包头对所述第一数据包进行聚合处理,得到第二数据包;将所述第二数据包的源地址信息更换为指定地址信息,得到第三数据包;将所述第三数据包发送至第二设备。
根据本发明实施例的一个方面,提供了一种数据传输装置,包括:接收单元,用于接收第一设备通过多个数据通道发送的第一数据包;第一处理单元,用于解析所述第一数据包得到所述第一设备的地址信息,并根据所述第一数据包的数据包头对所述第一数据包进行聚合处理,得到第二数据包;第二处理单元,用于将所述第二数据包的源地址信息更换为指定地址信息,得到第三数据包;发送单元,用于将所述第三数据包发送至第二设备。
在本发明的一些实施例中,基于前述方案,所述数据传输装置还包括:第一确定单元,用于从所述第二设备发送的数据包中确定出需要发送至所述第一设备的第四数据包;所述第二处理单元还用于,将所述第四数据包的目的地址信息更换为所述第一设备的地址信息,得到第五数据包;所述发送单元还用于,将所述第五数据包发送至所述第一设备。
在本发明的一些实施例中,基于前述方案,所述数据传输装置还包括:第一存储单元;其中,所述第一处理单元还用于解析所述第一数据包得到所述第一设备需要访问的地址信息,根据所述第一设备需要访问的地址信息确定所述第二设备;所述第一存储单元配置为存储所述第一设备需要访问的地址信息。
在本发明的一些实施例中,基于前述方案,所述第一确定单元配置为:确定所述第二设备发送的数据包的源地址信息;根据所述第一设备需要访问的地址信息,从所述第二设备发送的数据包中过滤出所述源地址信息与所述第一设备需要访问的地址信息相匹配的数据包,将过滤出的数据包作为所述第四数据包。
在本发明的一些实施例中,基于前述方案,所述数据传输装置还包括:分配单元,用于向所述第一设备分配虚拟端口;第二存储单元,用于将所述第一设备的地址信息与向所述第一设备分配的虚拟端口进行关联存储,其中,所述指定地址信息包括向所述第一设备分配的虚拟端口。
在本发明的一些实施例中,基于前述方案,所述第二处理单元还用于,在将所述第四数据包的目的地址信息更换为所述第一设备的地址信息之前,根据所述第四数据包的目的地址信息中所包含的虚拟端口的信息,获取已存储的所述第一设备的地址信息。
在本发明的一些实施例中,基于前述方案,所述接收单元还用于接收并存储所述第一设备发送的用于传输所述第一数据包的数据通道信息;所述发送单元配置为:根据存储的最新的数据通道信息,将所述第五数据包发送至所述第一设备。
在本发明的一些实施例中,基于前述方案,所述数据传输装置还包括:第二确定单元,用于基于对所述第一设备发送的数据包的接收情况,确定所述第一设备在发送数据包时所采用的数据通道的网络状态;所述发送单元配置为:根据所述第一设备在发送数据包时所采用的数据通道的网络状态的优劣,选择一个或多个数据通道将所述第五数据包发送至所述第一设备。
在本发明的一些实施例中,基于前述方案,所述第二确定单元配置为:根据接收到所述第一设备发送的数据包的第一时刻和所述第一设备发送的数据包中所包含的第二时刻,计算所述第一设备发送的数据包的延迟,其中,所述第二时刻为根据所述第一设备发送数据包的时刻,以及所述代理服务器与所述第一设备之间的时钟同步补偿值确定的;根据所述第一设备发送的数据包的延迟,确定所述第一设备发送数据包所采用的数据通道的网络状态。
在本发明的一些实施例中,基于前述方案,所述数据传输装置还包括:第三确定单元,用于接收所述第一设备反馈的对传输至所述第一设备的数据包的接收情况,以确定所述第一设备在接收数据包时所采用的数据通道的网络状态;所述发送单元配置为:根据所述第一设备在接收数据包时所采用的数据通道的网络状态的优劣,选择一个或多个数据通道将所述第五数据包发送至所述第一设备。
在本发明的一些实施例中,基于前述方案,所述数据传输装置还包括:第四确定单元,用于基于对所述第一设备发送的数据包的接收情况,确定所述第一设备在发送数据包时所采用的数据通道的网络状态;所述发送单元还用于将所述第一设备在发送数据包时所采用的数据通道的网络状态发送至所述第一设备,以使所述第一设备根据所述网络状态在再次发送数据包时选择所采用的数据通道。
在本发明的一些实施例中,基于前述方案,所述数据传输装置还包括:第三处理单元,用于在接收到所述第一设备发送的断开TCP连接的数据报文时,在经过预定时长后删除存储的与所述第一设备相关的信息;和/或在与所述第一设备建立TCP连接的过程中,若接收到的所述第一设备发送的第一个TCP数据报文不是建立TCP连接的数据报文,则向所述第一设备发送重置连接的数据报文;和/或设置所述第二设备发送的数据报文的最大报文段长度。
根据本发明实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的数据传输方法。
根据本发明实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的数据传输方法。
在本发明的一些实施例所提供的技术方案中,通过接收第一设备通过多个数据通道发送的第一数据包,并进行聚合处理后发送第二设备,使得能够通过多个数据通道共同传输数据包来保证数据包的传输稳定性,有效解决了数据传输过程中的高丢包率及高延迟的问题,同时聚合处理也能够保证第二设备无需重复接收相同的数据,实现了第二设备无感知的多数据通道传输过程。此外,由于将第二数据包的源地址信息更换为指定地址信息(如代理服务器的地址信息)后发送至第二设备,因此无论第一设备与代理服务器之间采用哪种通信方式,都可以进行多数据通道的传输,实现了全栈的多通道数据传输过程,满足了多种通信场景下的业务需求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本发明实施例的技术方案的示例性***架构的示意图;
图2示意性示出了根据本发明的一个实施例的数据传输方法的流程图;
图3示意性示出了根据本发明的一个实施例的数据传输方法的流程图;
图4示意性示出了根据本发明的一个实施例的从第二设备发送的数据包中确定出需要发送至第一设备的第四数据包的流程图;
图5示出了根据本发明的一个实施例的双通道通信***的结构示意图;
图6示出了根据本发明的一个实施例的双通道通信***的结构示意图;
图7示意性示出了根据本发明的一个实施例的双通道通信过程的流程图;
图8示出了根据本发明的一个实施例的双通道客户端对ip报文加装双通道包头的示意图;
图9示意性示出了根据本发明的一个实施例的双通道客户端对接收到的数据报文的处理流程图;
图10示意性示出了根据本发明的一个实施例的双通道代理服务器与游戏服务器之间的交互流程图;
图11示意性示出了根据本发明的一个实施例的双通道代理服务器与双通道负载均衡服务器之间的交互流程图;
图12示出了根据本发明的一个实施例的Wi-Fi通道和有线通道组成的双通道***示意图;
图13示出了根据本发明的一个实施例的Wi-Fi通道和蓝牙通道组成的双通道***示意图;
图14示意性示出了根据本发明的一个实施例的数据传输装置的框图;
图15示出了适于用来实现本发明实施例的电子设备的计算机***的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本发明实施例的技术方案的示例性***架构的示意图。
如图1所示,***架构可以包括终端设备(如图1中所示智能手机101、平板电脑102和便携式计算机103中的一种或多种,当然也可以是台式计算机等等)、多通道代理服务器104和游戏服务器105。多通道代理服务器104用以将终端设备通过多个数据通道发送的数据进行聚合处理后发送至游戏服务器105,并用于将游戏服务器105发送的数据通过多个数据通道返回给终端设备。
应该理解,图1中的终端设备、多通道代理服务器104和游戏服务器105的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、多通道代理服务器104和游戏服务器105。比如游戏服务器105可以是多个服务器组成的服务器集群等。
在本发明的一个实施例中,多通道代理服务器104在接收到智能手机101(也可以是图1中所示平板电脑102或便携式计算机103等)发送的链接数据后,可以向智能手机101分配一个虚拟端口,然后将该虚拟端口与智能手机101的真实地址信息进行关联存储,同时记录智能手机101访问的游戏服务器的VIP(Virtual IP Address,虚拟IP地址)。当多通道代理服务器104接收到智能手机101通过多个数据通道(比如Wi-Fi通道和4G通道)发送的游戏数据包后进行聚合处理(比如去重处理),然后将去重处理后的游戏数据包的源地址信息更换为多通道代理服务器104的地址信息(包括前述的虚拟端口),进而发送至游戏服务器105。
当多通道代理服务器104接收到游戏服务器105发送的数据包之后,根据该数据包的源地址信息和之前记录的VIP信息,过滤出需要发送至智能手机101的数据包,然后根据记录的虚拟端口及智能手机101的真实地址信息,将过滤出的数据包的目的地址信息修改为智能手机101的真实地址信息,进而可以通过多个数据通道发送至智能手机101。
可见,本发明实施例的技术方案能够通过多个数据通道共同传输数据包来保证数据包的传输稳定性,有效解决了数据传输过程中的高丢包率及高延迟的问题,并且能够实现全栈的多通道数据传输过程,满足了多种通信场景下的业务需求。
以下对本发明实施例的技术方案的实现细节进行详细阐述:
图2示意性示出了根据本发明的一个实施例的数据传输方法的流程图,该数据传输方法可以由服务器来执行,该服务器可以是图1中所示的多通道代理服务器104。参照图2所示,该数据传输方法至少包括步骤S210至步骤S240,详细介绍如下:
在步骤S210中,接收第一设备通过多个数据通道发送的第一数据包。
在本发明的一个实施例中,多个数据通道可以包括如下数据通道中的两个或两个以上:Wi-Fi通道、蓝牙通道、有线通道、移动通信网络(如3G/4G/5G等)的数据通道等。
在本发明的一个实施例中,第一设备通过多个数据通道发送的数据包可以是完全相同的;也可以是由一个数据通道发送全量数据包,其它数据通道发送非全量数据包(比如每5个数据包仅发送2个等);还可以是由多个数据通道分别发送非全量数据包,以便于接收方进行聚合处理得到完整的数据包。
在本发明的一个实施例中,第一设备发送的第一数据包可以是TCP(TransmissionControl Protocol,传输控制协议)数据包,也可以是UDP(User Datagram Protocol,用户数据报协议)数据包,或者也可以是IP数据包。
在本发明的一个实施例中,代理服务器在与第一设备建立TCP连接的过程中,若接收到的第一设备发送的第一个TCP数据报文不是建立TCP连接的数据报文(如syn报文),则向第一设备发送重置连接的数据报文(如rst报文),以确保第一设备能够尽快重建与代理服务器之间的连接。
在本发明的一个实施例中,代理服务器在接收到第一设备发送的断开TCP连接的数据报文(如fin报文),则在经过预定时长后可以删除存储的与第一设备相关的信息(比如第一设备的地址信息、向第一设备分配的虚拟端口的信息、第一设备需要访问的地址信息等)。
在步骤S220中,解析所述第一数据包得到所述第一设备的地址信息,并根据所述第一数据包的数据包头对所述第一数据包进行聚合处理,得到第二数据包。
在本发明的一个实施例中,第一设备的地址信息可以包括第一设备的内网IP(Internet Protocol,互联网协议)地址和内网端口信息等。
在本发明的一个实施例中,根据第一数据包的数据包头对第一数据包进行聚合处理可以是对第一设备通过多个数据通道发送的数据包进行去重处理和/或整合处理,以得到全量且不重复的数据包。比如,可以根据第一数据包的数据包头中的包序号来进行去重处理(如删除包序号重复的数据包)和/或整合处理(如将不同包序号的数据包进行整合)。
在步骤S230中,将所述第二数据包的源地址信息更换为指定地址信息,得到第三数据包。
在本发明的一个实施例中,指定地址信息可以包括代理服务器的IP地址,以及代理服务器向第一设备分配的虚拟端口信息。其中,代理服务器在向第一设备分配虚拟端口信息之后,可以将该虚拟端口信息与第一设备的真实地址信息进行关联存储,进而在接收到其它设备发送的数据包时,可以根据该数据包中包含的虚拟端口信息来确定该数据包是否是发送至第一设备的数据包。
在步骤S240中,将所述第三数据包发送至第二设备。
在本发明的一个实施例中,第二设备可以是第一设备需要访问的设备,比如可以是游戏服务器等。
在本发明的一个实施例中,可以解析第一设备发送的第一数据包得到第一设备需要访问的地址信息,然后根据第一设备需要访问的地址信息来确定第二设备。可选地,当第二设备为游戏服务器的情况下,第一设备需要访问的地址信息可以是游戏服务器的VIP,其中,游戏服务器的一个VIP对应于一个第一设备。
在本发明的一个实施例中,代理服务器还可以设置第二设备发送的数据报文的最大报文段长度。比如通过设置TCP报文协议的mss字段来设置最大报文段长度。
图2所示实施例的技术方案使得能够通过多个数据通道共同传输数据包来保证数据包的传输稳定性,有效解决了数据传输过程中的高丢包率及高延迟的问题,同时聚合处理也能够保证第二设备无需重复接收相同的数据,实现了第二设备无感知的多数据通道传输过程。此外,由于将第二数据包的源地址信息更换为指定地址信息(如代理服务器的地址信息)后发送至第二设备,因此无论第一设备与代理服务器之间采用哪种通信方式,都可以进行多数据通道的传输,实现了全栈的多通道数据传输过程,满足了多种通信场景下的业务需求。
基于图2所示实施例的技术方案,图3示意性示出了根据本发明的一个实施例的数据传输方法的流程图,该数据传输方法可以由服务器来执行,该服务器可以是图1中所示的多通道代理服务器104。参照图3所示,该数据传输方法至少包括步骤S310至步骤S330,详细介绍如下:
在步骤S310中,从所述第二设备发送的数据包中确定出需要发送至所述第一设备的第四数据包。
在本发明的一个实施例中,第四数据包可以是IP数据包,即第二设备可以直接将IP数据包发送给代理服务器,进而可以无缝支持全栈网络的多通道传输。
在本发明的一个实施例中,代理服务器在接收到第一设备发送的第一数据包之后,可以解析该第一数据包得到第一设备需要访问的地址信息,然后存储该地址信息。当接收到第二设备发送的数据包之后,可以基于已存储的第一设备需要访问的地址信息来确定需要发送至第一设备的第四数据包,具体过程可以参照图4所示,具体包括如下步骤:
步骤S410,确定所述第二设备发送的数据包的源地址信息。
在本发明的一个实施例中,可以通过解析第二设备发送的数据包来获取该数据包的源地址信息。可选地,当第二设备为游戏服务器的情况下,第二设备发送的数据包的源地址信息可以是游戏服务器的虚拟地址信息。
步骤S420,根据所述第一设备需要访问的地址信息,从所述第二设备发送的数据包中过滤出所述源地址信息与所述第一设备需要访问的地址信息相匹配的数据包,将过滤出的数据包作为所述第四数据包。
在本发明的一个实施例中,第二设备发送的数据包并非都是要发送至第一设备的,但是要发送给第一设备的数据包的源地址信息与第一设备发送的数据包中的目的地址信息是相同的,因此可以从第二设备发送的数据包中过滤出源地址信息与第一设备需要访问的地址信息相匹配的数据包,并以此作为需要发送至第一设备的第四数据包。
继续参照图3所示,在步骤S320中,将所述第四数据包的目的地址信息更换为所述第一设备的地址信息,得到第五数据包。
在本发明的一个实施例中,代理服务器事先可以向第一设备分配虚拟端口,然后将向第一设备分配的虚拟端口与第一设备的地址信息进行关联存储。而第四数据包的目的地址信息包括了代理服务器的IP地址和代理服务器向第一设备分配的虚拟端口信息,因此可以据此虚拟端口信息从已存储的虚拟端口与地址信息的关联关系中查询出第一设备的地址信息,然后将第四数据包的目的地址信息更换为第一设备的地址信息。可选地,第一设备的地址信息可以包括第一设备的内网地址和内网端口。
在步骤S330中,将所述第五数据包发送至所述第一设备。
在本发明的一个实施例中,可以将第五数据包通过多个数据通道发送至第一设备,以确保数据包的传输稳定性,进而解决数据传输过程中的高丢包率及高延迟的问题。可选地,第一设备在接收到通过多个数据通道传输的数据包之后,也可以进行聚合处理,该聚合处理可以是对第一设备通过多个数据通道接收到的数据包进行去重处理和/或整合处理,以得到全量且不重复的数据包。
在本发明的一个实施例中,第一设备还可以用于传输第一数据包的数据通道信息发送至代理服务器,具体的发送方式可以是实时发送、周期性发送、在发生变化时进行发送等等,代理服务器在接收到该数据通道信息之后,可以进行存储,进而代理服务器在将第五数据包发送至第一设备时可以根据存储的最新的数据通道信息来将第五数据包发送至第一设备,确保代理服务器能够知晓且能够采用最新的数据通道信息来向第一设备发送数据包。
在本发明的一个实施例中,代理服务器还可以基于对第一设备发送的数据包的接收情况,确定第一设备在发送数据包时所采用的数据通道的网络状态,比如延迟情况、拥塞情况等,进而代理服务器在将第五数据包发送至第一设备时,可以根据第一设备在发送数据包时所采用的数据通道的网络状态的优劣,选择一个或多个数据通道将第五数据包发送至第一设备。比如,当某个数据通道的网络状态较好时,可以仅通过该网络状态较好的数据通道来传输第五数据包,进而可以减少对数据通道的占用及流量的消耗;当多个数据通道的网络状态都较差时,可以通过多个数据通道来传输第五数据包,进而可以保证数据包的传输稳定性,避免数据传输过程中出现高丢包率及高延迟的问题。
在本发明的一个实施例中,确定第一设备在发送数据包时所采用的数据通道的网络状态可以是根据接收到第一设备发送的数据包的第一时刻和第一设备发送的数据包中所包含的第二时刻,计算第一设备发送的数据包的延迟,然后根据第一设备发送的数据包的延迟,确定第一设备发送数据包所采用的数据通道的网络状态。其中,若第一设备发送的数据包的延迟越大,则说明第一设备发送数据包所采用的数据通道的网络状态越差;若第一设备发送的数据包的延迟越小,则说明第一设备发送数据包所采用的数据通道的网络状态越好。
在本发明的一个实施例中,上述的第二时刻为根据第一设备发送数据包的时刻,以及代理服务器与第一设备之间的时钟同步补偿值确定的。具体地,第一设备可以每隔一段时间向代理服务器请求代理服务器的时间戳,并记录代理服务器每次的返回延迟,通过平均求得第一设备与代理服务器之间的平均延迟avgDelay;然后第一设备根据记录的最后一次请求服务器返回的代理服务器时间戳svrTime和此时的第一设备的时间localStartTime,计算此时的代理服务器时间svrStartTime=svrTime+avgDelay/2,进而将svrStartTime–localStartTime作为代理服务器与第一设备之间的时钟同步补偿值,假设第一设备发送数据包的时刻为curTime,那么上述的第二时刻即为CStime=curTime+svrStartTime-localStartTime。
在本发明的一个实施例中,代理服务器还可以接收第一设备反馈的对传输至第一设备的数据包的接收情况,以确定第一设备在接收数据包时所采用的数据通道的网络状态,比如延迟情况、拥塞情况等,进而代理服务器在将第五数据包发送至第一设备时,可以根据第一设备在接收数据包时所采用的数据通道的网络状态的优劣,选择一个或多个数据通道将第五数据包发送至第一设备。比如,当某个数据通道的网络状态较好时,可以仅通过该网络状态较好的数据通道来传输第五数据包,进而可以减少对数据通道的占用及流量的消耗;当多个数据通道的网络状态都较差时,可以通过多个数据通道来传输第五数据包,进而可以保证数据包的传输稳定性,避免数据传输过程中出现高丢包率及高延迟的问题。
在本发明的一个实施例中,代理服务器还可以基于对第一设备发送的数据包的接收情况,确定第一设备在发送数据包时所采用的数据通道的网络状态,然后将第一设备在发送数据包时所采用的数据通道的网络状态发送至第一设备,以使第一设备根据该网络状态在再次发送数据包时选择所采用的数据通道。比如,当某个数据通道的网络状态较好时,第一设备在再次发送数据包时可以仅通过该网络状态较好的数据通道来向代理服务器发送数据包,进而可以减少对数据通道的占用及流量的消耗;当多个数据通道的网络状态都较差时,第一设备在再次发送数据包时可以通过多个数据通道来向代理服务器发送数据包,进而可以保证数据包的传输稳定性,避免数据传输过程中出现高丢包率及高延迟的问题。
在本发明的一个实施例中,第一设备还可以基于对代理服务器发送的数据包的接收情况,确定第一设备在接收数据包时所采用的数据通道的网络状态,然后根据该网络状态在发送数据包时选择所采用的数据通道。比如,当某个数据通道的网络状态较好时,第一设备可以仅通过该网络状态较好的数据通道来向代理服务器发送数据包,进而可以减少对数据通道的占用及流量的消耗;当多个数据通道的网络状态都较差时,第一设备可以通过多个数据通道来向代理服务器发送数据包,进而可以保证数据包的传输稳定性,避免数据传输过程中出现高丢包率及高延迟的问题。
以下以第一设备为双通道客户端、代理服务器为双通道代理服务器(即以下以通过两个数据通道来传输数据为例进行说明)、第二设备为游戏服务器为例,对本发明实施例的技术方案的实现细节进行详细阐述:
在本发明的一个实施例中,如图5所示,根据本发明的一个实施例的双通道通信***,主要包括:手机、双通道负载均衡服务器502、双通道代理服务器503和游戏服务器504。其中,手机中设置有游戏客户端、网卡和双通道客户端501,双通道客户端501通过网卡与游戏客户端进行通信。
在本发明的一个实施例中,游戏客户端与双通道客户端501之间可以发送tcp报文和udp报文。当双通道客户端501接收到游戏客户端发送的udp报文之后,可以通过双通道(如Wi-Fi通道和4G通道)发送至双通道负载均衡服务器502,然后由双通道负载均衡服务器502转发至双通道代理服务器503,双通道代理服务器503对接收到的udp报文进行去重后转发至游戏服务器504。
在本发明的一个实施例中,当双通道代理服务器503接收到游戏服务器504发送的udp报文之后,可以将该udp报文通过双通道(如Wi-Fi通道和4G通道)发送至双通道负载均衡服务器502,然后由双通道负载均衡服务器502转发至双通道客户端501,双通道客户端501对接收到的udp报文进行去重后通过网卡转发至游戏客户端。
在本发明的一个实施例中,双通道客户端501从网卡截获到tcp的syn报文(syn报文表示建立连接的报文)后,双通道客户端501依据目地地址信息,立即与游戏服务器504建立tcp链接。当tcp链接建立后,双通道客户端501通过网卡向游戏客户端发送tcp的ack+syn报文(ack+syn报文表示确认建立连接的报文),继续后续tcp链接建立流程。在双通道客户端501与游戏客户端建立完tcp虚拟链接后,桥接fd1(与游戏客户端通信)和fd2(与游戏服务器504通信),然后转发游戏客户端发送给游戏服务器504的上行tcp报文,并转发游戏服务器504发送给游戏客户端的下行tcp报文。
可见,在图5所示实施例的技术方案中,实现了udp报文的双通道发送,但是并不支持tcp报文的双通道发送,当双通道客户端501与游戏服务器504之间的网络比较差时,fd2的tcp链接不能及时建立,进而会倒置fd1的tcp链接建立失效,造成tcp链接不断重连,游戏体验会比较差。
基于前述问题,在本发明的一个实施例中,如图6所示,根据本发明的一个实施例的双通道通信***,主要包括:手机、双通道负载均衡服务器602a和602b、双通道代理服务器603和游戏服务器604。其中,手机中设置有游戏客户端、网卡和双通道客户端601。需要说明的是,图6中所示的双通道负载均衡服务器的数量仅为示例,在本发明的其它实施例中,可以设置任意数量的双通道负载均衡服务器,也可以不设置双通道负载均衡服务器。
在本发明的一个实施例中,双通道代理服务器603在收到某个双通道客户端发送的tcp链接的fin包时,将此双通道客户端的tcp链接状态标记fin状态,并在finOutTime(默认10秒)后,将该tcp链接信息从客户端信息模块中删除,finOutTime超时时间是用于保证tcp链接的4次挥手可以正常结束。
在本发明的一个实施例中,双通道代理服务器603在新建某个双通道客户端的tcp链接时,会判定该tcp链接的第一个tcp报文是否是三次握手的syn报文,如是则建立tcp链接信息并存储在客户端信息模块;如不是,则向该双通道客户端回复rst报文,中断该非法tcp链接,以保证双通道客户端可以快速的重建该tcp链接。
在本发明的一个实施例中,双通道客户端601在接收到游戏客户端发送的tcp链接的syn报文时,可以设置tcp报文协议的mss字段值,以保证游戏服务器604发送的数据包都在可控长度范围内(tcp报文长度取mss值和发送窗口值的最小值),防止数据包过大引起缓冲溢出和影响传输效率问题。
在本发明的一个实施例中,双通道代理服务器603在接收到游戏服务器604回复的tcp链接的syn+ack报文时,会设置tcp报文协议的mss字段,以保证游戏客户端发送的数据包都在可控长度范围内,防止数据包过大引起缓冲溢出和影响传输效率问题。
在本发明的一个实施例中,双通道代理服务器603可以分别关闭网卡优化的以下几个选项:GRO(Generic Receive Offloading,通用接收)、TSO(TCP SegmentationOffload,TCP分段)、GSO(Generic Segmentation Offload,通用分段)、LRO(Large ReceiveOffload,大型接收),以保证tcp链接的mss值设置生效。
如图6和图7所示,当双通道客户端601启动后,创建虚拟网卡(该虚拟网卡通过手机中的实体网卡与游戏客户端通信),并建立两个线程(即上行线程和下行线程),同时可以建立两个udp的socket链接并绑定至Wi-Fi通道和4G通道。
在本发明的一个实施例中,双通道客户端601依据对应游戏业务配置请求云端控制服务器,下发游戏服务器604的IP地址。根据此IP地址设定iptables过滤策略,并通过网卡截获游戏客户端发出的IP报文并转发至虚拟网卡。
在本发明的一个实施例中,如图8所示,双通道客户端601从虚拟网卡收到游戏客户端发送的ip报文之后,可以加装双通道包头,形成“双通道包头+游戏IP报文”格式的双通道上行报文,然后可以基于udp协议并通过Wi-Fi和4G两个通道进行发送。
在本发明的一个实施例中,如图6所示,双通道客户端601在通过双通道发送时,可以先发送至双通道负载均衡服务器,然后由双通道负载均衡服务器转发至双通道代理服务器603的上行线程,进而由双通道代理服务器603进行去重处理之后转发至游戏服务器604。
在本发明的一个实施例中,如图7所示,双通道客户端601在通过双通道发送时,也可以直接发送至双通道代理服务器603,然后由双通道代理服务器603进行去重处理之后转发至游戏服务器604。
在本发明的一个实施例中,双通道客户端601发送的双通道上行报文的协议字段可以如下所示:
在本发明的一个实施例中,如图9所示,双通道客户端601在接收到通过双通道发送的“双通道包头+游戏IP报文”格式的双通道下行报文之后,通过去重逻辑对接收到的双通道下行报文进行去重处理,并脱去双通道下行报文的包头后,直接将data(数据)字段存放的IP报文中并发送至虚拟网卡,以便于虚拟网卡将该游戏IP报文通过网卡发送至游戏客户端。
在本发明的一个实施例中,双通道客户端601接收到的双通道下行报文的协议字段可以如下所示:
在本发明的一个实施例中,如图6所示,双通道客户端601接收到的双通道下行报文可以是由游戏服务器604将游戏IP报文发送至双通道代理服务器603的下行线程,然后由双通道代理服务器603加装双通道包头之后生成的。当双通道代理服务器603生成双通道下行报文之后,将其发送至双通道负载均衡服务器,然后由双通道负载均衡服务器转发至双通道客户端601。
在本发明的一个实施例中,如图7所示,当双通道代理服务器603生成双通道下行报文之后,可以直接发送给双通道客户端601。然后由双通道客户端601进行去重处理,并脱去双通道下行报文的包头后,直接将data(数据)字段存放的IP报文中并发送至游戏客户端。
以下结合图10对本发明实施例中的双通道代理服务器和游戏服务器之间的交互流程进行详细说明。
如图10所示,根据本发明的一个实施例的双通道代理服务器与游戏服务器之间的交互流程,包括如下步骤:
步骤S1001,双通道代理服务器接收到双通道客户端(可以直接接收双通道客户端发送的数据包或者通过负载均衡服务器来间接接收)通过双通道发送的上行数据包。
步骤S1002,双通道代理服务器脱去接收到的双通道包头和内部通信包头并去重,然后伪装IP报文中的地址和端口后发送至游戏服务器。
在本发明的一个实施例中,双通道代理服务器在接收到双通道客户端发送的上行数据包后,会将包头内包含的双通道客户端的真实地址信息(包括内网IP和内网端口)记录在客户端信息模块,并通过虚拟端口池模块为该双通道客户端分配一个虚拟的本地端口。同时,根据该上行数据包需要访问的游戏服务器地址更新VIP信息模块,将其所要访问的游戏服务器的VIP添加进该模块。
在本发明的一个实施例中,双通道代理服务器可以依据上行数据包的包头中所包含的客户端唯一标识,识别从4G和Wi-Fi通道发送来的客户端IP报文,并进行去重处理。
在本发明的一个实施例中,双通道代理服务器伪装IP报文中的地址和端口信息主要是将去重处理后的上行IP报文中的地址信息伪装为本机的地址信息(包括双通道代理服务器的IP地址和向双通道客户端分配的虚拟端口),然后重新计算ip、tcp或udp报文头部的checksum字段,并通过RawSocket线程发送至游戏服务器。
步骤1003,双通道代理服务器的下行线程创建rawSocket接收IP报文,然后通过VIP信息模块中记录的游戏服务器的IP信息,依据IP报文srcAddr(源地址)过滤IP报文,以得到需要发送至双通道客户端的IP报文。同时,依据IP报文中的dstPort(目的端口)从客户端信息模块找到该链接的信息,即找到双通道客户端的真实地址信息。然后将该双通道客户端的内网IP和内网端口伪装至游戏下行IP报文中,并重新计算ip、tcp、或udp报文头部的checksum字段。
在本发明的一个实施例中,双通道客户端可以实时向双通道代理服务器发送数据包所在的通道信息,以方便代理服务器进行通道切换,即可保证在4G或者Wi-Fi通道异常切换时,代理服务器可以在第一时间更新客户端对应的通道信息。可选地,双通道客户端发送的通道信息可以维护在双通道协议头的ver和type字段。比如ver=1表示主通道,ver=0表示副通道;type=1表示4G通信,type=0表示Wi-Fi通信。
步骤S1004,双通道代理服务器依据双通道客户端发送的最新的Wi-Fi和4G通道的信息,在游戏下行IP报文前加装双通道下行包头和双通道后端内部协议包头后在双通道中发送给双通道客户端。可选地,双通道代理服务器可以基于udp协议将处理后的数据报文发送至双通道客户端。
在本发明的一个实施例中,如图11所示,双通道代理服务器也可以将加装双通道包头和双通道后端内部包头后的游戏IP报文先发送给双通道负载均衡服务器,然后由双通道负载均衡服务器去除双通道后端内部包头后发送至双通道客户端。
在本发明的一个实施例中,双通道代理服务器可以定时进行双通道客户端的通道信息的清理(可以通过图6中所示的定时任务模块来触发),如在超时时间内没有双通道客户端数据从双通道代理服务器经过,则将此双通道客户端的线程和通道信息数据进行清除。
在本发明的实施例中,由于双通道代理服务器可以透明转发双通道客户端与游戏服务器之间的IP报文(双通道客户端的IP报文来自于游戏客户端),因此可以支持全栈网络协议的多通道数据传输。
在本发明的一个实施例中,双通道传输过程中还可以通过判断数据通道的网络状态来实现智能省流量的传输,具体过程如下:
1、双通道客户端和双通道代理服务器进行时钟同步,具体过程如下:
1)双通道客户端向双通道代理服务器请求双通道代理服务器的时间戳(比如可以请求10次,每次间隔500ms),并记录每次双通道代理服务器的返回延迟,通过平均求得双通道客户端和双通道代理服务器的平均延迟avgDelay;
2)双通道客户端记录最后一次请求双通道代理服务器返回的双通道代理服务器时间戳svrTime和此时的双通道客户端时间localStartTime;
3)双通道客户端计算此时的服务器时间svrStartTime=svrTime+avgDelay/2;
4)双通道客户端发送的每个数据包都带上当前的服务器时间即CStime=curTime-localStartTime+svrStartTime;同时,双通道代理服务器发送的每个下行包都带上双通道代理服务器的当前时间戳Stime。
2、假设通过Wi-Fi和4G通道来传输数据,双通道代理服务器依据上行包的延迟(双通道代理服务器的当前时间-CStime),判断当前Wi-Fi通道的卡顿级别,以此制定4G通道发包规则,比如在Wi-Fi通道的网络状态较好时,4G通道可以不发包或者非全量发包,以节省用户的下行流量。
在本发明的一个实施例中,双通道代理服务器也可以接收双通道客户端反馈的下行包的延迟,然后判断当前Wi-Fi通道的卡顿级别,以此制定4G通道发包规则。
3、双通道客户端依据下行包的延迟(双通道客户端的当前时间-Stime),判断当前Wi-Fi通道的卡顿级别,以此制定4G通道发包规则,比如在Wi-Fi通道的网络状态较好时,4G通道可以不发包或者非全量发包,以节省用户的上行流量。
在本发明的一个实施例中,双通道客户端也可以接收双通道代理服务器反馈的上行包的延迟,然后判断当前Wi-Fi通道的卡顿级别,以此制定4G通道发包规则。
本发明上述实施例的技术方案以Wi-Fi通道和4G通道为例对双通道的数据传输方案进行了详细阐述,在本发明的其他实施例中,如图12所示,双通道还可以是Wi-Fi通道和有线通道,有线通道可以是通过OTG(On-The-Go)线转网线接入网络;或者如图13所示,双通道还可以是Wi-Fi通道和蓝牙通道,蓝牙通道通过蓝牙网络分享设备接入网络。其中,蓝牙网络分享设备可以是专用的分享设备,也可以是一个手机蓝牙网络热点或者电脑热点。当然,双通道还可以是有线通道和蓝牙通道、或者有线通道和4G通道、蓝牙通道和4G通道等。
此外,在本发明的其它实施例中,也可以通过三通道或更多通道来实现数据传输,其中这些数据通道可以包括Wi-Fi通道、蓝牙通道、有线通道、移动通信网络(如3G/4G/5G等)的数据通道等。
本发明实施例的多通道数据传输方案实现灵活,大多数业务可零成本接入,无须业务做任何变动和适配,并且可以支持所有类型的游戏业务和应用。同时,在其中某个数据通道出现网络故障时,用户完全无感知,且可以有效预防70%以上的客户端网络卡顿情况,尤其在Wi-Fi网络较为复杂情况下,效果较为显著。且在赛事网络下,可预防大多数Wi-Fi无线干扰情况,完美解决了tcp链接和双通道加速的问题。
以下介绍本发明的装置实施例,可以用于执行本发明上述实施例中的数据传输方法。对于本发明装置实施例中未披露的细节,请参照本发明上述的数据传输方法的实施例。
图14示意性示出了根据本发明的一个实施例的数据传输装置的框图。
参照图14所示,根据本发明的一个实施例的数据传输装置1400,包括:接收单元1402、第一处理单元1404、第二处理单元1406和发送单元1408。
其中,接收单元1402用于接收第一设备通过多个数据通道发送的第一数据包;第一处理单元1404用于解析所述第一数据包得到所述第一设备的地址信息,并根据所述第一数据包的数据包头对所述第一数据包进行聚合处理,得到第二数据包;第二处理单元1406用于将所述第二数据包的源地址信息更换为指定地址信息,得到第三数据包;发送单元1408用于将所述第三数据包发送至第二设备。
在本发明的一个实施例中,数据传输装置1400还包括:第一确定单元,用于从所述第二设备发送的数据包中确定出需要发送至所述第一设备的第四数据包;所述第二处理单元1406还用于,将所述第四数据包的目的地址信息更换为所述第一设备的地址信息,得到第五数据包;所述发送单元1408还用于,将所述第五数据包发送至所述第一设备。
在本发明的一个实施例中,数据传输装置1400还包括:第一存储单元;其中,所述第一处理单元1404还用于解析所述第一数据包得到所述第一设备需要访问的地址信息,根据所述第一设备需要访问的地址信息确定所述第二设备;所述第一存储单元配置为存储所述第一设备需要访问的地址信息。
在本发明的一个实施例中,所述第一确定单元配置为:确定所述第二设备发送的数据包的源地址信息;根据所述第一设备需要访问的地址信息,从所述第二设备发送的数据包中过滤出所述源地址信息与所述第一设备需要访问的地址信息相匹配的数据包,将过滤出的数据包作为所述第四数据包。
在本发明的一个实施例中,数据传输装置1400还包括:分配单元,用于向所述第一设备分配虚拟端口;第二存储单元,用于将所述第一设备的地址信息与向所述第一设备分配的虚拟端口进行关联存储,其中,所述指定地址信息包括向所述第一设备分配的虚拟端口。
在本发明的一个实施例中,第二处理单元1406还用于,在将所述第四数据包的目的地址信息更换为所述第一设备的地址信息之前,根据所述第四数据包的目的地址信息中所包含的虚拟端口的信息,获取已存储的所述第一设备的地址信息。
在本发明的一个实施例中,接收单元1402还用于接收并存储所述第一设备发送的用于传输所述第一数据包的数据通道信息;所述发送单元1408配置为:根据存储的最新的数据通道信息,将所述第五数据包发送至所述第一设备。
在本发明的一个实施例中,数据传输装置1400还包括:第二确定单元,用于基于对所述第一设备发送的数据包的接收情况,确定所述第一设备在发送数据包时所采用的数据通道的网络状态;所述发送单元1408配置为:根据所述第一设备在发送数据包时所采用的数据通道的网络状态的优劣,选择一个或多个数据通道将所述第五数据包发送至所述第一设备。
在本发明的一个实施例中,所述第二确定单元配置为:根据接收到所述第一设备发送的数据包的第一时刻和所述第一设备发送的数据包中所包含的第二时刻,计算所述第一设备发送的数据包的延迟,其中,所述第二时刻为根据所述第一设备发送数据包的时刻,以及所述代理服务器与所述第一设备之间的时钟同步补偿值确定的;根据所述第一设备发送的数据包的延迟,确定所述第一设备发送数据包所采用的数据通道的网络状态。
在本发明的一个实施例中,数据传输装置1400还包括:第三确定单元,用于接收所述第一设备反馈的对传输至所述第一设备的数据包的接收情况,以确定所述第一设备在接收数据包时所采用的数据通道的网络状态;所述发送单元1408配置为:根据所述第一设备在接收数据包时所采用的数据通道的网络状态的优劣,选择一个或多个数据通道将所述第五数据包发送至所述第一设备。
在本发明的一个实施例中,数据传输装置1400还包括:第四确定单元,用于基于对所述第一设备发送的数据包的接收情况,确定所述第一设备在发送数据包时所采用的数据通道的网络状态;所述发送单元1408还用于将所述第一设备在发送数据包时所采用的数据通道的网络状态发送至所述第一设备,以使所述第一设备根据所述网络状态在再次发送数据包时选择所采用的数据通道。
在本发明的一个实施例中,数据传输装置1400还包括:第三处理单元,用于在接收到所述第一设备发送的断开TCP连接的数据报文时,在经过预定时长后删除存储的与所述第一设备相关的信息;和/或在与所述第一设备建立TCP连接的过程中,若接收到的所述第一设备发送的第一个TCP数据报文不是建立TCP连接的数据报文,则向所述第一设备发送重置连接的数据报文;和/或设置所述第二设备发送的数据报文的最大报文段长度。
图15示出了适于用来实现本发明实施例的电子设备的计算机***的结构示意图。
需要说明的是,图15示出的电子设备的计算机***1500仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图15所示,计算机***1500包括中央处理单元(Central Processing Unit,CPU)1501,其可以根据存储在只读存储器(Read-Only Memory,ROM)1502中的程序或者从存储部分1508加载到随机访问存储器(Random Access Memory,RAM)1503中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1503中,还存储有***操作所需的各种程序和数据。CPU 1501、ROM 1502以及RAM 1503通过总线1504彼此相连。输入/输出(Input/Output,I/O)接口1505也连接至总线1504。
以下部件连接至I/O接口1505:包括键盘、鼠标等的输入部分1506;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1507;包括硬盘等的存储部分1508;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1509。通信部分1509经由诸如因特网的网络执行通信处理。驱动器1510也根据需要连接至I/O接口1505。可拆卸介质1511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1510上,以便于从其上读出的计算机程序根据需要被安装入存储部分1508。
特别地,根据本发明的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1509从网络上被下载和安装,和/或从可拆卸介质1511被安装。在该计算机程序被中央处理单元(CPU)1501执行时,执行本申请的***中限定的各种功能。
需要说明的是,本发明实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (24)
1.一种数据传输方法,其特征在于,包括:
接收第一设备通过多个数据通道发送的第一数据包,所述第一数据包包括IP数据包和针对所述IP数据包加装的数据通道包头,所述数据通道包头包括所述第一设备发送的数据包所在的通道信息,所述通道信息包括主通道标识和类型,所述通道信息用于指示代理服务器切换到所述通道信息对应的通道上向所述第一设备发送数据包;
解析所述第一数据包得到所述第一设备的地址信息,并根据所述第一数据包的数据通道包头对所述第一数据包进行聚合处理,得到第二数据包;
将所述第二数据包的源地址信息更换为指定地址信息,得到第三数据包,其中,所述指定地址信息包括向所述第一设备分配的与所述第一设备的地址信息相关联的虚拟端口;
将所述第三数据包发送至第二设备;
从所述第二设备发送的数据包中确定出需要发送至所述第一设备的第四数据包;
将所述第四数据包的目的地址信息更换为所述第一设备的地址信息,得到第五数据包;
切换到所述通道信息对应的通道上,将所述第五数据包通过所述通道信息对应的通道发送至所述第一设备。
2.根据权利要求1所述的数据传输方法,其特征在于,还包括:
解析所述第一数据包得到所述第一设备需要访问的地址信息,根据所述第一设备需要访问的地址信息确定所述第二设备;
存储所述第一设备需要访问的地址信息。
3.根据权利要求2所述的数据传输方法,其特征在于,从所述第二设备发送的数据包中确定出需要发送至所述第一设备的第四数据包,包括:
确定所述第二设备发送的数据包的源地址信息;
根据所述第一设备需要访问的地址信息,从所述第二设备发送的数据包中过滤出所述源地址信息与所述第一设备需要访问的地址信息相匹配的数据包,将过滤出的数据包作为所述第四数据包。
4.根据权利要求1所述的数据传输方法,其特征在于,还包括:
将所述第一设备的地址信息与向所述第一设备分配的虚拟端口进行关联存储。
5.根据权利要求4所述的数据传输方法,其特征在于,在将所述第四数据包的目的地址信息更换为所述第一设备的地址信息之前,所述数据传输方法还包括:
根据所述第四数据包的目的地址信息中所包含的虚拟端口的信息,获取已存储的所述第一设备的地址信息。
6.根据权利要求1所述的数据传输方法,其特征在于,还包括:接收并存储所述第一设备发送的用于传输所述第一数据包的数据通道信息;
将所述第五数据包发送至所述第一设备,包括:根据存储的最新的数据通道信息,将所述第五数据包发送至所述第一设备。
7.根据权利要求1所述的数据传输方法,其特征在于,还包括:基于对所述第一设备发送的数据包的接收情况,确定所述第一设备在发送数据包时所采用的数据通道的网络状态;
将所述第五数据包发送至所述第一设备,包括:根据所述第一设备在发送数据包时所采用的数据通道的网络状态的优劣,选择一个或多个数据通道将所述第五数据包发送至所述第一设备。
8.根据权利要求7所述的数据传输方法,其特征在于,所述数据传输方法由代理服务器执行;基于对所述第一设备发送的数据包的接收情况,确定所述第一设备在发送数据包时所采用的数据通道的网络状态,包括:
根据接收到所述第一设备发送的数据包的第一时刻和所述第一设备发送的数据包中所包含的第二时刻,计算所述第一设备发送的数据包的延迟,其中,所述第二时刻为根据所述第一设备发送数据包的时刻,以及所述代理服务器与所述第一设备之间的时钟同步补偿值确定的;
根据所述第一设备发送的数据包的延迟,确定所述第一设备发送数据包所采用的数据通道的网络状态。
9.根据权利要求1所述的数据传输方法,其特征在于,还包括:接收所述第一设备反馈的对传输至所述第一设备的数据包的接收情况,以确定所述第一设备在接收数据包时所采用的数据通道的网络状态;
将所述第五数据包发送至所述第一设备,包括:根据所述第一设备在接收数据包时所采用的数据通道的网络状态的优劣,选择一个或多个数据通道将所述第五数据包发送至所述第一设备。
10.根据权利要求1所述的数据传输方法,其特征在于,还包括:
基于对所述第一设备发送的数据包的接收情况,确定所述第一设备在发送数据包时所采用的数据通道的网络状态;
将所述第一设备在发送数据包时所采用的数据通道的网络状态发送至所述第一设备,以使所述第一设备根据所述网络状态在再次发送数据包时选择所采用的数据通道。
11.根据权利要求1至10中任一项所述的数据传输方法,其特征在于,还包括:
若接收到所述第一设备发送的断开传输控制协议TCP连接的数据报文,则在经过预定时长后删除存储的与所述第一设备相关的信息;和/或
在与所述第一设备建立TCP连接的过程中,若接收到的所述第一设备发送的第一个TCP数据报文不是建立TCP连接的数据报文,则向所述第一设备发送重置连接的数据报文;和/或
设置所述第二设备发送的数据报文的最大报文段长度。
12.一种数据传输装置,其特征在于,包括:
接收单元,用于接收第一设备通过多个数据通道发送的第一数据包,所述第一数据包包括IP数据包和针对所述IP数据包加装的数据通道包头,所述数据通道包头包括所述第一设备发送的数据包所在的通道信息,所述通道信息包括主通道标识和类型,所述通道信息用于指示代理服务器切换到所述通道信息对应的通道上向所述第一设备发送数据包;
第一处理单元,用于解析所述第一数据包得到所述第一设备的地址信息,并根据所述第一数据包的数据通道包头对所述第一数据包进行聚合处理,得到第二数据包;
第二处理单元,用于将所述第二数据包的源地址信息更换为指定地址信息,得到第三数据包,其中,所述指定地址信息包括向所述第一设备分配的与所述第一设备的地址信息相关联的虚拟端口;
发送单元,用于将所述第三数据包发送至第二设备;
第一确定单元,用于从所述第二设备发送的数据包中确定出需要发送至所述第一设备的第四数据包;
所述第二处理单元还用于,将所述第四数据包的目的地址信息更换为所述第一设备的地址信息,得到第五数据包;
所述发送单元还用于,切换到所述通道信息对应的通道上,将所述第五数据包通过所述通道信息对应的通道发送至所述第一设备。
13.根据权利要求12所述的数据传输装置,其特征在于,所述第一处理单元还用于解析所述第一数据包得到所述第一设备需要访问的地址信息,根据所述第一设备需要访问的地址信息确定所述第二设备;
所述数据传输装置还包括:
第一存储单元,用于存储所述第一设备需要访问的地址信息。
14.根据权利要求13所述的数据传输装置,其特征在于,所述第一确定单元还用于,确定所述第二设备发送的数据包的源地址信息;根据所述第一设备需要访问的地址信息,从所述第二设备发送的数据包中过滤出所述源地址信息与所述第一设备需要访问的地址信息相匹配的数据包,将过滤出的数据包作为所述第四数据包。
15.根据权利要求12所述的数据传输装置,其特征在于,还包括:
第二存储单元,用于将所述第一设备的地址信息与向所述第一设备分配的虚拟端口进行关联存储。
16.根据权利要求15所述的数据传输装置,其特征在于,所述第二处理单元还用于,在将所述第四数据包的目的地址信息更换为所述第一设备的地址信息之前,根据所述第四数据包的目的地址信息中所包含的虚拟端口的信息,获取已存储的所述第一设备的地址信息。
17.根据权利要求12所述的数据传输装置,其特征在于,所述接收单元还用于,接收并存储所述第一设备发送的用于传输所述第一数据包的数据通道信息;所述发送单元还用于,根据存储的最新的数据通道信息,将所述第五数据包发送至所述第一设备。
18.根据权利要求12所述的数据传输装置,其特征在于,还包括:
第二确定单元,用于基于对所述第一设备发送的数据包的接收情况,确定所述第一设备在发送数据包时所采用的数据通道的网络状态;所述发送单元还用于,根据所述第一设备在发送数据包时所采用的数据通道的网络状态的优劣,选择一个或多个数据通道将所述第五数据包发送至所述第一设备。
19.根据权利要求18所述的数据传输装置,其特征在于,所述第二确定单元还用于,根据接收到所述第一设备发送的数据包的第一时刻和所述第一设备发送的数据包中所包含的第二时刻,计算所述第一设备发送的数据包的延迟,其中,所述第二时刻为根据所述第一设备发送数据包的时刻,以及所述代理服务器与所述第一设备之间的时钟同步补偿值确定的;根据所述第一设备发送的数据包的延迟,确定所述第一设备发送数据包所采用的数据通道的网络状态。
20.根据权利要求12所述的数据传输装置,其特征在于,还包括:
第三确定单元,用于接收所述第一设备反馈的对传输至所述第一设备的数据包的接收情况,以确定所述第一设备在接收数据包时所采用的数据通道的网络状态;所述发送单元还用于,根据所述第一设备在接收数据包时所采用的数据通道的网络状态的优劣,选择一个或多个数据通道将所述第五数据包发送至所述第一设备。
21.根据权利要求12所述的数据传输装置,其特征在于,还包括:
第四确定单元,用于基于对所述第一设备发送的数据包的接收情况,确定所述第一设备在发送数据包时所采用的数据通道的网络状态;
所述发送单元还用于将所述第一设备在发送数据包时所采用的数据通道的网络状态发送至所述第一设备,以使所述第一设备根据所述网络状态在再次发送数据包时选择所采用的数据通道。
22.根据权利要求12至21中任一项所述的数据传输装置,其特征在于,还包括:
第三处理单元,用于在接收到所述第一设备发送的断开TCP连接的数据报文时,在经过预定时长后删除存储的与所述第一设备相关的信息;和/或在与所述第一设备建立TCP连接的过程中,若接收到的所述第一设备发送的第一个TCP数据报文不是建立TCP连接的数据报文,则向所述第一设备发送重置连接的数据报文;和/或设置所述第二设备发送的数据报文的最大报文段长度。
23.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至11中任一项所述的数据传输方法。
24.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至11中任一项所述的数据传输方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910004540.XA CN109600388B (zh) | 2019-01-03 | 2019-01-03 | 数据传输方法、装置、计算机可读介质及电子设备 |
PCT/CN2019/125125 WO2020140729A1 (zh) | 2019-01-03 | 2019-12-13 | 数据传输方法、装置、计算机可读介质及电子设备 |
EP19908065.6A EP3907955A4 (en) | 2019-01-03 | 2019-12-13 | DATA TRANSMISSION METHOD AND DEVICE, COMPUTER READABLE MEDIA AND ELECTRONIC DEVICE |
JP2021515152A JP7154399B2 (ja) | 2019-01-03 | 2019-12-13 | データ伝送方法、装置、コンピュータ読み取り可能な媒体および電子デバイス |
US17/229,699 US20210234798A1 (en) | 2019-01-03 | 2021-04-13 | Data transmission method and apparatus, computer readable medium, and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910004540.XA CN109600388B (zh) | 2019-01-03 | 2019-01-03 | 数据传输方法、装置、计算机可读介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109600388A CN109600388A (zh) | 2019-04-09 |
CN109600388B true CN109600388B (zh) | 2021-01-15 |
Family
ID=65965946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910004540.XA Active CN109600388B (zh) | 2019-01-03 | 2019-01-03 | 数据传输方法、装置、计算机可读介质及电子设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210234798A1 (zh) |
EP (1) | EP3907955A4 (zh) |
JP (1) | JP7154399B2 (zh) |
CN (1) | CN109600388B (zh) |
WO (1) | WO2020140729A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109600388B (zh) * | 2019-01-03 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、计算机可读介质及电子设备 |
CN110099403B (zh) | 2019-05-17 | 2022-07-19 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN110247955A (zh) * | 2019-05-21 | 2019-09-17 | 菜鸟智能物流控股有限公司 | 一种无人车的通信方法和无人车 |
CN110300115B (zh) * | 2019-07-05 | 2021-07-16 | 腾讯科技(深圳)有限公司 | 一种基于多通道的数据传输方法以及相关装置 |
CN110730102B (zh) * | 2019-10-23 | 2022-09-20 | 腾讯科技(深圳)有限公司 | 一种网络加速方法及装置、存储介质 |
WO2022160265A1 (zh) * | 2021-01-29 | 2022-08-04 | 华为技术有限公司 | 通信方法和通信装置 |
CN113206875B (zh) * | 2021-04-27 | 2022-09-02 | 深圳市晨北科技有限公司 | 数据传输方法、装置及存储介质 |
CN114615347B (zh) * | 2022-03-08 | 2024-03-12 | 上海哔哩哔哩科技有限公司 | 基于udp gso的数据传输方法、装置、计算机设备和存储介质 |
CN114615348B (zh) * | 2022-03-08 | 2024-03-12 | 上海哔哩哔哩科技有限公司 | 基于udp gso的数据传输方法、装置、计算机设备和存储介质 |
CN114666745B (zh) * | 2022-03-29 | 2023-07-21 | 杭州中天微***有限公司 | 数据传输方法、节点控制方法、网络设备、网络*** |
CN117676638A (zh) * | 2023-11-17 | 2024-03-08 | 上海市信息网络有限公司 | 一种基于物联网的无线网络优化监管***及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102656862A (zh) * | 2009-12-18 | 2012-09-05 | 高通股份有限公司 | 在应用层绑定/聚合多个接口 |
CN103441996A (zh) * | 2013-08-16 | 2013-12-11 | 上海理工大学 | 并发传输文件的方法及*** |
CN103493399A (zh) * | 2011-06-03 | 2014-01-01 | Sk电信有限公司 | 用于利用两个或更多个网络的同时数据传输服务的设备和方法 |
CN108809549A (zh) * | 2018-04-23 | 2018-11-13 | 维沃移动通信有限公司 | 一种传输数据的方法及设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010114692A (ja) * | 2008-11-06 | 2010-05-20 | Nomura Research Institute Ltd | データ送信システム、伝送制御装置および送信装置 |
JP5327864B2 (ja) * | 2009-09-04 | 2013-10-30 | 独立行政法人情報通信研究機構 | 通信ネットワークシステム及びネットワーク通信方法 |
JP2012227704A (ja) * | 2011-04-19 | 2012-11-15 | Fujitsu Ltd | 伝送装置、伝送制御方法及び伝送制御プログラム |
US8805375B2 (en) * | 2012-03-09 | 2014-08-12 | Blackberry Limited | Methods to enable simultaneous use of multiple radio access technologies |
EP2684398A4 (en) * | 2012-05-17 | 2015-05-13 | Liveu Ltd | MULTIMODEM COMMUNICATION USING VIRTUAL IDENTITY MODULES |
JP5870078B2 (ja) * | 2012-12-11 | 2016-02-24 | 東日本電信電話株式会社 | キャプチャデータ解析装置 |
CN103532878B (zh) * | 2013-09-26 | 2017-01-04 | 华为技术有限公司 | 数据包的处理方法和网络流量的管理方法及装置和*** |
KR101746191B1 (ko) * | 2014-06-27 | 2017-06-12 | 주식회사 케이티 | 다중 경로 통신을 위한 네트워크 장치 및 단말, 이들의 동작 방법, 그리고 동작 방법을 구현한 프로그램 |
FR3032852A1 (fr) * | 2015-02-13 | 2016-08-19 | Orange | Procede de selection de concentrateurs de connexions reseau |
CN105187312B (zh) * | 2015-08-12 | 2018-05-01 | 北京锐安科技有限公司 | 批量终端设备进行网络通信方法、装置及路由器 |
CN107623646B (zh) * | 2017-09-06 | 2020-11-17 | 华为技术有限公司 | 数据流传输方法、发送设备及接收设备 |
CN109600388B (zh) * | 2019-01-03 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、计算机可读介质及电子设备 |
-
2019
- 2019-01-03 CN CN201910004540.XA patent/CN109600388B/zh active Active
- 2019-12-13 WO PCT/CN2019/125125 patent/WO2020140729A1/zh unknown
- 2019-12-13 EP EP19908065.6A patent/EP3907955A4/en active Pending
- 2019-12-13 JP JP2021515152A patent/JP7154399B2/ja active Active
-
2021
- 2021-04-13 US US17/229,699 patent/US20210234798A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102656862A (zh) * | 2009-12-18 | 2012-09-05 | 高通股份有限公司 | 在应用层绑定/聚合多个接口 |
CN103493399A (zh) * | 2011-06-03 | 2014-01-01 | Sk电信有限公司 | 用于利用两个或更多个网络的同时数据传输服务的设备和方法 |
CN103441996A (zh) * | 2013-08-16 | 2013-12-11 | 上海理工大学 | 并发传输文件的方法及*** |
CN108809549A (zh) * | 2018-04-23 | 2018-11-13 | 维沃移动通信有限公司 | 一种传输数据的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
JP7154399B2 (ja) | 2022-10-17 |
WO2020140729A1 (zh) | 2020-07-09 |
JP2022501899A (ja) | 2022-01-06 |
CN109600388A (zh) | 2019-04-09 |
EP3907955A4 (en) | 2022-02-23 |
US20210234798A1 (en) | 2021-07-29 |
EP3907955A1 (en) | 2021-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109600388B (zh) | 数据传输方法、装置、计算机可读介质及电子设备 | |
EP3758412B1 (en) | Multichannel data transmission method, apparatus, system and computer-readable medium | |
US9954941B2 (en) | Global server load balancer apparatus and method for dynamically controlling time-to-live | |
CN108848530B (zh) | 一种获取网络资源的方法、装置及调度服务器 | |
JP2017516188A (ja) | 要求マネージャおよび接続マネージャの機能を実装するトランスポートアクセラレータ | |
US20150271226A1 (en) | Transport accelerator implementing a multiple interface architecture | |
US11070466B2 (en) | Method for link aggregation and related devices | |
CN108847919B (zh) | 一种数据传输的方法、基站和无线通信设备 | |
CN113783775B (zh) | 数据传输的方法和装置 | |
CN113364809A (zh) | 分流网络数据以执行负载平衡 | |
JP2022507816A (ja) | V2xメッセージ送信方法、装置、及びシステム | |
US9819591B2 (en) | System and method of providing compression technique for jitter sensitive application through multiple network links | |
CN111211933B (zh) | 一种确定传输链路的质量的方法及装置 | |
US20170111206A1 (en) | System for media distribution and rendering on spatially extended wireless networks | |
CN115250537A (zh) | 一种通信方法及设备 | |
CN115297153A (zh) | 数据传输方法、装置、终端、存储介质 | |
WO2023125380A1 (zh) | 一种数据管理的方法及相应装置 | |
US9882820B2 (en) | Communication apparatus | |
US9609684B2 (en) | Apparatus and method for transmitting/receiving data in mobile content network | |
CN107371263B (zh) | 上行资源的调度方法和装置 | |
GB2517080A (en) | Mobile device and communication control method | |
CN111615170B (zh) | 一种数据传输方法及*** | |
JP7379476B2 (ja) | ワイヤレスメッシュネットワークにおけるマルチバンド通信 | |
JP2013143732A (ja) | 通信端末装置 | |
US9143458B2 (en) | Network device, method for controlling the network device, and network system |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |