CN106101184A - 一种文件下载方法和播放设备 - Google Patents

一种文件下载方法和播放设备 Download PDF

Info

Publication number
CN106101184A
CN106101184A CN201610370054.6A CN201610370054A CN106101184A CN 106101184 A CN106101184 A CN 106101184A CN 201610370054 A CN201610370054 A CN 201610370054A CN 106101184 A CN106101184 A CN 106101184A
Authority
CN
China
Prior art keywords
data block
playback equipment
size
connects
signalling exchange
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.)
Granted
Application number
CN201610370054.6A
Other languages
English (en)
Other versions
CN106101184B (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.)
Jiangsu Zhongkong Puhui Information Technology 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
Priority to CN201610370054.6A priority Critical patent/CN106101184B/zh
Publication of CN106101184A publication Critical patent/CN106101184A/zh
Priority to EP17172997.3A priority patent/EP3249891B1/en
Priority to US15/608,078 priority patent/US20170346890A1/en
Application granted granted Critical
Publication of CN106101184B publication Critical patent/CN106101184B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0652Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • 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
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0652Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
    • H04J3/0655Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP] using timestamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供一种文件下载方法和播放设备,涉及通信领域,能够有效提升播放器播放媒体文件时的流畅度。其方法为:播放设备在并行从服务器下载文件的N个数据块时,获取N个数据块中的至少一个数据块在当前网络环境中下载时的网络参数;播放设备在N个数据块中任一数据块下载完成,并在开始下载N个数据块之后的下一个数据块之前,根据网络参数获取下一个数据块的大小;播放设备根据下一个数据块的大小从服务器下载下一个数据块。本发明实施例用于流媒体播放器从媒体服务器并行下载数据块。

Description

