CN111316604B - 一种数据传输方法及电子设备 - Google Patents

一种数据传输方法及电子设备 Download PDF

Info

Publication number
CN111316604B
CN111316604B CN201880072208.0A CN201880072208A CN111316604B CN 111316604 B CN111316604 B CN 111316604B CN 201880072208 A CN201880072208 A CN 201880072208A CN 111316604 B CN111316604 B CN 111316604B
Authority
CN
China
Prior art keywords
tcp connection
electronic device
data stream
application server
identifier
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
Application number
CN201880072208.0A
Other languages
English (en)
Other versions
CN111316604A (zh
Inventor
王皓
王凡钊
祁建锋
陈朔
郭兴民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN111316604A publication Critical patent/CN111316604A/zh
Application granted granted Critical
Publication of CN111316604B publication Critical patent/CN111316604B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/12Communication route or path selection, e.g. power-based or shortest path routing based on transmission quality or channel quality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1016IP multimedia subsystem [IMS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1063Application servers providing network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0268Traffic management, e.g. flow control or congestion control using specific QoS parameters for wireless networks, e.g. QoS class identifier [QCI] or guaranteed bit rate [GBR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Environmental & Geological Engineering (AREA)
  • General Business, Economics & Management (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种数据传输方法及电子设备,该方法包括:电子设备首先与第一应用服务器建立多路径传输控制协议MPTCP连接,其中,MPTCP连接包括第一TCP连接和第二TCP连接;第一TCP连接的数据传输时延小于第二TCP连接的数据传输时延;然后电子设备接收来自第一应用服务器的指示信息指示第一应用服务器发送的数据流的类型的类型标识;当类型标识为第一标识时,电子设备在接收到指示信息之后的第一时段优先采用第一TCP连接接收来自第一应用服务器的数据流;当类型标识为第二标识时,电子设备在接收到指示信息之后的第二时段优先采用第二TCP连接接收数据流。该方法用以改善现有数据传输占用广域网的流量较多,但占用局域网的流量较少,造成成本较高的问题。

Description

一种数据传输方法及电子设备
本申请要求在2018年7月23日提交国家专利局、申请号为201810814504.5、发明名称为“一种面向流媒体的多路传输控制协议调度方法及终端”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及终端技术领域,尤其涉及一种数据传输方法及电子设备。
背景技术
多路径传输控制协议(multi path transmission control protocol,MPTCP)是TCP的扩展,利用多条TCP连接的并行传输提高资源的利用率,增强连接失败的恢复能力。举例来说,电信搞活动:每月交199元就送电信光纤家庭宽带与4G无线流量套餐。现状是,小明购买了该套餐后、要么用无线保真(Wireless Fidelity,WIFI)、要么用长期演进(LongTerm Evolution,LTE),此时假设小明用WIFI或LTE下载一个电影共需要一个小时。那么当小明采用MPTCP(即利用WIFI和LTE这两个TCP连接)下载该电影,可以30分钟完成,时间节省一半(假设WIFI与LTE下载速度相当)。换句话说:利用MPTCP下载该电影,电影下载时间减半。可是由于异构网络(例如WIFI与LTE)空口传输技术的不同,在带宽、时延、丢包率等方面都有显著差异。经过差异化的TCP连接,同一条数据流的数据包到达对端,会出现乱序现象。而TCP提供可靠、有序的数据提交,这就频繁造成异构网络传输中‘较早到达的数据包’等待‘较晚到达数据包’的现象。显然,差异越是严重,失序越为明显,甚至可以导致多TCP连接聚合后的带宽小于‘最大单路带宽’的情况,一般称此现象为多路径传输负增益现象。
现有技术方案通过机会重传、惩罚机制来解决负增益现象。简单来说,如果发现有数据包未及时到达对端,则通过往返时延较低的TCP连接及时重传;如果经过某条TCP连接的数据包频繁发生上述延时到达的情况,则发送端惩罚性的减少该TCP连接发送窗口、降低可以发送的包数量、从而弱化失序现象。当前广泛使用的数据调度算法是最小往返时延(min Round-Trip Time,min往返时延)调度算法,即接收端优先使用最小往返时延的TCP连接接收数据,当最小往返时延的TCP连接接收窗口拥塞时,则同时使用次小往返时延的TCP连接接收数据。然而现实情况是,在绝大多数公共场所中,例如飞机场、购物中心、学校、公司等场所,WIFI网络的往返时延无论是平均值还是抖动都远远大于蜂窝网络,结果是,在实际测试中如果下载一个电影,该电源对应的70%+以上的数据量可能都占用的蜂窝网络的数据量,而占用WIFI网络的数据量却可能不足30%,成本较高,影响了用户的接受度。
发明内容
本申请提供一种数据传输方法及电子设备,用以改善现有数据传输占用蜂窝网的数据流量较多,但占用WIFI网络的数据流量较少,造成成本较高的问题。
第一方面,本申请实施例提供了一种数据传输方法,所述方法包括:电子设备首先与第一应用服务器建立MPTCP连接,其中,所述MPTCP连接包括第一TCP连接和第二TCP连接;所述第一TCP连接的数据传输时延小于所述第二TCP连接的数据传输时延;然后电子设备接收来自所述第一应用服务器的指示信息;其中,指示信息包括类型标识,用于指示所述第一应用服务器发送的第一业务的数据流的类型;当所述类型标识为第一标识时,所述电子设备在接收到所述指示信息之后的第一时段优先采用所述第一TCP连接接收来自所述第一应用服务器的数据流;当所述类型标识为第二标识时,所述电子设备在接收到所述指示信息之后的第二时段优先采用所述第二TCP连接接收来自所述第一应用服务器的所述数据流;
本申请实施例中,因第一标识所指示的数据流所要求的时延比所述第二标识所指示的第二业务的数据流所要求的时延小,而蜂窝网络对应的TCP连接的时延小于WIFI网络对应的TCP连接的时延,所以当第一TCP连接对应的是蜂窝网络,第二TCP连接对应的是WIFI网络时,通过该方法,一方面,当指示信息包括第二标识时,电子设备100接收之后第一应用服务器所发送的数据流时,可以尽可能地多占用WIFI网络的数据流量,少占用蜂窝网络的数据流量,达到节省消耗蜂窝网络的数据流量的目的,另一方面,当指示信息包括第一标识时,电子设备100接收之后第一应用服务器所发送的数据流时,可以尽可能地多占用LTE网络的数据流量,这样可以减小起播时延。
在一种可能的设计中,指示信息还可以包括用于指示带宽需求的参数,该方法还包括:电子设备从指示信息中获取参数;当电子设备确定第二TCP连接的接收窗口达到最大值时对应的带宽小于参数指示的宽带需求时,电子设备在所述第二时段还同时采用所述第一TCP连接接收所述数据流,其中,电子设备在第二时段调整所述第一TCP连接的接收窗口,使得第二TCP连接和第一TCP连接的聚合带宽大于或等于参数指示的宽带需求。这样,可以较快速率的接收数据流,减小起播时延。
第二方面,本申请实施例提供了一种数据传输方法,所述方法包括,电子设备首先与第一应用服务器建立MPTCP连接,其中,MPTCP连接包括第一TCP连接和第二TCP连接,所述第一TCP连接的数据传输时延小于所述第二TCP连接的数据传输时延;然后电子设备接收来自所述第一应用服务器的数据流;当电子设备确定单位时间接收到的所述数据流的流量大于第一阈值时,所述电子设备从所述第一应用服务器获取各个数据流的创建时间,然后电子设备根据所数据流的创建时间,同时采用所述第一TCP连接和所述第二TCP连接并行接收创建时间大于设定阈值N个数据流,N为大于等于1的正整数。当所述电子设备确定单位时间接收到的所述数据流的流量小于第二阈值时,所述电子设备优先采用所述第二TCP连接接收所述数据流,所述第一阈值远大于所述第二阈值。
本申请实施例中,电子设备根据接收的数据流的流量的变化率,调整数据流的接收策略,当数据流的单位时间内流量大于第一阈值时,就同时采用多个链接接收创建时间较早的数据流,可以降低起播时延,当数据流的单位时间内流量低于第一阈值时,优先采用第二TCP连接接收数据流,因蜂窝网络对应的TCP连接的时延小于WIFI网络对应的TCP连接的时延,所以当第二TCP连接为WIFI网络对应的TCP连接时,该方法则可以尽可能地多占用WIFI网络的数据流量,少占用蜂窝网络的数据流量,达到节省消耗蜂窝网络的数据流量的目的。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、显示器和摄像头。其中,存储器用于存储一个或多个计算机程序;当存储器存储的一个或多个计算机程序被处理器执行时,使得电子设备能够实现第一方面的任意一种可能的设计的方法。
第四方面,本申请实施例还提供了一种电子设备,所述电子设备包括执行第一方面或者第一方面的任意一种可能的设计的方法的模块/单元。这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
第五方面,本申请实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行任意一种可能的设计的方法。
第六方面,本申请实施例还提供一种包含计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行任意一种可能的设计的方法。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种多路径数据传输方法应用的系统架构;
图2为本申请实施例提供的一种多网络部署的数据传输系统架构图;
图3为本申请实施例提供的一种TCP协议栈扩充到MPTCP协议栈的示意图;
图4为本申请实施例提供的一种MPTCP实现过程示意图;
图5为本申请实施例提供的一种电子设备的结构示意图;
图6为本申请实施例提供的一种安卓系统架构示意图;
图7为本申请实施例提供的一种视频播放场景界面图一;
图8为本申请实施例提供的一种视频播放场景界面图二;
图9为本申请实施例提供的一种数据传输方法流程示意图一;
图10为本申请实施例提供的一种数据传输方法流程示意图二;
图11为本申请实施例提供的一种数据传输方法流程示意图三;
图12为本申请实施例提供的一种数据传输装置结构示意图;
图13为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为了便于理解,示例的给出了部分与本申请实施例相关概念的说明以供参考。
所谓流媒体是指采用流式传输的方式在网络上播放的媒体格式。流媒体又叫流式媒体,是边传边播的媒体,是多媒体的一种。边传边播是指媒体提供商在网络上传输媒体的“同时”,用户一边不断地接收并观看或收听被传输的媒体。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请实施例提供的数据传输方法可应用于无线通信系统的数据传输,其中,数据接收端与数据发送端通过无线接入网(Radio Access Network,RAN)以及核心网进行数据交互,所述数据接收端和所述数据发送端之间还可建立传输控制协议(TransmissionControl Protocol,TCP)连接,采用TCP协议进行数据传输。如图1所示,无线通信系统中终端设备和应用服务器之间进行数据交互,终端设备通过空口接入到RAN,经由核心网连接到应用服务器,其中,终端与RAN之间的网络可称为无线网络,RAN与应用服务器之间的网络可称为有线网络。应用服务器与终端之间建立TCP连接并进行数据传输。
随着通信技术的发展,通信系统已经演进为多个通信网络共同部署的通信架构,终端可接入不止一个通信网络进行通信。需要说明的是,当该通信网络为局域网时,示例性的,该通信网络可以是无线保真(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流通过一个TCP流发送,在MPTCP协议栈中,传输层被划分为两个子层:MPTCP和TCP层,应用层的TCP流经由MPTCP层分解为两个TCP子流独立传送。
图4示出了MPTCP的使用场景示意图,图4中终端设备和应用服务器之间建立了两条TCP连接,一个TCP连接使用WIFI网络资源,另一个TCP连接使用LTE网络资源。应用服务器的MPTCP层将TCP流分解为两个TCP子流后通过这两个TCP连接分别独立传送至终端设备,终端设备收到两个TCP子流之后,将这两个子流合并后再发送给应用层。
在本申请一些实施例中,图1所示的无线通信系统中终端设备可以是还包含其他功能诸如个人数字助理和/或音乐播放器功能的便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴设备(如智能手表)等。便携式电子设备的示例性实施例包括但不限于搭载
Figure GPA0000288247420000061
或者其他操作系统的便携式电子设备。上述便携式电子设备也可以是其他便携式电子设备,诸如具有触敏表面(例如触控面板)的膝上型计算机(laptop)等。还应当理解的是,在本申请其他一些实施例中,上述终端也可以不是便携式电子设备,而是具有触敏表面(例如触控面板)的台式计算机。
示例性地,如图5所示,本申请实施例中的终端设备可以为电子设备100。下面以电子设备100为例对实施例进行具体说明。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,USB接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及SIM卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(Neural-network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(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)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线模块1,天线模块2移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将蜂窝网天线复用为无线局域网分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(Low Noise Amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN),蓝牙(bluetooth,BT),全球导航卫星系统(globalnavigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS))和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用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)等。在一些实施例中,电子设备100可以包括1个或N个显示屏,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:MPEG1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口可以是USB接口,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。可设置于显示屏194。用于检测作用于其上或附近的触摸操作。可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型,并通过显示屏194提供相应的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接用户标识模块(subscriber identity module,SIM)。SIM卡可以通过插入SIM卡接口,或从SIM卡接口拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持NanoSIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图6是本发明实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图6所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图6所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGLES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合捕获拍照场景,示例性说明电子设备100软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头捕获静态图像或视频。
以下实施例均可以在具有上述硬件结构的电子设备100中实现。以下实施例将以终端设备为电子设备100为例,对本申请实施例提供的数据传输方法进行说明。
本申请实施例提供一种数据传输方法,该方法包括:首先电子设备100与第一应用服务器建立MPTCP连接,其中,MPTCP连接包括第一TCP连接和第二TCP连接,第一TCP连接的数据传输时延小于第二TCP连接的数据传输时延,然后电子设备100根据接收的来自第一应用服务器的指示信息,调整接收策略,并按调整之后的接收策略接收之后第一应用服务器发送的数据流。
具体来说,当电子设备100接收的来自第一应用服务器的指示信息包括的类型标识是第一标识时,电子设备100在接收到所述指示信息之后的第一时段可以优先采用数据传输时延较小的第一TCP连接接收该数据流;当电子设备100接收的来自第一应用服务器的指示信息中包括的类型标识为第二标识时,电子设备100在接收到所述指示信息之后的第二时段可以优先采用数据传输时延相对较大的第二TCP接收来自第一应用服务器的数据流。需要说明的是,第一应用服务器发送的指示信息与第一应用服务器之后发送的数据流是相关的,且有时序上的先后顺序。例如第一应用服务器发送的指示信息包括的类型标识为第一标识,则第一应用服务器紧接着发送的数据流是与第一标识相关的数据流。因数据传输时延较大的第二TCP连接一般是WIFI网络对应的TCP连接,数据传输时延较小的第一TCP连接一般是蜂窝网对应的TCP连接,所以该方法相比现有技术中的最小往返时延调度算法,本申请实施例可以一定程度地减少终端设备侧蜂窝网数据流量的消耗。
以下将结合附图和应用场景,主要以电子设备100播放来自第一应用服务器的流媒体为例,对本申请实施例提供的数据传输方法进行详细介绍。
值得说明的是,目前比较典型的智能手机的流媒体业务大致分为三类:短视频,如抖音;视频点播(Video On Demand,Vod),如爱奇艺、优酷等;直播,如虎牙。
本申请实施例中第一应用服务器在创建流媒体文件的数据流时,会确定每一段数据流的类型标识,并生成与该段数据流的类型标识对应的指示信息。一种情况下,如果第一应用服务器确定该段数据流是一个点播视频的初始时段(0s~30s)对应的数据流,又或者是用户打开了一个已点播放过的点播视频,从上次播放时刻开始对应的设定时段的数据流,又或者用户拖动进度条到一个点播视频的中间一个时间点对应的设定时段的数据流,或者是直播视频的初始时段对应的数据流,亦或者是短视频中的当前视频对应的数据流,因这些数据流对时延要求较高,若电子设备100接收到该类数据流则需要立即显示,因此第一应用服务器在创建这类数据流时,为该类数据流生成指示信息,指示信息包括的类型标识为第一标识,第一标识用于指示该数据流所要求的时延相对较小。
另一情况下,如果第一应用服务器确定该段数据流是一个点播视频的缓存时段对应的数据流(一般缓存时段为正在播放的视频对应的时段之后的几十秒时长)、或者是直播视频的缓存时段对应的数据流,亦或者是短视频中的缓存短视频对应的数据流,因这些数据流对时延要求不高,若电子设备100接收到该类数据流一般不需要立即显示。因此第一应用服务器在创建这类数据流时,为该类数据流生成指示信息,指示信息包括的类型标识为第一标识,第二标识用于指示该数据流所要求的时延相对较大。
也就是说,电子设备100与第一应用服务器建立MPTCP连接之后,在接收到来自第一应用服务器所发送的数据流之前,会先接收到与该段数据流的类型标识,电子设备100先从指示信息中获取类型标识,然后根据类型标识,调整在接收到所述指示信息之后的时段第一应用服务器所发送的数据流的接收策略。结合图4来说,假设电子设备100和第一应用服务器同时使用WIFI网络资源和LTE网络资源进行数据传输,电子设备100和第一应用服务器建立MPTCP连接之后,MPTCP连接包括的第一TCP连接为LTE网络对应的TCP连接,第二TCP连接为WIFI网络对应的TCP连接,当电子设备100确定接收的指示信息包括的类型标识为第一标识时,因LTE网络对应的TCP连接的往返时延小于WIFI网络的往返时延,所以电子设备100优先采用LTE网络对应的TCP连接接收数据流。为了实现较快速率的接收数据流,电子设备100也同时采用这两条TCP连接接收第一应用服务器所发送的数据流。当电子设备100确定接收的指示信息包括的类型标识为第二标识时,电子设备100可以优先采用WIFI网络对应的TCP连接接收之后第一应用服务器所发送的数据流。
需要说明的是,图4中,电子设备100优先采用LTE网络对应的TCP连接接收数据流的具体方法可以是:电子设备100调整LTE网络对应的TCP连接的接收窗口,使得LTE网络对应的TCP连接的接收窗口大于WIFI网络对应的TCP连接的接收窗口。当然,为了提高接收数据流的效率,最大限度降低起播时延,电子设备100也可以将LTE网络对应的TCP连接的接收窗口和WIFI网络对应的TCP连接的接收窗口同时调整至最大,这样可以提高接收效率,达到最大吞吐量。
另外,图4中,电子设备100优先采用WIFI网络对应的TCP连接接收之后数据流的具体方法可以是:电子设备100调整WIFI网络对应的TCP连接的接收窗口,使得WIFI网络对应的TCP连接的接收窗口大于LTE网络对应的TCP连接的接收窗口。当然,为了降低成本,电子设备100也可以将WIFI网络对应的TCP连接的接收窗口调整至最大,并关闭LTE网络对应的TCP连接的接收窗口。也就是说,电子设备100仅通过WIFI网络对应的TCP连接接收之后第一应用服务器所发送的数据流。这样可以最大程度地减少LTE网络的流量消耗,降低用户的消费成本。
在一种可能的实现中,第一应用服务器生成的指示信息中除了携带指示数据流的类型标识,还可能携带有指示带宽需求的参数。一种情况下,若电子设备100从指示信息中获取的标识为第二标识,且还包括指示带宽需求的参数,则电子设备100确定当第二TCP连接的接收窗口调整至最大时,第二TCP连接的带宽大小是否达到带宽需求,若满足,则电子设备100可以仅通过第二TCP连接接收之后第一应用服务器所发送的数据流。若不满足,则电子设备100可以将第二TCP连接的接收窗口调整至最大,同时调整第一TCP连接的接收窗口,直至两个TCP连接的带宽总和能够达到带宽需求。当第一TCP连接对应的是蜂窝网络,第二TCP连接对应的是WIFI网络时,通过该方法,电子设备100接收之后第一应用服务器所发送的数据流时,可以尽可能地多占用WIFI网络的数据流量,少占用蜂窝网络的数据流量,达到节省消耗蜂窝网络的数据流量的目的。
另一种情况下,若电子设备100从指示信息中获取的标识为第一标识,且还包括指示带宽需求的参数,则电子设备100优先使用最小往返时延的第一TCP连接接收之后第一应用服务器所发送数据流,当该第一TCP连接的接收窗口达到最大仍不满足带宽需求时,则同时使用次小往返时延的第二TCP连接接收该数据流。例如,当第一TCP连接对应的是蜂窝网络,第二TCP连接对应的是WIFI网络时,电子设备100优先使用蜂窝网络对应的TCP连接接收之后第一应用服务器所发送数据流,当该蜂窝网络对应的TCP连接的接收窗口调整至最大时,仍不满足带宽需求4Mb/s,则同时使用WIFI网络对应的TCP连接,因WIFI网络一般不用支付费用,所以本申请实施例中电子设备100可以将WIFI网络对应的TCP连接的接收窗口调整至最大,这样做的目的是,电子设备100可以尽可能地快地接收该数据流,提高接收效率,降低电子设备100的起播时延。
本申请实施例进一步结合图7和图8所示的场景,对上述数据流传输方法进行举例说明。
场景一,当电子设备100接收到用户1作用于华为视频的播放界面的播放控件的操作(例如点击操作)时,电子设备100向华为视频应用对应的第一应用服务器发送请求获取《预见未来》这一多媒体文件的消息,第一应用服务器收到该消息后,通过MPTCP协议向电子设备100发送该多媒体文件的数据流,电子设备100按照上述数据流传输方法接收数据流,并显示如图7所示的界面。
具体地,因华为视频对应的第一应用服务器在发送的每段数据流前都会先发送指示信息,所以当电子设备100接收到来自第一应用服务器的指示信息后,从指示信息中获取到第一标识和指示带宽需求的参数,电子设备100优先采用较小往返时延对应的第一TCP连接接收该数据流。例如,当第一TCP连接对应的是蜂窝网络,第二TCP连接对应的是WIFI网络时,电子设备100优先采用LTE网络对应的TCP连接接收该数据流,若LTE网络对应的TCP连接的接收窗口调整至最大时仍不满足该数据流的带宽需求,则还可以同时使用WIFI网络对应的TCP连接接收该数据流。这样的话,电子设备100可以实现在检测到用户1的操作后,较快地开始播放《预见未来》这一多媒体文件的首屏,也就是说起播时延较小,提高了用户的体验。
在一种可能的设计中,在电子设备100显示初始播放《预见未来》这一多媒体文件的界面中还可以包括第一提示信息,该第一提示信息用于通知用户当前电子设备100正在采用多个网络资源加速播放,例如图7所示的界面中显示的第一提示信息为:当前双网聚合加速中。
场景二,如图8所示,在电子设备100播放《预见未来》这一多媒体文件的过程中,电子设备100还会从第一应用服务器接收缓存时段的数据流,第一应用服务器在发送缓存时段的数据流之前,会先向电子设备100发送与该缓存时段的数据流的类型标识对应的指示信息。当电子设备100接收到来自第一应用服务器的指示信息后,从指示信息中获取到第二标识和指示带宽需求的参数。电子设备100优先采用局域网对应的TCP连接接收该数据流,例如电子设备100优先采用WIFI网络对应的TCP连接接收该数据流,若WIFI网络对应的TCP连接的接收窗口调整至最大时仍不满足该数据流的带宽需求,则还可以同时使用LTE网络对应的TCP连接接收该数据流。
在一种可能的设计中,在电子设备100的界面还可以显示第二提示信息,该第二提示信息用于通知用户当前电子设备100正在采用WIFI网络加载数据,例如图8所示的界面中显示的第二提示信息为:当前WIFI网络预缓存中。
场景三,在电子设备100的华为视频应用播放《预见未来》这一多媒体文件的过程中,电子设备100的华为视频应用后台下载电影《一出好戏》。电子设备100在开始下载电影《一出好戏》的多媒体文件时,会向华为视频应用服务器发送请求,华为视频应用服务器根据请求确定电影《一出好戏》的多媒体文件的数据流的类型标识是第二标识。电子设备100在请求播放《预见未来》的多媒体文件时,会向华为视频应用服务器发送请求,华为视频应用服务器根据请求,确定初始时段的数据流的标识是第一标识,缓存时段的数据流的标识是第二标识。所以当电子设备100接收到来自华为视频应用服务器的指示信息后,从指示信息中获取到第一标识,电子设备100优先采用较小往返时延对应的LTE网络对应的TCP连接接收该数据流。当电子设备100接收到来自华为视频应用服务器的指示信息后,从指示信息中获取到第二标识,电子设备100优先采用较大往返时延对应的WIFI网络对应的TCP连接接收该数据流。
场景四,在电子设备100的华为视频应用播放《预见未来》这一多媒体文件的过程中,电子设备100的优酷应用分屏播放电影《一出好戏》,华为视频应用和优酷应用均对应优酷应用服务器。电子设备100在请求播放《预见未来》的多媒体文件时,会向优酷应用服务器发送请求,优酷应用服务器根据请求,确定初始时段的数据流的标识是第一标识,缓存时段的数据流的标识是第二标识。电子设备100在请求播放《一出好戏》的多媒体文件时,会向优酷应用服务器发送请求,优酷应用服务器根据请求,确定初始时段的数据流的标识是第一标识,缓存时段的数据流的标识是第二标识。所以当电子设备100接收到来自优酷应用服务器的指示信息后,从指示信息中获取到第一标识,电子设备100优先采用较小往返时延对应的LTE网络对应的TCP连接接收该数据流。当电子设备100接收到来自优酷应用服务器的指示信息后,从指示信息中获取到第二标识,电子设备100优先采用较大往返时延对应的WIFI网络对应的TCP连接接收该数据流。
可见,电子设备100采用上述数据传输方法接收来自第一应用服务器的数据流,在播放《预见未来》这一多媒体文件时,可以实现起播时延较小,用户等待时间较短,另外可以尽可能使用WIFI网络接收缓存时段的数据流,一定程度上可以减少LTE网络对应的数据流量的消耗,节省用户的消费成本。
假设电子设备100和第一应用服务器之间采用WIFI网络资源和LTE网络资源进行数据传输,本申请如下实施例中进一步结合图9所示的流程对上述数据传输方法的具体过程进行详细阐述,该方法流程的具体流程可以包括:
步骤201,电子设备100向第一应用服务器开放接口,接收第一应用服务器通过该接口发送的指示信息。其中,指示信息中包括标识和指示带宽需求的参数,该指示信息与第一应用服务器即将发送的数据流相关。
步骤202,电子设备100从指示信息中获取类型标识和指示带宽需求的参数。
步骤203,电子设备100判断指示信息中的类型标识为第一标识时,例如第一标识是0X01,则执行步骤204,否则执行步骤214。
步骤204,电子设备100优先使用LTE网络对应的TCP连接接收之后第一应用服务器所发送的数据流。
步骤205,电子设备100判断LTE网络对应的TCP连接的接收窗口达到最大值时的带宽是否大于或等于带宽需求时,若否,则执行步骤206,否则返回继续执行步骤204。
步骤206,电子设备100使用LTE网络对应的TCP连接接收该数据流,且接收窗口达到最大值,同时,电子设备100使用WIFI网络对应的连接接收该数据流,并且接收窗口达到最大值。
步骤207,若电子设备100判断指示信息中的类型标识为第二标识,例如第二标识是0X02,若是,电子设备100则执行步骤208,否则执行步骤214。
步骤208,电子设备100优先使用WIFI网络对应的TCP连接接收之后第一应用服务器所发送的数据流。
步骤209,电子设备100判断WIFI网络对应的TCP连接的接收窗口达到最大时的带宽是否大于等于带宽需求时,若是,则执行步骤210a,否则返回继续执行步骤207。
步骤210a,电子设备100同时使用WIFI网络对应的TCP连接和LTE网络对应的TCP连接接收该数据流,并且接收窗口均为最大值。
步骤211a,电子设备100判断当前的WIFI网络和LTE网络的带宽总和是否等于带宽需求,若不等于,则执行步骤212a,否则执行步骤213a。
步骤212a,电子设备100按照设定比例(例如10%)缩小LTE网络对应的TCP连接的接收窗口,并返回执行步骤211a,直至等于带宽需求,跳转至执行步骤213a。
步骤213a,当等于时,电子设备100的各个TCP连接按照当前的接收窗口大小接收数据流。
步骤214,电子设备100同时使用LTE网络和WIFI网络对应的TCP连接接收该数据流。
需要说明的是,在执行完步骤213a之后,电子设备100一般会继续周期性地检测当前的带宽总和是否满足需求,即再次执行上述步骤211a至步骤213a。
本申请实施例中,若指示信息中的标识为第二标识,电子设备100所使用的WIFI网络对应的TCP连接的接收窗口一般为最大接收窗口,这样,可以提高接收数据流的速率,另外,之所以电子设备100在WIFI网络资源不满足带宽需求时先执行步骤210a,是因为执行步骤211a至步骤213a的过程需要占用一定的时长,为了避免在调整接收窗口过程中数据流发生拥塞,影响用户的体验,所以本申请实施例优先将WIFI网络对应的TCP连接的接收窗口和LTE网络对应的连接的接收窗口均瞬间调整至最大,再逐渐缩小LTE网络对应的连接的接收窗口,直至满足带宽需求。
在一种可能的设计中,图9中的步骤210a至步骤213a也可以替换为步骤210b至步骤213b,也就是说,电子设备100在执行步骤209判断WIFI网络对应的TCP连接的接收窗口达到最大时的带宽仍小于带宽需求,则执行步骤210b,否则返回继续执行步骤208。如图10所示,具体步骤如下。
步骤201至步骤209同图9中的描述,该处不再赘述。
步骤210b,电子设备100同时使用WIFI网络对应的TCP连接和LTE网络对应的TCP连接接收该数据流,并且WIFI网络对应接收窗口为最大值,LTE网络对应的TCP连接的接收窗口为最小值。
步骤211b,电子设备100判断当前的WIFI网络和LTE网络的带宽总和是否大于或等于带宽需求,若小于,则执行步骤212b,否则执行步骤213b。
步骤212b,若不等于,电子设备100按照设定比例增大LTE网络对应的TCP连接的接收窗口。并返回执行步骤211b,直至等于带宽需求,跳转至执行步骤213b。
步骤213b,当等于时,电子设备100的各个TCP连接按照当前的接收窗口大小接收数据流。
步骤214,电子设备100同时使用LTE网络和WIFI网络对应的TCP连接接收该数据流。
可见,相较图9所示的方法流程,图10上述步骤所实现的数据传输方法能够实现尽可能少的占用LTE网络对应的数据流量,减少用户的消费成本。
本申请实施例还提供一种数据传输方法,该方法可以使得电子设备100根据接收的数据流的流量的变化率,调整数据流的接收策略。本申请如下实施例中进一步结合图11所示的流程对上述数据传输方法的具体过程进行详细阐述,该方法流程的具体流程可以包括:
步骤301,电子设备100与第一应用服务器建立MPTCP连接,接收来自第一应用服务器发送的数据流。
其中,MPTCP连接包括第一TCP连接和第二TCP连接。第一TCP连接的数传传输实验小于第二TCP连接的数据传输时延。例如,第一TCP连接是蜂窝网对应的TCP连接,第二TCP连接是WIFI网络对应的TCP连接。
步骤302,电子设备100判断单位时间接收到数据流的流量的大小是否大于第一阈值,若是,则执行步骤303,否则执行步骤304,其中,单位时间可以以秒为单位。
步骤303,当电子设备100检测到单位时间接收到的数据流的流量大于第一阈值时,则电子设备100从第一应用服务器获取各个数据流的创建时间,根据数据流的创建时间(例如套接字(Socket)的创建时间)对各个数据流进行排序,确定出创建时间较早的N(例如N为3)个数据流。电子设备100同时采用第一TCP连接和第二TCP连接并行接收排序靠前的N个数据流,N为大于等于1的正整数。
例如用户在爱奇艺应用上在线点播一个电影时,电子设备100向爱奇艺应用服务器发送第一请求,第一请求用于请求该电影的0~1s时段对应数据流,爱奇艺应用服务器向电子设备100发送该电影的0~1s时段对应数据流是第一数据流;后续电子设备100又向爱奇艺应用服务器发送第二请求,第二请求用于请求该电影的1~ss时段对应数据流,爱奇艺应用服务器向电子设备100发送该电影的1s~2s时段对应数据流是第二数据流,电子设备100向爱奇艺应用服务器发送第三请求,第三请求用于请求该电影的3s~5s时段对应数据流,爱奇艺应用服务器向电子设备100发送该电影的3s~5s时段对应数据流是第三数据流。如果按照时间排序,第一数据流创建时间最早,第二数据流其次,第三数据流最晚。电子设备100从爱奇艺应用服务器获取各个数据流的创建时间,对其排序,确定出创建时间较早的第一数据流和第二数据流。然后电子设备100同时采用第一TCP连接和第二TCP连接并行接收第一数据流和第二数据流。
步骤304,电子设备100判断单位时间接收到数据流的流量的大小是否小于第二阈值,若是,则执行步骤305,否则执行步骤306,其中第一阈值远大于第二阈值。
步骤305,当电子设备100检测到单位时间接收到的数据流的流量小于第二阈值时,则电子设备100优先采用第二TCP连接接收该数据流。
例如,接续上例,电子设备100向爱奇艺应用服务器发送第四请求,第四请求用于请求该电影的5~15s时段对应数据流,爱奇艺应用服务器向电子设备100发送该电影的5s~15s时段对应数据流是第四数据流,因电子设备100缓存区还缓存有第三数据流,所以第四数据流并不需要理解播放,那么电子设备100优先采用WIFI网络对应的TCP连接接收该第四数据流。
步骤306,当电子设备100检测到单位时间接收到的数据流的流量小于等于第一阈值且大于等于第二阈值时,则电子设备100同时采用第一TCP连接和第二TCP连接并行接收来自第一应用服务器的数据流。
可见,当第一TCP连接是蜂窝网对应的TCP连接,第二TCP连接是WIFI网络对应的TCP连接,相比现有技术,上述实施例中电子设备100可以在单位时间数据流的流量较小时仅占用WIFI网络的流量来接收数据,一定程度地减少蜂窝网的数据流量的消耗,减少用户的消费成本,另外,当电子设备100单位时间接收到数据流的流量大于第一阈值时,电子设备100通过先接收较早创建的数据流,可以一定程度上降低起播时延,减少用户的等待时间。
以下将结合附图和应用场景,主要以电子设备100播放来自第一应用服务器的流媒体为例,对本申请实施例提供的数据传输方法进行详细介绍。
假设电子设备100和第一应用服务器之间采用WIFI网络资源和LTE网络资源进行数据传输,本申请实施例中,电子设备100会对接收的流媒体对应的数据流的流量的变化进行监控。
场景一,当电子设备100检测到用户作用于华为视频应用中的某一视频业务的播放控件(例如视频播放控件)的第一操作时,电子设备100会单位时间接收来自第一应用服务器发送的该视频业务对应的数据流,通常这时数据流的流量会很大,也就是说,电子设备100此时单位时间接收到的数据流的流量大于第一阈值,因此,在一种可能的实现中,电子设备100可以同时采用WIFI网络对应的TCP连接和LTE网络对应的TCP连接并行接收该业务的数据流。具体地,当单位时间接收到的数据流的流量大于第一阈值,电子设备100可以先从第一应用服务器获取各个数据流的创建时间,根据数据流的创建时间(例如套接字(Socket)的建立时间)的先后顺序对各个数据流的接收顺序进行排序,电子设备100同时采用WIFI网络对应的TCP连接和LTE网络对应的TCP连接,优先接收排序靠前的N个的数据流。这样做,可以保证较快速率地接收第一应用服务器先创建的数据流,实现快速播放首屏,降低起播时延,提高用户体验。
场景二,在播放该视频业务的过程中,电子设备100会接收到来自第一应用服务器发送的该视频业务的缓存时段的数据流,并将接收的缓存时段的数据流保存在缓存区。在电子设备100的缓存区中保存缓存时段的数据流的流量达到上限值后,这时电子设备100从第一应用服务器所接收的该视频业务的数据流的流量会瞬间变小,也就是说,电子设备100此时单位时间接收到的数据流的流量小于第二阈值,因此电子设备100调整优先采用WIFI对应的TCP连接接收后续时段第一应用服务器所发送的该视频业务的数据流,直至单位时间数据流的流量突然大于第一阈值。需要说明的是,第二阈值和第一阈值的具体取值可以根据实际需求设定,另外第一阈值远大于第二阈值。
场景三,若电子设备100检测到用户作用于华为视频应用中的某一视频业务的退出播放控件(例如视频退出播放控件)的第二操作时,这时电子设备100虽然不再接收该视频业务的数据流,但是会单位时间接收视频主菜单界面对应的其它业务的数据流,这时电子设备100单位时间接收的数据流的流量会突然很大,所以这时电子设备100同时采用WIFI网络对应的TCP连接和LTE网络对应的TCP连接并行接收其它业务的数据流。
需要说明的是,在本申请实施例中,第一操作和第二操作包括语音操作或手势操作。其中,手势操作可以包括触摸手势或悬浮手势。触摸手势可以包括但不限于点击击、双击、长按、压力按或拖拽等。另外,上述数据传输方法不仅适用于流媒体业务,也适用于其它类型标识的业务,例如支付宝应用对应的支付业务,或者淘宝应用的订单业务。
综上,本申请实施例利用上述数据传输方法,可以根据接收的数据流的类型标识或者数据流流量的变化情况,及时调整数据流的接收策略,从而实现既能够高效率地接收来自第一应用服务器的数据流,又能够尽可能地少的使用广域网络的数据流量,节省用户的消费成本。
本申请实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行上述数据传输方法任意一种可能的实现。
本申请实施例还提供一种包含计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行上述数据传输方法任意一种可能的实现。
在本申请的一些实施例中,本申请实施例公开了一种数据传输装置,如图12所示,该数据传输装置用于实现以上各个方法实施例中记载的方法,其包括:收发模块1201、处理模块1202。收发模块1201用于支持电子设备执行接收来自第一应用服务器的指示信息和数据流,处理模块1202用于支持电子设备执行调整各个TCP连接的接收策略,如图9中步骤202至步骤213a,图10中步骤202至步骤213b,或者如图11中的步骤302至步骤306。上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在本申请的另一些实施例中,本申请实施例公开了一种电子设备,如图13所示,该电子设备可以包括:一个或多个处理器1301;存储器1302;显示器1303;一个或多个应用程序(未示出);以及一个或多个计算机程序1304,上述各器件可以通过一个或多个通信总线1305连接。其中该一个或多个计算机程序1304被存储在上述存储器1302中并被配置为被该一个或多个处理器1301执行,该一个或多个计算机程序1304包括指令,上述指令可以用于执行如图9和图11及相应实施例中的各个步骤。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。

Claims (11)

1.一种数据传输方法,其特征在于,包括:
电子设备与第一应用服务器建立多路径传输控制协议MPTCP连接,其中,所述MPTCP连接包括第一TCP连接和第二TCP连接;所述第一TCP连接的数据传输时延小于所述第二TCP连接的数据传输时延;
所述电子设备接收来自所述第一应用服务器的指示信息;所述指示信息包括类型标识,用于指示所述第一应用服务器发送的第一业务的数据流的类型,所述指示信息还包括用于指示带宽需求的参数;
当所述类型标识为第一标识时,所述电子设备在接收到所述指示信息之后的第一时段优先采用所述第一TCP连接接收来自所述第一应用服务器的数据流;
当所述类型标识为第二标识时,所述电子设备在接收到所述指示信息之后的第二时段优先采用所述第二TCP连接接收来自所述第一应用服务器的所述数据流;
当所述电子设备确定所述第二TCP连接的接收窗口达到最大值时对应的带宽小于所述参数指示的宽带需求时,所述电子设备在所述第二时段还同时采用所述第一TCP连接接收所述数据流;
其中,所述第一标识所指示的数据流所要求的时延比所述第二标识所指示的第二业务的数据流所要求的时延小。
2.如权利要求1所述的方法,其特征在于,该方法还包括:
所述电子设备在所述第二时段调整所述第一TCP连接的接收窗口,使得所述第二TCP连接和所述第一TCP连接的聚合带宽大于或等于所述参数指示的宽带需求。
3.如权利要求1至2任一项所述的方法,其特征在于,第一TCP连接是蜂窝网对应的TCP连接;第二TCP连接是无线仿真WIFI网络对应的TCP连接。
4.一种数据传输方法,其特征在于,包括:
电子设备与第一应用服务器建立多路径传输控制协议MPTCP连接,其中,所述MPTCP连接包括第一TCP连接和第二TCP连接,所述第一TCP连接的数据传输时延小于所述第二TCP连接的数据传输时延;
所述电子设备接收来自所述第一应用服务器的数据流;
当所述电子设备确定单位时间接收到的所述数据流的流量大于第一阈值时,所述电子设备从所述第一应用服务器获取各个数据流的创建时间;
所述电子设备根据所述 数据流的创建时间,同时采用所述第一TCP连接和所述第二TCP连接并行接收创建时间大于设定阈值的 N个数据流,N为大于等于1的正整数;
当所述电子设备确定单位时间接收到的所述数据流的流量小于第二阈值时,所述电子设备优先采用所述第二TCP连接接收所述数据流,所述第一阈值远大于所述第二阈值。
5.如权利要求4所述的方法,其特征在于,第一TCP连接是蜂窝网对应的TCP连接;第二TCP连接是无线仿真WIFI网络对应的TCP连接。
6.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器用于存储一个或多个计算机程序;
当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备执行:
与第一应用服务器建立多路径传输控制协议MPTCP连接,其中,所述MPTCP连接包括第一TCP连接和第二TCP连接;所述第一TCP连接的数据传输时延小于所述第二TCP连接的数据传输时延;
接收来自所述第一应用服务器的指示信息;所述指示信息包括类型标识,用于指示所述第一应用服务器发送的数据流的类型;
当所述类型标识为第一标识时,在接收到所述指示信息之后的第一时段优先采用所述第一TCP连接接收来自所述第一应用服务器的数据流;
当所述类型标识为第二标识时,在接收到所述指示信息之后的第二时段优先采用所述第二TCP连接接收所述数据流;
若所述指示信息还包括用于指示带宽需求的参数,当确定所述标识为第二标识,以及确定所述第二TCP连接的接收窗口达到最大值时对应的带宽小于所述参数指示的宽带需求时,在所述第二时段还同时采用所述第一TCP连接接收所述数据流;
其中,所述第一标识所指示的数据流所要求的时延比所述第二标识所指示的数据流所要求的时延小。
7.如权利要求6所述的电子设备,其特征在于,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行:
所述电子设备在所述第二时段调整所述第一TCP连接的接收窗口,使得所述第二TCP连接和所述第一TCP连接的聚合带宽大于或等于所述参数指示的宽带需求。
8.如权利要求6至7任一项所述的电子设备,其特征在于,第一TCP连接是蜂窝网对应的TCP连接;第二TCP连接是无线仿真WIFI网络对应的TCP连接。
9.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器用于存储一个或多个计算机程序;
当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备执行:
与第一应用服务器建立多路径传输控制协议MPTCP连接,其中,所述MPTCP连接包括第一TCP连接和第二TCP连接,所述第一TCP连接的数据传输时延小于所述第二TCP连接的数据传输时延;
接收来自所述第一应用服务器的数据流;
当确定单位时间接收到的所述数据流的流量大于第一阈值时,所述电子设备从所述第一应用服务器获取各个数据流的创建时间;
根据所述 数据流的创建时间,同时采用所述第一TCP连接和所述第二TCP连接并行接收创建时间大于设定阈值的 N个数据流,N为大于等于1的正整数;
当确定单位时间接收到的所述数据流的流量小于第二阈值时,所述电子设备优先采用所述第二TCP连接接收所述数据流,所述第一阈值远大于所述第二阈值。
10.如权利要求9所述的电子设备,其特征在于,第一TCP连接是蜂窝网对应的TCP连接;第二TCP连接是无线仿真WIFI网络对应的TCP连接。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至5任一所述的方法。
CN201880072208.0A 2018-07-23 2018-10-12 一种数据传输方法及电子设备 Active CN111316604B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2018108145045 2018-07-23
CN201810814504 2018-07-23
PCT/CN2018/110134 WO2020019533A1 (zh) 2018-07-23 2018-10-12 一种数据传输方法及电子设备

Publications (2)

Publication Number Publication Date
CN111316604A CN111316604A (zh) 2020-06-19
CN111316604B true CN111316604B (zh) 2021-07-09

Family

ID=69182152

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880072208.0A Active CN111316604B (zh) 2018-07-23 2018-10-12 一种数据传输方法及电子设备

Country Status (6)

Country Link
US (1) US11412437B2 (zh)
EP (1) EP3809644B1 (zh)
JP (1) JP7181990B2 (zh)
KR (1) KR102491006B1 (zh)
CN (1) CN111316604B (zh)
WO (1) WO2020019533A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500496A (zh) * 2020-10-27 2022-05-13 华为终端有限公司 一种目标数据的下载方法及设备
CN112291366B (zh) * 2020-11-13 2023-06-20 Oppo广东移动通信有限公司 数据传输方法、装置、存储介质及电子设备
CN115379512A (zh) * 2021-05-19 2022-11-22 Oppo广东移动通信有限公司 带宽调整方法及装置、电子设备、计算机可读存储介质
CN116137676B (zh) * 2021-11-18 2023-10-20 荣耀终端有限公司 一种网络加速方法、电子设备、芯片系统及存储介质
CN114285771B (zh) * 2021-12-30 2024-02-06 阿里巴巴(中国)有限公司 一种tcp连接的连接状态追踪方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761470A (zh) * 2011-04-29 2012-10-31 清华大学 一种多径tcp传输协议报文调度方法
CN103313232A (zh) * 2012-03-07 2013-09-18 华为技术有限公司 通信方法、通信设备和用户设备
CN103875304A (zh) * 2011-10-12 2014-06-18 摩托罗拉移动有限责任公司 通过多个rat通信设备检索内容
CN105490933A (zh) * 2015-12-28 2016-04-13 中国电子科技集团公司第五十四研究所 基于多路径传输协议mptcp的路径管理方法及装置
WO2017194406A1 (en) * 2016-05-09 2017-11-16 Alcatel Lucent Multi-path wireless communication

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9124506B2 (en) 2013-06-07 2015-09-01 Brocade Communications Systems, Inc. Techniques for end-to-end network bandwidth optimization using software defined networking
ES2746067T3 (es) * 2013-08-29 2020-03-04 Ericsson Telefon Ab L M Planificación de MPTCP
WO2015178747A1 (en) * 2014-05-23 2015-11-26 Samsung Electronics Co., Ltd. Method and apparatus for improving quality of service that a user experiences when media is transmitted through wlan
US9474028B2 (en) 2014-07-01 2016-10-18 Alcatel Lucent Methods of transmitting data using at least one of a plurality of wireless accesses, user equipment, and network element
KR20160041444A (ko) * 2014-10-07 2016-04-18 주식회사 케이티 이종망 동시전송 환경에서 서버 푸시 서비스 제공을 위한 전송 경로 제어 방법 및 장치
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 富士通株式会社 通信装置、無線通信装置、および通信方法
US20170063699A1 (en) * 2015-08-26 2017-03-02 Electronics And Telecommunications Research Institute Method and apparatus for configuring multi-paths using segment list
WO2017049505A1 (zh) * 2015-09-23 2017-03-30 华为技术有限公司 数据传输方法及通信装置
KR102411188B1 (ko) * 2015-11-30 2022-06-21 삼성전자주식회사 무선 통신 시스템에서의 혼잡 관리 장치 및 방법
JP6504608B2 (ja) 2016-02-08 2019-04-24 日本電信電話株式会社 通信装置及びその制御方法並びにプログラム、並びに通信システム
CN105722164A (zh) * 2016-02-25 2016-06-29 努比亚技术有限公司 网络稳定控制装置和方法
US10182020B2 (en) * 2016-05-31 2019-01-15 Anchorfree Inc. System and method for improving an aggregated throughput of simultaneous connections
US9971290B2 (en) 2016-09-06 2018-05-15 Kabushiki Kaisha Toshiba Image forming apparatus and pattern reading apparatus
CA3048055A1 (en) * 2016-12-21 2018-06-28 Dejero Labs Inc. Packet transmission system and method
US10966070B2 (en) * 2017-01-30 2021-03-30 Veniam, Inc. Systems and methods for managing data with heterogeneous multi-paths and multi-networks in an internet of moving things
CN108540380B (zh) * 2017-03-02 2021-08-20 华为技术有限公司 多子流网络传输方法及装置
WO2019014426A1 (en) * 2017-07-14 2019-01-17 Interdigital Patent Holdings, Inc. COMMUNICATION PATH MANAGEMENT

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761470A (zh) * 2011-04-29 2012-10-31 清华大学 一种多径tcp传输协议报文调度方法
CN103875304A (zh) * 2011-10-12 2014-06-18 摩托罗拉移动有限责任公司 通过多个rat通信设备检索内容
CN103313232A (zh) * 2012-03-07 2013-09-18 华为技术有限公司 通信方法、通信设备和用户设备
CN105490933A (zh) * 2015-12-28 2016-04-13 中国电子科技集团公司第五十四研究所 基于多路径传输协议mptcp的路径管理方法及装置
WO2017194406A1 (en) * 2016-05-09 2017-11-16 Alcatel Lucent Multi-path wireless communication

Also Published As

Publication number Publication date
KR102491006B1 (ko) 2023-01-19
KR20210019105A (ko) 2021-02-19
CN111316604A (zh) 2020-06-19
US20210274420A1 (en) 2021-09-02
EP3809644A4 (en) 2021-11-24
WO2020019533A1 (zh) 2020-01-30
US11412437B2 (en) 2022-08-09
EP3809644B1 (en) 2024-03-20
JP2021532653A (ja) 2021-11-25
JP7181990B2 (ja) 2022-12-01
EP3809644A1 (en) 2021-04-21

Similar Documents

Publication Publication Date Title
CN111416794B (zh) 一种数据传输方法及电子设备
WO2020134869A1 (zh) 电子设备的操作方法和电子设备
WO2022257977A1 (zh) 电子设备的投屏方法和电子设备
CN111316604B (zh) 一种数据传输方法及电子设备
CN111316598A (zh) 一种多屏互动方法及设备
CN111628916B (zh) 一种智能音箱与电子设备协作的方法及电子设备
EP4192058A1 (en) Bluetooth communication method, terminal device, and computer-readable storage medium
CN110636554B (zh) 数据传输方法及装置
WO2022042637A1 (zh) 一种蓝牙数据传输方法及相关装置
WO2022262492A1 (zh) 数据下载方法、装置和终端设备
JP7193647B2 (ja) 接続確立方法および端末デバイス
WO2022135157A1 (zh) 页面显示的方法、装置、电子设备以及可读存储介质
CN113596919B (zh) 数据下载方法、装置和终端设备
US20230335081A1 (en) Display Synchronization Method, Electronic Device, and Readable Storage Medium
CN112532508B (zh) 一种视频通信方法及视频通信装置
CN114064160A (zh) 应用图标布局方法及相关装置
CN114827098A (zh) 合拍的方法、装置、电子设备和可读存储介质
CN114828098A (zh) 数据传输方法和电子设备
WO2023280160A1 (zh) 一种通道切换方法及装置
WO2024093614A1 (zh) 设备输入方法、系统、电子设备及存储介质
CN116996900A (zh) 数据传输方法及电子设备
CN115048193A (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
GR01 Patent grant
GR01 Patent grant