流媒体文件的播放方法及装置转让专利

申请号 : CN201310443059.3

文献号 : CN104092714B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 傅鸿城张庆

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明公开了一种流媒体文件的播放方法及装置,涉及互联网技术领域,能够解决因重建HTTP长连接导致的切换时延过长的问题。本发明的方法包括:向网络侧服务器请求建立超文本传输协议(HTTP)长连接;建立主长连接和辅HTTP长连接;通过所述主HTTP长连接接收所述网络侧服务器发送的第一流媒体数据;保持所述辅HTTP长连接与所述网络侧服务器的连接状态;当接收到播放切换指令时,断开所述主HTTP长连接,并通过辅HTTP长连接接收所述网络侧服务器发送的第二流媒体数据。本发明主要应用于音乐在线播放的过程中。

权利要求 :

1.一种流媒体文件的播放方法,其特征在于,包括:向网络侧服务器请求建立超文本传输协议(HTTP)长连接;

建立主HTTP长连接和辅HTTP长连接;

通过所述主HTTP长连接接收所述网络侧服务器发送的第一流媒体数据;

保持所述辅HTTP长连接与所述网络侧服务器的连接状态;

当接收到播放切换指令时,断开所述主HTTP长连接,并通过辅HTTP长连接接收所述网络侧服务器发送的第二流媒体数据。

2.根据权利要求1所述的方法,其特征在于,所述建立辅HTTP长连接的步骤,包括:在建立所述主HTTP长连接时,后台建立所述辅HTTP长连接。

3.根据权利要求1所述的方法,其特征在于,所述建立辅HTTP长连接的步骤,包括:在所述主HTTP长连接建立完成后,在根据用户行为习惯的学习结果确定的特定时间点上,建立所述辅HTTP长连接。

4.根据权利要求1所述的方法,其特征在于,所述保持所述辅HTTP长连接与所述网络侧服务器的连接状态的步骤,包括:通过所述辅HTTP长连接定期向所述网络侧服务器发送握手报文,发送所述握手报文的时间间隔短于HTTP长连接的超时时长。

5.根据权利要求1所述的方法,其特征在于,所述当接收到播放切换指令时,断开所述主HTTP长连接,并通过辅HTTP长连接接收所述网络侧服务器发送的第二流媒体数据包括:判断所述第一流媒体数据是否接收完毕,得出判断结果;

若所述判断结果为是,则通过所述主HTTP长连接继续接收所述第二流媒体数据;

若所述判断结果为否,则断开所述主HTTP长连接,并通过所述辅HTTP长连接接收所述第二流媒体数据。

6.根据权利要求1所述的方法,其特征在于,在通过所述辅HTTP长连接接收所述第二流媒体数据的过程中,所述方法进一步包括:为接收所述第二流媒体数据的辅HTTP长连接建立二级辅HTTP长连接。

7.一种流媒体文件的播放装置,其特征在于,包括:连接建立请求单元,用于向网络侧服务器请求建立超文本传输协议(HTTP)长连接;

连接建立单元,用于建立主HTTP长连接和辅HTTP长连接;

连接控制单元,用于控制通过所述连接建立单元建立的所述主HTTP长连接接收网络侧服务器发送的第一流媒体数据;

状态控制单元,用于控制保持所述连接建立单元建立的所述辅HTTP长连接与所述网络侧服务器的连接状态;

指令接收单元,用于接收播放切换指令;

所述连接控制单元还用于当所述指令接收单元接收到所述播放切换指令时,断开所述主HTTP长连接,通过所述状态控制单元控制保持连接状态的辅HTTP长连接接收所述网络侧服务器发送的第二流媒体数据。

8.根据权利要求7所述的装置,其特征在于,所述连接建立单元,包括:第一建立子单元,用于在建立所述主HTTP长连接时,后台建立所述辅HTTP长连接。

9.根据权利要求7所述的装置,其特征在于,所述连接建立单元,还包括:第二建立子单元,用于在所述主HTTP长连接建立完成后,根据用户行为习惯的学习结果确定特定时间点,后台建立所述辅HTTP长连接。

10.根据权利要求7所述的装置,其特征在于,所述状态控制单元用于通过所述辅HTTP长连接定期向所述网络侧服务器发送握手报文,发送所述握手报文的时间间隔短于HTTP长连接的超时时长。