一种文件下载方法和播放设备
技术领域
本发明涉及通信领域,尤其涉及一种文件下载方法和播放设备。
背景技术
使用播放器的播放设备需要从媒体服务器中下载文件时,可以与媒体服务器建立一个连接,通过单连接下载的方式从媒体服务器下载该文件。但是由于丢包等网络因素,单连接下载的方式无法充分利用当前的物理带宽,使得下载速度偏慢。
目前,播放设备可以使用多连接的方式,即建立多个连接并行地从媒体服务器下载文件,能够有效提高下载速度,更有效地利用当前的物理带宽。在使用多个连接并行下载文件时,会对文件进行分块下载,每个数据块对应一个独立的连接。例如,待下载的文件大小为100MB,用户设备使用3个连接并发下载,假设每个数据块的大小为10MB,则第一个连接用于下载第0~10MB的数据块,第2个连接用于下载第10MB~20MB的数据块,第3个连接用于下载第20MB~30MB的数据块,这3个连接是同时进行的。当其中某个连接下载完成后,则继续用于下载后续的数据块,例如第40MB~50MB的数据块。
流媒体播放器并发下载文件时具有一定的特殊性,如图1所示的多连接并发下载状态示意图,由于播放器处理的数据块必须是连续的,如果数据块1没有下载完成,即使数据块2和数据块3下载完成了,但是实际上可用于解码播放的数据只有数据块1中已经下载的数据,因此,如果数据块划分的过大,会导致数据块下载需要很长时间,将无法体现出并发多连接下载相对于单连接的下载速度更快的优势,也可能导致播放不流畅。
发明内容
本发明实施例提供一种文件下载方法和播放设备,能够有效提升播放器播放媒体文件时的流畅度。
一方面,提供一种文件下载方法,包括:
播放设备在并行从服务器下载文件的N个数据块时,获取N个数据块中的至少一个数据块在当前网络环境中下载时的网络参数,N为大于或等于1的正整数;播放设备在N个数据块中任一数据块下载完成,并在开始下载N个数据块之后的下一个数据块之前,根据网络参数获取下一个数据块的大小;播放设备根据下一个数据块的大小从服务器下载下一个数据块。
由此,可以在播放设备下载数据块之前,根据网络环境变化,动态地调整待下载的数据块的大小,以提升播放器的播放流畅度。
在一种可能的设计中,在播放设备并行从服务器下载文件的N个数据块之前,方法还包括:在下载N个数据块之前,播放设备与服务器建立与N个数据块分别对应的传输控制协议传输控制协议(Transmission Control Protocol,TCP)连接;播放设备与服务器建立与N个数据块分别对应的超文本传送协议(Hypertext Transfer Protocol,HTTP)连接;其中,网络参数包括下载至少一个数据块时的平均速度,播放设备建立至少一个数据块对应的TCP连接时信令交互的平均往返时延,以及播放设备建立至少一个数据块对应的HTTP连接时信令交互的平均往返时延。
由此,由于每个数据块下载之前,播放设备都会和服务器建立TCP连接和HTTP连接,因此在播放设备与服务器建立TCP连接和HTTP连接的过程中可以获取到信令交互的往返时延,并在数据块下载时获取到下载时的平均速度,以根据信令交互的往返时延和数据块下载时的平均速度表征当前的网络环境。
在一种可能的设计中,根据网络参数获取下一个数据块的大小包括:播放设备根据公式获取下一个数据块的大小,公式包括:BlockSize=(T*1000-D1-D2)*S/(8*1000),其中,BlockSize表示下一个数据块的大小,T表示预先设定的N个数据块中的每个数据块的下载时间,D1表示建立至少一个数据块对应的TCP连接时信令交互的平均往返时延,D2表示建立至少一个数据块对应的HTTP连接时信令交互的平均往返时延,S表示下载至少一个数据块时的平均速度。
由此,在播放器使用并发多连接下载数据块时,数据块不能过大或过小,在预定各种网络环境中数据块下载时间保持在T秒或T秒左右的情况下,根据当前的网络参数与预设的下载时间T可以获取下一个将要下载的数据块的大小,以使得下一个将要下载的数据块的下载时间尽量稳定在T秒左右,以提升播放器的播放流畅度。
在一种可能的设计中,至少一个数据块为下载下一个数据块之前,N个数据块中最近一次下载完成的数据块,记为第一数据块;下载至少一个数据块时的平均速度为下载第一数据块时的平均速度;建立至少一个数据块对应的TCP连接时信令交互的平均往返时延为建立第一数据块对应的TCP连接时信令交互的往返时延;建立至少一个数据块对应的HTTP连接时信令交互的平均往返时延为建立第一数据块对应的HTTP连接时信令交互的往返时延。
由此,当下载所述下一个数据块之前,N个数据块中最近一次下载完成的数据块即第一数据块下载完成时,可以获取到该第一数据块所在的单个连接下载数据块时的平均速度,和该第一数据块下载前的TCP连接的信令往返时间和HTTP连接的信令往返时延,以根据该第一数据块对应的网络参数表征的网络环境获取将要下载的下一数据块的数据块大小。
在一种可能的设计中,根据网络参数获取下一个数据块的大小包括:播放设备根据预设的网络参数与数据块大小的对应关系获取与网络参数对应的数据块大小为下一个数据块的大小。
由此,可以将网络参数与数据块大小的对应关系建立对应关系表,通过查表直接获取当前网络环境下的网络参数对应的数据块大小,使得并行下载的数据块的大小自适应于当前的网络环境。
另一方面,提供一种播放设备,包括:
获取单元,用于在并行从服务器下载文件的N个数据块时,获取N个数据块中的至少一个数据块在当前网络环境中下载时的网络参数;获取单元,还用于在N个数据块中任一数据块下载完成,并在开始下载N个数据块之后的下一个数据块之前,根据网络参数获取下一个数据块的大小;下载单元,用于根据下一个数据块的大小从服务器下载下一个数据块。
在一种可能的设计中,还包括:建立单元,用于在下载N个数据块之前,与服务器建立与N个数据块分别对应的传输控制协议TCP连接;建立单元,还用于与服务器建立与N个数据块分别对应的超文本传送协议HTTP连接;其中,网络参数包括下载至少一个数据块时的平均速度,播放设备建立至少一个数据块对应的TCP连接时信令交互的平均往返时延,以及播放设备建立至少一个数据块对应的HTTP连接时信令交互的平均往返时延。
在一种可能的设计中,获取单元用于:根据公式获取下一个数据块的大小,公式包括:BlockSize=(T*1000-D1-D2)*S/(8*1000),其中,BlockSize表示下一个数据块的大小,T表示预先设定的N个数据块中的每个数据块的下载时间,D1表示建立至少一个数据块对应的TCP连接信令交互的平均往返时延,D2表示建立至少一个数据块对应的HTTP连接时信令交互的平均往返时延,S表示下载至少一个数据块时的平均速度。
在一种可能的设计中,至少一个数据块为下载下一个数据块之前,N个数据块中最近一次下载完成的第一数据块;下载至少一个数据块时的平均速度为下载第一数据块时的平均速度;建立至少一个数据块对应的TCP连接时信令交互的平均往返时延为建立第一数据块对应的TCP连接时信令交互的往返时延;建立至少一个数据块对应的HTTP连接时信令交互的平均往返时延为建立第一数据块对应的HTTP连接时信令交互的往返时延。
在一种可能的设计中,获取单元用于:根据预设的网络参数与数据块大小的对应关系获取与网络参数对应的数据块大小为下一个数据块的大小。
本发明实施例提供一种文件下载方法和播放设备,播放设备在并行从服务器下载文件的N个数据块时,获取N个数据块中的至少一个数据块在当前网络环境中下载时的网络参数;播放设备在N个数据块中任一数据块下载完成,并在开始下载N个数据块之后的下一个数据块之前,根据网络参数获取下一个数据块的大小;播放设备根据下一个数据块的大小从服务器下载下一个数据块,这样,可以在播放设备下载数据块之前,根据网络环境变化,动态地调整待下载的数据块的大小,以有效提升播放器播放媒体文件时的流畅度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种多连接并发下载状态示意图;
图2为本发明实施例提供的一种多连接并发下载的网络结构示意图;
图3为本发明实施例提供的一种文件下载方法的流程示意图;
图4为本发明实施例提供的一种数据块下载的示意图;
图5为本发明实施例提供的一种播放设备的结构示意图;
图6为本发明实施例提供的一种播放设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示的多连接并发下载的网络结构示意图,播放设备可以与媒体服务器并行建立N个连接,用于并发下载数据块。具体在播放设备的播放器中可以相应地建立N个线程,每个线程与媒体服务器建立一个独立的连接,向媒体服务器请求对应的数据块。如图2中播放器建立有N个线程:线程1、线程2、线程3,…,线程N,每个线程对应一个连接:线程1对应连接1,线程2对应连接2,线程3对应连接3,…,线程N对应连接N。
针对现有技术中默认的每个连接下载的数据块的大小可能会导致播放不流畅的问题,本发明实施例提供一种文件下载方法,如图3所示,包括:
301、播放设备与服务器建立N个连接。
播放设备可以为个人计算机(Personal Computer,PC)、pad和手机等终端,服务器可以为媒体服务器,用于实现播放设备的各种业务所需的媒体资源功能。例如,播放设备中安装有用于播放音视频的播放器,可以从服务器端请求下载音视频文件后播放。
播放设备在需要并行从服务器下载数据块之前,可以先创建N个线程,通过该N个线程与服务器建立N个连接。具体地,播放设备在创建N个线程后,可以通过该N个线程与服务器建立N个TCP连接,具体通过播放设备与服务器通过TCP协议进行“三次握手”的信令交互完成TCP连接,而后,播放设备与服务器通过HTTP协议建立N个HTTP连接,HTTP协议是建立在TCP协议之上的一种应用,即在每个线程建立TCP连接后,并建立相应的HTTP连接,而后,播放设备通过该N个连接便可以从服务器下载N个连接相应的数据块了。其中,播放设备在从与服务器下载每个数据块之前,都需要与服务器建立相应的HTTP连接,即播放设备下载每个数据块时都会建立一次单独的HTTP连接,在处理完本次请求即下载本次数据块完成后,就自动释放该HTTP连接,而数据块下载之前的TCP连接可以在初次建立时只建立一次,也可以在下载每个数据块之前都建立一次TCP连接。
302、播放设备根据当前默认的参数确定每个连接待下载的数据块大小。
播放设备中可以预设有每个连接下载数据块时的数据块大小,例如预设每个数据块大小设为10M,播放设备在与服务器建立N个连接后,可以根据预设的数据块大小从服务器并行下载N个数据块;或者播放设备通过HTTP请求从服务器获取待下载的文件大小,并根据文件大小划分每个连接待下载的数据块大小,例如播放设备获取到待下载的文件大小为100M,当播放设备与服务器建立3个连接时,播放设备可以划分前3个数据块的大小分别为10M,并确定每个数据块的起始字节和结束字节,例如第1个连接用于下载文件的第0~10M的字节,第2个连接用于下载文件的第10M~20M的字节,第3个连接用于下载文件的第20M~30M的字节,前3个数据块下载了文件的0~(10M+10M+10M-1)内的字节。
303、播放设备在并行从服务器下载文件的N个数据块时,获取N个数据块中的至少一个数据块在当前网络环境中下载时的网络参数,N为大于或等于1的正整数。
该网络参数可以包括播放设备下载至少一个数据块时的平均速度,播放设备建立至少一个数据块对应的TCP连接时信令交互的平均往返时延,以及播放设备建立至少一个数据块对应的HTTP连接时信令交互的平均往返时延。例如,N为5时,播放设备可以并行下载5个数据块,播放设备可以记录下载该5个数据块时的平均速度,建立5个TCP连接时信令交互的平均往返时延,以及建立5个HTTP连接时信令交互的平均往返时延,或者,播放设备记录其中3个数据块下载时的平均速度,建立该3个TCP连接时信令交互的平均往返时延,以及建立3个HTTP连接时信令交互的平均往返时延。
示例性的,当播放设备记录了5个数据块中的3个数据块的网络参数时,假设3个数据块大小分别为10M,该3个数据块下载时的平均速度可以为在预设时间段内每个数据块已下载的数据大小与预设时间的比值的平均值,单位为bps。例如记录的3个数据块中的第1个数据块在2s内下载了2M,第2个数据块在2s内下载了3M,第3个数据块在2s内下载了4M,那么这3个数据块下载的平均速度可以为(2/2+3/2+4/2)/3=1.5,即1.5Mbps;建立该3个TCP连接时信令交互的平均往返时延,可以是建立3个TCP连接信令交互的时延的平均值,单位为ms,每个TCP连接信令交互包括播放设备与服务器之间进行“三次握手”的信令交互;建立该3个HTTP连接时信令交互的平均往返时延,可以是3个HTTP连接信令交互的时延的平均值,单位为ms,每个HTTP连接信令交互包括播放设备发送HTTP请求与接收到服务器端的响应的信令交互。
可选的,也可以仅获取N个连接中单个连接的网络参数,例如上述至少一个数据块为下载下一个数据块之前,N个数据块中最近一次下载完成的第一数据块;上述下载至少一个数据块时的平均速度为下载第一数据块时的平均速度;上述建立至少一个数据块对应的TCP连接时信令交互的平均往返时延为建立第一数据块对应的TCP连接时信令交互的往返时延;上述建立至少一个数据块对应的HTTP连接时信令交互的平均往返时延为建立第一数据块对应的HTTP连接时信令交互的往返时延。
其中,平均速度为第一数据块的大小与下载的第一数据块的时间的比值,或平均速度为第一数据块在预设时间段内已下载的数据块大小与预设时间段的比值。
304、播放设备在N个数据块中任一数据块下载完成,并在开始下载N个数据块之后的下一个数据块之前,根据网络参数获取下一个数据块的大小。
当N个数据块中的任一数据块下载完成时,该任一数据块所对应的线程处于空闲状态,这时就可以根据该线程对应的连接从服务器继续获取下一个数据块,例如图4为本发明提供的一种数据块下载的示意图,N为5,播放设备并行下载文件的前5个数据块时,若5个连接中的第2个连接对应的数据块下载完成时,播放设备可以在第2个连接中继续下载第N+1个即第6个数据块。这里的任一数据块指下载第N+1个数据块之前,N个数据块中最近一次下载完成的数据块。但是,在开始下载N个数据块之后的下一个数据块之前,需要先根据网络参数获取下一个数据块的大小,即第6个数据块的大小是根据前5个数据块中的至少一个数据块的网络参数反映出的当前的网络状况确定的。
具体地,在播放设备使用并发多连接下载数据块时,数据块不能过大或过小,每个数据块的下载时间不能太长,假设预期在各种网络环境中使得数据块下载的时间保持在Ts左右时,可以从一定程度上缓解播放设备划分的数据块过大或过小的问题,假设播放设备使用HTTP协议下载数据块,播放设备可以根据公式获取下一个数据块的大小,该公式包括:
BlockSize=(T*1000-D1-D2)*S/(8*1000),其中,BlockSize表示下一个数据块的大小,T表示预先设定的N个数据块中的每个数据块的下载时间,D1表示建立至少一个数据块对应的TCP连接时信令交互的平均往返时延,D2表示建立至少一个数据块对应的HTTP连接时信令交互的平均往返时延,S表示下载至少一个数据块时的平均速度。
该公式的推导如下:
当预期的数据块下载的时间为Ts时,换算为ms即为T*1000,即数据块下载的总时间为(T*1000)ms,将下一个数据块的大小表示为
BlockSize,单位为字节时,则换算为比特为(BlockSize*8)bps,再除以网络参数中数据块下载的平均速度,即BlockSize*8/S,可得到下一个数据块下载过程中的时间,而后再换算为ms即为BlockSize*8*1000/S,数据块下载过程中的时间加上建立TCP连接信令交互的平均往返时延和建立HTTP连接时信令交互的平均往返时延,即BlockSize*8*1000/S+D1+D2为数据块下载的总时间(T*1000),即BlockSize*8*1000/S+D1+D2=
T*1000,因此可得到下一个数据块大小BlockSize=(T*1000-D1-D2)*S/(8*1000)。
可选的,也可以将网络参数与数据块大小的对应关系根据实验数据建立对应关系表,当获取到网络参数时,可通过查表获取下一个数据块的大小,本发明不做限定。
305、播放设备根据下一个数据块的大小从服务器下载下一个数据块。
当播放设备根据获取到的网络参数确定了下一个数据块的大小时,便可以根据已下载完成的数据块所在的线程与服务器建立TCP连接和HTTP连接,从而下载得到取下一个数据块。
从上述公式可以看出,在带宽高的用户中,由于其建立TCP连接和HTTP连接的时延会相对小,单个连接的下载速度会相对高,因此,获取到的数据块大小会相对大;在带宽低的用户中,其建立TCP连接和HTTP连接的时延会相对大,单个连接的下载速度会相对低,因此,获取到的数据块大小会相对小。即时在同一用户中如果出现网络波动,数据块大小也会随网络环境进行调整,但是数据块的下载时间将会始终稳定在Ts左右,这样,可使得数据块大小随网络环境进行调整使得播放流畅。
因此,本发明实施例提供一种文件下载方法,播放设备在并行从服务器下载文件的N个数据块时,获取N个数据块中的至少一个数据块在当前网络环境中下载时的网络参数;播放设备在N个数据块中任一数据块下载完成,并在开始下载N个数据块之后的下一个数据块之前,根据网络参数获取下一个数据块的大小;播放设备根据下一个数据块的大小从服务器下载下一个数据块,这样,可以在播放设备下载数据块之前,根据网络环境变化,动态地调整待下载的数据块的大小,以有效提升播放器播放媒体文件时的流畅度。
本发明实施例还提供一种播放设备5,如图5所示,包括:
获取单元501,用于在并行从服务器下载文件的N个数据块时,获取N个数据块中的至少一个数据块在当前网络环境中下载时的网络参数,N为大于或等于1的正整数;
获取单元501,还用于在N个数据块中任一数据块下载完成,并在开始下载N个数据块之后的下一个数据块之前,根据网络参数获取下一个数据块的大小;
下载单元502,用于根据下一个数据块的大小从服务器下载下一个数据块。
可选的,还包括:
建立单元503,用于在下载N个数据块之前,与服务器建立与N个数据块分别对应的传输控制协议TCP连接;
建立单元503,还用于与服务器建立与N个数据块分别对应的超文本传送协议HTTP连接;
其中,网络参数包括下载至少一个数据块时的平均速度,播放设备建立至少一个数据块对应的TCP连接时信令交互的平均往返时延,以及播放设备建立至少一个数据块对应的HTTP连接时信令交互的平均往返时延。
可选的,获取单元501用于:
根据公式获取下一个数据块的大小,公式包括:
BlockSize=(T*1000-D1-D2)*S/(8*1000)
其中,BlockSize表示下一个数据块的大小,T表示预先设定的N个数据块中的每个数据块的下载时间,D1表示建立至少一个数据块对应的TCP连接信令交互的平均往返时延,D2表示建立至少一个数据块对应的HTTP连接时信令交互的平均往返时延,S表示下载至少一个数据块时的平均速度。
可选的,至少一个数据块为下载下一个数据块之前,N个数据块中最近一次下载完成的第一数据块;
下载至少一个数据块时的平均速度为下载第一数据块时的平均速度;
建立至少一个数据块对应的TCP连接时信令交互的平均往返时延为建立第一数据块对应的TCP连接时信令交互的往返时延;
建立至少一个数据块对应的HTTP连接时信令交互的平均往返时延为建立第一数据块对应的HTTP连接时信令交互的往返时延。
可选的,获取单元501用于:根据预设的网络参数与数据块大小的对应关系获取与网络参数对应的数据块大小为下一个数据块的大小。
本发明实施例提供一种播放设备,播放设备在并行从服务器下载文件的N个数据块时,获取N个数据块中的至少一个数据块在当前网络环境中下载时的网络参数;播放设备在N个数据块中任一数据块下载完成,并在开始下载N个数据块之后的下一个数据块之前,根据网络参数获取下一个数据块的大小;播放设备根据下一个数据块的大小从服务器下载下一个数据块,这样,可以在播放设备下载数据块之前,根据网络环境变化,动态地调整待下载的数据块的大小,以有效提升播放器播放媒体文件时的流畅度。
如6为本发明实施例提供的一种播放设备6的结构示意图,包括:存储器161、处理器162、接收器163以及发射器164。处理器162用于对播放设备的动作进行控制管理。例如,处理器162用于支持播放设备执行图3中的过程301~305,和/或用于本发明实施例中所描述的技术的其它过程。存储器161用于存储播放设备的程序代码和数据。网络接口用于支持播放设备与其它网络实体的通信,包括接收器163和发射器164。例如,网络接口用于支持播放设备与服务器进行通信。
具体地,处理器162执行本发明实施例可用于在并行从服务器下载文件的N个数据块时,获取N个数据块中的至少一个数据块在当前网络环境中下载时的网络参数,N为大于或等于1的正整数;处理器162执行本发明实施例可用于在N个数据块中任一数据块下载完成,并在开始下载N个数据块之后的下一个数据块之前,根据网络参数获取下一个数据块的大小;接收器163执行本发明实施例可用于根据下一个数据块的大小从服务器下载下一个数据块。
处理器162相当于图5所示的实施例中的获取单元501,其具体实现方式可参见处理单元501,接收器163相当于图5所示的实施例中的下载单元502,其具体实现方式可参见下载单元502。
本发明实施例提供一种播放设备,播放设备在并行从服务器下载文件的N个数据块时,获取N个数据块中的至少一个数据块在当前网络环境中下载时的网络参数;播放设备在N个数据块中任一数据块下载完成,并在开始下载N个数据块之后的下一个数据块之前,根据网络参数获取下一个数据块的大小;播放设备根据下一个数据块的大小从服务器下载下一个数据块,这样,可以在播放设备下载数据块之前,根据网络环境变化,动态地调整待下载的数据块的大小,以有效提升播放器播放媒体文件时的流畅度。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种文件下载方法,其特征在于,包括:
所述播放设备在并行从服务器下载文件的N个数据块时,获取所述N个数据块中的至少一个数据块在当前网络环境中下载时的网络参数,N为大于或等于1的正整数;
所述播放设备在所述N个数据块中任一数据块下载完成,并在开始下载所述N个数据块之后的下一个数据块之前,根据所述网络参数获取所述下一个数据块的大小;
所述播放设备根据所述下一个数据块的大小从所述服务器下载所述下一个数据块。
2.根据权利要求1所述的方法,其特征在于,在所述播放设备并行从服务器下载所述文件的N个数据块之前,所述方法还包括:
在下载所述N个数据块之前,所述播放设备与所述服务器建立与所述N个数据块分别对应的传输控制协议TCP连接;
所述播放设备与所述服务器建立与所述N个数据块分别对应的超文本传送协议HTTP连接;
其中,所述网络参数包括下载所述至少一个数据块时的平均速度,所述播放设备建立所述至少一个数据块对应的TCP连接时信令交互的平均往返时延,以及所述播放设备建立所述至少一个数据块对应的HTTP连接时信令交互的平均往返时延。
3.根据权利要求2所述的方法,其特征在于,所述根据所述网络参数获取所述下一个数据块的大小包括:
所述播放设备根据公式获取所述下一个数据块的大小,所述公式包括:
BlockSize=(T*1000-D1-D2)*S/(8*1000)
其中,BlockSize表示所述下一个数据块的大小,T表示预先设定的所述N个数据块中的每个数据块的下载时间,D1表示建立所述至少一个数据块对应的TCP连接时信令交互的平均往返时延,D2表示建立所述至少一个数据块对应的HTTP连接时信令交互的平均往返时延,S表示下载所述至少一个数据块时的平均速度。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述至少一个数据块为下载所述下一个数据块之前,所述N个数据块中最近一次下载完成的第一数据块;
所述下载所述至少一个数据块时的平均速度为下载所述第一数据块时的平均速度;
所述建立所述至少一个数据块对应的TCP连接时信令交互的平均往返时延为建立所述第一数据块对应的TCP连接时信令交互的往返时延;
所述建立所述至少一个数据块对应的HTTP连接时信令交互的平均往返时延为建立所述第一数据块对应的HTTP连接时信令交互的往返时延。
5.根据权利要求2所述的方法,其特征在于,所述根据所述网络参数获取所述下一个数据块的大小包括:
所述播放设备根据预设的网络参数与数据块大小的对应关系获取与所述网络参数对应的数据块大小为所述下一个数据块的大小。
6.一种播放设备,其特征在于,包括:
获取单元,用于在并行从服务器下载文件的N个数据块时,获取所述N个数据块中的至少一个数据块在当前网络环境中下载时的网络参数,N为大于或等于1的正整数;
所述获取单元,还用于在所述N个数据块中任一数据块下载完成,并在开始下载所述N个数据块之后的下一个数据块之前,根据所述网络参数获取所述下一个数据块的大小;
下载单元,用于根据所述下一个数据块的大小从所述服务器下载所述下一个数据块。
7.根据权利要求6所述的播放设备,其特征在于,还包括:
建立单元,用于在下载所述N个数据块之前,与所述服务器建立与所述N个数据块分别对应的传输控制协议TCP连接;
所述建立单元,还用于与所述服务器建立与所述N个数据块分别对应的超文本传送协议HTTP连接;
其中,所述网络参数包括下载所述至少一个数据块时的平均速度,所述播放设备建立所述至少一个数据块对应的TCP连接时信令交互的平均往返时延,以及所述播放设备建立所述至少一个数据块对应的HTTP连接时信令交互的平均往返时延。
8.根据权利要求7所述的播放设备,其特征在于,所述获取单元用于:
根据公式获取所述下一个数据块的大小,所述公式包括:
BlockSize=(T*1000-D1-D2)*S/(8*1000)
其中,BlockSize表示所述下一个数据块的大小,T表示预先设定的所述N个数据块中的每个数据块的下载时间,D1表示建立所述至少一个数据块对应的TCP连接信令交互的平均往返时延,D2表示建立所述至少一个数据块对应的HTTP连接时信令交互的平均往返时延,S表示下载所述至少一个数据块时的平均速度。
9.根据权利要求6-8任一项所述的播放设备,其特征在于,所述至少一个数据块为下载所述下一个数据块之前,所述N个数据块中最近一次下载完成的第一数据块;
所述下载所述至少一个数据块时的平均速度为下载所述第一数据块时的平均速度;
所述建立所述至少一个数据块对应的TCP连接时信令交互的平均往返时延为建立所述第一数据块对应的TCP连接时信令交互的往返时延;
所述建立所述至少一个数据块对应的HTTP连接时信令交互的平均往返时延为建立所述第一数据块对应的HTTP连接时信令交互的往返时延。
10.根据权利要求9所述的播放设备,其特征在于,所述获取单元用于:根据预设的网络参数与数据块大小的对应关系获取与所述网络参数对应的数据块大小为所述下一个数据块的大小。
CN201610370054.6A 2016-05-27 2016-05-27 一种文件下载方法和播放设备 Active CN106101184B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610370054.6A CN106101184B (zh) 2016-05-27 2016-05-27 一种文件下载方法和播放设备
EP17172997.3A EP3249891B1 (en) 2016-05-27 2017-05-26 File download method and play device
US15/608,078 US20170346890A1 (en) 2016-05-27 2017-05-30 File Download Method and Play Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610370054.6A CN106101184B (zh) 2016-05-27 2016-05-27 一种文件下载方法和播放设备

