流媒体播放方法和系统、内存服务器的制造方法

文档序号:7981981阅读:197来源:国知局
流媒体播放方法和系统、内存服务器的制造方法
【专利摘要】本发明涉及一种流媒体播放方法和系统、内存服务器。所述流媒体播放方法包括以下步骤:获取播放请求;根据所述播放请求从预先存储在内存服务器的流媒体数据中获取相应的头数据,并将所述头数据下发给客户端。上述流媒体播放方法和系统、内存服务器,根据播放请求从内存服务器上获取相应的头数据下发给客户端进行播放,内存服务器以全内存模式存储流媒体数据的头数据,从内存服务器获取数据相当于从内存中获取头数据,并下发给客户端,提高了缓冲头数据的效率,提高了访问性能,且方便快速预览流媒体。
【专利说明】流媒体播放方法和系统、内存服务器
【技术领域】
[0001]本发明涉及计算机网络通信技术,特别是涉及ー种流媒体播放方法和系统、内存服务器。
【背景技术】
[0002]在互联网有限带宽的情况下,如何实时传输庞大的多媒体数据,流媒体技术提供了较好的解决方案。流媒体技术是指通过网络或特定数字信道边下载边播放的多媒体数据的工作方式。
[0003]传统的流媒体服务主要是通过客户端/服务器(Client/SerVice,C/S模式)模式,即用户从流媒体服务器点击观看节目,然后流媒体服务器将流媒体数据推送给用户。采用上述模式,所有的客户端将连接到同一台服务器上,服务器将承受很大的负载压力,为此流媒体服务器采用了⑶N (Content Delivery Network,内容分发网络)网络结构。
[0004]⑶N是ー种基于C/S结构的分布式媒体技术服务平台,通过在现有的internet中増加ー层新的网络结构,并采用智能化策略将用户需要访问的内容分发到距离用户最近的、服务质量最好的节点,同时通过后台服务自动将用户调度到相应的节点,为用户提供最好的服务。该种方案可在一定程度上提高用户访问网站的响应速度,实现流媒体的下载、点播和直播。
[0005]然而,上述两者模式中的客户端播放多媒体数据时,均需从服务器边下载边播放,由于受到网络带宽、服务器自身读取数据速率的限制,缓冲播放数据的效率较慢,不方便快速浏览。

【发明内容】

[0006]基于此,有必要提供ー种缓冲效率较高且方便快速浏览的流媒体播放方法。
[0007]此外,还有必要提供ー种缓冲效率较高且方便快速浏览的流媒体播放系统。
[0008]此外,还有必要提供ー种缓冲效率较高且方便快速浏览的内存服务器。
[0009]ー种流媒体播放方法,包括以下步骤:
[0010]获取播放请求;
[0011]根据所述播放请求从预先存储在内存服务器的流媒体数据中获取相应的头数据,并将所述头数据下发给客户端。
[0012]在其中一个实施例中,在所述获取播放请求的步骤之前,还包括步骤:
[0013]将流媒体数据的播放地址下发给客户端,并显示在客户端上;
[0014]所述获取播放请求的步骤的具体包括:
[0015]获取触发所述播放地址产生的播放请求。
[0016]在其中一个实施例中,所述获取播放请求的步骤具体包括:
[0017]获取P2P网络中的播放请求,或客户端与服务器模式中的播放请求。
[0018]ー种流媒体播放系统,包括内存服务器和客户端,所述内存服务器包括:[0019]请求获取模块,用于获取客户端上传的播放请求;
[0020]处理模块,用于根据所述播放请求直接从预先存储在内存服务器的流媒体数据中获取相应的头数据;
[0021 ] 下发模块,用于将所述头数据下发给客户端。
[0022]在其中一个实施例中,所述下发模块还用于将流媒体数据的播放地址下发给所述客户端;所述请求获取模块还用于获取在所述客户端上触发所述播放地址产生的播放请求。
[0023]在其中一个实施例中,所述请求获取模块还用于获取P2P网络中客户端上传的播放请求,或客户端与服务器模式中客户端上传的播放请求。
[0024]—种内存服务器,包括:
[0025]请求获取模块,用于获取播放请求;
[0026]处理模块,用于根据所述播放请求直接从预先存储在内存服务器的流媒体数据中获取相应的头数据;
[0027]下发模块,用于将所述头数据下发给客户端。
[0028]在其中一个实施例中,所述下发模块还用于将流媒体数据的播放地址下发给客户端;所述请求获取模块还用于获取触发所述播放地址产生的播放请求。
[0029]在其中一个实施例中,所述请求获取模块还用于获取P2P网络中的播放请求,或客户端与服务器模式中的播放请求。
[0030]上述流媒体播放方法和系统、内存服务器,根据播放请求从内存服务器上获取相应的头数据下发给客户端进行播放,内存服务器以全内存模式存储流媒体的头数据,从内存服务器获取数据相当于从内存中获取头数据,井下发给客户端,提高了缓冲头数据的效率,提高了访问性能,且方便快速预览流媒体。
【专利附图】