11.一种流媒体文件的播放装置,其特征在于,包括:连接建立请求单元,用于向网络侧服务器请求建立超文本传输协议(HTTP)长连接;

连接建立单元,用于建立主HTTP长连接和辅HTTP长连接;

连接控制单元,用于控制通过所述连接建立单元建立的所述主HTTP长连接接收网络侧服务器发送的第一流媒体数据;

状态控制单元,用于控制保持所述连接建立单元建立的所述辅HTTP长连接与所述网络侧服务器的连接状态;

指令接收单元,用于接收播放切换指令;

判断单元,用于在所述指令接收单元接收到播放切换指令后,判断所述第一流媒体数据是否接收完毕,得出判断结果;

所述连接控制单元还用于当所述判断单元的判断结果为是时,通过所述主HTTP长连接继续接收所述第二流媒体数据;

所述连接控制单元还用于当所述判断结果为否时,断开所述主HTTP长连接,通过所述辅HTTP长连接接收所述第二流媒体数据。

说明书 :

流媒体文件的播放方法及装置

技术领域

[0001] 本发明涉及互联网技术领域,尤其涉及一种流媒体文件的播放方法及装置。

背景技术

[0002] 流媒体(Streaming Media,简称SM)技术是一种将一连串媒体数据包顺序进行压缩并分段发送给终端的数据传输技术。终端如同流水线一样顺序接收多个流媒体数据包并依次进行解压缩播放,与普通的“先下载,后播放”的播放模式相比,流媒体技术能够实现音视频文件的在线播放。
[0003] 在播放流媒体文件时,本地终端需要发起超文本传输协议(HyperText Transfer Protocol,简称HTTP)连接,向网络侧服务器上报对流媒体文件的HTTP请求。终端在建立HTTP连接时对应建立一个底层的传输控制协议(Transmission Control Protocol,简称TCP)连接,用以支持上层HTTP的数据传输。通常用户在上网时,终端会不停的发起HTTP请求,一次HTTP请求对应一次HTTP连接,终端通过不同的HTTP请求获取不同的数据资源。例如,终端首先发起HTTP连接1请求某门户网站的首页页面,然后断开HTTP连接1,建立HTTP连接2请求首页页面链接的视频子页面,接着终端断开HTTP连接2,建立HTTP连接3请求视频子页面中的某个视频文件。
[0004] 这种数据请求方式需要频繁发起并断开HTTP连接,对本地终端的处理资源以及网络侧服务器的信令开销占用较多,同时由于在HTTP的断开和新HTTP的连接之间存在时延,因此终端获取数据的时间间隔较大,影响用户使用。基于这种缺陷,目前出现了一种改进型的数据请求方式,称为HTTP长连接(HTTP Keep-alive),这种数据请求方式能够在首次发起HTTP请求时建立HTTP连接和TCP连接,并且在HTTP请求结束后仍保持HTTP连接以便终端发起下一个HTTP请求,从而实现基于一次HTTP连接的多次HTTP请求,继而提高了HTTP请求的性能,能够减少相关资源的开销。
[0005] 在通过HTTP长连接播放流媒体文件的过程中,发明人发现,由于流媒体文件的播放形式为在线播放,终端请求流媒体数据包的过程贯穿于文件播放始终,因此如果用户在播放当前流媒体文件时切换播放另一流媒体文件,则在当前流媒体数据包传输完毕之前,终端无法中止当前HTTP请求的传输过程,进而无法发起针对下一个流媒体文件的HTTP请求。终端只能断开HTTP长连接并建立新的HTTP长连接来请求另一流媒体文件的流媒体数据包。这种处理方式实际上仍是对HTTP连接的重新建立,需要重新建立底层的TCP连接,两次连接之间的时间间隔较长,需要用户等待较长的时间,特别是对于2G或3G的移动终端用户而言,等待时间远远超过服务质量(Quality of Service,简称QoS)中的标准要求。
[0006] 此外,为解决重新建立HTTP长连接对时延的影响,目前部分技术方案还通过基于底层的TCP协议代替上层HTTP协议请求流媒体数据。但是TCP协议属于私有协议,不如HTTP协议通用,网络侧服务器与本地终端之间、网络侧服务器站点与站点之间的TCP协议不尽相同,容易导致本地终端因协议不同而对网络侧服务器的HTTP响应进行防火拦截,使得流媒体数据包传输失败。并且在网络资源平台化的趋势下,协议兼容性差的缺陷会严重影响第三方开发商与资源平台之间的数据流通,阻碍资源共享进程的发展。