Publications (2)

Publication Number Publication Date
CN106101184A true CN106101184A (zh) 2016-11-09
CN106101184B CN106101184B (zh) 2019-10-22

Family

ID=57229414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610370054.6A Active CN106101184B (zh) 2016-05-27 2016-05-27 一种文件下载方法和播放设备

Country Status (3)

Country Link
US (1) US20170346890A1 (zh)
EP (1) EP3249891B1 (zh)
CN (1) CN106101184B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109617959A (zh) * 2018-12-07 2019-04-12 深圳市网心科技有限公司 一种数据加载方法、装置、系统以及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3928196A1 (en) * 2019-02-22 2021-12-29 Netflix, Inc. Adaptive retrieval of objects from remote storage
CN110855759A (zh) * 2019-10-29 2020-02-28 广州西山居世游网络科技有限公司 一种动态调整游戏下载方法及系统
CN113992660A (zh) * 2021-10-29 2022-01-28 维沃移动通信有限公司 文件传输方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101166190A (zh) * 2007-09-20 2008-04-23 腾讯科技(深圳)有限公司 影音文件的多源下载方法及装置
CN101888664A (zh) * 2010-06-25 2010-11-17 陶洋 无线自组织网络中视频多路并行传送方法
US20110213827A1 (en) * 2010-02-26 2011-09-01 Telenor Asa Data segmentation, request and transfer method
US20130095806A1 (en) * 2011-10-12 2013-04-18 Motorola Mobility, Inc. Method for retrieving content by a wireless communication device having first and secod radio access interfaces, wireless communication device and communication system
CN105323856A (zh) * 2015-09-30 2016-02-10 刘运成 一种基于无线资源划分的异构网络数据融合方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606643B1 (en) * 2000-01-04 2003-08-12 International Business Machines Corporation Method of automatically selecting a mirror server for web-based client-host interaction
US6920110B2 (en) * 2001-02-14 2005-07-19 Microsoft Corporation System and method for transferring data over a network
US6928471B2 (en) * 2001-05-07 2005-08-09 Quest Software, Inc. Method and apparatus for measurement, analysis, and optimization of content delivery
US8589508B2 (en) * 2005-04-07 2013-11-19 Opanga Networks, Inc. System and method for flow control in an adaptive file delivery system
US9282135B2 (en) * 2010-10-29 2016-03-08 Israel L'Heureux Enhanced computer networking via multi-connection object retrieval
US9894117B2 (en) * 2013-10-09 2018-02-13 Cisco Technology, Inc. File transfers for virtual conferences

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101166190A (zh) * 2007-09-20 2008-04-23 腾讯科技(深圳)有限公司 影音文件的多源下载方法及装置
US20110213827A1 (en) * 2010-02-26 2011-09-01 Telenor Asa Data segmentation, request and transfer method
CN101888664A (zh) * 2010-06-25 2010-11-17 陶洋 无线自组织网络中视频多路并行传送方法
US20130095806A1 (en) * 2011-10-12 2013-04-18 Motorola Mobility, Inc. Method for retrieving content by a wireless communication device having first and secod radio access interfaces, wireless communication device and communication system
CN105323856A (zh) * 2015-09-30 2016-02-10 刘运成 一种基于无线资源划分的异构网络数据融合方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109617959A (zh) * 2018-12-07 2019-04-12 深圳市网心科技有限公司 一种数据加载方法、装置、系统以及存储介质

