CN111416794B - 一种数据传输方法及电子设备 - Google Patents
一种数据传输方法及电子设备 Download PDFInfo
- Publication number
- CN111416794B CN111416794B CN201910016807.7A CN201910016807A CN111416794B CN 111416794 B CN111416794 B CN 111416794B CN 201910016807 A CN201910016807 A CN 201910016807A CN 111416794 B CN111416794 B CN 111416794B
- Authority
- CN
- China
- Prior art keywords
- tcp connection
- period
- application server
- data
- electronic 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
Images
Classifications
-
- 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
- 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/14—Multichannel or multilink protocols
-
- 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/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/15—Flow control; Congestion control in relation to multipoint traffic
-
- 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]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- 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/10—Connection setup
- H04W76/15—Setup of multiple wireless link connections
- H04W76/16—Involving different core network technologies, e.g. a packet-switched [PS] bearer in combination with a circuit-switched [CS] bearer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/06—Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72409—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
- H04M1/72412—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/06—Details of telephonic subscriber devices including a wireless LAN interface
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/12—Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Human Computer Interaction (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种数据传输方法及电子设备,该方法包括:电子设备首先与应用服务器建立MPTCP连接,其中,MPTCP连接包括蜂窝网络对应的第一TCP连接和WIFI网络对应的第二TCP连接;然后电子设备接收来自应用服务器的指示信息;指示信息包括类型标识和用于指示带宽需求的参数,类型标识用于指示应用服务器发送的数据流的类型。当类型标识为指示数据传输时延要求低的第一标识时,电子设备在接收到指示信息之后的第一时段采用第二TCP连接接收数据流,当电子设备在第一时段实际接收的累计数据量小于参数与第一时段对应的时长的乘积时,电子设备在第二时段同时采用第一TCP连接和第二TCP连接接收数据流。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种数据传输方法及电子设备。
背景技术
多路径传输控制协议(multi path transmission control protocol,MPTCP)是TCP的扩展,利用多条TCP连接的并行传输提高资源的利用率,增强连接失败的恢复能力。当前广泛使用的MPTCP的调度算法是最小往返时延(min Round-Trip Time,min往返时延)调度算法,即接收端优先使用最小往返时延的TCP连接接收数据,当最小往返时延的TCP连接接收窗口拥塞时,则同时使用次小往返时延的TCP连接接收数据。然而现实情况是,在绝大多数公共场所中,例如飞机场、购物中心、学校、公司等场所,WIFI网络的往返时延无论是平均值还是抖动都远远大于蜂窝网络的往返时延,所以现有的MPTCP调度算法存在较为耗费用户的数据流量的问题。
为此,现有技术提出一些节省蜂窝网络的数据流量的MPTCP调度方案,例如当MPTCP同时包括WIFI网络对应的TCP连接和蜂窝网络对应的TCP连接时,手机通常优先仅使用WIFI网络对应的TCP连接接收数据流,当WIFI网络对应的TCP连接的数据传输速率不满足需求时,再同时使用蜂窝网络对应的TCP连接接收数据流。但是WIFI网络的抖动远远大于蜂窝网络,当WIFI网络信号弱或者网络受限时,手机往往不能够及时发现,所以不会及时使用蜂窝网络的TCP连接接收数据流,导致在视频播放过程中发生卡顿,视频播放不流畅,影响用户的体验。
发明内容
本申请提供一种数据传输方法及电子设备,用以改善现有数据传输优先占用WIFI网络的TCP连接造成卡顿的问题。
第一方面,本申请实施例提供了一种数据传输方法,该方法适用于电子设备,该方法包括:电子设备首先与应用服务器建立MPTCP连接,其中,该MPTCP连接包括蜂窝网络对应的第一TCP连接和WIFI网络对应的第二TCP连接;该第一TCP连接的数据传输时延小于该第二TCP连接的数据传输时延。然后电子设备接收来自该应用服务器的指示信息;该指示信息包括类型标识和用于指示带宽需求的参数,该类型标识用于指示应用服务器发送的数据流的类型;当类型标识为指示数据传输时延要求低的第一标识时,电子设备在接收到该指示信息之后的第一时段采用第二TCP连接接收数据流;当电子设备在第一时段累计接收的数据量小于参数与第一时段对应的时长的乘积时,电子设备在第二时段同时采用第一TCP连接和第二TCP连接接收数据流。
本申请实施例中,电子设备通过比较实际实时接收的累计数据量和预期接收的累计数据量来判断是否启用LTE网络对应的第一TCP连接,判断结果也是实时,且准确地,因此可以一定程度上改善手机出现卡顿、播放不流畅的问题。
在一种可能的设计中,电子设备在第一时段内实际接收的累计数据量满足第一预期接收的累计数据量时,电子设备在第二时段仍采用第二TCP连接接收来自应用服务器的数据流。
在一种可能的设计中,电子设备确定在该第二时段通过第二TCP连接的接收的累计数据量满足第二预期接收的累计数据量时,则在第三时段仅采用该第二TCP连接接收来自该应用服务器的数据流;该第二预期接收的累计接收的数据量等于该第二时段对应的时长与该参数的乘积。
本申请实施例中,电子设备在第三时段仅采用第二TCP连接接收数据流,蜂窝网络对应的第一TCP连接则被关闭。这样做,一方面可以减少消耗蜂窝网络的数据流量,另一方面因蜂窝网络的功耗比WIFI网络的功耗大,蜂窝网络对应的第一TCP连接在不需要时被关闭,可以一定程度上降低功耗。
在一种可能的设计中,当该类型标识为指示数据传输时延要求高的第二标识时,该电子设备在接收到该指示信息之后的该第一时段同时采用该第一TCP连接和该第二TCP连接接收来自该应用服务器的数据流。
本申请实施例中,电子设备在数据流对时延要求较高时,及时采用两条TCP连接接收数据流,可以一定程度上提高数据流接收速率,减少开始播放的时延。
第二方面,本申请实施例提供了一种数据传输方法,该方法适用于电子设备,该方法包括:
电子设备与应用服务器建立MPTCP连接,其中,该MPTCP连接包括蜂窝网络对应的第一TCP连接和WIFI网络对应的第二TCP连接;然后该电子设备在第一时段采用该第二TCP连接接收来自该应用服务器的数据流。电子设备根据该电子设备在该第一时段实际接收的第一累计数据量,确定该电子设备在第一时段的第一数据传输速率,该第一数据传输速率等于该第一累计数据量与该第一时段对应的时长的比值,当第一数据传输速率不满足预设数据传输速率时,在第二时段同时采用该第一TCP连接和该第二TCP连接接收来自该应用服务器的数据流。
本申请实施例中,电子设备在无法确定接收的数据流的内容和实时数据传输速率需求时,优先尝试使用WIFI网络对应的第二TCP连接接收数据流,如果出现数据传输速率不满足预设需求,则及时使用两条TCP连接接收数据流。
在一种可能的设计中,该电子设备同时采用第一TCP连接和第二TCP连接接收来自该应用服务器的数据流,然后电子设备根据在单位时间内该第二TCP连接和第一TCP连接的实际接收的累计数据量,确定该预设数据传输速率。
在一种可能的设计中,该电子设备根据该电子设备在该第二时段实际接收的第二累计数据量,确定该电子设备在第二时段的第二数据传输速率,该第二数据传输速率等于该第二累计数据量与该第二时段对应的时长的比值,然后电子设备确定在该第二时段的第二数据传输速率满足该预设数据传输速率时,则在第三时段仅采用该第二TCP连接接收来自该应用服务器的数据流。
本申请实施例中,一方面可以减少消耗蜂窝网络的数据流量,另一方面因蜂窝网络的功耗比WIFI网络的功耗大,蜂窝网络对应的第一TCP连接在不需要时被关闭,可以一定程度上降低功耗。
第三方面,本申请实施例提供一种电子设备,包括处理器和存储器。其中,存储器用于存储一个或多个计算机程序;当存储器存储的一个或多个计算机程序被处理器执行时,使得该电子设备能够实现上述任一方面的任意一种可能的设计的方法。
第四方面,本申请实施例还提供一种装置,该装置包括执行上述任一方面的任意一种可能的设计的方法的模块/单元。这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
第五方面,本申请实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行上述任一方面的任意一种可能的设计的方法。
第六方面,本申请实施例还提供一种包含计算机程序产品,当所述计算机程序产品在终端上运行时,使得所述电子设备执行上述任一方面的任意一种可能的设计的方法。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种多路径数据传输方法应用的系统架构;
图2为本申请实施例提供的一种多网络部署的数据传输系统架构图;
图3为本申请实施例提供的一种TCP协议栈扩充到MPTCP协议栈的示意图;
图4为本申请实施例提供的一种MPTCP实现过程示意图;
图5为本申请实施例提供的一种电子设备的结构示意图;
图6为本申请实施例提供的一种安卓系统架构示意图;
图7a为本申请实施例提供的一种数据传输方法示意图一;
图7b至图7c为本申请实施例提供的数据传输方法的应用场景示意图;
图8为本申请实施例提供的一种数据传输方法示意图二;
图9a至图9b为本申请实施例提供的一种数据传输方法示意图三;
图10为本申请实施例提供的一种数据传输方法示意图四;
图11为本申请实施例提供的一种数据传输方法示意图五;
图12为本申请实施例提供的一种数据传输装置结构示意图;
图13为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请实施例提供的数据传输方法可应用于无线通信系统的数据传输,其中,数据接收端与数据发送端通过无线接入网(Radio Access Network,RAN)以及核心网进行数据交互,所述数据接收端和所述数据发送端之间还可建立传输控制协议(TransmissionControl Protocol,TCP)连接,采用TCP协议进行数据传输。如图1所示,无线通信系统中电子设备100和应用服务器200之间进行数据交互,电子设备100通过空口接入到RAN,经由核心网连接到应用服务器,其中,电子设备100与RAN之间的网络可称为无线网络,RAN与应用服务器200之间的网络可以是有线网络。应用服务器200与电子设备100之间建立TCP连接并进行数据传输。
其中,应用服务器200可以是服务器集群中的一个或多个服务器,例如某一视频应用的不同视频片段分布在不同的服务器上,应用服务器200可以是多个服务器;再比如某一视频应用的视频分布在一个的服务器上,应用服务器200也可以是一个服务器。
随着通信技术的发展,通信系统已经演进为多个通信网络共同部署的通信架构,终端可接入不止一个通信网络进行通信。需要说明的是,当该通信网络为局域网时,示例性的,该通信网络可以是无线保真(Wireless Fidelity,WIFI)网络、蓝牙网络、zigbee网络或近场通信(near field communication,NFC)网络等近距离通信网络。当该通信网络为广域网时,示例性的,该通信网络可以是第三代移动通信技术(3rd-generation wirelesstelephone technology,3G)网络、第四代移动通信技术(the 4th generation mobilecommunication technology,4G)网络、第五代移动通信技术(5th-generation mobilecommunication technology,5G)网络、未来演进的公共陆地移动网络(public landmobile network,PLMN)或因特网等。
例如,图2中部署有WIFI网络和长期演进(Long Term Evolution,LTE)网络的通信系统中,终端可接入WIFI网络,通过演进的分组数据网关(Evolved Packet Data Gateway,ePDG)或被信任网关(trusted gateway,TGW)与应用服务器进行数据传输,也可接入到LTE网络,通过服务网关(Serving Gateway,SGW)或分组数据网关(Packet Data NetworkGateway,PGW)与应用服务器进行数据传输。
其中,异构网络的部署推动了多路径数据传输业务的发展,目前通过对TCP协议扩展得到了MPTCP协议,利用该MPTCP协议使一个业务可使用多路径的网络资源进行数据传输。例如图2中手机使用WIFI网络资源和LTE网络资源与应用服务器进行数据传输。图3示出了TCP协议栈扩充到MPTCP协议栈的示意图。TCP协议栈中,应用(Application)层的数据流通过一条TCP连接发送,在MPTCP协议栈中,传输层被划分为两个子层:MPTCP层和TCP层,应用层的数据流经由MPTCP层所分解的两条TCP连接传送。
图4示出了MPTCP的使用场景示意图,图4中电子设备和应用服务器之间建立了两条TCP连接,一个TCP连接使用WIFI网络资源,另一个TCP连接使用LTE网络资源。应用服务器的MPTCP层将TCP流分解为两个TCP子流后通过这两个TCP连接分别独立传送至电子设备,电子设备收到两个TCP子流之后,将这两个子流合并后再发送给应用层。
在本申请一些实施例中,图1所示的无线通信系统中电子设备可以是还包含其他功能诸如个人数字助理和/或音乐播放器功能的便携式终端设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴设备(如智能手表)等。便携式终端设备的示例性实施例包括但不限于搭载或者其他操作系统的便携式终端设备。上述便携式终端设备也可以是其他便携式终端设备,诸如具有触敏表面(例如触控面板)的膝上型计算机(laptop)等。还应当理解的是,在本申请其他一些实施例中,上述电子设备也可以不是便携式终端设备,而是具有触敏表面(例如触控面板)的台式计算机。
示例性地,如图5所示,本申请实施例中的终端设备可以为手机,下面以手机为例对实施例进行具体说明。
手机可以包括处理器510,外部存储器接口520,内部存储器521,USB接口530,充电管理模块540,电源管理模块541,电池542,天线1,天线2,移动通信模块550,无线通信模块560,音频模块570,扬声器570A,受话器570B,麦克风570C,耳机接口570D,传感器模块580,按键590,马达591,指示器592,摄像头593,显示屏594,以及SIM卡接口595等。其中传感器模块580可以包括压力传感器580A,陀螺仪传感器580B,气压传感器580C,磁传感器580D,加速度传感器580E,距离传感器580F,接近光传感器580G,指纹传感器580H,温度传感器580J,触摸传感器580K,环境光传感器580L,骨传导传感器580M等。
可以理解的是,本发明实施例示意的结构并不构成对手机的具体限定。在本申请另一些实施例中,手机可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器510可以包括一个或多个处理单元,例如:处理器510可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(Neural-network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是手机的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器510中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器510中的存储器为高速缓冲存储器。该存储器可以保存处理器510刚用过或循环使用的指令或数据。如果处理器510需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器510的等待时间,因而提高了系统的效率。
在一些实施例中,处理器510可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器510可以包含多组I2C总线。处理器510可以通过不同的I2C总线接口分别耦合触摸传感器580K,充电器,闪光灯,摄像头593等。例如:处理器510可以通过I2C接口耦合触摸传感器580K,使处理器510与触摸传感器580K通过I2C总线接口通信,实现手机的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器510可以包含多组I2S总线。处理器510可以通过I2S总线与音频模块570耦合,实现处理器510与音频模块570之间的通信。在一些实施例中,音频模块570可以通过I2S接口向无线通信模块560传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块570与无线通信模块560可以通过PCM总线接口耦合。在一些实施例中,音频模块570也可以通过PCM接口向无线通信模块560传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器510与无线通信模块560。例如:处理器510通过UART接口与无线通信模块560中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块560传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器510与显示屏594,摄像头593等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器510和摄像头593通过CSI接口通信,实现手机的拍摄功能。处理器510和显示屏594通过DSI接口通信,实现手机的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器510与摄像头593,显示屏594,无线通信模块560,音频模块570,传感器模块580等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口530是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口可以用于连接充电器为手机充电,也可以用于手机与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机的结构限定。在本申请另一些实施例中,手机也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块540用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块540可以通过USB接口接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块540可以通过手机的无线充电线圈接收无线充电输入。充电管理模块540为电池542充电的同时,还可以通过电源管理模块541为电子设备供电。
电源管理模块541用于连接电池542,充电管理模块540与处理器510。电源管理模块541接收电池542和/或充电管理模块540的输入,为处理器510,内部存储器521,外部存储器,显示屏594,摄像头593,和无线通信模块560等供电。电源管理模块541还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块541也可以设置于处理器510中。在另一些实施例中,电源管理模块541和充电管理模块540也可以设置于同一个器件中。
手机的无线通信功能可以通过天线模块1,天线模块2移动通信模块550,无线通信模块560,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将蜂窝网天线复用为无线局域网分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块550可以提供应用在手机上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块550可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(LowNoise Amplifier,LNA)等。移动通信模块550可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块550还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块550的至少部分功能模块可以被设置于处理器510中。在一些实施例中,移动通信模块550的至少部分功能模块可以与处理器510的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器570A,受话器570B等)输出声音信号,或通过显示屏594显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器510,与移动通信模块550或其他功能模块设置在同一个器件中。
无线通信模块560可以提供应用在手机上的包括无线局域网(wireless localarea networks,WLAN),蓝牙(bluetooth,BT),全球导航卫星系统(global navigationsatellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(nearfield communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块560可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块560经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器510。无线通信模块560还可以从处理器510接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,手机的天线1和移动通信模块150耦合,天线2和无线通信模块560耦合,使得手机可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS))和/或星基增强系统(satellite based augmentation systems,SBAS)。
手机通过GPU,显示屏594,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏594和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器510可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏594用于显示图像,视频等。显示屏594包括显示面板。显示面板可以采用LCD(liquid crystal display,液晶显示屏),OLED(organic light-emitting diode,有机发光二极管),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,手机可以包括1个或N个显示屏,N为大于1的正整数。
手机可以通过ISP,摄像头593,视频编解码器,GPU,显示屏594以及应用处理器等实现拍摄功能。
ISP用于处理摄像头593反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头593中。
摄像头593用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,手机可以包括1个或N个摄像头,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当手机在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。手机可以支持一种或多种视频编解码器。这样,手机可以播放或录制多种编码格式的视频,例如:MPEG1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现手机的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口520可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机的存储能力。外部存储卡通过外部存储器接口520与处理器510通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器521可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器510通过运行存储在内部存储器521的指令,从而执行手机的各种功能应用以及数据处理。存储器521可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机使用过程中所创建的数据(比如音频数据,电话本等)等。此外,存储器521可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
手机可以通过音频模块570,扬声器570A,受话器570B,麦克风570C,耳机接口570D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块570用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块570还可以用于对音频信号编码和解码。在一些实施例中,音频模块570可以设置于处理器510中,或将音频模块570的部分功能模块设置于处理器510中。
扬声器570A,也称“喇叭”,用于将音频电信号转换为声音信号。手机可以通过扬声器570A收听音乐,或收听免提通话。
受话器570B,也称“听筒”,用于将音频电信号转换成声音信号。当手机接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风570C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风570C发声,将声音信号输入到麦克风570C。手机可以设置至少一个麦克风570C。在另一些实施例中,手机可以设置两个麦克风,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,手机还可以设置三个,四个或更多麦克风,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口570D用于连接有线耳机。耳机接口可以是USB接口,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器580A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器580A可以设置于显示屏594。压力传感器580A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器580A,电极之间的电容改变。手机根据电容的变化确定压力的强度。当有触摸操作作用于显示屏594,手机根据压力传感器580A检测所述触摸操作强度。手机也可以根据压力传感器580A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器580B可以用于确定手机的运动姿态。在一些实施例中,可以通过陀螺仪传感器580B确定手机围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器580B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器580B检测手机抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消手机的抖动,实现防抖。陀螺仪传感器580B还可以用于导航,体感游戏场景。
气压传感器580C用于测量气压。在一些实施例中,手机通过气压传感器580C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器580D包括霍尔传感器。手机可以利用磁传感器580D检测翻盖皮套的开合。在一些实施例中,当手机是翻盖机时,手机可以根据磁传感器580D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器580E可检测手机在各个方向上(一般为三轴)加速度的大小。当手机静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器580F,用于测量距离。手机可以通过红外或激光测量距离。在一些实施例中,拍摄场景,手机可以利用距离传感器180F测距以实现快速对焦。
接近光传感器580G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。手机通过发光二极管向外发射红外光。手机使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定手机附近有物体。当检测到不充分的反射光时,手机可以确定手机附近没有物体。手机可以利用接近光传感器580G检测用户手持手机贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器580G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器580L用于感知环境光亮度。手机可以根据感知的环境光亮度自适应调节显示屏594亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器580L还可以与接近光传感器580G配合,检测手机是否在口袋里,以防误触。
指纹传感器580H用于采集指纹。手机可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器580J用于检测温度。在一些实施例中,手机利用温度传感器580J检测的温度,执行温度处理策略。例如,当温度传感器580J上报的温度超过阈值,手机执行降低位于温度传感器580J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,手机对电池542加热,以避免低温导致手机异常关机。在其他一些实施例中,当温度低于又一阈值时,手机对电池542的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器580K,也称“触控面板”。可设置于显示屏594。用于检测作用于其上或附近的触摸操作。可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型,并通过显示屏594提供相应的视觉输出。在另一些实施例中,触摸传感器580K也可以设置于手机的表面,与显示屏594所处的位置不同。
骨传导传感器580M可以获取振动信号。在一些实施例中,骨传导传感器580M可以获取人体声部振动骨块的振动信号。骨传导传感器580M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器580M也可以设置于耳机中。音频模块570可以基于所述骨传导传感器580M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器580M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键590包括开机键,音量键等。按键可以是机械按键。也可以是触摸式按键。手机可以接收按键输入,产生与手机的用户设置以及功能控制有关的键信号输入。
马达591可以产生振动提示。马达591可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏594不同区域的触摸操作,马达591也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器592可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口595用于连接用户标识模块(subscriber identity module,SIM)。SIM卡可以通过插入SIM卡接口,或从SIM卡接口拔出,实现和手机的接触和分离。手机可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口595可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口595也可以兼容不同类型的SIM卡。SIM卡接口595也可以兼容外部存储卡。手机通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,手机采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在手机中,不能和手机分离。手机的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明手机的软件结构。
图6是本发明实施例的手机的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图6所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图6所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供手机的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
如图7a所示,假设手机和应用服务器之间已建立了MPTCP连接,MPTCP连接包括LTE网络对应的第一TCP连接和WIFI网络对应的第二TCP连接,目前,手机在使用MPTCP连接时,当手机接收到来自应用服务器的第一标识时,其中第一标识指示数据流对数据传输时延要求低,手机优先使用图7a所示WIFI网络对应的第二TCP连接接收数据流。在WIFI网络对应的第二TCP连接的数据传输速率(所谓数据传输速率指的是单位时间接收到的数据量)不足时(例如低于2Mbps),手机同时启用蜂窝网络对应的第一TCP连接接收数据。但是因为WIFI网络的抖动性较大,经常可能出现WIFI网络不通畅的场景,如表1所示,因此可能出现卡顿,播放不流畅的问题。
表1
示例性地,当手机处于表1所示的网速受限场景中观看电影时,就可能出现手机的视频下载速率(也就是数据传输速率)在1mbps左右,如果当前电影是高清类视频,视频下载速率需求是4mbps,那么手机在播放电影过程中就会出现卡顿,不流畅的问题。如果手机通过监测第二TCP连接的数据传输速率来判断是否启用蜂窝网络的TCP连接,则一般至少需要计算2至3个时段(例如一个时段对应的时长是3s,两个时段对应的时长是6s)的数据传输速率的平均值,才能够确定出当前的数据传输速率是否满足带宽需求。这种情况下,当手机确定出来WIFI对应的TCP连接不通畅时,往往手机已经发生卡顿2至3s,甚至更久的时间。
为此,本申请实施例提供一种数据传输方法,该方法举例来说,手机周期性地统计在每个时段(例如每个时段对应的时长是3s)通过第二TCP连接所实际接收的累计数据量是否大于预期接收的累计数据量,例如带宽需求是4mbps,预期接收的累计数据量是4mbps乘以3s,即12mb,假设手机仍处于表1所示的网速受限场景中观看电影,手机通过第二TCP连接的视频下载速率仅在1mbps左右,那么显然手机在该时段所接收的累计数据量可能只有3mb,远远低于12mb,因此手机立即启用LTE网络对应的TCP连接,当手机启用LTE网络对应的第一TCP连接之后,因LTE网络对应的第一TCP连接的视频下载速率很大,例如5mbps,那么接下来的时段(假设该时段对应的时长仍是3s时长)内,手机通过WIFI网络和LTE网络所对应的第一TCP连接所接收的累计数据量就大概有18mb,马上就满足预期接收的累计数据量(3mb+4mbps*3s=17mb)。可见,因为手机通过各个TCP连接所实际接收的累计数据量可以通过接口实时获得,所以手机通过比较实际接收的累计数据量和预期接收的累计数据量来判断是否启用LTE网络对应的第一TCP连接,判断结果也是实时且准确地,因此可以一定程度上改善手机出现卡顿、播放不流畅的问题。
本申请实施例进一步结合图7b和图7c所示的场景,对上述数据流传输方法进行举例说明。
场景一,当手机接收到用户1作用于视频类应用的播放界面的播放控件的操作(例如点击操作)时,手机向视频类应用对应的应用服务器发送请求获取《预见未来》这一多媒体文件的消息,应用服务器收到该消息后,通过MPTCP协议向手机发送该多媒体文件的数据流,手机按照上述数据流传输方法接收数据流,并显示如图7b所示的界面。
具体地,因视频类应用对应的应用服务器在发送的每段数据流前都会先发送指示信息,所以当手机接收到来自应用服务器的指示信息后,从指示信息中获取到第二标识和指示带宽需求的参数时,手机采用蜂窝网络对应的第一TCP连接接收该数据流。若蜂窝网络对应的TCP连接的接收窗口调整至最大时仍不满足该数据流的带宽需求,则还可以同时使用WIFI网络对应的TCP连接接收该数据流。这样的话,手机可以实现在检测到用户1的操作后,较快地开始播放《预见未来》这一多媒体文件的首屏,也就是说起播时延较小,提高了用户的体验。
场景二,如图7c所示,在手机播放《预见未来》这一多媒体文件的过程中,手机还会从应用服务器接收缓存时段的数据流,应用服务器在发送缓存时段的数据流之前,会先向手机发送与该缓存时段的数据流的类型标识对应的指示信息。当手机接收到来自应用服务器的指示信息后,从指示信息中获取到第一标识和指示带宽需求的参数。手机在第一时段优先采用WIFI网络对应的第二TCP连接接收该数据流,手机获取经过第一时段之后实际接收的第一累计数据量,若第一累计数据量小于第一预期接收的累计数据量(可能是WIFI信号不好导致),其中,第一预期接收的累计数据量为指示带宽需求的参数乘以第一时段对应的时长,则手机还可以同时使用LTE网络对应的TCP连接接收该数据流。
参见图8,示例性的示出了本申请实施例提供的一种数据传输方法的流程,该方法适用于应用服务器发送的数据流携带指示信息的场景,该方法是由电子设备执行,该方法包括如下步骤。
步骤801,电子设备与应用服务器建立MPTCP连接。
其中,MPTCP连接包括蜂窝网络对应的第一TCP连接和WIFI网络对应的第二TCP连接,第一TCP连接的数据传输时延小于第二TCP连接的数据传输时延。
步骤802,电子设备接收来自该应用服务器的指示信息。
其中,该指示信息包括类型标识和用于指示数据传输速率需求的参数,类型标识主要用于指示应用服务器发送的数据流的类型。示例性地,如表2所示,如果应用服务器即将要发送的数据流对数据传输时延要求较低,则类型标识是第一标识,例如第一标识是字符串“background”,如果应用服务器即将要发送的数据流对数据传输时延要求较高,则类型标识是第二标识,例如第二标识是字符串“interactive”。
表2
第一标识 | 字符串“background” |
第二标识 | 字符串“interactive” |
需要说明的是,应用服务器发送的指示信息与应用服务器之后发送的数据流是相关的,且有时序上的先后顺序。例如应用服务器发送的指示信息包括的类型标识为第一标识,则应用服务器紧接着发送的数据流是与第一标识相关的数据流。
步骤803,当类型标识为第一标识时,电子设备在接收到该指示信息之后的第一时段采用第二TCP连接接收来自应用服务器的数据流。
也就是说,当电子设备确定应用服务器即将要发送的数据流对数据传输时延要求不高时,则只通过WIFI网络的第二TCP连接接收,这样可以一定程度上减少蜂窝网络的数据流量的消耗。
步骤804,当电子设备在第一时段实际接收的累计数据量不满足第一预期接收的累计数据量时,电子设备在第二时段同时采用第一TCP连接和第二TCP连接接收来自应用服务器的数据流。
其中,第一预期接收的累计数据量等于带宽需求参数与第一时段对应的时长的乘积。比如说第一时段对应的时长是3秒,应用服务器发送过来的指示信息中带宽需求参数是4mbps,那么预期接收的累计数据量为12mb。该步骤也就是说,当电子设备处于表1所示的任意一个场景时,电子设备判断仅通过WIFI网络的第二TCP连接所实际接收的累计数据量远远低于第一预期接收的累计数据量,因此电子设备立即同时使用蜂窝网络对应的TCP连接。如图9a所示,在第一时段实际接收的累计数据量是5mb,第一预期接收的累计数据量是12mb,因实际接收的累计数据量小于第一预期接收的累计数据量,所以电子设备在第二时段同时采用第一TCP连接和第二TCP连接接收来自应用服务器的数据流。需要说明的是,为了便于对比,图9a中显示两个矩形图占用的监测时段不同,但图9a中指示预期接收的累计数据量的柱形图和指示实际接收的累计数据量的矩形图在横轴上占用的监测时段和监测时长是相同的。
步骤805,可选地,当类型标识为第二标识时,电子设备在接收到所述指示信息之后的第一时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流。
也就是说,当电子设备确定应用服务器即将要发送的数据流对数据传输时延要求高时,则同时通过WIFI网络的第二TCP连接和蜂窝网络的第一TCP连接接收数据量,这样可以一定程度上提高数据流接收速率,减少开始播放的时延。
在一种可能的设计中,电子设备确定在第一时段通过第二TCP连接的实际接收的第一累计数据量满足第一预期接收的累计数据量时,则电子设备在第二时段仍采用所述第二TCP连接接收来自所述应用服务器的数据流。
在一种可能的设计中,若电子设备在第二时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流,电子设备确定在第二时段通过第二TCP连接的实际接收的累计数据量满足第二预期接收的累计数据量时,则在第三时段仅采用所述第二TCP连接接收来自所述应用服务器的数据流。其中,第二预期接收的累计数据量等于第二时段对应的时长与指示带宽需求的参数的乘积。
例如,如图9a所示,第二时段对应的时长是3秒,应用服务器发送过来的指示信息中指示带宽需求的参数是4mbps,那么第二预期接收的累计数据量为3s乘以4mbps,即12mb。如果WIFI网络从被限速的状态转为不被限速的状态,则WIFI网络的数据传输速率也会增大,假设应用服务器在第二时段统计得到实际接收的累计数据量是30mb。可见,电子设备通过第二TCP连接的实际接收的累计数据量满足第二预期接收的累计数据量,因此电子设备在第三时段仅采用第二TCP连接接收数据流,蜂窝网络对应的第一TCP连接则被关闭。这样做,一方面可以减少消耗蜂窝网络的数据流量,另一方面因蜂窝网络的功耗比WIFI网络的功耗大,蜂窝网络对应的第一TCP连接在不需要时被关闭,可以一定程度上降低功耗。
另外,如果电子设备检测到在之后的连续多个时段,电子设备通过第二TCP连接实际接收的累计数据量都小于或者都大于预期接收的累计数据量,那么电子设备可以增大后续时段的监测时长。如图9a所示,例如电子设备在第三时段和第四时段,通过第二TCP连接实际接收的数据流都大于预期接收的数据量,因此将第五时段的监测时长从3s调整为30s。这样做因判断第二TCP连接的累计数据量是否满足预期接收的累计数据量的次数减少,所以可以一定程度上节省功耗。
本申请如下实施例中进一步结合图9b所示的流程对上述数据传输方法的具体过程进行详细阐述,该方法流程的具体流程可以包括:
步骤901,手机和视频类应用服务器建立MPTCP连接,MPTCP连接包括LTE网络对应的第一TCP连接和WIFI网络对应的第二TCP连接。
步骤902,视频类应用服务器通过调用手机系统的接口,在发送数据流之前向手机发送指示信息。其中,指示信息中包括第一标识,以及包括指示带宽需求的参数。
步骤903,手机根据第一标识,在之后的第一时段内使用WIFI网络对应的第二TCP连接接收来自视频类应用服务器的数据流。
具体地,手机确定类型标识是第一标识后,将LTE网络对应的第一TCP连接的优先级设置为低,也就是说LTE网络对应的第一TCP连接是已建立的,但是处于空闲不可用的状态,而WIFI网络对应的第二TCP连接则被设置为始终处于可用状态。
步骤904,手机获取经过第一时段之后实际接收的第一累计数据量。
例如,手机通过开源代码中的接口函数getMPTCPInfo获取到第二TCP连接在第一时段的实际接收的第一累计数据量。
步骤905,手机将第一累计数据量与第一预期接收的累计数据量进行比较,若第一累计数据量大于第一预期接收的累计数据量,则执行步骤906a,否则执行906b。
例如,第一预期接收的累计数据量等于参数与第一时段对应的时长的乘积,例如指示带宽需求的参数为4mbps,第一时段对应的时长为3s,那么预期接收的累计数据量为12mb。
假设WIFI信号弱,第一累计数据量仅为3mb,那么第一累计数据量低于第一预期接收的累计数据量,则执行步骤906b。假设WIFI信号好,第一累计数据量为20mb,那么第一累计数据量大于第一预期接收的累计数据量,则执行步骤906a。
步骤906a,手机在之后的第二时段内仍使用WIFI网络对应的第二TCP连接接收来自视频类应用服务器的数据流。
步骤906b,手机在之后的第二时段内同时使用LTE网络对应的第一TCP连接和WIFI网络对应的第二TCP连接接收数据流。
具体地,手机将LTE网络对应的第一TCP连接的优先级从低调整为高,也就是说LTE网络对应的第一TCP连接处于可用的状态。
步骤907,手机获取经过第二时段之后使用WIFI网络对应的TCP连接所实际接收的第二累计数据量。
步骤908,手机将第二累计数据量与第二预期接收的累计数据量进行比较,若大于,则执行步骤909a,否则执行909b。
例如,第二预期接收的累计数据量等于第二时段与参数的乘积,例如参数为4mbps,第一时段和第二时段均为时长3s,那么第二预期接收的累计数据量为12mb。假设在第二时段WIFI信号转好,第二累计数据量为24mb,那么第二累计数据量大于第二预期接收的累计数据量,则执行步骤909a。假设在第二时段WIFI信号仍不好,第二累计数据量为3mb,那么第二累计数据量小于预期接收的累计数据量,则执行步骤909b。
步骤909a,手机在之后的第三时段内仅使用WIFI网络对应的第二TCP连接接收来自视频类应用服务器的数据流。
具体地,手机将LTE网络对应的第一TCP连接的优先级从高调整为低,也就是说LTE网络对应的第一TCP连接处于不可用的状态。
步骤909b,手机在之后的第三时段内仍同时使用LTE网络对应的第一TCP连接和WIFI网络对应的第二TCP连接接收数据流。
需要说明的是,如果在步骤906a之后,手机获取在之后的第三时段,甚至第四时段使用WIFI网络对应的TCP连接所实际接收的累计数据量,仍都大于预期接收的累计数据量,则手机将之后的时段对应的监测时长调大,例如从3s调整至20s。同样地,如果在执行步骤909b之后,手机在之后的第三时段,以及第四时段使用WIFI网络对应的TCP连接所实际接收的累计数据量,仍都小于预期接收的累计数据量,则机将之后的时段对应的监测时长调大,例如从3s调整至20s,这样做的好处是可以节省功耗。
考虑到目前应用市场上的应用程序种类繁多,部分应用程序的应用服务器向电子设备发送的数据流可能并不携带指示信息,因此电子设备无法确定出所接收的来自应用服务器的数据流是音频流还是视频流,也无法确定出到底有几条音频流,或者几条视频流。因此本申请实施例提供的另一种数据传输方法,电子设备通过统计设定时长的实际接收的累计数据量,判断这段时间的数据传输速率是否满足预设数据传输速率,继而确定采用哪条TCP连接接收数据流。
本申请实施例进一步结合图7b所示的场景,对上述数据流传输方法进行举例说明。
当手机接收到用户1作用于视频类应用的播放界面的播放控件的操作(例如点击操作)时,手机向视频类应用对应的应用服务器发送请求获取《预见未来》这一多媒体文件的消息,应用服务器收到该消息后,通过MPTCP协议向手机发送该多媒体文件的数据流,手机按照上述数据流传输方法接收数据流,并显示如图7b所示的界面。因手机所接收到的来自应用服务器的数据流可能是该多媒体文件的音频流,也可能是该多媒体文件的视频流,另外还可能夹杂广告业务的音频流和视频流,而且手机也无法确定出到底有几条音频流,或者几条视频流。所以手机尝试在第一时段先采用蜂窝网络对应的第一TCP连接和WIFI网络对应的第二TCP连接接收该数据流,预测该应用服务器所发送的业务所需的带宽。然后在第二时段使用WIFI网络对应的第二TCP连接接收该数据流,若第二TCP连接的数据传输速率满足预测的带宽,则还可以在下一时段使用WIFI网络对应的第二TCP连接接收该数据流,若第二TCP连接的数据传输速率不满足预测的带宽,则在下一时段同时使用蜂窝网络对应的第一TCP连接接收该数据流。这样的话,手机不仅可以实现在检测到用户1的操作后,较快地开始播放《预见未来》这一多媒体文件的首屏,也可以保证在缓存数据的时段尽量不消耗蜂窝网的数据流量。
具体地,参见图10,示例性的示出了本申请实施例提供的另一种数据传输方法的流程,该方法是由电子设备执行,该方法包括如下步骤。
步骤1001,首先电子设备与应用服务器建立MPTCP连接。
其中,MPTCP连接包括蜂窝网络对应的第一TCP连接和WIFI网络对应的第二TCP连接。
步骤1002,电子设备在第一时段采用第二TCP连接接收来自应用服务器的数据流。
步骤1003,电子设备根据在第一时段实际接收的第一累计数据量,确定电子设备在第一时段的第一数据传输速率。其中,第一数据传输速率等于第一累计数据量与第一时段对应的时长的比值。
示例性地,如果第一时段的WIFI信号一般,第一时段对应的时长是3秒,第一累计数据量是12mb,那么第一数据传输速率为12mb除以3s,即为4mbps;如果第一时段的WIFI信号不好,电子设备在第一时段实际接收的第一累计数据量可能为3mbps,那么第一数据传输速率为3mb除以3s,即为1mbps。
步骤1004,电子设备确定第一数据传输速率不满足预设数据传输速率时,在第二时段同时采用第一TCP连接和第二TCP连接接收来自应用服务器的数据流。
示例性地,如果第一时段的WIFI信号不好,第一数据传输速率为1mbps,则电子设备在第二时段同时采用第一TCP连接和第二TCP连接接收来自应用服务器的数据流。
需要说明的是,预设数据传输速率可以是经验值,也可以是电子设备在第一时段之前,预先同时采用第一TCP连接和第二TCP连接接收来自应用服务器的数据流,电子设备根据第一时段内实际接收的累计数据量,预测应用服务器所需的数据传输速率,将预测出来的数据传输速率作为预设数据传输速率。
在一种可能的设计中,电子设备确定在第二时段实际接收的第二累计数据量,根据在第二时段实际接收的第二累计数据量,确定第二数据传输速率。如果第二数据传输速率满足预设数据传输速率,则在第三时段仅采用第二TCP连接接收来自所述应用服务器的数据流。
需要说明是,第一时段和第二时段、第三时段可以时长相同,也可以时长不同,第二时段发生在第一时段之后,第三时段发生在第二时段之后。
示例性地,第一时段对应的时长是3秒,第二时段对应的时长也是3秒,预设数据传输速率是4mbps。如果WIFI网络在第二时段从被限速的状态转为不被限速的状态,则WIFI网络对应的TCP连接实际接收数据量也会增大,如果电子设备计算在第二时段的第二数据传输速率为10mbps时,电子设备可以在第三时段仅采用第二TCP连接接收数据流,蜂窝网络对应的第一TCP连接仍被关闭。这样做,一方面可以减少消耗蜂窝网络的数据流量,另一方面因蜂窝网络的功耗比WIFI网络的功耗大,蜂窝网络对应的第一TCP连接在不需要时被关闭,可以一定程度上降低功耗。
在一种可能的设计中,如果电子设备连续M个时段均仅采用第二TCP连接接收来自应用服务器的数据流,电子设备获取经过M时段之后累计接收的数据量为Z1,电子设备获取经过M-1时段之后的累计接收的数据量Z2,电子设备获取经过M-2时段之后的累计接收的数据量Z3,如果Z1-Z2远大于或远小于Z2-Z3,则说明电子设备在第M时段通过第二TCP连接的接收的数据量突然增大,或者突然减小,那么电子设备在第四时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流。
示例性地,如果电子设备当前正在播放视频类应用中的视频,如果用户将视频模式从普通模式切换为高清模式,那么视频类应用服务器单位时间内所发送的数据量则增大,因此电子设备通过第二TCP连接的累计接收的数据量也会增大。虽然电子设备通过第二TCP连接的累计接收的数据量增大,但可能不满足预期接收的累计数据量,因此电子设备在下一时段同时采用所述第一TCP连接和所述第二TCP连接接收来自应用服务器的数据流。
再比如,如果电子设备当前仅通过第二TCP连接接收数据流,在第一时刻统计通过第二TCP连接实际接收的累计数据量为10mb,电子设备在第二时刻统计通过第二TCP连接实际接收的累计数据量变为20mb,电子设备在第三时刻统计通过第二TCP连接实际接收的累计数据量变为23mb,说明电子设备在第二时刻之后到第三时刻这段时间通过第二TCP连接的接收的数据量很少,仅为3mb,这时电子设备可能处于表1所示的场景中,因此电子设备在下一时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流。
在一种可能的设计中,当电子设备在设定时段内多次统计得到通过第二TCP连接的累计接收的数据量低于预期接收的累计数据量,则在接下来的固定时长(例如60s)内不再进行对实际接收的累计数据量进行统计和判断,电子设备在该固定时长内同时采用第一TCP连接和第二TCP连接接收来自应用服务器的数据流。这样做是为了防止当WIFI信号时好时坏时,电子设备反复地开启或者关闭蜂窝网络对应的第一TCP连接,导致功耗较大。
本申请如下实施例中进一步结合图11所示的流程对上述数据传输方法的具体过程进行详细阐述,该方法流程的具体流程可以包括:
步骤1101,手机和直播类应用服务器建立MPTCP连接,MPTCP连接包括LTE网络对应的第一TCP连接和WIFI网络对应的第二TCP连接。
步骤1102,假设每个时段对应的时长固定为3s,手机在第一时段内同时使用LTE网络对应的第一TCP连接和WIFI网络对应的第二TCP连接接收来自直播类应用服务器的数据流。
步骤1103,手机获取经过第一时段之后实际接收的第一累计数据量,然后根据这一实际接收的第一累计数据量和第一时段,预测直播类应用服务器所需的预设数据传输速率。
例如,第一个3s内,手机实际接收的第一累计数据量为12mb,那么直播类应用服务器所需的预设数据传输速率为12mb/3s,即为4mbps。
步骤1104,手机在第二时段仅使用第二TCP连接接收来自直播类应用服务器的数据流。
步骤1105,手机获取在第一时段和第二时段实际接收的第二累计数据量,然后计算第二累计数据量和第一累计数据量之间的差值,然后再将该差值除以第二时段,计算得到第二TCP连接在第二时段的第二数据传输速率。
接续上例,例如,第二时段也为3s,第二累计数据量为21mb/3s,因此第二累计数据量和第一累计数据量之间的差值为9mb,那么该差值除以第二时段即为3mbps。因此第二TCP连接的第二数据传输速率为3mbps。
步骤1106,手机判断第二TCP连接的第二数据传输速率是否大于预设数据传输速率,若大于,则执行步骤1107a,若小于等于,则执行步骤1107b。
步骤1107a,手机在第三时段继续仅使用第二TCP连接接收来自直播类应用服务器的数据流。
步骤1107b,手机在第三时段继续同时使用LTE网络对应的第一TCP连接和WIFI网络对应的第二TCP连接接收来自直播类应用服务器的数据流。
需要说明的是,如果在步骤1107a之后,手机获取在之后的第三时段,以及第四时段第二TCP连接的数据传输速率仍都大于第一数据传输速率,则手机将之后的时段调大,例如手机将时段从3s调整至20s。同样地,如果在执行步骤1107b之后,手机在之后的第三时段,以及第四时段使用第二TCP连接的数据传输速率仍都小于等于第一数据传输速率,则手机将之后的时段调大,例如手机将时段从3s调整至20s,这样做的好处是可以一定程度上节省功耗。
在一种可能的设计中,手机可以设置一个计数器(初始值为0),在手机每次判断第二TCP连接的数据传输速率大于预设数据传输速率时,该计数器减1,在手机每次判断第二TCP连接的数据传输速率小于预设数据传输速率时,该计数器加1,如果该计数器大于等于3,则在之后的固定时长不再进行对实际接收的累计数据量进行统计和判断,电子设备在该固定时长内同时采用第一TCP连接和第二TCP连接接收来自应用服务器的数据流。
综上,本申请实施例可以优先使用WIFI网络对应的第二TCP连接接收数据流,如果发现数据传输速率不满足预设数据传输速率,则及时使用两条TCP连接接收数据流,该方法仍然可以实现尽可能地接收蜂窝网络的数据流量的消耗,另外,在WIFI网络出现波动时,也能够通过监测数据传输速率及时切换到两条TCP连接接收数据流。
本申请实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行上述数据传输方法任意一种可能的实现。
本申请实施例还提供一种包含计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行上述数据传输方法任意一种可能的实现。
在本申请的一些实施例中,本申请实施例公开了一种数据传输装置,如图12所示,该数据传输装置用于实现以上第一个方法实施例中记载的方法,其包括:收发模块1201、处理模块1202。收发模块1201用于支持电子设备与应用服务器建立MPTCP连接,以及支持电子设备执行接收来自应用服务器的指示信息和数据流,处理模块1202用于支持电子设备执行调整各个TCP连接的接收策略,如图8中步骤803至步骤805,图9b中步骤903至步骤909b,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
图12所示的数据传输装置还用于实现第二个方法实施例中记载的方法,其包括:收发模块1201、处理模块1202。收发模块1201用于支持电子设备与应用服务器建立MPTCP连接,以及支持电子设备执行接收来自应用服务器的数据流,处理模块1202用于支持电子设备执行调整各个TCP连接的接收策略,如图10中步骤1002至步骤1003,图11中步骤1102至步骤1107b,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在本申请的另一些实施例中,本申请实施例公开了一种电子设备,如图13所示,该电子设备可以包括:一个或多个处理器1301;存储器1302;显示器1303;一个或多个应用程序(未示出);以及一个或多个计算机程序1304,上述各器件可以通过一个或多个通信总线1305连接。其中该一个或多个计算机程序1304被存储在上述存储器1302中并被配置为被该一个或多个处理器1301执行,该一个或多个计算机程序1304包括指令,上述指令可以用于执行如图8至图11及相应实施例中的各个步骤。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种数据传输方法,其特征在于,包括:
电子设备与应用服务器建立多路径传输控制协议MPTCP连接,其中,所述MPTCP连接包括蜂窝网络对应的第一TCP连接和无线保真WIFI网络对应的第二TCP连接;
所述电子设备接收来自所述应用服务器的指示信息;所述指示信息包括类型标识和用于指示带宽需求的参数,所述类型标识用于指示所述应用服务器发送的数据流的类型;
当所述类型标识为指示数据传输时延要求低的第一标识时,所述电子设备在接收到所述指示信息之后的第一时段采用所述第二TCP连接接收来自所述应用服务器的数据流;
当所述电子设备在所述第一时段内实际接收的累计数据量不满足第一预期接收的累计数据量时,所述电子设备在第二时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流;其中,所述第一预期接收的累计数据量等于所述参数与所述第一时段对应的时长的乘积。
2.如权利要求1所述的方法,其特征在于,还包括:
当所述电子设备在所述第一时段内实际接收的累计数据量满足所述第一预期接收的累计数据量时,所述电子设备在第二时段仍采用所述第二TCP连接接收来自所述应用服务器的数据流。
3.如权利要求1所述的方法,其特征在于,还包括:
所述电子设备确定在所述第二时段通过所述第二TCP连接实际接收的累计数据量满足第二预期接收的累计数据量时,则在第三时段仅采用所述第二TCP连接接收来自所述应用服务器的数据流;所述第二预期接收的累计数据量等于所述第二时段对应的时长与所述参数的乘积。
4.如权利要求1所述的方法,其特征在于,还包括:
当所述类型标识为指示数据传输时延要求高的第二标识时,所述电子设备在接收到所述指示信息之后的所述第一时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流。
5.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器用于存储一个或多个计算机程序;
当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备执行:
与应用服务器建立多路径传输控制协议MPTCP连接,其中,所述MPTCP连接包括蜂窝网络对应的第一TCP连接和无线保真WIFI网络对应的第二TCP连接;
接收来自所述应用服务器的指示信息;所述指示信息包括类型标识和用于指示数据传输速率需求的参数,所述类型标识用于指示所述应用服务器发送的数据流的类型;
当所述类型标识为指示数据传输时延要求低的第一标识时,在接收到所述指示信息之后的第一时段采用所述第二TCP连接接收来自所述应用服务器的数据流;
当所述电子设备在所述第一时段内实际接收的累计数据量不满足第一预期接收的累计数据量时,在第二时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流;其中,所述第一预期接收的累计数据量等于所述参数与所述第一时段对应的时长的乘积。
6.如权利要求5所述的电子设备,其特征在于,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行:
在所述第一时段内实际接收的累计数据量满足所述第一预期接收的累计数据量时,在第二时段仍采用所述第二TCP连接接收来自所述应用服务器的数据流。
7.如权利要求5所述的电子设备,其特征在于,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行:
确定在所述第二时段通过所述第二TCP连接的实际接收的累计数据量满足第二预期接收的累计数据量时,则在第三时段仅采用所述第二TCP连接接收来自所述应用服务器的数据流;所述第二预期接收的累计数据量等于所述第二时段对应的时长与所述参数的乘积。
8.如权利要求5所述的电子设备,其特征在于,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行:
当所述类型标识为指示数据传输时延要求高的第二标识时,在接收到所述指示信息之后的所述第一时段同时采用所述第一TCP连接和所述第二TCP连接接收来自所述应用服务器的数据流。
9.一种计算机存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至4任一所述的方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210869735.2A CN115442452A (zh) | 2019-01-08 | 2019-01-08 | 一种数据传输方法及电子设备 |
CN201910016807.7A CN111416794B (zh) | 2019-01-08 | 2019-01-08 | 一种数据传输方法及电子设备 |
US17/421,283 US11736224B2 (en) | 2019-01-08 | 2019-12-10 | Data transmission method and electronic device |
JP2021539658A JP7235871B2 (ja) | 2019-01-08 | 2019-12-10 | データ伝送方法と電子デバイス |
EP19908862.6A EP3896925B1 (en) | 2019-01-08 | 2019-12-10 | Data transmission method and electronic device |
PCT/CN2019/124347 WO2020143380A1 (zh) | 2019-01-08 | 2019-12-10 | 一种数据传输方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910016807.7A CN111416794B (zh) | 2019-01-08 | 2019-01-08 | 一种数据传输方法及电子设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210869735.2A Division CN115442452A (zh) | 2019-01-08 | 2019-01-08 | 一种数据传输方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111416794A CN111416794A (zh) | 2020-07-14 |
CN111416794B true CN111416794B (zh) | 2022-07-29 |
Family
ID=71492927
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210869735.2A Pending CN115442452A (zh) | 2019-01-08 | 2019-01-08 | 一种数据传输方法及电子设备 |
CN201910016807.7A Active CN111416794B (zh) | 2019-01-08 | 2019-01-08 | 一种数据传输方法及电子设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210869735.2A Pending CN115442452A (zh) | 2019-01-08 | 2019-01-08 | 一种数据传输方法及电子设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11736224B2 (zh) |
EP (1) | EP3896925B1 (zh) |
JP (1) | JP7235871B2 (zh) |
CN (2) | CN115442452A (zh) |
WO (1) | WO2020143380A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112217605B (zh) * | 2020-09-07 | 2023-10-20 | 网宿科技股份有限公司 | 传输策略的选择方法、设备及存储介质 |
CN114168115B (zh) * | 2020-09-10 | 2022-11-08 | 荣耀终端有限公司 | 通信系统、应用下载方法及设备 |
JP7530009B2 (ja) | 2020-09-25 | 2024-08-07 | 日本電信電話株式会社 | 通信システム、振分装置、データ振分方法及びプログラム |
CN112291366B (zh) * | 2020-11-13 | 2023-06-20 | Oppo广东移动通信有限公司 | 数据传输方法、装置、存储介质及电子设备 |
CN112398943B (zh) * | 2020-11-13 | 2022-10-21 | Oppo广东移动通信有限公司 | 信息互通方法、装置、存储介质及电子设备 |
CN112383948B (zh) * | 2020-11-13 | 2022-12-20 | Oppo广东移动通信有限公司 | 数据传输方法、装置、存储介质及电子设备 |
CN112333690B (zh) * | 2020-11-13 | 2022-08-16 | Oppo广东移动通信有限公司 | 数据传输方法、装置、存储介质、终端及网络接入点设备 |
US11576230B2 (en) * | 2020-11-19 | 2023-02-07 | At&T Intellectual Property I, L.P. | Apparatuses and methods for facilitating a utilization of network resources |
CN112888030B (zh) * | 2021-01-12 | 2023-04-07 | 北京小米移动软件有限公司 | 业务处理方法及装置、电子设备、存储介质 |
CN113423143A (zh) * | 2021-03-26 | 2021-09-21 | 阿里巴巴新加坡控股有限公司 | 多路径数据传输方法、装置及电子设备 |
CN116137676B (zh) * | 2021-11-18 | 2023-10-20 | 荣耀终端有限公司 | 一种网络加速方法、电子设备、芯片系统及存储介质 |
CN116315667B (zh) * | 2022-01-25 | 2023-11-17 | 荣耀终端有限公司 | 数据传输方法、装置、设备及存储介质 |
CN116233989B (zh) * | 2023-05-10 | 2023-09-22 | 荣耀终端有限公司 | 网络连接的控制方法和设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108307689A (zh) * | 2015-06-19 | 2018-07-20 | 英特尔公司 | 用于业务量预测和带宽聚合的装置和方法 |
CN108337699A (zh) * | 2018-01-23 | 2018-07-27 | 上海载德信息科技有限公司 | 一种上网的方法、装置、移动终端及存储介质 |
CN108540519A (zh) * | 2018-01-29 | 2018-09-14 | 北京奇艺世纪科技有限公司 | 一种均衡下载控制方法和装置 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8897753B2 (en) * | 2011-10-12 | 2014-11-25 | Motorola Mobility Llc | Method for retrieving content by a wireless communication device having first and second radio access interfaces, wireless communication device and communication system |
US8640174B2 (en) * | 2012-03-01 | 2014-01-28 | Motorola Mobility Llc | Method for retrieving content, wireless communication device and communication system |
WO2015127294A1 (en) * | 2014-02-21 | 2015-08-27 | Broadcom Corporation | Carrier aggregation over lte and wifi |
US10306692B2 (en) * | 2014-07-07 | 2019-05-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Multi-path transmission control protocol |
CN104581816A (zh) * | 2014-12-18 | 2015-04-29 | 上海华为技术有限公司 | 一种数据多流传输方法、装置、锚点及系统 |
WO2016130054A1 (en) * | 2015-02-09 | 2016-08-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and device for handling multi path connections |
EP3269109B1 (en) * | 2015-03-12 | 2019-01-09 | Telefonaktiebolaget LM Ericsson (publ) | Methods and arrangements for multipath traffic aggregation |
KR102352679B1 (ko) * | 2015-03-25 | 2022-01-18 | 삼성전자주식회사 | 다중 경로 전송 제어 프로토콜을 지원하는 디바이스 및 디바이스에서 영상 데이터를 스트리밍으로 수신하는 방법 |
WO2016156425A1 (en) | 2015-03-30 | 2016-10-06 | British Telecommunications Public Limited Company | Data transmission |
WO2016197004A2 (en) * | 2015-06-03 | 2016-12-08 | Vid Scale, Inc. | Enhancing performance of multi-path communications |
US10602560B2 (en) * | 2015-06-26 | 2020-03-24 | Telefonaktiebolaget Lm Ericsson (Publ) | First network node and methods therein, for determining whether a second multi path transmission control protocol connection is to be initiated |
JP2017028589A (ja) | 2015-07-24 | 2017-02-02 | 富士通株式会社 | 通信装置、無線通信装置、および通信方法 |
CN105553868A (zh) | 2015-09-21 | 2016-05-04 | 宇龙计算机通信科技(深圳)有限公司 | 一种数据传输方法、装置以及终端 |
JP6504608B2 (ja) | 2016-02-08 | 2019-04-24 | 日本電信電話株式会社 | 通信装置及びその制御方法並びにプログラム、並びに通信システム |
US9992786B2 (en) * | 2016-03-31 | 2018-06-05 | At&T Intellectual Property I, L.P. | Facilitation of multipath scheduling |
EP3244581B1 (en) | 2016-05-09 | 2020-03-04 | Alcatel Lucent | Multi-path wireless communication |
WO2017198285A1 (en) * | 2016-05-16 | 2017-11-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Transporting udp packets over an mptcp connection |
US10523794B2 (en) * | 2016-05-19 | 2019-12-31 | Samsung Electronics Co., Ltd. | Method and apparatus for managing multipath transmission control protocol |
KR20170133165A (ko) * | 2016-05-25 | 2017-12-05 | 삼성전자주식회사 | 다중 링크를 이용해 신호를 전송하는 방법 및 장치 |
KR102568436B1 (ko) * | 2016-07-28 | 2023-08-21 | 삼성전자 주식회사 | 무선 통신 시스템에서 데이터의 전송 방법 및 장치 |
US9971290B2 (en) | 2016-09-06 | 2018-05-15 | Kabushiki Kaisha Toshiba | Image forming apparatus and pattern reading apparatus |
EP4422146A1 (en) * | 2016-12-21 | 2024-08-28 | Dejero Labs Inc. | Packet transmission system and method |
US10498868B2 (en) * | 2017-02-14 | 2019-12-03 | Alcatel Lucent | Multipath transport communications |
WO2018184536A1 (zh) * | 2017-04-07 | 2018-10-11 | Oppo广东移动通信有限公司 | 数据传输的方法和发送端设备 |
CN109792447B (zh) * | 2017-04-21 | 2020-11-06 | 华为技术有限公司 | 应用数据迁移方法及网络设备 |
CN109600248B (zh) * | 2017-09-30 | 2020-09-08 | 华为技术有限公司 | 服务质量的确定方法、装置及存储介质 |
US10904788B2 (en) * | 2017-10-24 | 2021-01-26 | Cisco Technology, Inc. | Controlling a congestion window value for a wireless device in a heterogeneous network |
CN109729007B (zh) * | 2017-10-28 | 2022-07-22 | 华为技术有限公司 | 一种传输数据的方法、装置和设备 |
EP3725036A1 (en) * | 2017-12-15 | 2020-10-21 | Nokia Technologies Oy | Method for controlling data transmission by using network slices |
CN111837371A (zh) * | 2018-01-26 | 2020-10-27 | Idac控股公司 | 基于增强mptcp的应用移动性 |
US10979355B2 (en) * | 2018-04-02 | 2021-04-13 | Apple Inc. | Multipath transmission control protocol proxy use in a cellular network |
US10616621B2 (en) * | 2018-06-29 | 2020-04-07 | At&T Intellectual Property I, L.P. | Methods and devices for determining multipath routing for panoramic video content |
CN109041262B (zh) * | 2018-08-23 | 2020-06-16 | Oppo广东移动通信有限公司 | 数据传输方法及相关装置 |
-
2019
- 2019-01-08 CN CN202210869735.2A patent/CN115442452A/zh active Pending
- 2019-01-08 CN CN201910016807.7A patent/CN111416794B/zh active Active
- 2019-12-10 JP JP2021539658A patent/JP7235871B2/ja active Active
- 2019-12-10 EP EP19908862.6A patent/EP3896925B1/en active Active
- 2019-12-10 WO PCT/CN2019/124347 patent/WO2020143380A1/zh unknown
- 2019-12-10 US US17/421,283 patent/US11736224B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108307689A (zh) * | 2015-06-19 | 2018-07-20 | 英特尔公司 | 用于业务量预测和带宽聚合的装置和方法 |
CN108337699A (zh) * | 2018-01-23 | 2018-07-27 | 上海载德信息科技有限公司 | 一种上网的方法、装置、移动终端及存储介质 |
CN108540519A (zh) * | 2018-01-29 | 2018-09-14 | 北京奇艺世纪科技有限公司 | 一种均衡下载控制方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115442452A (zh) | 2022-12-06 |
WO2020143380A1 (zh) | 2020-07-16 |
JP2022516663A (ja) | 2022-03-01 |
EP3896925A4 (en) | 2022-02-16 |
CN111416794A (zh) | 2020-07-14 |
US11736224B2 (en) | 2023-08-22 |
EP3896925B1 (en) | 2024-08-21 |
US20220158756A1 (en) | 2022-05-19 |
EP3896925A1 (en) | 2021-10-20 |
JP7235871B2 (ja) | 2023-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111416794B (zh) | 一种数据传输方法及电子设备 | |
CN111316598B (zh) | 一种多屏互动方法及设备 | |
CN113542839B (zh) | 电子设备的投屏方法和电子设备 | |
CN112492193B (zh) | 一种回调流的处理方法及设备 | |
CN113722030B (zh) | 一种显示方法、电子设备及计算机存储介质 | |
CN111316604B (zh) | 一种数据传输方法及电子设备 | |
CN113475057A (zh) | 一种录像帧率的控制方法及相关装置 | |
CN110636554B (zh) | 数据传输方法及装置 | |
WO2023273323A9 (zh) | 一种对焦方法和电子设备 | |
WO2021190314A1 (zh) | 触控屏的滑动响应控制方法及装置、电子设备 | |
WO2022262492A1 (zh) | 数据下载方法、装置和终端设备 | |
CN114466107A (zh) | 音效控制方法、装置、电子设备及计算机可读存储介质 | |
CN114185503A (zh) | 多屏交互的系统、方法、装置和介质 | |
CN113472477B (zh) | 无线通信系统及方法 | |
CN111372329B (zh) | 一种连接建立方法及终端设备 | |
CN114827098A (zh) | 合拍的方法、装置、电子设备和可读存储介质 | |
CN113596919A (zh) | 数据下载方法、装置和终端设备 | |
CN112532508B (zh) | 一种视频通信方法及视频通信装置 | |
CN113542574A (zh) | 变焦下的拍摄预览方法、终端、存储介质及电子设备 | |
CN113923372B (zh) | 曝光调整方法及相关设备 | |
CN114999535A (zh) | 在线翻译过程中的语音数据处理方法及装置 | |
WO2023020420A1 (zh) | 音量显示方法、电子设备及存储介质 | |
CN117729420A (zh) | 一种连拍方法及电子设备 | |
CN115460445A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40028987 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |