CN113872862B - 通信方法、移动设备及路由设备 - Google Patents
通信方法、移动设备及路由设备 Download PDFInfo
- Publication number
- CN113872862B CN113872862B CN202010617746.2A CN202010617746A CN113872862B CN 113872862 B CN113872862 B CN 113872862B CN 202010617746 A CN202010617746 A CN 202010617746A CN 113872862 B CN113872862 B CN 113872862B
- Authority
- CN
- China
- Prior art keywords
- transmission channel
- mobile device
- data
- routing
- routing device
- 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
- 238000000034 method Methods 0.000 title claims abstract description 101
- 238000004891 communication Methods 0.000 title claims abstract description 97
- 230000005540 biological transmission Effects 0.000 claims abstract description 575
- 230000001413 cellular effect Effects 0.000 claims abstract description 190
- 230000004044 response Effects 0.000 claims abstract description 142
- 230000015654 memory Effects 0.000 claims abstract description 42
- 238000004590 computer program Methods 0.000 claims abstract description 22
- 238000001514 detection method Methods 0.000 claims description 9
- 239000000523 sample Substances 0.000 claims description 3
- 239000013307 optical fiber Substances 0.000 claims 2
- 238000013461 design Methods 0.000 description 55
- 238000012545 processing Methods 0.000 description 32
- 238000005516 engineering process Methods 0.000 description 18
- 230000002776 aggregation Effects 0.000 description 17
- 238000004220 aggregation Methods 0.000 description 17
- 239000003795 chemical substances by application Substances 0.000 description 16
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 15
- 238000007726 management method Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 239000000835 fiber Substances 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 6
- 238000002360 preparation method Methods 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 210000000988 bone and bone Anatomy 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- 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
-
- 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/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Abstract
本申请涉及通信方法、移动设备及路由设备。安装N个应用的移动设备与路由设备通过Wi‑Fi网络建立第一传输通道,任一个应用对应于M个应用服务器中的一个应用服务器,移动设备包括:处理器;存储器;及存储器上的计算机程序,当计算机程序被执行时,移动设备执行:在检测到第一传输通道的带宽小于预设的第一阈值后,移动设备通过第一传输通道向路由设备发送第一请求,第一请求为询问路由设备是否具有多路传输数据能力的请求;在移动设备通过第一传输通道接收到路由设备的第一响应后,移动设备确定路由设备具有多路传输数据能力;之后移动设备与路由设备通过蜂窝网络建立第二传输通道。无需适配应用服务器,即实现两者之间多路传输,利于推广。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种通信方法、移动设备及路由设备。
背景技术
无线保真(wireless fidelity,Wi-Fi)网络和移动互联网的双路传输方式,能够在其中一个网络的信号较弱时,另一个网络迅速辅助,稳定传输速率,降低传输时延,得到广泛应用。不过,为了保证Wi-Fi网络和移动互联网的双路传输,需要移动设备以及移动设备可能连接的所有服务器都预先进行适配,导致推广成本较高,不利推行。如何提供一种利于推广的Wi-Fi网络和移动互联网的双路传输方式,成为我们的需求。
发明内容
本申请提供一种通信方法、移动设备及路由设备,可以在移动设备与路由设备之间实现Wi-Fi网络和移动互联网的双路传输方式,无需所有应用服务器具备数据拆分和数据聚合的苛刻要求为用户带来了高带宽且低时延的通信体验,降低了推行成本。
第一方面,本申请提供一种通信方法,通信方法,应用于移动设备,所述移动设备与一个路由设备通过Wi-Fi网络建立第一传输通道,所述第一传输通道至少包括一条传输通道,所述移动设备安装有N个应用,所述N个应用中的任意一个应用对应于M个应用服务器中的一个应用服务器,M和N均为正整数;所述方法包括:
在检测到所述第一传输通道的带宽小于预设的第一阈值后,和/或,在检测到所述第一传输通道的时延大于预设的第二阈值后,
所述移动设备通过所述第一传输通道向所述路由设备发送第一请求,所述第一请求为询问所述路由设备是否具有多路传输数据的能力的请求;
在所述移动设备通过所述第一传输通道接收到所述路由设备的第一响应后,所述移动设备确定所述路由设备具有多路传输数据的能力;所述第一响应为针对第一请求的响应,用于表明所述路由设备具有多路传输数据的能力;
在通过所述第一传输通道接收到所述路由设备发送的第一响应后,所述移动设备与所述路由设备通过蜂窝网络建立第二传输通道;所述第二传输通道至少包括一条传输通道。
通过第一方面提供的通信方法,移动设备与路由设备通过Wi-Fi网络建立第一传输通道,移动设备与路由设备通过蜂窝网络建立第二传输通道。移动设备将上传数据拆分为第一数据和第二数据,且经由第一传输通道将第一数据传输至路由设备,经由第二传输通道将第二数据传输至路由设备,使得路由设备将第一数据和第二数据组合成上传数据,并基于路由设备与应用服务器之间的连接,将上传数据传输至应用服务器。从而,本申请在路由设备与移动设备之间实现Wi-Fi网络和移动互联网的双路传输方式,将路由设备作为移动设备与应用服务器之间业务实现的桥梁,及时将移动设备的数据传输至应用服务器,解决了相关技术中需要所有应用服务器具备数据拆分和数据聚合的苛刻要求,方便不同类型的业务的推广,降低了推行成本,还有利于提升数据传输的效率,满足移动设备的大吞吐率的业务需求,为用户带来了高带宽且低时延的通信体验。
在一种可能的设计中,移动设备与路由设备通过蜂窝网络建立第二传输通道之前,该通信方法还包括:在移动设备确定路由设备具有多路传输数据的能力后,移动设备通过蜂窝网络向路由设备发送第二请求,第二请求为对移动设备的与蜂窝网络对应的WAN接口与路由设备的WAN接口之间的传输通道进行PING探测的请求。若移动设备在预设时长内没有通过蜂窝网络接收到路由设备的第二响应后,则移动设备基于NAT穿越,获取移动设备的网关的IP地址和端口信息,以及路由设备的网关的IP地址和端口信息,第二响应为针对第二请求的响应。移动设备确定基于所述移动设备的网关的IP地址和端口信息、路由设备的网关的IP地址和端口信息以及路由设备的WAN接口的IP地址和端口信息,经由所述第二传输通道传输数据。由此,确定出移动设备与路由设备的WAN接口之间的第二传输通道。
在一种可能的设计中,该通信方法还包括:若移动设备在预设时长内通过蜂窝网络接收到路由设备的第二响应,则移动设备确定基于路由设备的WAN接口的IP地址和端口信息,经由所述第二传输通道传输数据。由此,确定出移动设备与路由设备的WAN接口之间的第二传输通道。
在一种可能的设计中,移动设备与路由设备通过蜂窝网络建立第二传输通道,包括:移动设备通过蜂窝网络向路由设备发送第三请求,第三请求为通过蜂窝网络建立第二传输通道的请求。移动设备通过蜂窝网络接收到路由设备的第三响应,第三响应用于表明路由设备已与移动设备通过蜂窝网络建立第二传输通道。由此,为建立第二传输通道做准备,使得移动设备与路由设备均获知第二传输通道已建立。
在一种可能的设计中,移动设备确定路由设备具有多路传输数据的能力,包括:移动设备经由第一传输通道向路由设备发送第一请求,第一请求为询问路由设备是否具有多路传输数据的能力的请求。在移动设备经由第一传输通道接收到路由设备的第一响应后,移动设备确定路由设备具有多路传输数据的能力。第一响应为针对第一请求的响应,用于表明路由设备具有多路传输数据的能力。由此,为建立第二传输通道做准备。
在一种可能的设计中,第一请求还携带有路由设备的WAN接口的IP地址和端口信息。
在一种可能的设计中,移动设备经由第一传输通道接收到路由设备的第三数据,并经由第二传输通道接收到路由设备的第四数据,第三数据和第四数据为路由设备拆分下载数据得到的,下载数据为路由设备经由路由设备与M个应用服务器中的第P个应用服务器之间的连接,从M个应用服务器中的第P个应用服务接收到的,下载数据为要被传输至移动设备的数据。在移动设备接收到第三数据和第四数据后,移动设备将第三数据和第四数据组合为下载数据。并基于下载数据,实现与M个应用服务器中的第P个应用服务器对应的应用的业务。
通过实施例提供的通信方法,本申请在路由设备与移动设备之间实现Wi-Fi网络和移动互联网的双路传输方式,将路由设备作为移动设备与应用服务器之间业务实现的桥梁,实现了移动设备与应用服务器之间数据的相互传输,解决了相关技术中需要所有应用服务器具备数据拆分和数据聚合的苛刻要求,方便不同类型的业务的推广,降低了推行成本,还有利于提升数据传输的效率,满足移动设备的大吞吐率的业务需求,为用户带来了高带宽且低时延的通信体验。
在一种可能的设计中,移动设备适配有第一SDK,第一SDK用于支持移动设备与路由设备同时建立第一传输通道和第二传输通道。在移动设备检测到移动设备占据Wi-Fi网络的带宽大于或等于预设的第一阈值后,和/或,在移动设备检测到移动设备通过Wi-Fi网络传输的时延小于或等于预设的第二阈值后,移动设备将上传数据经由第一传输通道传输至路由设备。并经由第一传输通道接收到路由设备的下载数据。由此,无需占用过多资源来传输数据,确保了数据传输方案的完整性。
第二方面,本申请提供一种移动设备,包括:移动设备,所述移动设备与一个路由设备通过Wi-Fi网络建立第一传输通道,所述第一传输通道至少包括一条传输通道,所述移动设备安装有N个应用,所述N个应用中的任意一个应用对应于M个应用服务器中的一个应用服务器,M和N均为正整数;所述移动设备包括:
一个或多个处理器;
存储器;
以及一个或多个计算机程序,其中所述一个或多个计算机程序存储在所述存储器上,当所述计算机程序被所述一个或多个处理器执行时,使得所述移动设备执行以下步骤:
在检测到所述第一传输通道的带宽小于预设的第一阈值后,和/或,在检测到所述第一传输通道的时延大于预设的第二阈值后,
所述移动设备通过所述第一传输通道向所述路由设备发送第一请求,所述第一请求为询问所述路由设备是否具有多路传输数据能力的请求;
在所述移动设备通过所述第一传输通道接收到所述路由设备的第一响应后,所述移动设备确定所述路由设备具有多路传输数据能力;所述第一响应为针对第一请求的响应,用于表明所述路由设备具有多路传输数据能力;
在通过所述第一传输通道接收到所述路由设备发送的第一响应后,所述移动设备与所述路由设备通过蜂窝网络建立第二传输通道;所述第二传输通道至少包括一条传输通道。
在一种可能的设计中,当计算机程序被一个或多个处理器执行时,还使得移动设备执行以下步骤:
移动设备与路由设备通过蜂窝网络建立第二传输通道之前,该通信方法还包括:在移动设备确定路由设备具有多路传输数据的能力后,移动设备通过蜂窝网络向路由设备发送第二请求,第二请求为对移动设备的与蜂窝网络对应的WAN接口与路由设备的WAN接口之间的传输通道进行PING探测的请求。若移动设备在预设时长内没有通过蜂窝网络接收到路由设备的第二响应后,则移动设备基于NAT穿越,获取移动设备的网关的IP地址和端口信息,以及路由设备的网关的IP地址和端口信息,第二响应为针对第二请求的响应。移动设备确定基于所述移动设备的网关的IP地址和端口信息、路由设备的网关的IP地址和端口信息以及路由设备的WAN接口的IP地址和端口信息,经由所述第二传输通道传输数据。
在一种可能的设计中,当计算机程序被一个或多个处理器执行时,还使得移动设备执行以下步骤:
该通信方法还包括:若移动设备在预设时长内通过蜂窝网络接收到路由设备的第二响应,则移动设备确定基于路由设备的WAN接口的IP地址和端口信息,经由所述第二传输通道传输数据。
在一种可能的设计中,当计算机程序被一个或多个处理器执行时,使得移动设备具体执行以下步骤:
移动设备与路由设备通过蜂窝网络建立第二传输通道,包括:移动设备通过蜂窝网络向路由设备发送第三请求,第三请求为通过蜂窝网络建立第二传输通道的请求。移动设备通过蜂窝网络接收到路由设备的第三响应,第三响应用于表明路由设备已与移动设备通过蜂窝网络建立第二传输通道。
在一种可能的设计中,当计算机程序被一个或多个处理器执行时,使得移动设备具体执行以下步骤:
移动设备确定路由设备具有多路传输数据的能力,包括:移动设备经由第一传输通道向路由设备发送第一请求,第一请求为询问路由设备是否具有多路传输数据的能力的请求。在移动设备经由第一传输通道接收到路由设备的第一响应后,移动设备确定路由设备具有多路传输数据的能力。第一响应为针对第一请求的响应,用于表明路由设备具有多路传输数据的能力。
在一种可能的设计中,第一请求还携带有路由设备的WAN接口的IP地址和端口信息。
在一种可能的设计中,移动设备经由第一传输通道接收到路由设备的第三数据,并经由第二传输通道接收到路由设备的第四数据,第三数据和第四数据为路由设备拆分下载数据得到的,下载数据为路由设备经由路由设备与M个应用服务器中的第P个应用服务器之间的连接从M个应用服务器中的第P个应用服务接收到的,下载数据为要被传输至移动设备的数据。移动设备在移动设备接收到第三数据和第四数据后,将第三数据和第四数据组合为下载数据。并基于下载数据,实现与M个应用服务器中的第P个应用服务器对应的应用的业务。
在一种可能的设计中,移动设备适配有第一SDK,第一SDK用于支持移动设备与路由设备同时建立第一传输通道和第二传输通道。
上述第二方面以及上述第二方面的各可能的设计中所提供的移动设备,其有益效果可以参见上述第一方面和第一方面的各可能的实施方式所带来的有益效果,在此不再赘述。
第三方面,本申请提供一种通信方法,应用于一个路由设备,所述路由设备与至少一个移动设备通过Wi-Fi网络建立第一传输通道,所述路由设备与所述M个应用服务器中的第P个应用服务器通过有线网络建立第P条传输通道;所述M个应用服务器中的任意一个应用服务器对应于所述移动设备安装的N个应用中的一个应用,M和N均为正整数;所述方法包括:
通过所述第一传输通道接收到所述移动设备的第一请求,所述第一请求为所述移动设备询问所述路由设备是否具有多路传输数据能力的请求;
响应于所述第一请求,通过所述第一传输通道向所述移动设备发送第一响应;所述第一响应为针对第一请求的响应,用于表明所述路由设备具有多路传输数据能力;
在通过所述第一传输通道向所述移动设备发送第一响应后,所述路由设备与所述移动设备通过蜂窝网络建立第二传输通道;所述第二传输通道至少包括一条传输通道。
通过第三方面提供的通信方法,基于移动设备与路由设备通过Wi-Fi网络建立第一传输通道,移动设备与路由设备通过蜂窝网络建立第二传输通道,路由设备经由第一传输通道接收到移动设备的第一数据,经由第二传输通道接收到移动设备的第二数据。路由设备将第一数据和第二数据组合成上传数据,并通过路由设备与应用服务器之间的连接,将上传数据传输至应用服务器。从而,本申请在路由设备与移动设备之间实现Wi-Fi网络和移动互联网的双路传输方式,将路由设备作为移动设备与应用服务器之间业务实现的桥梁,及时将移动设备的数据传输至应用服务器,解决了相关技术中需要所有应用服务器具备数据拆分和数据聚合的苛刻要求,方便不同类型的业务的推广,降低了推行成本,还有利于提升数据传输的效率,满足移动设备的大吞吐率的业务需求,为用户带来了高带宽且低时延的通信体验。
在一种可能的设计中,在移动设备与路由设备通过蜂窝网络建立第二传输通道之前,该通信方法还包括:路由设备通过蜂窝网络接收到移动设备的第二请求,第二请求为对移动设备的与蜂窝网络对应的WAN接口与路由设备的WAN接口之间的传输通道进行PING探测的请求。若路由设备在预设时长内通过蜂窝网络没有向移动设备传输第二响应,则路由设备基于NAT穿越,获取移动设备的网关的IP地址和端口信息,以及路由设备的网关的IP地址和端口信息,第二响应为针对第二请求的响应。路由设备确定基于所述移动设备的网关的IP地址和端口信息、路由设备的网关的IP地址和端口信息以及路由设备的WAN接口的IP地址和端口信息,经由所述第二传输通道传输数据。由此,确定出移动设备与路由设备的WAN接口之间的第二传输通道。
在一种可能的设计中,该通信方法还包括:若路由设备在预设时长内通过蜂窝网络向移动设备传输第二响应,则路由设备确定基于路由设备的WAN接口的IP地址和端口信息,经由所述第二传输通道传输数据。由此,确定出移动设备与路由设备的WAN接口之间的第二传输通道。
在一种可能的设计中,路由设备与移动设备通过蜂窝网络建立第二传输通道,包括:路由设备通过蜂窝网络接收到移动设备的第三请求,第三请求为通过蜂窝网络建立第二传输通道的请求。路由设备响应于第三请求,通过蜂窝网络向移动设备发送第三响应,第三响应用于表明路由设备已与移动设备通过蜂窝网络建立第二传输通道。由此,为建立第二传输通道做准备,使得移动设备与路由设备均获知第二传输通道已建立。
在一种可能的设计中,在路由设备通过蜂窝网络接收到移动设备的第二请求之前,该通信方法还包括:路由设备经由第一传输通道接收到移动设备的第一请求,第一请求为询问路由设备是否具有多路传输数据的能力的请求。在路由设备确定路由设备具有多路传输数据的能力后,路由设备经由第一传输通道向移动设备发送第一响应。第一响应为针对第一请求的响应,用于表明路由设备具有多路传输数据的能力。由此,为建立第二传输通道做准备。
在一种可能的设计中,第一请求还携带有路由设备的WAN接口的IP地址和端口信息。
在一种可能的设计中,路由设备经由路由设备与M个应用服务器中的第P个应用服务器之间的连接,接收到M个应用服务器中的第P个应用服务器的下载数据。下载数据为要被传输至移动设备的数据。路由设备将下载数据拆分为第三数据和第四数据,并将第三数据经由第一传输通道传输至移动设备,将第四数据经由第二传输通道传输至移动设备,使得移动设备将第三数据和第四数据组合为下载数据。并基于下载数据,实现与M个应用服务器中的第P个应用服务器对应的应用的业务。
通过实施例提供的通信方法,本申请在路由设备与移动设备之间实现Wi-Fi网络和移动互联网的双路传输方式,将路由设备作为移动设备与应用服务器之间业务实现的桥梁,实现了移动设备与应用服务器之间数据的相互传输,解决了相关技术中需要所有应用服务器具备数据拆分和数据聚合的苛刻要求,方便不同类型的业务的推广,降低了推行成本,还有利于提升数据传输的效率,满足移动设备的大吞吐率的业务需求,为用户带来了高带宽且低时延的通信体验。
在一种可能的设计中,路由设备适配有第二SDK,第二SDK用于支持路由设备与移动设备同时建立第一传输通道和第二传输通道,有线网络为光纤网络。由此,无需占用过多资源来传输数据,确保了数据传输方案的完整性。
第四方面,本申请提供一种路由设备,包括:
路由设备,所述路由设备与至少一个移动设备通过Wi-Fi网络建立第一传输通道,所述路由设备与所述M个应用服务器中的第P个应用服务器通过有线网络建立第P条传输通道;所述M个应用服务器中的任意一个应用服务器对应于所述移动设备安装的N个应用中的一个应用,M和N均为正整数,P为小于等于M的正整数;所述路由设备包括:
一个或多个处理器;
存储器;
以及一个或多个计算机程序,其中所述一个或多个计算机程序存储在所述存储器上,当所述计算机程序被所述一个或多个处理器执行时,使得所述路由设备执行以下步骤:
通过所述第一传输通道接收到所述移动设备的第一请求,所述第一请求为所述移动设备询问所述路由设备是否具有多路传输数据能力的请求;
响应于所述第一请求,通过所述第一传输通道向所述移动设备发送第一响应;所述第一响应为针对第一请求的响应,用于表明所述路由设备具有多路传输数据能力;
在通过所述第一传输通道向所述移动设备发送第一响应后,所述路由设备与所述移动设备通过蜂窝网络建立第二传输通道;所述第二传输通道至少包括一条传输通道。
在一种可能的设计中,当计算机程序被一个或多个处理器执行时,还使得路由设备执行以下步骤:
在移动设备与路由设备通过蜂窝网络建立第二传输通道之前,该通信方法还包括:路由设备通过蜂窝网络接收到移动设备的第二请求,第二请求为对移动设备的与蜂窝网络对应的WAN接口与路由设备的WAN接口之间的传输通道进行PING探测的请求。若路由设备在预设时长内通过蜂窝网络没有向移动设备传输第二响应,则路由设备基于NAT穿越,获取移动设备的网关的IP地址和端口信息,以及路由设备的网关的IP地址和端口信息,第二响应为针对第二请求的响应。路由设备确定基于所述移动设备的网关的IP地址和端口信息、路由设备的网关的IP地址和端口信息以及路由设备的WAN接口的IP地址和端口信息,经由所述第二传输通道传输数据。
在一种可能的设计中,当计算机程序被一个或多个处理器执行时,还使得路由设备执行以下步骤:
该通信方法还包括:若路由设备在预设时长内通过蜂窝网络向移动设备传输第二响应,则路由设备确定基于路由设备的WAN接口的IP地址和端口信息,经由所述第二传输通道传输数据。
在一种可能的设计中,当计算机程序被一个或多个处理器执行时,还使得路由设备执行以下步骤:
路由设备与移动设备通过蜂窝网络建立第二传输通道,包括:路由设备通过蜂窝网络接收到移动设备的第三请求,第三请求为通过蜂窝网络建立第二传输通道的请求。路由设备响应于第三请求,通过蜂窝网络向移动设备发送第三响应,第三响应用于表明路由设备已与移动设备通过蜂窝网络建立第二传输通道。
在一种可能的设计中,当计算机程序被一个或多个处理器执行时,还使得路由设备执行以下步骤:
在路由设备通过蜂窝网络接收到移动设备的第二请求之前,该通信方法还包括:路由设备经由第一传输通道接收到移动设备的第一请求,第一请求为询问路由设备是否具有多路传输数据的能力的请求。在路由设备确定路由设备具有多路传输数据的能力后,路由设备经由第一传输通道向移动设备发送第一响应。第一响应为针对第一请求的响应,用于表明路由设备具有多路传输数据的能力。
在一种可能的设计中,第一请求还携带有路由设备的WAN接口的IP地址和端口信息。
在一种可能的设计中,路由设备经由路由设备与M个应用服务器中的第P个应用服务器之间的连接,接收到M个应用服务器中的第P个应用服务器的下载数据。下载数据为要被传输至移动设备的数据。路由设备将下载数据拆分为第三数据和第四数据,并将第三数据经由第一传输通道传输至移动设备,将第四数据经由第二传输通道传输至移动设备,使得移动设备将第三数据和第四数据组合为下载数据。并基于下载数据,实现与M个应用服务器中的第P个应用服务器对应的应用的业务。
在一种可能的设计中,路由设备适配有第二SDK,第二SDK用于支持路由设备与移动设备同时建立第一传输通道和第二传输通道。有线网络为光纤网络。
上述第四方面以及上述第四方面的各可能的设计中所提供的路由设备,其有益效果可以参见上述第三方面和第三方面的各可能的实施方式所带来的有益效果,在此不再赘述。
第五方面,本申请提供一种通信方法,应用于通信系统,通信系统至少包括一个移动设备、一个路由设备和M个应用服务器,移动设备与路由设备通过Wi-Fi网络建立第一传输通道,路由设备分别与M个应用服务器通过有线网络各自建立M条连接。移动设备安装有N个应用,N个应用中的任意一个应用对应于M个应用服务器中的一个应用服务器,M和N均为正整数。
该通信方法包括:在移动设备检测到移动设备占据Wi-Fi网络的带宽小于预设的第一阈值后,和/或,在移动设备检测到移动设备通过Wi-Fi网络传输的时延大于预设的第二阈值后,移动设备与路由设备通过蜂窝网络建立第二传输通道。移动设备将上传数据拆分为第一数据和第二数据,并将第一数据经由第一传输通道传输至路由设备,将第二数据经由第二传输通道传输至路由设备。上传数据为要被传输至M个应用服务器中的第P个应用服务器的数据。P为大于等于1,且小于等于M的正整数。在路由设备接收到第一数据和第二数据后,路由设备将第一数据和第二数据组合为上传数据。路由设备将上传数据经由路由设备与M个应用服务器中的第P个应用服务器之间的连接,传输至M个应用服务器中的第P个应用服务器。
通过第五方面提供的通信方法,移动设备与路由设备通过Wi-Fi网络建立第一传输通道,移动设备与路由设备通过蜂窝网络建立第二传输通道。移动设备将上传数据拆分为第一数据和第二数据,且经由第一传输通道将第一数据传输至路由设备,经由第二传输通道将第二数据传输至路由设备。路由设备将第一数据和第二数据组合成上传数据,并通过路由设备与应用服务器之间的连接,将上传数据传输至应用服务器。从而,本申请在路由设备与移动设备之间实现Wi-Fi网络和移动互联网的双路传输方式,将路由设备作为移动设备与应用服务器之间业务实现的桥梁,及时将移动设备的数据传输至应用服务器,解决了相关技术中需要所有应用服务器具备数据拆分和数据聚合的苛刻要求,方便不同类型的业务的推广,降低了推行成本,还有利于提升数据传输的效率,满足移动设备的大吞吐率的业务需求,为用户带来了高带宽且低时延的通信体验。
在一种可能的设计中,在移动设备与路由设备通过蜂窝网络建立第二传输通道之前,该通信方法还包括:在移动设备确定路由设备具有多路传输数据的能力后,移动设备通过蜂窝网络向路由设备发送第二请求,第二请求为对移动设备的与蜂窝网络对应的WAN接口与路由设备的WAN接口之间的传输通道进行PING探测的请求。若移动设备在预设时长内没有通过蜂窝网络接收到路由设备的第二响应,则移动设备和路由设备基于NAT穿越,获取移动设备的网关的IP地址和端口信息,以及路由设备的网关的IP地址和端口信息,第二响应为针对第二请求的响应。移动设备和路由设备确定基于所述移动设备的网关的IP地址和端口信息、路由设备的网关的IP地址和端口信息以及路由设备的WAN接口的IP地址和端口信息,经由所述第二传输通道传输数据。由此,确定出移动设备与路由设备的WAN接口之间的第二传输通道。
在一种可能的设计中,该通信方法还包括:若移动设备在预设时长内通过蜂窝网络接收到路由设备的第二响应,则移动设备和路由设备确定基于路由设备的WAN接口的IP地址和端口信息,经由所述第二传输通道传输数据。由此,确定出移动设备与路由设备的WAN接口之间的第二传输通道。
在一种可能的设计中,移动设备与路由设备通过蜂窝网络建立第二传输通道,包括:移动设备通过蜂窝网络向路由设备发送第三请求,第三请求为通过蜂窝网络建立第二传输通道的请求。路由设备响应于第三请求,通过蜂窝网络向移动设备发送第三响应,第三响应用于表明路由设备已与移动设备通过蜂窝网络建立第二传输通道。由此,为建立第二传输通道做准备,使得移动设备与路由设备均获知第二传输通道已建立。
在一种可能的设计中,移动设备确定路由设备具有多路传输数据的能力,包括:移动设备经由第一传输通道向路由设备发送第一请求,第一请求为询问路由设备是否具有多路传输数据的能力的请求。在路由设备经由第一传输通道接收到移动设备的第一请求,以及确定路由设备具有多路传输数据的能力后,路由设备经由第一传输通道向移动设备发送第一响应,第一响应为针对第一请求的响应,用于表明路由设备具有多路传输数据的能力。由此,为建立第二传输通道做准备。
在一种可能的设计中,第一请求还携带有路由设备的WAN接口的IP地址和端口信息。
在一种可能的设计中,M个应用服务器中的第P个应用服务器将下载数据经由路由设备与M个应用服务器中的第P个应用服务器之间的连接,传输至路由设备。下载数据为要被传输至移动设备的数据。路由设备将下载数据拆分为第三数据和第四数据,并将第三数据经由第一传输通道传输至移动设备,将第四数据经由第二传输通道传输至移动设备。在移动设备接收到第三数据和第四数据后,移动设备将第三数据和第四数据组合为下载数据。并基于下载数据,实现与M个应用服务器中的第P个应用服务器对应的应用的业务。
通过实施例提供的通信方法,本申请在路由设备与移动设备之间实现Wi-Fi网络和移动互联网的双路传输方式,将路由设备作为移动设备与应用服务器之间业务实现的桥梁,实现了移动设备与应用服务器之间数据的相互传输,解决了相关技术中需要所有应用服务器具备数据拆分和数据聚合的苛刻要求,方便不同类型的业务的推广,降低了推行成本,还有利于提升数据传输的效率,满足移动设备的大吞吐率的业务需求,为用户带来了高带宽且低时延的通信体验。
在一种可能的设计中,移动设备适配有第一SDK,第一SDK用于支持移动设备与路由设备同时建立第一传输通道和第二传输通道。路由设备适配有第二SDK,第二SDK用于支持路由设备与移动设备同时建立第一传输通道和第二传输通道。有线网络为光纤网络。在移动设备检测到移动设备占据Wi-Fi网络的带宽大于或等于预设的第一阈值后,和/或,在移动设备检测到移动设备通过Wi-Fi网络传输的时延小于或等于预设的第二阈值后,移动设备将上传数据经由第一传输通道传输至路由设备。路由设备将请求响应经由第一传输通道传输至移动设备。由此,无需占用过多资源来传输数据,确保了数据传输方案的完整性。
第六方面,本申请提供一种通信系统,通信系统至少包括一个移动设备、一个路由设备和M个应用服务器,移动设备与路由设备通过Wi-Fi网络建立第一传输通道,路由设备分别与M个应用服务器通过有线网络各自建立M条连接。移动设备安装有N个应用,N个应用中的任意一个应用对应于M个应用服务器中的一个应用服务器,M和N均为正整数。
移动设备与路由设备,用于在移动设备检测到移动设备占据Wi-Fi网络的带宽小于预设的第一阈值后,和/或,在移动设备检测到移动设备通过Wi-Fi网络传输的时延大于预设的第二阈值后,通过蜂窝网络建立第二传输通道。移动设备,用于将上传数据拆分为第一数据和第二数据,并将第一数据经由第一传输通道传输至路由设备,将第二数据经由第二传输通道传输至路由设备。上传数据为要被传输至M个应用服务器中的第P个应用服务器的数据。P为大于等于1,且小于等于M的正整数。路由设备,用于在路由设备接收到第一数据和第二数据后,将第一数据和第二数据组合为上传数据。路由设备,用于将上传数据经由路由设备与M个应用服务器中的第P个应用服务器之间的连接,传输至M个应用服务器中的第P个应用服务器。
在一种可能的设计中,在移动设备与路由设备通过蜂窝网络建立第二传输通道之前,移动设备,还用于在移动设备确定路由设备具有多路传输数据的能力后,通过蜂窝网络向路由设备发送第二请求,第二请求为对移动设备的与蜂窝网络对应的WAN接口与路由设备的WAN接口之间的传输通道进行PING探测的请求。若移动设备在预设时长内没有通过蜂窝网络接收到路由设备的第二响应后,则移动设备和路由设备,用于基于NAT穿越,获取移动设备的网关的IP地址和端口信息,以及路由设备的网关的IP地址和端口信息,第二响应为针对第二请求的响应。移动设备和路由设备,用于确定基于所述移动设备的网关的IP地址和端口信息、路由设备的网关的IP地址和端口信息以及路由设备的WAN接口的IP地址和端口信息,经由所述第二传输通道传输数据。
在一种可能的设计中,若移动设备在预设时长内通过蜂窝网络接收到路由设备的第二响应,则移动设备和路由设备,还用于确定基于路由设备的WAN接口的IP地址和端口信息,经由所述第二传输通道传输数据。
在一种可能的设计中,移动设备,具体用于通过蜂窝网络向路由设备发送第三请求,第三请求为通过蜂窝网络建立第二传输通道的请求。路由设备,用于响应于第三请求,通过蜂窝网络向移动设备发送第三响应,第三响应用于表明路由设备已与移动设备通过蜂窝网络建立第二传输通道。
在一种可能的设计中,移动设备,具体用于经由第一传输通道向路由设备发送第一请求,第一请求为询问路由设备是否具有多路传输数据的能力的请求。路由设备,用于在路由设备接收移动设备的第一请求,以及确定路由设备具有多路传输数据的能力后,经由第一传输通道向移动设备发送第一响应,第一响应为针对第一请求的响应,用于表明路由设备具有多路传输数据的能力。
在一种可能的设计中,第一请求还携带有路由设备的WAN接口的IP地址和端口信息。
在一种可能的设计中,M个应用服务器中的第P个应用服务器,用于将下载数据经由路由设备与M个应用服务器中的第P个应用服务器之间的连接,传输至路由设备。下载数据为要被传输至移动设备的数据。路由设备,用于将下载数据拆分为第三数据和第四数据,并将第三数据经由第一传输通道传输至移动设备,将第四数据经由第二传输通道传输至移动设备。移动设备,用于在移动设备接收到第三数据和第四数据后,将第三数据和第四数据组合为下载数据。并基于下载数据,实现与M个应用服务器中的第P个应用服务器对应的应用的业务。
在一种可能的设计中,移动设备适配有第一SDK,第一SDK用于支持移动设备与路由设备同时建立第一传输通道和第二传输通道。路由设备适配有第二SDK,第二SDK用于支持路由设备与移动设备同时建立第一传输通道和第二传输通道。有线网络为光纤网络。在移动设备检测到移动设备占据Wi-Fi网络的带宽大于或等于预设的第一阈值后,和/或,在移动设备检测到移动设备通过Wi-Fi网络传输的时延小于或等于预设的第二阈值后,移动设备,还用于将上传数据经由第一传输通道传输至路由设备。路由设备,还用于将请求响应经由第一传输通道传输至移动设备。
上述第六方面以及上述第六方面的各可能的设计中所提供的通信系统,其有益效果可以参见上述第五方面和第五方面的各可能的实施方式所带来的有益效果,在此不再赘述。
第七方面,本申请提供一种可读存储介质,可读存储介质中存储有执行指令,当移动设备的至少一个处理器执行该执行指令时,移动设备执行第一方面及第一方面任一种可能的设计中的通信方法。
第八方面,本申请提供一种可读存储介质,可读存储介质中存储有执行指令,当路由设备的至少一个处理器执行该执行指令时,路由设备执行第三方面及第三方面任一种可能的设计中的通信方法。
第九方面,本申请提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。移动设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得移动设备实施第一方面及第一方面任一种可能的设计中的通信方法。
第十方面,本申请提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。路由设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得路由设备实施第三方面及第三方面任一种可能的设计中的通信方法。
第十一方面,本申请提供一种芯片,芯片与存储器相连,或者芯片上集成有存储器,当存储器中存储的软件程序被执行时,实现第一方面及第一方面任一种可能的设计中的通信方法。
第十二方面,本申请提供一种芯片,芯片与存储器相连,或者芯片上集成有存储器,当存储器中存储的软件程序被执行时,实现第三方面及第三方面任一种可能的设计中的通信方法。
附图说明
图1为一种通信系统的架构示意图;
图2为本申请实施例提供的一种通信系统的架构示意图;
图3为本申请实施例提供的一种移动设备的结构示意图;
图4为本申请实施例提供的一种路由设备的结构示意图;
图5为本申请实施例提供的一种移动设备与路由设备的软件结构框图;
图6为本申请实施例提供的一种通信方法的信令流程图;
图7为本申请实施例提供的一种通信方法的信令流程图;
图8为本申请一实施例提供的一种移动设备的结构示意图;
图9为本申请一实施例提供的一种路由设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序,也不用于限制具体数量。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序,也不限制目标对象的具体数量。
在本申请实施例中,“示例性的”或者“例如”等用于作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
通常来说,任何一种网络在覆盖上都存在死角区域,比如Wi-Fi网络和蜂窝网络。在移动设备位于死角区域时,移动设备只使用一种网络,会在该种网络的传输速率低下,影响用户使用。或者,移动设备位于区域的网络性能良好,但移动设备较多,也会使得传输速率低下,影响用户使用。以Wi-Fi网络为例说明。例如,用户在饭馆用餐时,若饭馆内用户处的Wi-Fi网络性能较差,如带宽不足,则用户在通过移动设备观看网络视频等大吞吐率业务时,视频会经常卡顿,影响用户体验。若饭馆内用户处的Wi-Fi网络性能良好,如带宽较好,但接入该Wi-Fi网络的移动设备数量较多,导致移动设备之间的干扰增大,使得传输速率下降,则用户在通过移动设备观看网络视频等大吞吐率业务时,视频也会经常卡顿,影响用户体验。
为了解决单一网络下可能出现的传输速率低下,影响用户使用的问题,推出了多种网络的多路传输方式。比如,Wi-Fi网络和蜂窝网络的双路传输方式。Wi-Fi网络和蜂窝网络的双路传输方式,能够在其中一个网络的信号较弱时,另一个网络迅速补足,稳定传输速率,得到广泛应用。该方式可实现蜂窝网络和Wi-Fi网络的双上行聚合,即移动设备与任意一个应用服务器之间可同时建立蜂窝网络和Wi-Fi网络的双路传输通道。其中,应用服务器是移动设备在打开某个应用后,为获取该应用的数据和/或实现该应用的功能,所访问的该应用所对应的服务器。比如,即时通讯应用A安装在移动设备上,在用户点击移动设备上的即时通讯应用A的图标后,与即时通讯应用A对应的应用服务器就收到用户要启动该应用的请求,该应用服务器返回相应的数据至该移动设备。
下面以图1所示架构为例,示例性地进一步说明。如图1所示,Wi-Fi网络和蜂窝网络的双路传输方式的系统包含移动设备101、第一应用服务器102和第二应用服务器103。移动设备101安装有客户端软件开发工具包(client_Software Development Kit,C_SDK),第一应用服务器102和第二应用服务器103都安装有服务端软件开发工具包(server_Software Development Kit,S_SDK)。其中,C_SDK为通过双路传输方式与S_SDK相互传输数据的客户端软件开发工具包;C_SDK负责移动设备101的传输通道建立、传输通道度量、数据包拆包发送、数据包接收组合以及业务白名单等。S_SDK为通过双路传输方式与C_SDK相互传输数据的服务端软件开发工具包;S_SDK负责应用服务器(102和103)中的数据包接收聚合以及数据包拆分发送等。移动设备101通过蜂窝网络104和Wi-Fi网络105连接第一应用服务器102,实现双路传输;同样地,移动设备101通过蜂窝网络104和Wi-Fi网络105连接第二应用服务器103,实现双路传输。以移动设备101与第一应用服务器102之间的通信为例,在Wi-Fi网络105的性能较好时,移动设备101通过Wi-Fi网络105传输数据至第一应用服务器102,第一应用服务器102通过Wi-Fi网络105传输数据至移动设备101;此时蜂窝网络104可不被使用,或者蜂窝网络104可被使用蜂窝网络104的带宽较少。在Wi-Fi网络105的性能较差时,移动设备101通过蜂窝网络104传输数据至第一应用服务器102,第一应用服务器102通过蜂窝网络104传输数据至移动设备101;此时Wi-Fi网络105可不被使用,或者Wi-Fi网络105可被使用的带宽较少。这样,两路网络总体的传输带宽保持一致,或者变化较小,即使用户在观看网络视频等大吞吐率业务时,视频也会保持同样的流畅度,用户体验较好。
需要说明的是,图1所示的Wi-Fi网络和蜂窝网络的双路传输方式的系统还包含:路由设备106。移动设备101通过Wi-Fi网络105传输数据至路由设备106,路由设备106再分别传输数据至第一应用服务器102和第二应用服务器103,第一应用服务器102和第二应用服务器103通过Wi-Fi网络105分别传输数据至路由设备106,路由设备106再传输数据给移动设备101。
以第一应用服务器102为例说明。具体来说,当移动设备101有业务数据请求时,移动设备101中的C_SDK判断对应的业务是否在业务白名单中。如果在,则C_SDK可以根据蜂窝网络104和Wi-Fi网络105的传输通道各自的能力(如带宽和/或时延),将不同的数据包分配到两路传输通道上同时分发至第一应用服务器102中的S_SDK。与此同时,该S_SDK会检测并接收这两路传输通道上的数据包,且基于发端组合顺序,对从这两路传输通道上接收到的数据包进行聚合,得到移动设备101的数据请求。该S_SDK基于移动设备101的数据请求,得到数据响应。该S_SDK将数据响应拆分为不同的数据包,并将不同的数据包分配到这两路传输通道上同时发送给该移动设备101中的C_SDK。与此同时,该C_SDK会检测并接收该两路传输通道上的数据包,且基于发端组合顺序,对从这两路传输通道上接收到的数据包进行聚合,得到数据响应。该C_SDK再将数据响应转给移动设备101对应的应用,使得应用实现相应的业务。从而,移动设备101与应用服务器102之间通过双路传输方式,增加了带宽且降低了时延。
需要说明的是,图1中的第一应用服务器102和第二应用服务器103仅为对应用服务器的示意性举例,并非用于限制应用服务器的数量。实际上,应用服务器与移动设备101上安装应用相对应,应用服务器的数量可以达到数千甚至更多。
不过,上述的多种网络的多路传输方式,需要移动设备以及移动设备可能连接的所有应用服务器都预先进行适配,导致成本较高,不利于推广。仍以图1的Wi-Fi网络105和蜂窝网络104的双路传输方式的系统架构为例。在图1中,需要预先在移动设备101中安装有C_SDK,以及预先在第一应用服务器102和第二应用服务器103中都安装有S_SDK。也就是说,移动设备101上安装应用所对应的应用服务器,均需要预先安装有S_SDK。比如移动设备101安装有100个不同的应用,这100个应用各自对应的应用服务器均需要预先按照S_SDK。这就使得上述方式的推广受到一定限制,推广成本较高。如何提供一种利于推广的Wi-Fi网络和蜂窝网络的双路传输方式,成为我们的需求。
图2为本申请实施例提供的一种通信系统的架构示意图。如图2所示,本申请的通信系统包括:移动设备100、路由设备200和M个应用服务器300(business server),M为正整数。
本申请中,移动设备100与路由设备200之间可以建立多连接/多路径(multipath,MP)。MP包括至少一个第一传输通道和至少一个第二传输通道。其中,本申请对MP中的第一传输通道和第二传输通道的数量不做限定。另外,MP也可以包括至少两个第一传输通道。
第一传输通道指的是,通过Wi-Fi网络400建立的传输通道,即移动设备100的与Wi-Fi网络400对应的广域网(wide area network,WAN)接口1与路由设备200的局域网(local area network,LAN)接口3之间的传输通道。
其中,移动设备100的WAN接口1的IP地址与路由设备200的LAN接口3的IP地址属于同一个区段。例如,假设路由设备200的LAN接口3的IP地址为192.168.1.1。若移动设备100接入路由设备200的Wi-Fi网络400,则路由设备200可以为移动设备100的与Wi-Fi网络400对应的WAN接口1分配IP地址,如192.168.1.1,或者,192.168.1.10,使得移动设备100与路由设备200可以经由第一传输通道可以相互传输数据。
第二传输通道指的是,通过蜂窝网络500建立的传输通道,即移动设备100通过蜂窝网络500与路由设备200之间的传输通道。其中,常见的蜂窝网络500的类型有:全球移动通信系统(global system for mobile communications,GSM)网络、增强型数据速率GSM演进系统(enhanced data rate for GSM evolution,EDGE)网络、宽带码分多址系统(wideband code division multiple access,WCDMA)网络、码分多址2000系统(codedivision multiple access,CDMA2000)网络、时分同步码分多址系统(time division-synchronization code division multiple access,TD-SCDMA)网络,长期演进系统(longterm evolution,LTE)网络、5G新无线电(new radio,NR)网络及下一代移动网络等。
本领域技术人员可以理解,移动设备100通过移动设备100的与蜂窝网络500对应的WAN接口2,需要经由移动设备100接入的运营商互联网网关设备(即移动设备100的网关600)、运营商互联网以及路由设备200接入的运营商互联网网关设备(即路由设备200的网关700),才能给将数据传输给路由设备200的WAN接口4。
需要说明的是,移动设备100的网关600和路由设备200的网关700可以为同一个网关,也可以为不同的网关,本申请对此不做限定。
在一些实施例中,移动设备100的与蜂窝网络500对应的WAN接口2与路由设备200的WAN接口4之间能给直接传输数据,则第二传输通道,即为移动设备100的与蜂窝网络500对应的WAN接口2与路由设备200的WAN接口4之间的传输通道。
由此,移动设备100需要获知路由设备200的WAN接口4的IP地址和端口信息,且路由设备200需要获知移动设备100的与蜂窝网络500对应的WAN接口2的IP地址和端口信息。需要说明的是,路由设备200的WAN接口4的IP地址和端口信息也可以替代为路由设备200的WAN接口4的域名和端口信息,本申请对此不做限定。
其中,移动设备100获知路由设备200的WAN接口4的IP地址和端口信息的具体实现过程为:路由设备200的LAN接口3可以向移动设备100的与Wi-Fi网络400对应的WAN接口1发送路由设备200的WAN接口4的IP地址和端口信息。
其中,路由设备200获知移动设备100的与蜂窝网络500对应的WAN接口2的IP地址和端口信息的具体实现过程为:移动设备100通过移动设备100的与Wi-Fi网络400对应的WAN接口1可以向路由设备200的LAN接口3发送移动设备100的与蜂窝网络500对应的WAN接口2的IP地址和端口信息。
综上,移动设备100基于路由设备200的WAN接口4的IP地址和端口信息,通过移动设备100的与蜂窝网络500对应的WAN接口2,可以向路由设备200的WAN接口4传输数据。且路由设备200基于移动设备100的与蜂窝网络500对应的WAN接口2的IP地址和端口信息,通过路由设备200的WAN接口4,可以向移动设备100的与蜂窝网络500对应的WAN接口2传输数据。
在另一些实施例中,移动设备100的与蜂窝网络500对应的WAN接口2与路由设备200的WAN接口4之间通常无法传输数据,则第二传输通道,即为移动设备100的与蜂窝网络500对应的WAN接口2经由运营商互联网与路由设备200的WAN接口4之间的传输通道。
由此,移动设备100需要获知移动设备100的网关600的IP地址和端口信息、路由设备200的网关700的IP地址和端口信息、以及路由设备200的WAN接口4的IP地址和端口信息,且路由设备200需要获知移动设备100的网关600的IP地址和端口信息、路由设备200的网关700的IP地址和端口信息、以及移动设备100的与蜂窝网络500对应的WAN接口2的IP地址和端口信息。
其中,移动设备100获知路由设备200的WAN接口4的IP地址和端口信息的具体实现过程可参见前述描述,路由设备200获知移动设备100的与蜂窝网络500对应的WAN接口2的IP地址和端口信息的具体实现过程可参见前述描述,此处均不做赘述。
其中,移动设备100获知移动设备100的网关600的IP地址和端口信息的具体实现过程为:移动设备100借助网络地址转换(network address translation,NAT)穿越技术,通过移动设备100的与蜂窝网络500对应的WAN接口2,经由移动设备100的网关600向云端服务器800发送穿越请求,使得云端服务器800可以获得移动设备100的网关600的IP地址和端口信息。云端服务器800经由移动设备100的网关600,向移动设备100的与蜂窝网络500对应的WAN接口2发送移动设备100的网关600的IP地址和端口信息。
其中,路由设备200获知移动设备100的网关600的IP地址和端口信息的具体实现过程为:移动设备100通过移动设备100的与Wi-Fi网络400对应的WAN接口1,向路由设备200的LAN接口3发送移动设备100的网关600的IP地址和端口信息。
其中,路由设备200获知路由设备200的网关700的IP地址和端口信息的具体实现过程为:路由设备200借助NAT穿越技术,通过路由设备200的WAN接口4,经由路由设备200的网关700向云端服务器800发送穿越请求,使得云端服务器800可以获得路由设备200的网关700的IP地址和端口信息。云端服务器800经由路由设备200的网关700,向路由设备200的WAN接口4发送路由设备200的网关700的IP地址和端口信息。
其中,移动设备100获知路由设备200的网关700的IP地址和端口信息的具体实现过程为:路由设备200通过路由设备200的LAN接口3,向移动设备100的与Wi-Fi网络400对应的WAN接口1发送路由设备200的网关700的IP地址和端口信息。
综上,移动设备100基于移动设备100的网关600的IP地址和端口信息、路由设备200的网关700的IP地址和端口信息、以及路由设备200的WAN接口4的IP地址和端口信息,通过移动设备100的与蜂窝网络500对应的WAN接口2,经由移动设备100的网关600、运营商互联网和路由设备200的网关700,可以向路由设备200的WAN接口4传输数据。且路由设备200基于移动设备100的网关600的IP地址和端口信息、路由设备200的网关700的IP地址和端口信息、以及路由设备200的WAN接口4的IP地址和端口信息,通过路由设备200的WAN接口4,经由路由设备200的网关500、运营商互联网和移动设备100的网关400,可以向移动设备100的与蜂窝网络500对应的WAN接口2传输数据。
其中,本申请对移动设备100和路由设备200采用的NAT穿越技术的具体类型不做限定,只需满足两者能够通过运营商互联网进行互相通信即可。例如,基本的NAT技术或者网络地址/端口转换(Network Address/Port Translator,NAPT)技术等。
本申请涉及的移动设备100可以包括但不限于:手机、平板电脑、电子阅读器、遥控器、个人计算机(personal computer,PC)、笔记本电脑、个人数字助理(personal digitalassistant,PDA)、车载设备、网络电视、可穿戴设备、电视机、智能手表、智能手环等设备。
下面结合图3,具体介绍本申请涉及的移动设备100。
图3为本申请实施例提供的一种移动设备的结构示意图。如图3所示,移动设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。
其中,控制器可以是移动设备100的神经中枢和指挥模块。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。
充电管理模块140用于从充电器接收充电输入。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。
移动设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。移动设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块150可以提供应用在移动设备100上的包括2G/3G/4G/5G等无线通信的解决方案。
无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
移动设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。
移动设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。摄像头193用于捕获静态图像或视频。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展移动设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行移动设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。
移动设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。耳机接口170D用于连接有线耳机。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。陀螺仪传感器180B可以用于确定移动设备100的运动姿态。气压传感器180C用于测量气压。磁传感器180D包括霍尔传感器。移动设备100可以利用磁传感器180D检测翻盖皮套的开合。加速度传感器180E可检测移动设备100在各个方向上(一般为三轴)加速度的大小。距离传感器180F,用于测量距离。接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。环境光传感器180L用于感知环境光亮度。指纹传感器180H用于采集指纹。温度传感器180J用于检测温度。触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。骨传导传感器180M可以获取振动信号。
按键190包括开机键,音量键等。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。
可以理解的是,本申请示意的结构并不构成对移动设备100的具体限定。在另一些实施例中,移动设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
本申请涉及的路由设备200可以包括但不限于:路由器、客户移动设备(customerpremise equipment,CPE)等。
图4为本申请实施例提供的一种路由设备的结构示意图。结合图4,进一步介绍本申请涉及的路由设备200的结构。如图4所示,路由设备200包括一个或多个处理器201、多个通信接口202、存储器203。处理器201、通信接口202和存储器203可通过总线或者其它方式连接。本申请实施例以通过总线204连接为例。
处理器201可以由一个或者多个通用处理器构成,例如CPU。处理器201可用于运行智能家居设备错峰启动的相关的程序代码。
通信接口202可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他节点进行通信。本申请中,通信接口202具体可用于与移动设备100进行通信,还用于与服务器300进行通信。
存储器203可以包括易失性存储器(volatile memory),例如RAM;存储器也可以包括非易失性存储器(non-vlatile memory),例如ROM、快闪存储器(flash memory)、HDD或固态硬盘SSD;存储器203还可以包括上述种类的存储器的组合。存储器203可用于存储一组程序代码,以便于处理器201调用存储器203中存储的程序代码使得路由设备200可以实现本申请的通信方法。
需要说明的是,图4所示的路由设备200仅仅是本申请的一种实现方式,实际应用中,路由设备200还可以包括更多或更少的部件,这里不作限制。
本申请中,路由设备200的结构示意图类似于图4示出的路由设备200,这里不再赘述。另外,路由设备200在实际应用中,还可以包括更多或更少的部件,这里不作限制。
需要说明的是,路由设备200可以连接一个移动设备100,也可以同时连接多个移动设备100,每个移动设备100与路由设备200的连接方式具体可参见上述描述内容,此处不做赘述。移动设备100可以连接一个路由设备200,也可以连接多个路由设备200,该移动设备100与每个路由设备200的连接方式具体可参见上述描述内容,此处不做赘述。
其中,路由设备200所连接的移动设备100的数量可以依据路由设备200的中央处理器(central processing unit,CPU)、内存等性能指标进行设置,本申请对此不做限定。为了便于说明,图2中以一个移动设备100和一个路由设备200为例进行示意。
本申请中,路由设备200与每个应用服务器300之间可以实现有线连接或者无线连接,即路由设备200分别与M个应用服务器300通过有线网络各自建立M条连接。其中,有线网络可以包括但不限于光纤网络。需要说明的是,应用服务器300的数量可以为一个或者多个。为了便于说明,图2中以一个应用服务器300为例进行示意。
其中,本申请涉及的应用服务器300是为实现应用的具体业务。比如即时聊天、语音通话、视频通话、输入法、信息浏览、观看视频、来电助手或者玩游戏等各种业务的网络需求而设计的硬件和软件平台。
需要说明的是,应用服务器300的结构可类似于图4示出的路由设备200的结构,这里不再赘述。另外,应用服务器300在实际应用中,还可以包括更多或更少的部件,这里不作限制。
本申请中,移动设备100中部署有第一SDK。其中,第一SDK用于支持移动设备100与路由设备200同时建立第一传输通道和第二传输通道。第一SDK负责第二传输通道的建立,主动与路由设备200进行能力协商以判断是否满足业务需求,实时探测及评估第一传输通道和第二传输通道的连接状态及通道质量,能够完成与云端服务器800的NAT穿越,将应用的上传数据代理到第一传输通道和第二传输通道上进行传输,在第一传输通道和第二传输通道上实现数据包的聚合或冗余发送和接收,以及数据包的包头处理方式等。
需要说明的是,第一SDK与C_SDK的区别在于:1、两者的目的IP不同。第一SDK的目的IP为路由设备200,C_SDK的目的IP为对应的应用服务器。2、数据包的包头处理方式不同。第一第一SDK的数据包的包头处理方式:在第一传输通道上的数据包的包头不做任何处理,在第二传输通道上的数据包的包头需要添加IP。C_SDK的数据包的包头处理方式:所有数据包都必须重新构建添加IP的包头。从而,减少了本申请的数据包的包头处理操作,提升了处理效率。3、第一SDK建立的第二传输通道可以包括:移动设备100的与蜂窝网络500对应的WAN接口2与路由设备200的WAN接口4之间的传输通道,或者,移动设备100的与蜂窝网络500对应的WAN接口2经由运营商互联网与路由设备200的WAN接口4之间的传输通道,而C_SDK建立的传输通道仅为移动设备的与蜂窝网络500对应的WAN接口与路由设备的WAN接口之间的传输通道。4、第一SDK的目IP不用预置,经由第一传输通道便可获知目的IP,而C-SDK必须提前预置S-SDK的服务器IP。
本申请中,路由设备200中部署有第二SDK。其中,第二SDK用于支持路由设备200与移动设备100同时建立第一传输通道和第二传输通道。第二SDK负责基于第一SDK的请求来驱动第二传输通道的建立,接收第一SDK的能力协商,实时探测及评估第一传输通道和第二传输通道的连接状态及通道质量,基于第一SDK的请求完成与云端服务器800的NAT穿越,将应用服务端300发送的下载数据代理到第一传输通道和第二传输通道上进行传输,在第一传输通道和第二传输通道上实现数据包的聚合或冗余发送和接收,以及数据包的包头处理方式等。
需要说明的是,第二SDK与S_SDK的区别在于:收包机制不同。第二SDK是从路由设备200的LAN接口3经由第一传输通道接收数据包,以及从路由设备200的WAN接口4经由第二传输通道接收数据包,再将数据包进行聚合。而S-SDK均是从应用服务器的业务访问端口获取各个路径上的数据包。
下面,结合图5,介绍第一SDK和第二SDK的软件架构框图。
图5为本申请实施例提供的一种移动设备与路由设备的软件结构框图。如图5所示,第一SDK中包括:服务应用、服务意识(server awareness,SA)模块、第一数据代理模块、第一NAT模块、第一MP策略模块、MP协议客户端(client)模块、第一MP和第一通道管理模块,如表1所示。
表1
第一SDK包括:业务层、控制层、协议层以及链路层。其中,业务应用和服务应用位于业务层,第一数据代理模块、第一NAT模块、第一MP策略模块和第一通道管理模块位于控制层,MP协议client模块位于协议层,第一MP位于链路层。另外,SA模块位于控制层。
SA模块中,预置有业务识别模型,该业务识别模型用于识别任意一个业务应用的业务,并配置有白名单能力,即在识别出业务应用的业务所对应的业务类型位于白名单中时通知移动设备100启动MP进行数据传输。
其中,本申请对业务类型的具体表示方式不做限定。例如,SA模块中存储有白名单,该白名单中存储有各种业务类型,用于表示业务类型所对应的业务能够通过MP实现。从而,SA模块可以识别业务应用的业务类型是否在白名单中。若存在,则SA模块可以确定出业务应用能够通过MP实现业务应用的业务,便可触发第一MP策略模块启动MP。
需要说明的是,SA模块可以为移动设备100中已存在的模块,也可以为新增到移动设备100中的模块,本申请对此不做限定。
继续结合图5,第二SDK中包括:路由服务模块、代理信息模块、第二数据代理模块、第二NAT模块、第二MP策略模块、MP协议服务端(server)模块、第二MP和第二通道管理模块,如表2所示。
表2
第二SDK包括:业务层、控制层、协议层以及链路层。其中,路由服务模块位于业务层,代理信息模块、第二数据代理模块、第二NAT模块、第二MP策略模块和第二通道管理模块位于控制层,MP协议server模块位于协议层,第二MP位于链路层。
本申请中,移动设备100安装有服务应用,如N个应用(application,APP),N个应用中的任意一个应用对应于M个应用服务器300中的一个应用服务器300,N为正整数。其中,每个应用,即通过安装第三方开发的程序来扩展移动设备100的应用功能,如即时聊天、语音通话、视频通话、输入法、信息浏览、观看视频、来电助手或者玩游戏等应用。一般情况下,不同类型的应用,本申请可以设置不同的网络需求。例如,即时通讯应用A与视频应用B的应用类型不同,即时通讯应用A与视频应用B的网络需求不同。其中,本申请根据每个业务自身的网络需求可预先配置有对应的业务的网络参数,如表3所示。另外,本申请不限于采用表格的形式来存储业务的网络参数。
表3业务的网络参数
其中,MP的协议为MP所支持的协议,包括如MPTCP或者MPUDP等协议类型。一般情况下,MP中的每个传输通道所采用的协议相同。
本申请中,MPTCP是基于请求评论(request for Comments,RFC)标准定义MP协议扩展支持下述三种MP的模式类型。
模式一:聚合模式
发起MPTCP时,移动设备100将建立一条聚合MPTCP的链路,包括两条子流,即Wi-Fi网络子流(即第一传输通道)和LTE网络子流(即第二传输通道)。在Wi-Fi网络和LTE网络都正常的情况下,移动设备100根据MP策略,以及Wi-Fi网络和LTE网络的传输能力,将上传数据拆分并分别分配到第一传输通道和第二传输通道上传输数据包,以获得Wi-Fi网络和LTE网络的双倍带宽。
模式二:冗余模式
发起MPTCP时,移动设备100将建立一条冗余MPTCP的链路,包括两条子流,即Wi-Fi网络子流(即第一传输通道)和LTE网络子流(即第二传输通道)。在Wi-Fi网络和LTE网络都正常的情况下,移动设备100将上传数据复制两份,分别在第一传输通道和第二传输通道上同时传输,使得上传数据经由任意一条传输通道均到达路由设备200,路由设备200在第一传输通道和第二传输通道上同时接收上传数据,采用先到先用,后到丢弃的原则以获得较低的时延以及端到端“零”丢包的体验。
模式三:主备模式
发起MPTCP时,移动设备100将建立一条主备MPTCP的链路,包括主用Wi-Fi网络子流的链路和备用LTE网络子流共两条。在Wi-Fi网络和LTE网络均正常的情况下,移动设备100将使用主用Wi-Fi网络子流传输数据。在Wi-Fi网络发生故障的情况下,移动设备100将自动切换到LTE网络子流上传输数据,以确保网络可用性。
需要说明的是,主备模式可适用于移动设备100与路由设备200通过MP进行通信(简称MP通信)发生异常的场景,移动设备100可以自动切换到能够正常传输数据的传输通道上,确保数据传输的稳定性。
本申请中,MPUDP是一个承载在UDP上的协议隧道,目前提供主备模式和冗余模式,来获得低时延、高可靠的网络体验。
其中,MPUDP的主备模式、冗余模式的具体实现过程可分别参见MPTCP的主备模式、冗余模式的具体内容,此处不做赘述。另外,MPUDP与MPTCP的不同之处在于:MPUDP下,在移动设备100向路由设备200发送一个数据包之后,移动设备100需要在接收到路由设备200发送的响应之后才可向路由设备200发送下一个数据包。
另外,本申请中,路由设备200还可以停止通过MP与移动设备100进行通信。
下面,对路由设备200停止MP通信的多种可行的实现方式进行举例。
在一种可行的实现方式中,若路由设备200的第二NAT模块检测到路由设备200的网关700的IP地址和端口信息错误时,路由设备200的第二NAT模块可以向路由设备200的第二MP策略模块模块发送对应的指令,使得路由设备200的第二MP策略模块模块释放应用的业务相关的MP资源,如应用的业务的IP五元组等,从而路由设备200可以停止通过MP中的第一传输通道和第二传输通道与移动设备100进行通信。
其中,IP五元组,即IP三元组+源IP(即移动设备100的IP地址)+源端口(即移动设备100的端口信息)。IP三元组可以包括:应用的业务类型、目的IP(即应用服务器300的IP地址)以及目的端口(即应用服务器300的端口信息)。
在另一种可行的实现方式中,若路由设备200的MP协议server模块检测到MP中的任意一个传输通道异常或者中断时,路由设备200的MP协议server模块可以向路由设备200的第二MP策略模块模块发送指示指令,使得路由设备200的第二MP策略模块模块释放应用的业务相关的MP资源,从而路由设备200可以停止通过MP中的第一传输通道和第二传输通道与移动设备100进行通信。
在另一种可行的实现方式中,若路由设备200的第二数据代理模块检测到经过预设时长后MP中每个传输通道上没有应用的业务对应的数据包时,路由设备200的第二数据代理模块可以向路由设备200的第二MP策略模块模块发送指示指令,使得路由设备200的第二MP策略模块模块释放应用的业务相关的MP资源,从而路由设备200可以停止通过MP中的第一传输通道和第二传输通道与移动设备100进行通信。其中,本申请对预设时长的具体数值不做限定,可根据实际情况进行设置。
在另一种可行的实现方式中,若路由设备200的MP协议server模块接收到移动设备100的MP协议client模块发送的用于表示停止通过MP进行通信的消息时,路由设备200的MP协议server模块可以向路由设备200的第二MP策略模块模块发送指示指令,使得路由设备200的第二MP策略模块模块释放应用的业务相关的MP资源,从而路由设备200可以停止通过MP中的第一传输通道和第二传输通道与移动设备100进行通信。
综上,本申请不限于上述几种可能的实现方式来实现路由设备200与移动设备100通过MP停止进行通信。另外,移动设备100也可以通过上述可能的实现方式停止通过MP与路由设备200进行通信。
基于前述描述,结合图6,以图2所示实施例的通信系统中的移动设备100、路由设备200和M个应用服务器300为执行主体,对本申请的通信方法的具体实现过程进行详细说明。图6中,移动设备100与路由设备200通过Wi-Fi网络400建立第一传输通道。
图6为本申请实施例提供的一种通信方法的信令流程图。如图6所示,本申请的通信方法可以包括:
S101、在移动设备检测到移动设备占据Wi-Fi网络的带宽小于预设的第一阈值后,和/或,在移动设备检测到移动设备通过Wi-Fi网络传输的时延大于预设的第二阈值后,移动设备与路由设备通过蜂窝网络建立第二传输通道。
本申请中,移动设备100可以预先设置各个类型的业务的网络参数,如表3。针对N个应用中的任意一个应用,在移动设备100检测到移动设备100占据Wi-Fi网络400的带宽小于预设的第一阈值后,和/或,在移动设备100检测到移动设备100通过Wi-Fi网络400传输的时延大于预设的第二阈值后,移动设备100可以确定当前Wi-Fi网络400无法满足该应用的业务需求。因此,移动设备100与路由设备200可以通过蜂窝网络500建立第二传输通道,从而通过第一传输通道和第二传输通道及时为该应用实现相应的业务提供一种效率更好的双路传输方式。
其中,移动设备100与路由设备200建立第二传输通道的具体实现过程可以包括如下步骤:
步骤1:在应用的运行过程中,移动设备100可以判断应用的业务是否能够通过MP进行通信。
在一些实施例中,移动设备100通过Wi-Fi网络400连接路由设备200上网。在应用的运行过程中,移动设备100的SA模块可以识别应用的业务类型,并在确定白名单中包含应用的业务类型时,移动设备100的SA模块可以确定应用的业务能够通过MP进行通信。反之,移动设备100的SA模块可以确定应用的业务无法通过MP进行通信。
步骤2:移动设备100在确定应用的业务能够通过MP进行通信时,判断MP是否已启动。
在一些实施例中,移动设备100的SA模块在确定应用的业务能够通过MP进行通信时,可以通知移动设备100的第一MP策略模块。移动设备100的第一MP策略模块可以调用移动设备100的第一通道管理模块查看MP中的每个传输通道的网络能力。移动设备100的第一MP策略模块基于为应用的业务提供服务的传输通道的网络能力,判断MP是否已启动。
若MP启动,则移动设备100与路由设备200无需建立第二传输通道,移动设备100可以执行S102。
若MP未启动,则针对N个应用中的任意一个应用,移动设备100判断移动设备100占据Wi-Fi网络400的带宽是否小于预设的第一阈值后,或者,移动设备100通过Wi-Fi网络400传输的时延是否大于预设的第二阈值。从而,在移动设备100检测到移动设备100占据Wi-Fi网络400的带宽小于预设的第一阈值后,和/或,在移动设备100检测到移动设备100通过Wi-Fi网络400传输的时延大于预设的第二阈值后,移动设备100与路由设备200建立第二传输通道。另外,移动设备100还可以判断如移动设备100是否处于启动状态、移动设备100支持的业务协议类型是否包含MP的预置协议类型等条件。
在另一些实施例中,移动设备100的第一MP策略模块从SA模块中基于应用的业务,获取IP五元组、应用的业务的预置网络参数(如带宽、时延、链路数量等需求)、移动设备100的MP能力信息等参数,并向移动设备100的第一数据代理模块通知基于应用的业务的IP五元组的数据包重路由,即通过MP进行传输,使得移动设备100的第一数据代理模块基于应用的业务的IP五元组将对应的数据包引流到移动设备100的MP协议client模块。
其中,应用的业务的预置网络参数,用于表示移动设备100针对不同业务预先配置的网络Qos需求,如带宽、时延、链路数量等需求,请参见表2中的网络参数。例如,业务的预设带宽门限,用于表示在移动设备100通过MP与路由设备200进行通信时对应的各个业务的带宽范围,如最大带宽值或者最小带宽值等。业务的预设时延门限,用于表示在移动设备100通过MP与路由设备200进行通信时对应的各个业务的时延范围,如最大时延值或者最小时延值等。
其中,移动设备100的MP能力信息可以包括但不限于:移动设备100的MP支持状态、MP能力集、工作状态等参数。移动设备100的MP支持状态,用于表示移动设备100是否支持MP。移动设备100的MP能力集,用于表示移动设备100具备的MP能力。移动设备100的MP能力集可以包括但不限于:MP的协议类型、MP的模式类型、MP中的每个传输通道的网络类型以及传输通道数量(如每个传输通道的网络类型和每个网络类型的传输通道数量)。移动设备100的工作状态,用于表示移动设备100是启动MP或是停止启动MP。
需要说明的是,在移动设备100检测到移动设备100占据Wi-Fi网络400的带宽大于或等于预设的第一阈值后,和/或,在移动设备100检测到移动设备100通过Wi-Fi网络400传输的时延小于或等于预设的第二阈值后,移动设备100可以确定当前Wi-Fi网络400能够满足该应用的业务需求。因此,移动设备100将上传数据经由第一传输通道传输至路由设备200,且路由设备200将请求响应经由第一传输通道传输至移动设备100。
S102、移动设备将上传数据拆分为第一数据和第二数据,并将第一数据经由第一传输通道传输至路由设备,将第二数据经由第二传输通道传输至路由设备。其中,上传数据为要被传输至M个应用服务器中的第P个应用服务器的数据,P为大于等于1,且小于等于M的正整数。
本申请中,移动设备100基于应用的业务的MP策略,可以将上传数据拆分为第一数据和第二数据,并将第一数据经由第一传输通道传输至路由设备200,将第二数据经由第二传输通道传输至路由设备200。
其中,本申请对上传数据、第一数据和第二数据的具体实现方式不做限定。例如,上传数据中的各个数据包可以采用包头+包体的格式,也可以采用包头+包体+包尾的格式。
在一些实施例中,移动设备100的第一数据代理模块启动基于应用的业务的IP五元组的数据包通过MP的传输,从而移动设备100的第一数据代理模块根据MP的模式类型和MP的协议类型,将上传数据拆分为第一数据和第二数据,并将第一数据和第二数据传输给移动设备100的MP协议client模块。移动设备100的MP协议client模块经由第一传输通道将第一数据重路由到路由设备200的Wi-Fi AP,并经由第二传输通道将第二数据重路由到路由设备200的WAN接口4,使得路由设备200的MP协议server模块接收到第一数据和第二数据。路由设备200的MP协议server模块再将第一数据和第二数据发送给路由设备200的第二数据代理模块。
另外,上传数据的拆分方式还可以基于MP的协议类型进行适应地配置。
下面,以MP包括通过Wi-Fi网络400建立的第一传输通道和通过LTE网络建立的第二传输通道,MP的协议类型为MPTCP为例,对移动设备100通过MP向路由设备200发送第一数据和第二数据的具体实现过程进行举例。
在MP的模式类型为聚合模式时,移动设备100可以将上传数据划分为第一数据和第二数据。
针对第一传输通道上的第一数据,移动设备100可以在第一数据中的每个数据包的包头中添加每个数据包对应的编号。其中,编号用于移动设备100或路由设备200对MP上的数据包进行排序,得到完整的数据。编号可以占用一个或者多个比特,本申请对此不做限定。
针对第二传输通道上的第二数据,移动设备100可以在第二数据中的每个数据包的包头中添加路由设备200的WAN接口4的IP地址和端口信息以及每个数据包对应的编号,或者,移动设备100可以在第二数据中的每个数据包的包头中添加路由设备200的网关700的IP地址和端口信息以及每个数据包对应的编号。
需要说明的是,在MP的模式类型为冗余模式时,移动设备100无需将上传数据进行拆分,可以在第一传输通道和第二传输通道上均传输上传数据。其中,第一传输通道和第二传输通道上的数据包的格式可分别参见在MP的模式类型为聚合模式时第一传输通道和第二传输通道上的数据包的格式前述描述,此处不做赘述。
S103、在路由设备接收到第一数据和第二数据后,路由设备将第一数据和第二数据组合为上传数据。
本申请中,路由设备200根据应用的业务的MP策略,可以对第一传输通道上的第一数据进行解包处理,并对第二传输通道上的第二数据进行解包处理,再按照编号大小,将解包后的数据进行排序处理,组合得到上传数据。
在一些实施例中,路由设备200的第二数据代理模块根据MP数据表项(如MP的模式类型和MP的协议类型等)中的第一应用的业务类型、移动设备100的MP能力集以及MP的通信策略等参数,可以将第一传输通道上的第一数据进行解包处理,并对第二传输通道上的第二数据进行解包处理,再按照编号大小,将解包后的数据包进行排序处理,组合得到上传数据。
S104、路由设备将上传数据经由路由设备与M个应用服务器中的第P个应用服务器之间的连接,传输至M个应用服务器中的第P个应用服务器。
本申请,路由设备200基于应用的业务类型,从M个应用服务器300中确定与该应用对应的第P个应用服务器300。路由设备200经由路由设备200与M个应用服务器300中的第P个应用服务器300之间的连接,将上传数据传输至M个应用服务器300中的第P个应用服务器300。
在一些实施例中,路由设备200的第二数据代理模块将上传数据转发给路由设备200的MP协议server模块。路由设备200的MP协议server模块通过路由设备200的WAN接口4转发给应用服务器300。
需要说明的是,此处提及的路由设备200的WAN接口4与移动设备100经由第二传输通道向路由设备200发送上传数据时对应的路由设备200的WAN接口4可以相同,也可以不同,本申请对此不做限定。
综上,本申请在路由设备与移动设备之间实现Wi-Fi网络和移动互联网的双路传输方式,将路由设备作为移动设备与应用服务器之间业务实现的桥梁,及时将移动设备的数据传输给业务服务器,解决了相关技术中需要所有应用服务器具备数据拆分和数据聚合的苛刻要求,方便不同类型的业务的推广,降低了推行成本,还有利于提升数据传输的效率,满足移动设备的大吞吐率的业务需求,为用户带来了高带宽且低时延的通信体验。
需要说明的是,步骤S105-S107为可选地。若M个应用服务器中的第P个应用服务器有数据需要向移动设备100返回数据,则本申请可执行步骤S105-S107。
S105、M个应用服务器中的第P个应用服务器将下载数据经由路由设备与M个应用服务器中的第P个应用服务器之间的连接,传输至路由设备。其中,下载数据为要被传输至移动设备的数据。
本申请中,第P个应用服务器300根据上传数据,确定移动设备100所请求的应用的业务需求。从而,第P个应用服务器300可以向路由设备200发送下载数据,以便借助路由设备200向移动设备100转发下载数据。
其中,本申请对下载数据的具体实现方式不做限定。例如,下载数据中的各个数据包可以采用包头+包体的格式,也可以采用包头+包体+包尾的格式。
在一些实施例中,路由设备200的MP协议server模块通过路由设备200的WAN接口4接收到第P个应用服务器300发送的下载数据。
S106、路由设备将下载数据拆分为第三数据和第四数据,并将第三数据经由第一传输通道传输至移动设备,将第四数据经由第二传输通道传输至移动设备。
本申请中,路由设备200基于应用的业务的MP策略,将下载数据拆分为第三数据和第四数据,并将第三数据经由第一传输通道传输至移动设备100,将第四数据经由第二传输通道传输至移动设备100。其中,本申请对第三数据和第四数据的具体实现方式不做限定。
在一些实施例中,路由设备200的第二数据代理模块启动基于应用的业务的IP五元组的数据包通过MP的传输,从而路由设备200的第二数据代理模块基于业务的IP五元组,查询MP数据表项,确定出MP的协议类型和MP的模式类型。路由设备200的第二数据代理模块根据MP的模式类型和MP的协议类型,将下载数据拆分为第三数据和第四数据,并将第三数据和第四数据经由第二传输通道传输给路由设备200的MP协议server模块。路由设备200的MP协议server模块经由第一传输通道将第三数据重路由到移动设备100的与Wi-Fi网络400对应的WAN接口1,并经由第二传输通道将第四数据重路由到移动设备100与蜂窝网络500对应的的WAN接口2,使得移动设备100的MP协议client模块接收到第三数据和第四数据。移动设备100的MP协议client模块再将第三数据和第四数据发送给移动设备100的第一数据代理模块。
MP的协议类型和MP的模式类型不同,路由设备200向移动设备100传输下载数据的方式不同。一般情况下,S106中路由设备200向移动设备100发送下载数据的方式与S102中移动设备100向路由设备200发送请数据的方式相同。
下面,以MP包括Wi-Fi网络400建立的第一传输通道和通过LTE网络建立的第二传输通道,MP的协议类型为MPTCP为例,对路由设备200通过MP向移动设备100发送第三数据和第四数据的具体实现过程进行举例。
在MP的模式类型为聚合模式时,路由设备200可以将下载数据划分为第三数据和第四数据。其中,第三数据和第四数据的数据分配包情况、数据包格式均可参见前述描述,此处不做赘述。
针对第一传输通道上的第三数据,路由设备200可以在第三数据中的每个数据包的包头中添加每个数据包对应的编号。
针对第二传输通道上的第四数据,路由设备200可以在第四数据中的每个数据包的包头中添加移动设备100的与蜂窝网络500对应的WAN接口2的IP地址和端口信息以及每个数据包对应的编号,或者,路由设备200可以在第四数据中的每个数据包的包头中添加移动设备100的网关600的IP地址和端口信息以及每个数据包对应的编号。
需要说明的是,在MP的模式类型为冗余模式时,路由设备200无需将下载数据进行拆分,可以在第一传输通道和第二传输通道上均传输下载数据。其中,第一传输通道和第二传输通道上的数据包的格式可分别参见在MP的模式类型为聚合模式时第一传输通道和第二传输通道上的数据包的格式前述描述,此处不做赘述。
S107、在移动设备接收到第三数据和第四数据后,移动设备将第三数据和第四数据组合为下载数据,并基于下载数据,实现与M个应用服务器中的第P个应用服务器对应的应用的业务。
本申请中,移动设备100根据应用的业务的MP策略,可以对第一传输通道上的第三数据进行解包处理,并对第二传输通道上的第四数据进行解包处理,再按照编号大小,将解包后的数据进行排序处理,组合得到下载数据。
在一些实施例中,移动设备100的第一数据代理模块基于下载数据实现应用的业务。例如,手机上视频应用实现视频播放。
本申请提供的通信方法,通过移动设备与路由设备通过Wi-Fi网络建立第一传输通道,移动设备与路由设备通过蜂窝网络建立第二传输通道。移动设备将上传数据拆分为第一数据和第二数据,且经由第一传输通道将第一数据传输至路由设备,经由第二传输通道将第二数据传输至路由设备。路由设备将第一数据和第二数据组合成上传数据,并通过路由设备与应用服务器之间的连接,将上传数据传输至应用服务器。应用服务器基于上传数据,得到下载数据,并通过应用服务器与路由设备之间的连接,将下载数据传输至路由设备。路由设备将下载数据拆分为第三数据和第四数据,且经由第一传输通道将第三数据传输至移动设备,经由第二传输通道将第四数据传输至移动设备。移动设备将第三数据和第四数据组合成下载数据,并基于下载数据实现与应用服务器对应的应用的业务。本申请在路由设备与移动设备之间实现Wi-Fi网络和移动互联网的双路传输方式,将路由设备作为移动设备与应用服务器之间业务实现的桥梁,实现了移动设备与应用服务器之间的数据传输,解决了相关技术中需要所有应用服务器具备数据拆分和数据聚合的苛刻要求,方便不同类型的业务的推广,降低了推行成本,还有利于提升数据传输的效率,满足移动设备的大吞吐率的业务需求,为用户带来了高带宽且低时延的通信体验。
基于前述描述,结合图7,以图2所示实施例的通信系统中的移动设备100和路由设备200为执行主体,对本申请中S101的在移动设备检测到移动设备占据Wi-Fi网络的带宽小于预设的第一阈值后,和/或,在移动设备检测到移动设备通过Wi-Fi网络传输的时延大于预设的第二阈值后,移动设备与路由设备通过蜂窝网络建立第二传输通道具体实现过程进行详细说明。
图7为本申请实施例提供的一种通信方法的信令流程图。如图7所示,本申请的通信方法可以包括:
S201、在移动设备检测到移动设备占据Wi-Fi网络的带宽小于预设的第一阈值后,和/或,在移动设备检测到移动设备通过Wi-Fi网络传输的时延大于预设的第二阈值后,移动设备经由第一传输通道向路由设备发送第一请求。其中,第一请求为询问路由设备是否具有多路传输数据的能力的请求。第一请求中携带有应用的业务的预置网络参数和移动设备的MP能力信息。
S202、在路由设备经由第一传输通道接收到移动设备的第一请求,以及确定路由设备具有多路传输数据的能力后,路由设备经由第一传输通道向移动设备发送第一响应。其中,第一响应为针对第一请求的响应,用于表明路由设备具有多路传输数据的能力。
本申请中,在移动设备100检测到移动设备100占据Wi-Fi网络400的带宽小于预设的第一阈值后,和/或,在移动设备100检测到移动设备100通过Wi-Fi网络400传输的时延大于预设的第二阈值后,移动设备100可以确定需要启动MP。
在移动设备100启动MP之后,移动设备100可以向路由设备200发送第一请求,使得路由设备200从第一请求中获取应用的业务的预置网络参数和移动设备100的MP能力信息。从而,路由设备200可以判断出路由设备200的实际网络情况(如路由设备200的WAN接口4的带宽、时延等参数的网络Qos情况)是否能够满足应用的业务的预置网络参数,且路由设备200还可以判断出路由设备200的MP能力信息是否匹配移动设备100的MP能力信息,即MP的协议类型是否满足,MP的模式类型是否满足,以及MP的传输通道数量是否满足等。
其中,路由设备200的MP能力信息可以包括但不限于:路由设备200的MP支持状态、MP能力集、工作状态等。路由设备200的MP支持状态,用于表示路由设备200是否支持MP。路由设备200的MP能力集,用于表示路由设备200具备的MP能力。路由设备200的MP能力集可以包括但不限于:MP的协议类型、MP的模式类型、MP中的每个传输通道的网络类型以及传输通道数量。路由设备200的工作状态,用于表示路由设备200是启动MP或是停止启动MP。
从而,路由设备200可以判断出路由设备200是否具有多路传输数据的能力,方便移动设备100确定路由设备200是否支持MP。在路由设备200具有多路传输数据的能力时,路由设备200向移动设备100发送第一响应。
在一些实施例中,移动设备100的第一MP策略中心模块在启动MP之后,可以调用移动设备100的MP协议client模块向路由设备200的MP协议server模块发送第一请求。从而,移动设备100可以通过第一请求向路由设备200询问路由设备200是否支持MP。
路由设备200的MP协议server模块向路由设备200的第二MP策略中心模块转发第一请求。路由设备200的第二MP策略中心模块从路由设备200的代理信息模块获取路由设备200的MP能力信息,并从路由设备200的第二连接管理模块从路由设备200的WAN接口4获取路由设备200的第一传输通道的实际网络Qos情况。从而,路由设备200的第二MP策略中心模块可以判断路由设备200的MP的协议类型是否满足、MP的模式类型是否满足、路由设备200的第一传输通道的实际网络Qos情况(如时延、带宽等参数)是否满足等,来判断路由设备200是否支持MP。
从而,在路由设备200确定路由设备200具有多路传输数据的能力时,路由设备200的第二MP策略模块驱动路由设备200的MP协议server模块向移动设备100的MP协议client模块发送第一响应,移动设备100的MP协议client模块将第一响应转发给第一MP策略模块。
需要说明的是,第一响应也可以不携带路由设备200的路由设备200的WAN接口4的IP地址和端口信息,路由设备200可以将路由设备200的WAN接口4的IP地址和端口信息传输到云端服务器800,使得移动设备100通过账号绑定等方式从云端服务器800中,可以获取路由设备200的WAN接口4的IP地址和端口信息。
S203、在移动设备确定路由设备具有多路传输数据的能力后,移动设备通过蜂窝网络向路由设备发送第二请求。其中,第二请求为对移动设备的与蜂窝网络对应的WAN接口与路由设备的WAN接口之间的传输通道进行因特网包探索器(packet internet groper,PING)探测的请求。
由于MP中的每个传输通道的网络能力会受到运营商互联网、移动设备100、路由设备200及外界环境等各种因素的影响。因此,移动设备100可以对路由设备200的WAN接口4的IP地址和端口信息进行PING探测,判断出移动设备100是否能够通过蜂窝网络500经由路由设备200的WAN接口4与路由设备200进行通信,从而确定第二传输通道可以相互传输数据,确保了数据包的有效传输,使得移动设备100能够顺利通过MP与路由设备200进行通信。
在一些实施例中,移动设备100的第一MP策略模块调用移动设备100的第一通道管理模块对路由设备200的WAN接口4的IP地址和端口信息发起PING探测。
S204、移动设备判断在预设时长内通过蜂窝网络是否接收到路由设备的第二响应,第二响应为针对第二请求的响应。
若移动设备100在预设时长内通过蜂窝网络500没有接收到路由设备200的第二响应,则移动设备100确定通过蜂窝网络500对路由设备200的WAN接口4的IP地址和端口信息进行PING探测失败,从而移动设备100便可执行步骤S2051-S2052。
若移动设备100在预设时长内通过蜂窝网络500接收到路由设备200的第二响应,则移动设备100确定通过蜂窝网络500对路由设备200的WAN接口4的IP地址和端口信息进行PING探测成功,从而移动设备100便可执行步骤S206。
需要说明的是,S203为可选的步骤,即一般情况下,移动设备100的蜂窝网络500对路由设备200的WAN接口4的IP地址和端口信息进行PING探测通常会失败,因此,移动设备100可以直接执行S2051-S2052。
基于前述描述,移动设备100可以采用如下多种实现方式,获取到路由设备200的WAN接口4的IP地址和端口信息。
一种可行的实现方式中,由于移动设备100已经通过Wi-Fi网络400接入路由设备200,因此,移动设备100可以通过Wi-Fi网络400向路由设备200请求路由设备200的WAN接口4的IP地址和端口信息,使得路由设备200向移动设备100发送路由设备200的WAN接口4的IP地址和端口信息。
另一种可行的实现方式中,移动设备100通过应用(Application,App)和/或网页,与路由设备200采用相同账号登录云端服务器800,以便从云端服务器800中获取路由设备200的WAN接口4的IP地址和端口信息。
其中,云端服务器800可以作为移动设备100与路由设备200的信息交互中枢。云端服务器800可以存储路由设备200的绑定信息,如路由设备200的ID、路由设备200的类型(如路由器或CPE)、路由设备200的MP能力信息、路由设备200的WAN接口4的IP地址和端口信息、查询功能等。通常,路由设备200可以事先向云端服务器800上传路由设备200的绑定信息。另外,在路由设备200的绑定信息中的任意一个发生变化时,路由设备200可以向云端服务器800同步更新对应的信息。
例如,在手机通过Wi-Fi网络400连接上路由器时,用户可以通过APP或网页,实现手机与路由器的绑定,使得云端服务器800向手机提供路由器的绑定信息。
另外,云端服务器800还可以向移动设备100提供查询接口,以便从查询接口中查询到路由设备200是否支持MP等。且云端服务器800还可以将检测到的应用的业务情况(如时延、带宽或卡顿率等体验指标)传输给移动设备100,使得移动设备100呈现应用的业务情况。在一些实施例中,移动设备100还可以显示MP中的每个传输通道的质量情况、MP中不同网络类型的使用流量等参数。
另一种可行的实现方式中,移动设备100利用近场通信(Near FieldCommunication,NFC)技术,通过碰一碰路由设备200,以获取路由设备200的WAN接口4的IP地址和端口信息。
另一种可行的实现方式中,移动设备100可以扫描路由设备200的二维码,能够获得路由设备200的WAN接口4的IP地址和端口信息。
需要说明的是,本申请不限于上述四种可行的实现方式使得移动设备100可以获取路由设备200的WAN接口4的IP地址和端口信息。
S2051、移动设备基于NAT穿越,获取移动设备的网关的IP地址和端口信息,并经由第一传输通道向路由设备发送移动设备的网关的IP地址和端口信息。路由设备基于NAT穿越,获取路由设备的网关的IP地址和端口信息,并经由第一传输通道向移动设备发送路由设备的网关的IP地址和端口信息。
若移动设备100在预设时长内没有通过蜂窝网络500接收到路由设备200的第二响应,则移动设备100可以确定移动设备100基于移动设备100的WAN接口4的IP地址和端口信息,无法经由第二传输通道与路由设备200进行通信,且路由设备200是无法感知移动设备100是否发送第二请求。
因此,移动设备100可以利用NAT穿越技术,经由移动设备100的网关600向云端服务器800发送NAT穿越数据,使得云端服务器800获取到移动设备100的网关600的IP地址和端口信息。云端服务器800经由移动设备100的网关600,向移动设备100发送移动设备100的网关600的IP地址和端口信息。从而,移动设备100通过Wi-Fi网络400,经由第一传输通道向路由设备200发送移动设备100的网关600的IP地址和端口信息。
在一些实施例中,移动设备100的第一MP策略模块驱动移动设备100的第一NAT模块与云端服务器800完成NAT穿越,且移动设备100的第一NAT模块会在NAT穿越成功时存储移动设备100的网关600的IP地址和端口信息。从而,移动设备100的第一MP策略模块从移动设备100的第一NAT模块中调用移动设备100的网关600的IP地址和端口信息,并驱动移动设备100的MP协议client模块向路由设备200的MP协议server模块发送移动设备100的网关600的IP地址和端口信息。
在移动设备100获取移动设备100的网关600的IP地址和端口信息的同时,移动设备100通过Wi-Fi网络400,经由第一传输通道向路由设备200发起NAT穿越请求,使得路由设备200从云端服务器800获取到路由设备200的网关700的IP地址和端口信息。
路由设备200可以利用NAT穿越技术,经由路由设备200的网关700向云端服务器800发送NAT穿越数据,使得云端服务器800获取到路由设备200的网关700的IP地址和端口信息。云端服务器800经由路由设备200的网关700,向路由设备200发送路由设备200的网关700的IP地址和端口信息。从而,路由设备200通过Wi-Fi网络400,经由第一传输通道向移动设备100发送路由设备200的网关700的IP地址和端口信息。
在一些实施例中,移动设备100的第一MP策略模块驱动移动设备100的MP协议client模块发起NAT穿越请求,移动设备100的MP协议client模块便向路由设备200的MP协议server模块发送NAT穿越请求。路由设备200的MP协议server模块将NAT穿越请求转发给路由设备200的第二MP策略模块。
路由设备200的第二MP策略模块驱动路由设备200的第二NAT模块与云端服务器800完成NAT穿越,且路由设备200的第二NAT模块会在NAT穿越成功时存储路由设备200的网关700的IP地址和端口信息。从而,路由设备200的第二MP策略模块从路由设备200的第二NAT模块中调用路由设备200的网关700的IP地址和端口信息,并驱动路由设备200的MP协议server模块向移动设备100的MP协议client模块发送路由设备200的网关700的IP地址和端口信息。
S2052、移动设备100和路由设备200确定基于移动设备100的网关600的IP地址和端口信息、路由设备200的网关700的IP地址和端口信息以及路由设备200的WAN接口4的IP地址和端口信息,经由第二传输通道传输数据。
基于前述描述,移动设备100和路由设备200均可以获取到移动设备100的网关600的IP地址和端口信息,路由设备200的网关700的IP地址和端口信息,以及路由设备200的WAN接口4的IP地址和端口信息。
从而,移动设备100可以确定基于移动设备100的网关600的IP地址和端口信息、路由设备200的网关700的IP地址和端口信息以及路由设备200的WAN接口4的IP地址和端口信息,可以从移动设备100的与蜂窝网络500对应的WAN接口2,经由移动设备100的网关600、运营商互联网以及路由设备200的网关700,将数据从路由设备200的WAN接口4传输至路由设备200。
路由设备200可以确定基于移动设备100的网关600的IP地址和端口信息、路由设备200的网关700的IP地址和端口信息以及路由设备200的WAN接口4的IP地址和端口信息,可以从路由设备200的WAN接口4,经由路由设备200的网关700、运营商互联网以及移动设备100的网关600,将数据从移动设备100的与蜂窝网络500对应的WAN接口2传输至移动设备100。
S206、移动设备100和路由设备200确定基于路由设备200的WAN接口4的IP地址和端口信息,经由第二传输通道传输数据。
若移动设备100在预设时长内通过蜂窝网络500接收到路由设备200的第二响应,则移动设备100可以确定基于路由设备200的WAN接口4的IP地址和端口信息,能够经由第二传输通道与路由设备200进行通信。且由于路由设备200接收到第二请求才会向移动设备100发送第二响应,因此,路由设备200可以确定基于路由设备200的WAN接口4的IP地址和端口信息,能够经由第二传输通道与移动设备100进行通信。
从而,移动设备100可以确定基于路由设备200的WAN接口4的IP地址和端口信息,可以从移动设备100的与蜂窝网络500对应的WAN接口2,经由移动设备100的网关600、运营商互联网以及路由设备200的网关700,将数据从路由设备200的WAN接口4传输至路由设备200。
路由设备200可以确定基于路由设备200的WAN接口4的IP地址和端口信息,可以从路由设备200的WAN接口4,经由路由设备200的网关700、运营商互联网以及移动设备100的网关600,将数据从移动设备100的与蜂窝网络500对应的WAN接口2传输至移动设备100。
本申请中,移动设备100和路由设备200在确定第二传输通道可以相互传输数据后,可以判断移动设备100与路由设备200之间的MP是否已建立,即第二传输通道是否已建立。
若第二传输通道未建立,则移动设备100执行步骤S207-S208,再执行S102-S107。
若第二传输通道已建立,则移动设备100可以直接利用已建立的第一传输通道和第二传输通道,便可直接执行S102-S107。
S207、移动设备通过蜂窝网络向路由设备发送第三请求。其中,第三请求为通过蜂窝网络建立第二传输通道的请求。
本申请中,移动设备100通过蜂窝网络500,经由第二传输通道向路由设备200发送第三请求,实现向路由设备200请求建立第二传输通道的目的。
在一些实施例中,移动设备100的第一MP策略模块驱动移动设备100的MP协议client模块发送第三请求,移动设备100的MP协议client模块向路由设备200的MP协议server模块发送第三请求。
其中,本申请对第三请求的具体实现方式不做限定。另外,第三请求还可以包括:移动设备100的网关600的IP地址和端口信息
在一些实施例中,在移动设备100的MP协议client模块从路由设备200的MP协议server模块接收到路由设备200的网关700的IP地址和端口信息时,移动设备100的第一MP策略模块驱动移动设备100的MP协议client模块发送第三请求,移动设备100的MP协议client模块向路由设备200的MP协议server模块发送第三请求。
其中,本申请对第三请求的具体表示方式不做限定。例如,第三请求中携带有IP五元组、应用的业务的预置网络参数(如带宽、时延、链路数量等需求)、移动设备100的MP能力信息、MP的通信策略等参数。
其中,MP策略为移动设备100与路由设备200通过MP进行通信的策略。MP策略,用于指示MP中的每个传输通道的网络类型和传输通道数量、MP中的每个传输通道的数据包分配情况(如每个传输通道上数据包的传输量)及MP中的每个传输通道的数据格式(如每个传输通道上采用的封装包头的形式)等。
其中,MP中的每个传输通道的网络类型和传输通道数量综合考虑了业务的网络需求、移动设备100的MP能力信息及路由设备200的MP能力信息等各种因素。另外,一般情况下,相比于蜂窝网络500而言,移动设备100会优先选择在Wi-Fi网络400的传输通道上传输数据,以节省用户的蜂窝流量,有利于提升用户的使用体验。
其中,数据包分配情况可以基于MP的协议类型、MP的模式类型以及MP中的每个传输通道的传输能力等因素进行配置,从而确保数据包的传输速率。例如,在MP的协议类型为聚合模式时,若蜂窝网络500与Wi-Fi网络400的传输能力指数比是1:2,则移动设备100可以在第二传输通道上传输的数据包与在第一传输通道上传输的数据包的数量比是1:2。
另外,传输能力指数比可以为带宽比,也可以为时延比,本申请对此不做限定。一般情况下,移动设备100常常选择在第一传输通道上传输较多的数据包,在第二传输通道上传输较少的数据包,能够节省用户的蜂窝流量,有利于提升用户的使用体验。
其中,数据包格式可以依据第二传输通道来确定,能够确保数据包传输的准确性和安全性。在移动设备100与路由设备200通过Wi-Fi网络400传输数据时,移动设备100与路由设备200之间无需要借助NAT穿越技术,便可相互传输数据。在移动设备100与路由设备200通过蜂窝网络500传输数据时,移动设备100与路由设备200之间大概率需要借助NAT穿越技术,才可相互传输数据。因此,本申请可以将第一传输通道上的数据包格式设置的比第二传输通道上的数据包格式简单些,以便节省数据包的传输量,有利于提高数据包的传输速率。
需要说明的是,MP的通信策略不限于上述实现方式。
S208、路由设备响应于第三请求,通过蜂窝网络向移动设备发送第三响应。其中,第三响应用于表明路由设备已与移动设备通过蜂窝网络建立第二传输通道。
本申请中,路由设备200从第三请求中可以得到应用的业务类型、移动设备100的MP能力集以及MP的通信策略等参数。路由设备200基于应用的业务类型、移动设备100的MP能力集以及MP的通信策略等参数,建立MP数据表项,从而建立移动设备100与路由设备200之间的MP,即建立第二传输通道。由此,路由设备200在建立好第二传输通道时,可以通过蜂窝网络500,经由第二传输通道向移动设备100发送第三响应,使得移动设备100能够及时获知路由设备200已建立第二传输通道。
其中,MP数据表项中包括:应用的业务类型(可采用IP五元组等表示形式,即IP三元组+源IP(即移动设备100的IP地址)+源端口(即移动设备100的端口信息))、移动设备100的MP能力集以及MP的通信策略等参数。另外,本申请对第三响应的具体实现方式不做限定。
在一些实施例中,路由设备200的MP协议server模块基于第三请求建立MP数据表项,从而建立MP,即建立第二传输通道。其中,MP数据表项可以存储在路由设备200的第二MP策略模块中。在路由设备200的第二MP策略模块建立好MP时,路由设备200的第二MP策略模块便会启动MP,并通知路由设备200的第二数据代理模基于应用的业务的IP五元组的数据包重路由,即通过MP进行通信,使得路由设备200的第二数据代理模块基于应用的业务的IP五元组将对应的数据包引流到路由设备200的MP协议server模块。
综上,移动设备100和路由设备200便建立好第二传输通道,从而方便执行后续操作。
示例性的,本申请还提供一种移动设备。图8为本申请实施例提供的一种移动设备的结构示意图。本申请的移动设备10用于实现上述任一方法实施例中对应于移动设备的硬件和/或软件的操作。如图8所示,本申请的移动设备10与至少一个路由设备通过Wi-Fi网络建立第一传输通道,移动设备安装有N个应用,N个应用中的任意一个应用对应于M个应用服务器中的一个应用服务器,M和N均为正整数。本申请的移动设备10可以包括:处理模块11和发送模块12。
处理模块11,用于在移动设备检测到移动设备占据Wi-Fi网络的带宽小于预设的第一阈值后,和/或,在移动设备检测到移动设备通过Wi-Fi网络传输的时延大于预设的第二阈值后,与路由设备通过蜂窝网络建立第二传输通道。
处理模块11,还用于将上传数据拆分为第一数据和第二数据。
发送模块12,用于将第一数据经由第一传输通道传输至路由设备,将第二数据经由第二传输通道传输至路由设备。上传数据为要被传输至M个应用服务器中的第P个应用服务器的数据。P为大于等于1,且小于等于M的正整数。
继续结合图8,本申请的移动设备10还可以包括:接收模块13。
在一些实施例中,接收模块13,用于经由第一传输通道接收到路由设备的第三数据,并经由第二传输通道接收到路由设备的第四数据,第三数据和第四数据为路由设备拆分下载数据得到的,下载数据为路由设备经由路由设备与M个应用服务器中的第P个应用服务器之间的连接,从M个应用服务器中的第P个应用服务接收到的,下载数据为要被传输至移动设备的数据。
处理模块11,还用于在接收模块13接收到第三数据和第四数据后,将第三数据和第四数据组合为下载数据。并基于下载数据,实现与M个应用服务器中的第P个应用服务器对应的应用的业务。
在一些实施例中,在移动设备与路由设备通过蜂窝网络建立第二传输通道之前,发送模块12,还用于在确定路由设备具有多路传输数据的能力后,通过蜂窝网络向路由设备发送第二请求,第二请求为对移动设备的与蜂窝网络对应的WAN接口与路由设备的WAN接口之间的传输通道进行PING探测的请求。
在一些实施例中,在预设时长内没有通过蜂窝网络接收到路由设备的第二响应后时,处理模块11,具体用于基于NAT穿越,获取移动设备的网关的IP地址和端口信息,以及路由设备的网关的IP地址和端口信息,第二响应为针对第二请求的响应。并确定基于所述移动设备的网关的IP地址和端口信息、路由设备的网关的IP地址和端口信息以及路由设备的WAN接口的IP地址和端口信息,经由所述第二传输通道传输数据。
在一些实施例中,处理模块11,具体还用于在预设时长内通过蜂窝网络接收到路由设备的第二响应时,确定基于路由设备的WAN接口的IP地址和端口信息,经由所述第二传输通道传输数据。
在一些实施例中,处理模块11,具体还用于通过蜂窝网络向路由设备发送第三请求,第三请求为通过蜂窝网络建立第二传输通道的请求。并通过蜂窝网络接收到路由设备的第三响应,第三响应用于表明路由设备已与移动设备通过蜂窝网络建立第二传输通道。
在一些实施例中,处理模块11,具体还用于经由第一传输通道向路由设备发送第一请求,第一请求为询问路由设备是否具有多路传输数据的能力的请求。在经由第一传输通道接收到路由设备的第一响应后,确定路由设备具有多路传输数据的能力。第一响应为针对第一请求的响应,用于表明路由设备具有多路传输数据的能力。
在一种可能的设计中,第一请求还携带有路由设备的WAN接口的IP地址和端口信息。
在一些实施例中,移动设备适配有第一SDK,第一SDK用于支持移动设备与路由设备同时建立第一传输通道和第二传输通道。
示例性的,本申请还提供一种路由设备。图9为本申请实施例提供的一种路由设备的结构示意图。本申请的路由设备200用于实现上述任一方法实施例中对应于路由设备的硬件和/或软件的操作。如图9所示,本申请的路由设备20与至少一个移动设备通过Wi-Fi网络建立第一传输通道,路由设备分别与M个应用服务器通过有线网络各自建立M条连接。M个应用服务器中的任意一个应用服务器对应于移动设备安装的N个应用中的一个应用,M和N均为正整数。本申请的路由设备20可以包括:处理模块21、接收模块22和发送模块23。
处理模块21,用于与移动设备通过蜂窝网络建立第二传输通道。
处理模块21,还用于在接收模块22经由第一传输通道接收到移动设备的第一数据,以及经由第二传输通道接收到移动设备的第二数据后,将第一数据和第二数据组合为上传数据。上传数据为要被传输至M个应用服务器中的第P个应用服务器的数据。P为大于等于1,且小于等于M的正整数。
发送模块23,用于将上传数据经由路由设备与M个应用服务器中的第P个应用服务器之间的连接,传输至M个应用服务器中的第P个应用服务器。
在一些实施例中,接收模块22,用于经由路由设备与M个应用服务器中的第P个应用服务器之间的连接,接收到M个应用服务器中的第P个应用服务器的下载数据。下载数据为要被传输至移动设备的数据。
处理模块21,还用于将下载数据拆分为第三数据和第四数据。
发送模块23,还用于将第三数据经由第一传输通道传输至移动设备,将第四数据经由第二传输通道传输至移动设备,使得移动设备将第三数据和第四数据组合为下载数据。并基于下载数据,实现与M个应用服务器中的第P个应用服务器对应的应用的业务。
在一些实施例中,在移动设备与路由设备通过蜂窝网络建立第二传输通道之前,接收模块22,还用于通过蜂窝网络接收到移动设备的第二请求,第二请求为对移动设备的与蜂窝网络对应的WAN接口与路由设备的WAN接口之间的传输通道进行PING探测的请求。
处理模块21,具体用于在预设时长内通过蜂窝网络没有向移动设备传输第二响应时,基于NAT穿越,获取移动设备的网关的IP地址和端口信息,以及路由设备的网关的IP地址和端口信息,第二响应为针对第二请求的响应。并确定基于所述移动设备的网关的IP地址和端口信息、路由设备的网关的IP地址和端口信息以及路由设备的WAN接口的IP地址和端口信息,经由所述第二传输通道传输数据。
在一些实施例中,处理模块21,具体还用于在预设时长内通过蜂窝网络向移动设备传输第二响应时,确定基于路由设备的WAN接口的IP地址和端口信息,经由所述第二传输通道传输数据。
在一些实施例中,处理模块21,具体还用于通过蜂窝网络接收到移动设备的第三请求,第三请求为通过蜂窝网络建立第二传输通道的请求。并响应于第三请求,通过蜂窝网络向移动设备发送第三响应,第三响应用于表明路由设备已与移动设备通过蜂窝网络建立第二传输通道。
在一些实施例中,处理模块21,具体还用于在通过蜂窝网络接收到移动设备的第二请求之前,经由第一传输通道接收到移动设备的第一请求,第一请求为询问路由设备是否具有多路传输数据的能力的请求。并在路由设备确定路由设备具有多路传输数据的能力后,经由第一传输通道向移动设备发送第一响应。第一响应为针对第一请求的响应,用于表明路由设备具有多路传输数据的能力。
在一种可能的设计中,第一请求还携带有路由设备的WAN接口的IP地址和端口信息。
在一些实施例中,路由设备适配有第二SDK,第二SDK用于支持路由设备与移动设备同时建立第一传输通道和第二传输通道。有线网络为光纤网络。
本申请还提供一种可读存储介质,可读存储介质中存储有执行指令,当移动设备的至少一个处理器执行该执行指令时,移动设备执行上述方法实施例中的通信方法。
本申请还提供一种可读存储介质,可读存储介质中存储有执行指令,当路由设备的至少一个处理器执行该执行指令时,路由设备执行上述方法实施例中的通信方法。
本申请还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。移动设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得移动设备实施上述方法实施例中的通信方法。
本申请还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。路由设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得路由设备实施上述方法实施例中的通信方法。
本申请还提供一种芯片,所述芯片与存储器相连,或者所述芯片上集成有存储器,当所述存储器中存储的软件程序被执行时,实现上述方法实施例中的通信方法。
本领域普通技术人员可以理解:在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (22)
1.一种移动设备,所述移动设备与一个路由设备通过Wi-Fi网络建立第一传输通道,所述第一传输通道至少包括一条传输通道,所述移动设备安装有N个应用,所述N个应用中的任意一个应用对应于M个应用服务器中的一个应用服务器,M和N均为正整数;所述移动设备包括:
一个或多个处理器;
存储器;
以及一个或多个计算机程序,其中所述一个或多个计算机程序存储在所述存储器上,当所述计算机程序被所述一个或多个处理器执行时,使得所述移动设备执行以下步骤:
在检测到所述第一传输通道的带宽小于预设的第一阈值后,和/或,在检测到所述第一传输通道的时延大于预设的第二阈值后,
所述移动设备通过所述第一传输通道向所述路由设备发送第一请求,所述第一请求为询问所述路由设备是否具有多路传输数据能力的请求;
在所述移动设备通过所述第一传输通道接收到所述路由设备的第一响应后,所述移动设备确定所述路由设备具有多路传输数据能力;所述第一响应为针对第一请求的响应,用于表明所述路由设备具有多路传输数据能力;
在通过所述第一传输通道接收到所述路由设备发送的第一响应后,所述移动设备与所述路由设备通过蜂窝网络建立第二传输通道;所述第二传输通道至少包括一条传输通道;所述移动设备与所述路由设备通过蜂窝网络建立第二传输通道,包括:
在第一预设时长内通过所述蜂窝网络未接收到所述路由设备发送的响应消息;
所述移动设备通过NAT穿越,获取第一网关信息,并通过第一传输通道向所述路由设备发送第一网关信息;且所述移动设备通过第一传输通道接收所述路由设备发送的第二网关信息;所述移动设备基于所述第一网关信息和所述第二网关信息,与所述路由设备通过蜂窝网络建立第二传输通道。
2.根据权利要求1所述的移动设备,其特征在于,在所述移动设备与所述路由设备通过蜂窝网络建立第二传输通道后,所述移动设备还执行:
所述移动设备将上传数据拆分为第一数据和第二数据,并将所述第一数据通过第一传输通道传输至所述路由设备,将所述第二数据通过所述第二传输通道传输至所述路由设备;
其中,所述上传数据为所述移动设备要传输至所述M个应用服务器中的第P个应用服务器的数据;P为大于等于1,且小于等于M的正整数。
3.根据权利要求1或2所述的移动设备,其特征在于,在所述移动设备与所述路由设备通过蜂窝网络建立第二传输通道后,所述移动设备还执行:
所述移动设备向所述路由设备发送多路传输请求,所述多路传输请求用于告知所述路由设备在向所述移动设备传输数据时,通过第一传输通道和第二传输通道传输数据;
所述多路传输请求通过所述第一传输通道和所述第二传输通道中的至少一个传输通道传输。
4.根据权利要求3所述的移动设备,其特征在于,在所述移动设备向所述路由设备发送多路传输请求后,所述移动设备还执行:
在通过所述第一传输通道和所述第二传输通道分别接收到第三数据和第四数据后,所述移动设备将所述第三数据和所述第四数据组合为下载数据;所述下载数据为所述移动设备要从所述M个应用服务器中的第P个应用服务器接收的数据。
5.根据权利要求2所述的移动设备,其特征在于,所述第一网关信息包括所述移动设备的网关的IP地址和端口信息;所述第二网关信息包括所述路由设备的网关的IP地址和端口信息;所述移动设备适配有第一SDK,所述第一SDK用于支持所述移动设备与所述路由设备同时建立所述第一传输通道和所述第二传输通道;所述第一传输通道包括多个传输通道;所述第二传输通道包括多个传输通道。
6.一种通信方法,应用于移动设备,所述移动设备与一个路由设备通过Wi-Fi网络建立第一传输通道,所述第一传输通道至少包括一条传输通道,所述移动设备安装有N个应用,所述N个应用中的任意一个应用对应于M个应用服务器中的一个应用服务器,M和N均为正整数;其特征在于,所述方法包括:
在检测到所述第一传输通道的带宽小于预设的第一阈值后,和/或,在检测到所述第一传输通道的时延大于预设的第二阈值后,
所述移动设备通过所述第一传输通道向所述路由设备发送第一请求,所述第一请求为询问所述路由设备是否具有多路传输数据的能力的请求;
在所述移动设备通过所述第一传输通道接收到所述路由设备的第一响应后,所述移动设备确定所述路由设备具有多路传输数据的能力;所述第一响应为针对第一请求的响应,用于表明所述路由设备具有多路传输数据的能力;
在通过所述第一传输通道接收到所述路由设备发送的第一响应后,所述移动设备与所述路由设备通过蜂窝网络建立第二传输通道;所述第二传输通道至少包括一条传输通道;所述移动设备与所述路由设备通过蜂窝网络建立第二传输通道,包括:
所述移动设备通过所述蜂窝网络向所述路由设备发送PING探测请求;
在第一预设时长内通过所述蜂窝网络未接收到所述路由设备发送的响应消息;
所述移动设备通过NAT穿越,获取第一网关信息,并通过第一传输通道向所述路由设备发送第一网关信息;且所述移动设备通过第一传输通道接收所述路由设备发送的第二网关信息;所述移动设备基于所述第一网关信息和所述第二网关信息,与所述路由设备通过蜂窝网络建立第二传输通道。
7.根据权利要求6所述的方法,其特征在于,在所述移动设备与所述路由设备通过蜂窝网络建立第二传输通道后,所述方法还包括:
所述移动设备将上传数据拆分为第一数据和第二数据,并将所述第一数据通过第一传输通道传输至所述路由设备,将所述第二数据通过所述第二传输通道传输至所述路由设备;
其中,所述上传数据为所述移动设备要传输至所述M个应用服务器中的第P个应用服务器的数据;P为大于等于1,且小于等于M的正整数。
8.根据权利要求6或7所述的方法,其特征在于,在所述移动设备与所述路由设备通过蜂窝网络建立第二传输通道后,所述方法还包括:
所述移动设备向所述路由设备发送多路传输请求,所述多路传输请求用于告知所述路由设备在向所述移动设备传输数据时,通过第一传输通道和第二传输通道传输数据;
所述多路传输请求通过所述第一传输通道和所述第二传输通道中的至少一个传输通道传输。
9.根据权利要求8所述的方法,其特征在于,在所述移动设备向所述路由设备发送多路传输请求后,所述方法还包括:
在通过所述第一传输通道和所述第二传输通道分别接收到第三数据和第四数据后,所述移动设备将所述第三数据和所述第四数据组合为下载数据;所述下载数据为所述移动设备要从所述M个应用服务器中的第P个应用服务器接收的数据。
10.根据权利要求7所述的方法,其特征在于,所述第一网关信息包括所述移动设备的网关的IP地址和端口信息;所述第二网关信息包括所述路由设备的网关的IP地址和端口信息;所述移动设备适配有第一SDK,所述第一SDK用于支持所述移动设备与所述路由设备同时建立所述第一传输通道和所述第二传输通道;所述第一传输通道包括多个传输通道;所述第二传输通道包括多个传输通道。
11.一种路由设备,所述路由设备与至少一个移动设备通过Wi-Fi网络建立第一传输通道,所述路由设备与M个应用服务器中的第P个应用服务器通过有线网络建立第P条传输通道;所述M个应用服务器中的任意一个应用服务器对应于所述移动设备安装的N个应用中的一个应用,M和N均为正整数,P为小于等于M的正整数;所述路由设备包括:
一个或多个处理器;
存储器;
以及一个或多个计算机程序,其中所述一个或多个计算机程序存储在所述存储器上,当所述计算机程序被所述一个或多个处理器执行时,使得所述路由设备执行以下步骤:
通过所述第一传输通道接收到所述移动设备的第一请求,所述第一请求为所述移动设备询问所述路由设备是否具有多路传输数据能力的请求;
响应于所述第一请求,通过所述第一传输通道向所述移动设备发送第一响应;所述第一响应为针对第一请求的响应,用于表明所述路由设备具有多路传输数据能力;
在通过所述第一传输通道向所述移动设备发送第一响应后,所述路由设备与所述移动设备通过蜂窝网络建立第二传输通道;所述第二传输通道至少包括一条传输通道;所述路由设备与所述移动设备通过蜂窝网络建立第二传输通道,包括:
在第二预设时长内通过所述蜂窝网络未接收到所述移动设备发送的PING探测请求;
所述路由设备通过NAT穿越,获取第二网关信息,并通过第一传输通道向所述移动设备发送第二网关信息;且所述路由设备通过第一传输通道接收所述移动设备发送的第一网关信息;所述路由设备基于所述第一网关信息和所述第二网关信息,与所述移动设备通过蜂窝网络建立第二传输通道。
12.根据权利要求11所述的路由设备,其特征在于,在所述路由设备与所述移动设备通过蜂窝网络建立第二传输通道后,所述路由设备还执行:
在通过第一传输通道接收到所述移动设备发送的第一数据,以及通过第二传输通道接收到所述移动设备发送的第二数据后,所述路由设备将所述第一数据和所述第二数据组合为上传数据,并将所述上传数据通过第P条传输通道,传输至所述第P个应用服务器。
13.根据权利要求11或12所述的路由设备,其特征在于,在所述路由设备与所述移动设备通过蜂窝网络建立第二传输通道后,所述路由设备还执行:
接收所述移动设备发送的多路传输请求,所述多路传输请求用于告知所述路由设备在向所述移动设备传输数据时,通过第一传输通道和第二传输通道传输数据;
所述多路传输请求通过所述第一传输通道和所述第二传输通道中的至少一个传输通道传输。
14.根据权利要求13所述的路由设备,其特征在于,在接收到所述移动设备发送的多路传输请求后,所述路由设备还执行:
在通过所述第P条传输通道接收到下载数据后,所述路由设备将所述下载数据拆分为第三数据和第四数据,并将所述第三数据通过所述第一传输通道向所述移动设备传输,还将所述第四数据通过所述第二传输通道向所述移动设备传输;所述下载数据为所述第P个应用服务器要发送给所述移动设备的数据。
15.根据权利要求12所述的路由设备,其特征在于,所述第一网关信息包括所述移动设备的网关的IP地址和端口信息;所述第二网关信息包括所述路由设备的网关的IP地址和端口信息;所述路由设备适配有第二SDK,所述第二SDK用于支持所述路由设备与所述移动设备同时建立所述第一传输通道和所述第二传输通道;所述有线网络为光纤网络;所述第一传输通道包括多个传输通道;所述第二传输通道包括多个传输通道。
16.一种通信方法,应用于一个路由设备,所述路由设备与至少一个移动设备通过Wi-Fi网络建立第一传输通道,所述路由设备与M个应用服务器中的第P个应用服务器通过有线网络建立第P条传输通道;所述M个应用服务器中的任意一个应用服务器对应于所述移动设备安装的N个应用中的一个应用,M和N均为正整数;其特征在于,所述方法包括:
通过所述第一传输通道接收到所述移动设备的第一请求,所述第一请求为所述移动设备询问所述路由设备是否具有多路传输数据能力的请求;
响应于所述第一请求,通过所述第一传输通道向所述移动设备发送第一响应;所述第一响应为针对第一请求的响应,用于表明所述路由设备具有多路传输数据能力;
在通过所述第一传输通道向所述移动设备发送第一响应后,所述路由设备与所述移动设备通过蜂窝网络建立第二传输通道;所述第二传输通道至少包括一条传输通道;所述路由设备与所述移动设备通过蜂窝网络建立第二传输通道,包括:
在第二预设时长内通过所述蜂窝网络未接收到所述移动设备发送的PING探测请求;
所述路由设备通过NAT穿越,获取第二网关信息,并通过第一传输通道向所述移动设备发送第二网关信息;且所述路由设备通过第一传输通道接收所述移动设备发送的第一网关信息;所述路由设备基于所述第一网关信息和所述第二网关信息,与所述移动设备通过蜂窝网络建立第二传输通道。
17.根据权利要求16所述的方法,其特征在于,在所述路由设备与所述移动设备通过蜂窝网络建立第二传输通道后,所述方法还包括:
在通过第一传输通道接收到所述移动设备发送的第一数据,以及通过第二传输通道接收到所述移动设备发送的第二数据后,所述路由设备将所述第一数据和所述第二数据组合为上传数据,并将所述上传数据通过第P条传输通道,传输至所述第P个应用服务器。
18.根据权利要求16或17所述的方法,其特征在于,在所述路由设备与所述移动设备通过蜂窝网络建立第二传输通道后,所述方法还包括:
接收所述移动设备发送的多路传输请求,所述多路传输请求用于告知所述路由设备在向所述移动设备传输数据时,通过第一传输通道和第二传输通道传输数据;
所述多路传输请求通过所述第一传输通道和所述第二传输通道中的至少一个传输通道传输。
19.根据权利要求18所述的方法,其特征在于,在接收到所述移动设备发送的多路传输请求后,所述方法还包括:
在通过所述第P条传输通道接收到下载数据后,所述路由设备将所述下载数据拆分为第三数据和第四数据,并将所述第三数据通过所述第一传输通道向所述移动设备传输,还将所述第四数据通过所述第二传输通道向所述移动设备传输;所述下载数据为所述第P个应用服务器要发送给所述移动设备的数据。
20.根据权利要求17所述的方法,其特征在于,所述第一网关信息包括所述移动设备的网关的IP地址和端口信息;所述第二网关信息包括所述路由设备的网关的IP地址和端口信息;所述路由设备适配有第二SDK,所述第二SDK用于支持所述路由设备与所述移动设备同时建立所述第一传输通道和所述第二传输通道;所述有线网络为光纤网络;所述第一传输通道包括多个传输通道;所述第二传输通道包括多个传输通道。
21.一种计算机可读存储介质,包括计算机程序,其特征在于,当所述计算机程序在移动设备上运行时,使得所述移动设备执行如权利要求6-10中任意一项所述的通信方法。
22.一种计算机可读存储介质,包括计算机程序,其特征在于,当所述计算机程序在路由设备上运行时,使得所述路由设备执行如权利要求16-20中任意一项所述的通信方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010617746.2A CN113872862B (zh) | 2020-06-30 | 2020-06-30 | 通信方法、移动设备及路由设备 |
PCT/CN2021/099852 WO2022001639A1 (zh) | 2020-06-30 | 2021-06-11 | 通信方法、移动设备及路由设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010617746.2A CN113872862B (zh) | 2020-06-30 | 2020-06-30 | 通信方法、移动设备及路由设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113872862A CN113872862A (zh) | 2021-12-31 |
CN113872862B true CN113872862B (zh) | 2022-12-06 |
Family
ID=78981679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010617746.2A Active CN113872862B (zh) | 2020-06-30 | 2020-06-30 | 通信方法、移动设备及路由设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113872862B (zh) |
WO (1) | WO2022001639A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114900388B (zh) * | 2022-05-11 | 2023-11-07 | 深圳绿米联创科技有限公司 | 设备控制方法、装置、设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101720107A (zh) * | 2009-03-23 | 2010-06-02 | 上海通琅信息技术有限公司 | 无线多媒体传输的多路联合通信系统及方法 |
WO2011153415A1 (en) * | 2010-06-04 | 2011-12-08 | Interdigital Patent Holdings, Inc. | Mptcp and mobil ip interworking |
WO2013153442A1 (en) * | 2012-04-13 | 2013-10-17 | Dejero Labs Inc. | A system and method for transmission of data from a wireless mobile device over a multipath wireless router |
WO2015155132A1 (en) * | 2014-04-11 | 2015-10-15 | Alcatel Lucent | Downlink wifi channel aggregation through a tunneling |
CN105490948A (zh) * | 2015-12-28 | 2016-04-13 | 传线网络科技(上海)有限公司 | 数据包分发方法和系统 |
CN105827253A (zh) * | 2016-03-30 | 2016-08-03 | 维沃移动通信有限公司 | 一种射频信号接收装置及移动终端 |
WO2016130054A1 (en) * | 2015-02-09 | 2016-08-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and device for handling multi path connections |
CN107277861A (zh) * | 2017-06-27 | 2017-10-20 | 广州坚和网络科技有限公司 | 一种移动全网络分布式接入方法 |
CN107743698A (zh) * | 2015-06-16 | 2018-02-27 | 三星电子株式会社 | 用于多路径媒体传递的方法和装置 |
CN207977975U (zh) * | 2018-03-28 | 2018-10-16 | 青岛乾元通数码科技有限公司 | 一种4g无线多链路聚合路由器 |
CN110022266A (zh) * | 2014-05-29 | 2019-07-16 | 华为技术有限公司 | 负载传输的控制方法及装置 |
CN110366271A (zh) * | 2018-04-10 | 2019-10-22 | 华为技术有限公司 | 通信方法和通信装置 |
CN110798869A (zh) * | 2018-08-02 | 2020-02-14 | 华为技术有限公司 | 网络切换方法、电子设备以及芯片子系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101715209A (zh) * | 2009-11-11 | 2010-05-26 | 中兴通讯股份有限公司 | 一种多链路传输数据的方法及系统 |
EP2882148A1 (en) * | 2013-12-09 | 2015-06-10 | Université Catholique De Louvain | Establishing a data transfer connection |
US10244580B2 (en) * | 2014-10-16 | 2019-03-26 | Nokia Of America Corporation | Methods and devices for providing application services to users in communications network |
US10594596B2 (en) * | 2015-03-30 | 2020-03-17 | British Telecommunications Public Limited Company | Data transmission |
CN108322708B (zh) * | 2018-02-12 | 2020-07-31 | 福州大学 | 一种基于多路并行传输技术的实时视频传输系统及其方法 |
JP6904578B2 (ja) * | 2018-09-19 | 2021-07-21 | Necプラットフォームズ株式会社 | 通信装置、通信回線選択方法及びプログラム |
-
2020
- 2020-06-30 CN CN202010617746.2A patent/CN113872862B/zh active Active
-
2021
- 2021-06-11 WO PCT/CN2021/099852 patent/WO2022001639A1/zh active Application Filing
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101720107A (zh) * | 2009-03-23 | 2010-06-02 | 上海通琅信息技术有限公司 | 无线多媒体传输的多路联合通信系统及方法 |
WO2011153415A1 (en) * | 2010-06-04 | 2011-12-08 | Interdigital Patent Holdings, Inc. | Mptcp and mobil ip interworking |
WO2013153442A1 (en) * | 2012-04-13 | 2013-10-17 | Dejero Labs Inc. | A system and method for transmission of data from a wireless mobile device over a multipath wireless router |
WO2015155132A1 (en) * | 2014-04-11 | 2015-10-15 | Alcatel Lucent | Downlink wifi channel aggregation through a tunneling |
CN110022266A (zh) * | 2014-05-29 | 2019-07-16 | 华为技术有限公司 | 负载传输的控制方法及装置 |
WO2016130054A1 (en) * | 2015-02-09 | 2016-08-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and device for handling multi path connections |
CN107743698A (zh) * | 2015-06-16 | 2018-02-27 | 三星电子株式会社 | 用于多路径媒体传递的方法和装置 |
CN105490948A (zh) * | 2015-12-28 | 2016-04-13 | 传线网络科技(上海)有限公司 | 数据包分发方法和系统 |
CN105827253A (zh) * | 2016-03-30 | 2016-08-03 | 维沃移动通信有限公司 | 一种射频信号接收装置及移动终端 |
CN107277861A (zh) * | 2017-06-27 | 2017-10-20 | 广州坚和网络科技有限公司 | 一种移动全网络分布式接入方法 |
CN207977975U (zh) * | 2018-03-28 | 2018-10-16 | 青岛乾元通数码科技有限公司 | 一种4g无线多链路聚合路由器 |
CN110366271A (zh) * | 2018-04-10 | 2019-10-22 | 华为技术有限公司 | 通信方法和通信装置 |
CN110798869A (zh) * | 2018-08-02 | 2020-02-14 | 华为技术有限公司 | 网络切换方法、电子设备以及芯片子系统 |
Non-Patent Citations (2)
Title |
---|
Shaik Madhar Saheb ; A. K. Bhattacharjee ; A. Vallavaraj ; R. Kar.A cross-layer based multipath routing protocol for IEEE 802.11E WLAN.《2011 IEEE GCC Conference and Exhibition (GCC)》.2011, * |
可重构路由器中多路径查找方法研究;邬钧霆等;《信息工程大学学报》;20090315(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2022001639A1 (zh) | 2022-01-06 |
CN113872862A (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019418343B2 (en) | Maintaining continuous network service | |
CN112136304A (zh) | 用于基于应用的数据传输执行网络连接的电子设备及其方法 | |
US11277313B2 (en) | Data transmission method and corresponding device | |
CN109088799B (zh) | 一种客户端接入方法、装置、终端以及存储介质 | |
CN112291366B (zh) | 数据传输方法、装置、存储介质及电子设备 | |
US20180091581A1 (en) | Method of switching download mode, control method thereof and control system thereof | |
WO2021121308A1 (zh) | 一种多路径传输的方法及设备 | |
KR101176144B1 (ko) | 다중 네트워크 환경에서의 피어-투-피어 접속 시스템 및 방법 | |
US10367893B1 (en) | Method and apparatus of performing peer-to-peer communication establishment | |
US9661550B2 (en) | Communication apparatus, communication method, and communication system | |
WO2023143300A1 (zh) | 一种切片选择方法、系统及相关装置 | |
CN113872862B (zh) | 通信方法、移动设备及路由设备 | |
CN113972962B (zh) | 一种缓冲区管理方法及相关装置 | |
WO2020147019A1 (en) | Apparatus and method of performing a group communication | |
US11159978B2 (en) | Adaptive multi-link control | |
CN113141637B (zh) | 一种多路径传输控制的方法及控制装置 | |
CN112398943B (zh) | 信息互通方法、装置、存储介质及电子设备 | |
US11671876B2 (en) | Classifying network traffic to use cellular network slices based on application parameters | |
CN112333690A (zh) | 数据传输方法、装置、存储介质、终端及网络接入点设备 | |
WO2021143921A1 (zh) | 一种多路径传输控制的方法及控制装置 | |
WO2022267739A1 (zh) | 一种连接探测方法、客户端与服务器 | |
CN114500511B (zh) | 一种数据传输方法、装置及电子设备 | |
WO2022205254A1 (zh) | 一种边缘配置服务器的确定方法及装置 | |
US20220400399A1 (en) | System and method to monitor a radio channel while servicing other radio channels | |
WO2023246104A1 (zh) | 通信方法及相关装置 |
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 |