【附图说明】
[0031]图1为ー个实施例中流媒体播放方法的流程图;
[0032]图2为ー个实施例中内存服务器内部结构示意图;
[0033]图3为另ー个实施例中内存服务器的内部结构示意图。
【具体实施方式】
[0034]下面结合具体的实施例及附图对流媒体播放方法和内存服务器的技术方案进行详细的描述,以使其更加清楚。
[0035]如图1所示,在一个实施例中,ー种流媒体播放方法,包括以下步骤:
[0036]步骤SI 10,获取播放请求。
[0037]具体的,通过客户端向内存服务器发起播放请求。该播放请求可为P2P (peer topeer,点对点)网络中播放请求或客户端与服务器(C/S模式)模式的中的播放请求。
[0038]在步骤SllO之前,还包括步骤:将流媒体数据的播放地址下发给客户端,并显示在客户端上。
[0039]具体的,例如将电影“冰河世纪3”的播放地址下发给客户端(如浏览器),在浏览器上显示该播放地址。[0040]步骤SllO具体包括:获取触发该播放地址产生的播放请求。例如可通过鼠标、键盘或触摸屏等设备点击触发该播放地址。
[0041]步骤S120,根据该播放请求从预先存储在内存服务器的流媒体数据中获取相应的头数据,并将该头数据下发给客户端。
[0042]具体的,预先在内存服务器存储流媒体的头数据。内存服务器是指以全内存模式运行的服务器。获取到播放请求后,根据播放请求从内存服务器获取相应的头数据,下发给客户端进行播放。其中,头数据为整个视频文件的开头部分。如此从内存服务器获取相应的头数据下发给客户端,省略了内存服务器从其他存储设备读取数据进行缓存的过程,且仅需获取头数据,不需获取全部数据,提高了获取效率,提高了访问性能,方便快速预览流媒体。
[0043]在P2P网络中,首先由多个客户端向内存服务器请求头数据,直接从内存服务器中获取头数据以提高缓冲头数据的效率。
[0044]在C/S网络模式中,客户端向内存服务器请求头数据后,直接从内存服务器中获取头数据。
[0045]进一步的,在一个实施例中,上述流媒体播放方法,在获取播放请求的步骤之前,还包括步骤:将流媒体数据的头数据存储在内存服务器。
[0046]具体的,在内存服务器中仅存储流媒体数据的头数据。头数据是指截取的流媒体数据的开头部分,包括起始时间、终止时间、数据内容。头数据的大小可为IMB (兆)或2MB
坐寸ο
[0047]进一步的,在一个实施例中,在根据该播放请求直接从预先存储在内存服务器的流媒体数据中获取相应的流媒体数据的头数据,并将该头数据下发给客户端的步骤之后,还包括步骤:判断客户端上的缓冲区容量是否大于该头数据的大小,若是,则从数据服务器获取所述流媒体数据的头数据外的剩余播放数据,并将该流媒体数据的头数据外的剩余播放数据下发给客户端。
[0048]具体的,在客户端上的缓冲区足够缓冲头数据时,可提前从数据服务器上获取该流媒体数据的除头数据外的其余播放数据,以便用户查看了头数据后,继续播放时,可及时提供播放数据,减少等待缓冲时间。其中,数据服务器上存储着完整的流媒体数据。
[0049]如图2所示,在一个实施例中,一种流媒体播放系统,包括内存服务器10和客户端20,内存服务器10包括请求获取模块110、处理模块120和下发模块130。其中:
[0050]请求获取模块110用于获取客户端20上传的播放请求。具体的,通过客户端20向内存服务器10发起播放请求。该播放请求可为P2P网络中客户端上传的播放请求或客户端与服务器模式中客户端上传的播放请求。
[0051]处理模块120用于根据该播放请求直接从预先存储在内存服务器的流媒体数据中获取相应的头数据。
[0052]下发模块130用于将该头数据下发给客户端。
[0053]具体的,预先在内存服务器的内存中存储流媒体数据的头数据。内存服务器是指以全内存模式运行的服务器。获取到播放请求后,根据播放请求直接从内存服务器获取相应的头数据,下发给客户端进行播放。其中,头数据为整个视频文件的开头部分。如此直接从内存服务器获取相应的头数据下发给客户端,省略了内存服务器从其他存储设备读取数据进行缓存的过程,仅需获取头数据,不需获取全部流媒体数据,提高了获取效率,提高了访问性能,且方便快速预览流媒体。
[0054]在P2P网络中,首先由多个客户端向内存服务器请求头数据,直接从内存服务器的内存中获取头数据以提高缓冲头数据的效率。
[0055]在C/S网络模式中,客户端向内存服务器请求头数据后,直接从内存服务器的内存中获取头数据。
[0056]进一步地,在一个实施例中,下发模块130还用于将流媒体数据的播放地址下发给客户端。具体的,例如将电影“冰河世纪3”的播放地址下发给客户端(如浏览器),在浏览器上显示该播放地址。
[0057]请求获取模块110还用于获取触发该播放地址产生的播放请求。例如可通过鼠标、键盘或触摸屏等设备点击触发该播放地址。
[0058]如图3所示,在一个实施例中,上述内存服务器10,除了包括请求获取模块110、处理模块120和下发模块130,还包括预存模块140。其中:
[0059]预存模块140用于将流媒体数据的头数据预先存储在内存服务器中。
[0060]具体的,在内存服务器中仅存储流媒体数据的头数据,该头数据为整个流媒体数据文件的开头部分。头数据是指截取的流媒体数据的开头部分,包括起始时间、终止时间、数据内容。部分数据的大小可为IMB (兆)或2MB等。
[0061]处理模块120还用于根据该播放请求从预先存储在内存服务器的流媒体数据中获取相应的流媒体数据的头数据;下发模块130还用于将该头数据下发给客户端。
[0062]进一步地,处理模块120还用于当判断客户端上的缓冲区容量大于该头数据的大小时,从数据服务器获取所述流媒体数据的头数据外的剩余播放数据,下发模块130将该流媒体数据的头数据外的剩余播放数据。
[0063]具体的,在客户端上的缓冲区足够缓冲该头数据时,可提前从数据服务器上获取该流媒体数据的除头数据外的其余播放数据,以便用户查看了头数据后,继续播放时,可及时提供播放数据,减少等待缓冲时间。
[0064]此外,还有必要提供一种内存服务器,该内存服务器采用上述的内存服务器10,包括请求获取模块110、处理模块120和下发模块130。各模块功能如上描述,在此不再赘述。
[0065]在其他实施例中,上述内存服务器10还包括预存模块140,其功能如上描述,在此不再赘述。
[0066]上述流媒体播放方法和系统、内存服务器,根据播放请求从内存服务器获取相应的头数据下发给客户端进行播放,内存服务器以全内存模式存储流媒体数据的头数据,从内存服务器获取数据相当于从内存中获取头数据,并下发给客户端,提高了缓冲头数据的效率,提高了访问性能,且方便快速预览头数据。
[0067]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0068]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.ー种流媒体播放方法,包括以下步骤: 获取播放请求; 根据所述播放请求从预先存储在内存服务器的流媒体数据中获取相应的头数据,并将所述头数据下发给客户端。
2.根据权利要求1所述的流媒体播放方法,其特征在于,在所述获取播放请求的步骤之前,还包括步骤: 将流媒体数据的播放地址下发给客户端,并显示在客户端上; 所述获取播放请求的步骤的具体包括: 获取触发所述播放地址产生的播放请求。
3.根据权利要求1所述的流媒体播放方法,其特征在于,所述获取播放请求的步骤具体包括: 获取P2P网络中的播放请求,或客户端与服务器模式中的播放请求。
4.ー种流媒体播放系统,其特征在于,包括内存服务器和客户端,所述内存服务器包括: 请求获取模块,用于获取客户端上传的播放请求; 处理模块,用于根据所述播放请求直接从预先存储在内存服务器的流媒体数据中获取相应的头数据; 下发模块,用于将所述头数据下发给客户端。
5.根据权利要求4所述的流媒体播放系统,其特征在干,所述下发模块还用于将流媒体数据的播放地址下发给所述客户端;所述请求获取模块还用于获取在所述客户端上触发所述播放地址产生的播放请求。
6.根据权利要求4所述的流媒体播放系统,其特征在于,所述请求获取模块还用于获取P2P网络中客户端上传的播放请求,或客户端与服务器模式中客户端上传的播放请求。
7.—种内存服务器,其特征在于,包括: 请求获取模块,用于获取播放请求; 处理模块,用于根据所述播放请求直接从预先存储在内存服务器的流媒体数据中获取相应的头数据; 下发模块,用于将所述头数据下发给客户端。
8.根据权利要求7所述的内存服务器,其特征在于,所述下发模块还用于将流媒体数据的播放地址下发给客户端;所述请求获取模块还用于获取触发所述播放地址产生的播放请求。
9.根据权利要求7所述的内存服务器,其特征在于,所述请求获取模块还用于获取P2P网络中的播放请求,或客户端与服务器模式中的播放请求。
10.根据权利要求7所述的内存服务器,其特征在于,还包括: 预存模块,用于将流媒体数据的头数据预先存储在内存服务器中。
【文档编号】H04L29/06GK103595694SQ201210288729
【公开日】2014年2月19日 申请日期:2012年8月14日 优先权日:2012年8月14日
【发明者】华有为 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1