Also Published As

Publication number Publication date
CN106101184B (zh) 2019-10-22
US20170346890A1 (en) 2017-11-30
EP3249891B1 (en) 2019-05-08
EP3249891A1 (en) 2017-11-29

Similar Documents

Publication Publication Date Title
CN106101184A (zh) 一种文件下载方法和播放设备
CN109508246A (zh) 日志记录方法、系统和计算机可读存储介质
CN105487987B (zh) 一种处理并发顺序读io的方法及装置
CN107147921A (zh) 基于切片与智能cdn调度的视频播放加速方法和设备
CN103430489A (zh) 内容分发网络中文件下载方法、装置和系统
CN107247629A (zh) 云计算系统及用于控制服务器的云计算方法和装置
CN106161256A (zh) 一种边界网关协议bgp路由的处理方法及装置
CN108540400A (zh) 一种数据传输控制方法、控制装置、终端及可读存储介质
CN109902059A (zh) 一种cpu与gpu之间的数据传输方法
CN115858184B (zh) 一种rdma内存管理方法、装置、设备及介质
CN113645150A (zh) 传输速率控制方法、装置、电子设备和可读存储介质
CN115102908B (zh) 基于带宽控制的网络报文生成的方法以及相关装置
CN109656836A (zh) 一种数据处理方法及装置
CN108494702B (zh) 传输控制方法和装置、存储介质及电子装置
CN113626221B (zh) 一种消息入队方法及装置
CN104170315A (zh) 用于分配带宽的方法和视频网关
CN110489468A (zh) 一种数据报表的导出方法、装置及服务器
CN103607468A (zh) 一种上传文件的方法及终端
CN109815687A (zh) 账户管理方法及装置
CN105656794B (zh) 数据分发方法、装置及计算机可读存储介质
CN111885564B (zh) 数据传输方法、设备升级方法、计算机可读的存储介质
CN110874284A (zh) 数据处理的方法和装置
CN108833200A (zh) 一种大数据文件自适应单向传输方法及装置
CN108521382A (zh) 一种消息发送方法、装置及系统
CN104767801B (zh) 一种两线程ftp的传输方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211122

Address after: 215010 room 704, building 5, No. 556, Changjiang Road, high tech Zone, Suzhou, Jiangsu

Patentee after: SUZHOU YUDESHUI ELECTRICAL TECHNOLOGY Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240531

Address after: Room 501, Research and Innovation Building, High tech Zone, Yancheng City, Jiangsu Province, 224000

Patentee after: Jiangsu Zhongkong Puhui Information Technology Co.,Ltd.

Country or region after: China

Address before: 215010 room 704, building 5, No. 556, Changjiang Road, high tech Zone, Suzhou, Jiangsu

Patentee before: SUZHOU YUDESHUI ELECTRICAL TECHNOLOGY Co.,Ltd.

Country or region before: China