发明内容

[0007] 本发明实施例提供一种流媒体文件的播放方法及装置,能够解决因重建HTTP长连接导致的切换时延过长的问题。
[0008] 一方面,本发明实施例提供了一种流媒体文件的播放方法,包括:
[0009] 向网络侧服务器请求建立超文本传输协议(HTTP)长连接;
[0010] 建立主HTTP长连接和辅HTTP长连接;
[0011] 通过所述主HTTP长连接接收所述网络侧服务器发送的第一流媒体数据;
[0012] 保持所述辅HTTP长连接与所述网络侧服务器的连接状态;
[0013] 当接收到播放切换指令时,断开所述主HTTP长连接,并通过辅HTTP长连接接收所述网络侧服务器发送的第二流媒体数据。
[0014] 另一方面,本发明实施例还提供了一种流媒体文件的播放装置,包括:
[0015] 连接建立请求单元,用于向网络侧服务器请求建立超文本传输协议(HTTP)长连接;
[0016] 连接建立单元,用于建立主HTTP长连接和辅HTTP长连接;
[0017] 连接控制单元,用于控制通过所述连接建立单元建立的所述主HTTP长连接接收网络侧服务器发送的第一流媒体数据;
[0018] 状态控制单元,用于控制保持所述连接建立单元建立的所述辅HTTP长连接与所述网络侧服务器的连接状态;
[0019] 指令接收单元,用于接收播放切换指令;
[0020] 所述连接控制单元还用于当所述指令接收单元接收到所述播放切换指令时,断开所述主HTTP长连接,通过所述状态控制单元控制保持连接状态的辅HTTP长连接接收所述网络侧服务器发送的第二流媒体数据。
[0021] 本发明实施例提供的流媒体文件的播放方法及装置,除能够为当前需要请求的第一流媒体数据建立主HTTP长连接以外,还可以建立辅HTTP长连接以备后用。在通过主HTTP长连接接收第一流媒体数据的过程中保持辅HTTP长连接与网络侧服务器的连接状态。当接收到请求第二流媒体数据的播放切换指令时,直接断开主HTTP长连接,并通过辅HTTP长连接来接收网络侧服务器发送的第二流媒体数据。由于辅HTTP长连接是在主HTTP长连接请求第一流媒体数据的过程中通过后台线程建立的,因此对第一流媒体文件的播放并不产生影响,同时与现有技术中在用户进行播放切换操作后建立新的HTTP长连接相比,可以在需要新的HTTP长连接时直接使用已建立的辅HTTP长连接,从而节省临时建立HTTP长连接的耗时,进而缩短流媒体文件的切换时延。

附图说明

[0022] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023] 图1为现有技术中终端接收并播放流媒体文件的示意图;
[0024] 图2为本发明实施例中流媒体文件的播放方法的流程图;
[0025] 图3为本发明实施例中另一个流媒体文件的播放方法的流程图;
[0026] 图4为本发明实施例中终端建立主辅HTTP长连接的示意图;
[0027] 图5为本发明实施例中终端通过辅HTTP长连接向网络侧服务器发送定期发送握手报文的示意图;
[0028] 图6为本发明实施例中第一个流媒体文件的播放装置的结构示意图;
[0029] 图7为本发明实施例中第二个流媒体文件的播放装置的结构示意图;
[0030] 图8为本发明实施例中第三个流媒体文件的播放装置的结构示意图。

具体实施方式

[0031] 下面将结合本实施例中的附图,对本实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0032] 为便于对本发明实施例进行说明,首先对终端通过HTTP长连接获取并播放流媒体文件的过程进行简要介绍。
[0033] 如图1所示,当用户选择在线播放歌曲《祖国颂》时,终端建立一个HTTP长连接,向网络侧服务器发送HTTP请求,请求歌曲《祖国颂》的流媒体文件。网络侧服务器在从数据库中获取到歌曲《祖国颂》的流媒体文件后,将该流媒体文件切分为多个流媒体数据包,然后顺序对多个流媒体数据包进行编码压缩发送给终端。终端在接收到第一个压缩数据包后(有时出于播放流畅性的考虑会在接收到几个压缩数据包后),开始对接收到的压缩数据包进行解压缩和解码操作,然后对解码后的流媒体数据包进行播放,由此形成边接收流媒体数据包边播放的在线播放模式。
[0034] 当歌曲《祖国颂》播放完毕后(此时对应的流媒体数据包也传输完毕),用户选择播放另一首歌曲《让世界充满爱》,则终端可以在不断开HTTP长连接的情况下,通过已建立的HTTP长连接向网络侧服务器发起另一个HTTP请求,请求歌曲《让世界充满爱》的流媒体数据包进行播放。但是对于用户在歌曲播放完毕之前切换播放其他歌曲的情况,由于歌曲《祖国颂》播放完毕前对应的流媒体数据包也未传输完毕,终端无法断开歌曲《祖国颂》的HTTP请求,因此只能断开当前的HTTP长连接,停止歌曲《祖国颂》流媒体数据包的传输,然后建立新的HTTP长连接向网络侧服务器请求歌曲《让世界充满爱》的流媒体数据包。通常建立HTTP长连接的耗时较长,对于2G网络中的移动终端而言,目前的测试结果显示建立HTTP长连接的平均耗时为7000毫秒,也就是说从进行播放切换操作到播放下一首歌曲《让世界充满爱》之间用户至少需要等待7秒的时间,这个量级的耗时无论对于运营商还是对于用户而言,显然都是难以接收的。
[0035] 为缩短流媒体文件的切换耗时,本实施例提供了一种流媒体文件的播放方法,该方法可以应用于电脑、手机、平板电脑等终端设备中,效果较为显著的,该方法优选应用于手机、平板电脑等通过无线通讯方式与网络侧服务器进行数据交互的移动设备中。如图2所示,该方法包括:
[0036] 201、向网络侧服务器请求建立HTTP长连接。
[0037] 202、建立主HTTP长连接和辅HTTP长连接。
[0038] 在第一次播放流媒体文件时,终端为该流媒体数据的获取建立一条主HTTP长连接,同时再建立至少一条备用的辅HTTP长连接。
[0039] 本实施例中,终端建立的辅HTTP长连接数量可以为一条也可以为多条,当用户同时播放多个流媒体文件时(例如在线播放一首歌曲并同时播放某网页上的视频),终端为每一条主HTTP长连接建立一条或多条辅HTTP长连接,本实施例对终端建立的辅HTTP长连接数量不做限制。
[0040] 203、通过主HTTP长连接接收网络侧服务器发送的第一流媒体数据。
[0041] 在建立主HTTP长连接后,终端通过建立好的主HTTP长连接向网络侧服务器发送HTTP请求,请求首次播放流媒体文件对应的第一流媒体数据。
[0042] 204、保持辅HTTP长连接与网络侧服务器的连接状态。
[0043] 在建立辅HTTP长连接之后,终端通过后台线程的运行对辅HTTP长连接进行维护,使之保持与网络侧服务器的连接状态。
[0044] 205、当接收到播放切换指令时,断开主HTTP长连接,并通过辅HTTP长连接接收网络侧服务器发送的第二流媒体数据。
[0045] 当接收到用于指示播放另一个流媒体文件的播放切换指令时,无论当前的第一流媒体数据是否传输完毕,终端都将断开当前使用的主HTTP长连接,然后以步骤204中后台维护的辅HTTP长连接作为新的主HTTP长连接,通过新的主HTTP长连接向网络侧服务器发送HTTP请求,接收并播放网络侧服务器发送的第二流媒体数据。
[0046] 本发明实施例提供的流媒体文件的播放方法,除能够为当前需要请求的第一流媒体数据建立主HTTP长连接以外,还可以建立辅HTTP长连接以备后用。在通过主HTTP长连接接收第一流媒体数据的过程中保持辅HTTP长连接与网络侧服务器的连接状态。当接收到请求第二流媒体数据的播放切换指令时,直接断开主HTTP长连接,并通过辅HTTP长连接来接收网络侧服务器发送的第二流媒体数据。由于辅HTTP长连接是在主HTTP长连接请求第一流媒体数据的过程中通过后台线程建立的,因此对第一流媒体文件的播放并不产生影响,同时与现有技术中在用户进行播放切换操作后建立新的HTTP长连接相比,可以在需要新的HTTP长连接时直接使用已建立的辅HTTP长连接,从而节省临时建立HTTP长连接的耗时,进而缩短流媒体文件的切换时延。
[0047] 为了更好的对本实施例产生的技术效果进行说明,下面通过在不同网络条件下进行大量测试得到的数据结果,对现有技术和本发明实施例进行比较。如下表所示,以首片数据为128K码率、50Kbytes大小的动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer III,简称MP3)文件为例,对于2.5G网络、3G网络以及Wi-Fi网络,现有技术中的切换耗时平均为本实施例中切换耗时的6到7倍,由此可以看出,本实施例提供的流媒体文件的播放方法能够大大降低用户的切换等待时间。
[0048]
[0049]
[0050] 作为对图2所示方法的细化和进一步扩展,本实施例还提供了一种流媒体文件的播放方法,如图3所示,该方法包括:
[0051] 301、向网络侧服务器请求建立HTTP长连接。
[0052] 本步骤的实现方式与图2中步骤201的实现方式相同此处不再赘述。
[0053] 302、建立主HTTP长连接和辅HTTP长连接。
[0054] 如图4所示,终端建立一条用于请求当前媒体流数据的HTTP长连接1作为主HTTP长连接,然后建立3条备用HTTP长连接2、3和4作为辅HTTP长连接。具体的,终端建立辅HTTP长连接的时机可以有如下两种选择:
[0055] 1)终端选择在建立主HTTP长连接的同时建立辅HTTP长连接。在用户选择播放第一流媒体文件时,终端通过后台运行多条不同线程的方式实现主、辅HTTP长连接的并行建立
[0056] 2)终端在建立主HTTP长连接之后、用户进行播放切换操作之前,建立辅HTTP长连接。终端可以根据初始化设置的滞后时长建立辅HTTP长连接,例如在建立主HTTP长连接后30秒启动线程建立辅HTTP长连接,也可以根据运营商对用户行为习惯的学习结果确定特定时间点进行建立。例如基于大多数用户在流媒体文件播放20秒后进行播放切换操作的习惯,终端可以选择在流媒体文件开始播放后的第5秒或者第10秒启动线程建立辅HTTP长连接。
[0057] 除上述两种建立时机以外,在本实施例的另一种实现方式中,终端也可以周期性建立辅HTTP长连接,该辅HTTP长连接的建立时机由终端的内部时钟以及预设时间间隔决定,与是否建立主HTTP长连接、建立主HTTP长连接的时刻和数量无关。当终端建立了一条主HTTP长连接后,从周期性建立的辅HTTP长连接中选择一条辅HTTP长连接分配给该主HTTP长连接。
[0058] 303、通过主HTTP长连接接收网络侧服务器发送的第一流媒体数据。
[0059] 本步骤的实现方式与图2步骤203的实现方式相同,此处不再赘述。
[0060] 304、通过辅HTTP长连接定期向网络侧服务器发送握手报文。
[0061] 为了保持辅HTTP长连接与网络侧服务器的连接状态,在本实施例中,终端通过发送握手报文的方式实现辅HTTP长连接的状态保持。通常,网络侧服务器中都会预设置有超时时长,如果某个HTTP长连接在该超时时长内没有向网络侧服务器发送HTTP请求,则网络侧服务器会断开当前连接的HTTP长连接。因此在本实施例中,终端通过发送握手报文的方式避免网络侧服务器断开辅HTTP长连接。
[0062] 由于握手报文的作用在于保持辅HTTP长连接与网络侧服务器的连接状态,其报文内容本身并无实际意义,因此为节省网络侧服务器的信令开销,本实施例中以1比特的任意字节作为握手报文发送给网络侧服务器。
[0063] 具体的,如图5所示,网络侧服务器的连接超时时长为50秒,在HTTP长连接1接收第一流媒体数据的过程中,终端分别通过HTTP长连接2、HTTP长连接3和HTTP长连接4以20秒的时间间隔向网络侧服务器发送1比特数据。优选的,为进一步减少握手报文发送过频造成的网络侧服务器信令消耗,终端在不超过连接超时时长前提下,可以提高发送比特数据的时间间隔,例如将发送时间间隔提高到45秒。
[0064] 需要说明的是,步骤304的执行贯穿于从步骤301至步骤307使用该辅HTTP长连接结束的整个过程中,本实施例中将其独立为一个步骤仅为便于描述。
[0065] 305、当接收到播放切换指令时,判断第一流媒体数据是否接收完毕,得出判断结果。
[0066] 作为本实施例的一个优选方案,在接收到用户触发的播放切换指令后,终端首先判断第一流媒体数据是否接收完毕,如果接收完毕则执行步骤306,仍通过主HTTP长连接接收并播放第二流媒体数据,如果未接收完毕则执行步骤307,通过辅HTTP长连接接收并播放第二流媒体数据。
[0067] 通常,终端接收流媒体数据的速度与播放流媒体数据的速度之间没有必然联系,对于存在缓冲技术的场景而言,终端通常早于播放完成时刻完成数据的接收。例如某视频文件的播放时长为4分30秒,终端可能在播放到3分40秒时就已完成全部流媒体数据的接收。如果用户触发播放切换指令的动作发生在数据传输完毕之前,例如在流媒体文件播放到1分20秒时,则由于无法中断主HTTP长连接的数据传输过程,终端需要按照步骤307的实现方式选择辅HTTP长连接接收并播放第二流媒体数据,如果用户触发播放切换指令的动作发生在数据传输完毕之后,例如在流媒体文件播放到3分40秒到4分30秒之间,或者在流媒体文件播放完毕之后,则终端可以继续通过主HTTP长连接向网络侧服务器发起接收第二流媒体数据的请求,在这种情况下,不必启用辅HTTP长连接,由此可以进一步节省用户的等待时间,同时减少终端的线程资源消耗。
[0068] 306、通过主HTTP长连接继续接收第二流媒体数据。
[0069] 终端通过主HTTP长连接再次发起HTTP请求,向网络侧服务器请求接收第二流媒体数据。
[0070] 307、断开主HTTP长连接,并通过辅HTTP长连接接收网络侧服务器发送的第二流媒体数据。
[0071] 本步骤的实现方式与图2步骤205的实现方式相同,此处不再赘述。
[0072] 进一步的,在将辅HTTP长连接升级为主HTTP长连接以后,终端可以为新的主HTTP长连接建立一条或多条二级辅HTTP长连接以备后用,二级辅HTTP长连接的表述仅为与前述辅HTTP长连接进行区分,实际应用中两者同质无差异。终端建立二级辅HTTP长连接的实现方式与步骤302中对应的实现方式相同,此处不再赘述。
[0073] 对于步骤302中建立多条辅HTTP长连接的方案,为进一步节省终端的CPU线程开销以及网络侧服务器的信令开销,更为优选的方案为:终端在将某一条辅HTTP长连接升级为主HTTP长连接之后,还可以首先判断是否还存有备用的辅HTTP长连接,如果还存有备用的辅HTTP长连接,则终端取消建立二级辅HTTP长连接,如果已无备用的辅HTTP长连接,则再建立一条或多条二级辅HTTP长连接。
[0074] 为进一步节省终端的CPU线程开销以及网络侧服务器的信令开销,作为对步骤302的改进,在本实施例的另一个优选方案中,终端一次仅建立1条辅HTTP长连接,在断开主HTTP长连接并启用辅HTTP长连接后,终端再建立1条二级辅HTTP长连接,由此减少后台启动的线程数量和向网络侧服务器发送的握手报文数量。
[0075] 本实施例提供的流媒体文件的播放方法,除能够如图2所示方法通过建立辅HTTP长连接的方式缩短播放切换时的等待时间以外,还可以在用户进行播放切换时首先判断主HTTP长连接上的第一流媒体数据是否传输完毕,如果传输完毕,则仍采用主HTTP长连接请求第二流媒体数据,由此节省辅HTTP长连接的耗费数量,进而减少二级辅HTTP长连接的建立次数,降低HTTP长连接建立所消耗的各种相关资源。与此同时,由于使用同一HTTP长连接发起新请求的速度要快于使用新HTTP长连接起新请求的速度,因此本实施例提供的方法还能够进一步缩短播放切换时的用户等待时间。
[0076] 此外,本实施例提供的方法还可以仅为主HTTP长连接建立一条辅HTTP长连接,当该辅HTTP长连接升级为主HTTP长连接后再建立新的辅HTTP长连接(或称为二级辅HTTP长连接),由此减少建立及维护过多辅HTTP长连接对各种资源的消耗。
[0077] 参考图2或图3所示方法的实现,本实施例还提供了一种流媒体文件的播放装置,该装置位于手机、平板电脑等终端设备中,用以对图2或图3所示的方法进行实现。如图6所示,所述装置包括:连接建立请求单元61、连接建立单元62、连接控制单元63、状态控制单元64以及指令接收单元65,其中,
[0078] 所述连接建立请求单元61,用于向网络侧服务器请求建立HTTP长连接;
[0079] 所述连接建立单元62,用于建立主HTTP长连接和辅HTTP长连接;
[0080] 所述连接控制单元63,用于控制通过所述连接建立单元62建立的所述主HTTP长连接接收网络侧服务器发送的第一流媒体数据;
[0081] 所述状态控制单元64,用于控制保持所述连接建立单元62建立的所述辅HTTP长连接与所述网络侧服务器的连接状态;
[0082] 所述指令接收单元65,用于接收播放切换指令;
[0083] 所述连接控制单元63还用于当所述指令接收单元65接收到所述播放切换指令时,断开所述主HTTP长连接,通过所述状态控制单元64控制保持连接状态的辅HTTP长连接接收所述网络侧服务器发送的第二流媒体数据。
[0084] 进一步的,如图7所示,所述连接建立单元62,包括:
[0085] 第一建立子单元71,用于在建立所述主HTTP长连接时,后台建立所述辅HTTP长连接。
[0086] 进一步的,如图7所示,所述连接建立单元62,还包括:
[0087] 第二建立子单元72,用于在所述主HTTP建立完成后,在根据用户行为习惯的学习结果确定的特定时间点上,后台建立所述辅HTTP长连接。
[0088] 进一步的,所述状态控制单元64用于通过所述辅HTTP长连接定期向所述网络侧服务器发送握手报文,发送所述握手报文的时间间隔短于HTTP长连接的超时时长。
[0089] 进一步的,如图8所示,所述装置还包括:
[0090] 判断单元81,用于在所述连接控制单元63断开所述主HTTP长连接之前,判断所述第一流媒体数据是否接收完毕,得出判断结果;
[0091] 所述连接控制单元63还用于当所述判断单元81的判断结果为是时,通过所述主HTTP长连接继续接收所述第二流媒体数据;
[0092] 所述连接控制单元63还用于当所述判断结果为否时,断开所述主HTTP长连接,通过辅HTTP长连接接收所述第二流媒体数据。
[0093] 本发明实施例提供的流媒体文件的播放装置,除能够为当前需要请求的第一流媒体数据建立主HTTP长连接以外,还可以建立辅HTTP长连接以备后用。在通过主HTTP长连接接收第一流媒体数据的过程中保持辅HTTP长连接与网络侧服务器的连接状态。当接收到请求第二流媒体数据的播放切换指令时,直接断开主HTTP长连接,并通过辅HTTP长连接来接收网络侧服务器发送的第二流媒体数据。由于辅HTTP长连接是在主HTTP长连接请求第一流媒体数据的过程中通过后台线程建立的,因此对第一流媒体文件的播放并不产生影响,同时与现有技术中在用户进行播放切换操作后建立新的HTTP长连接相比,可以在需要新的HTTP长连接时直接使用已建立的辅HTTP长连接,从而节省临时建立HTTP长连接的耗时,进而缩短流媒体文件的切换时延。
[0094] 此外,本实施例提供的流媒体文件的播放装置,还可以在用户进行播放切换时首先判断主HTTP长连接上的第一流媒体数据是否传输完毕,如果传输完毕,则仍采用主HTTP长连接请求第二流媒体数据,由此节省辅HTTP长连接的耗费数量,进而减少二级辅HTTP长连接的建立次数,降低HTTP长连接建立所消耗的各种相关资源。与此同时,由于使用同一HTTP长连接发起新请求的速度要快于使用新HTTP长连接起新请求的速度,因此本实施例提供的装置还能够进一步缩短播放切换时的用户等待时间。
[0095] 最后,本实施例提供的流媒体文件的播放装置,还可以仅为主HTTP长连接建立一条辅HTTP长连接,当该辅HTTP长连接升级为主HTTP长连接后再建立新的辅HTTP长连接(或称为二级辅HTTP长连接),由此减少建立及维护过多辅HTTP长连接对各种资源的消耗。
[0096] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0097] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。