首页> 中国专利> 基于流媒体服务器的多媒体文件获取方法及流媒体服务器

基于流媒体服务器的多媒体文件获取方法及流媒体服务器

摘要

本发明适用于计算机以及网络信息技术领域,提供了一种基于流媒体服务器的多媒体文件获取方法及流媒体服务器,该方法包括:接收客户端的多媒体文件播放请求,其中该多媒体文件被分割后的多个文件块预先存储到云存储的不同存储服务器中;当判断本地硬盘中或者其他流媒体服务器中存储有与该请求对应的文件块时,将该文件块返回至该客户端;当判断该本地硬盘中以及其他流媒体服务器中均未存储与该请求对应的文件块时,则从存储服务器中下载该文件块至该本地硬盘中缓存,并将该文件块发送至该客户端。本发明通过流媒体服务器缓存客户端所需要的文件块,在客户端复杂度及客户端产生的冗余流量均不增加的情况,使得对同一文件的读并发能力得到提高。

著录项

  • 公开/公告号CN102685232A

    专利类型发明专利

  • 公开/公告日2012-09-19

    原文格式PDF

  • 申请/专利号CN201210146632.X

  • 发明设计人 李磊磊;

    申请日2012-05-14

  • 分类号H04L29/08(20060101);H04N21/231(20110101);H04N21/60(20110101);H04N21/6437(20110101);

  • 代理机构44237 深圳中一专利商标事务所;

  • 代理人张全文

  • 地址 518000 广东省深圳市福田区深南大道特区报业大厦1306房

  • 入库时间 2023-12-18 06:33:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-15

    专利权的转移 IPC(主分类):H04L29/08 登记生效日:20170119 变更前: 变更后: 申请日:20120514

    专利申请权、专利权的转移

  • 2015-11-18

    授权

    授权

  • 2015-01-28

    专利申请权的转移 IPC(主分类):H04L29/08 变更前: 变更后: 登记生效日:20150108 申请日:20120514

    专利申请权、专利权的转移

  • 2012-12-05

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20120514

    实质审查的生效

  • 2012-09-19

    公开

    公开

说明书

技术领域

本发明属于计算机以及网络信息技术领域,尤其涉及一种基于流媒体服务 器的多媒体文件获取方法及流媒体服务器。

背景技术

随着计算机和网络的不断发展及高清视频的普及,存储多媒体信息所需的 空间不断的增长,传统的存储架构已经很难满足需求。云存储以其海量的存储 空间、高可靠性、高并发、高可扩展性及高性价比等特性逐渐展露头角。云存 储的高并发主要体现在不同文件会被分散在不同的存储服务器上,因而云存储 对于写并发和对不同文件的读并发几乎可以无限扩展。对于同一文件,虽然可 以通过增加在不同存储服务器上的拷贝数来提高读并发能力,但这种做法更多 的目的是为了增加可靠性,出于总容量的限制,不可能对每一个文件都无限制 的进行拷贝,因而对同一文件的读并发的改善终极是有限度的。而在实际应用 中,例如公安重大案件的侦破过程中,经常会有大量用户在同一时间内突发访 问同一段视频录像,这很可能造成相关的存储服务器不堪重负。

现有的P2P(peer-to-peer,点对点)技术虽然可以解决并发数等问题,但 缺点也是十分明显,比如客户端的实现相对复杂;会产生大量的P2P冗余流量; 由于P2P网络由不稳定的客户端构成,终端用户的频繁上下线会导致下载的抖 动情况难以控制;在一些复杂的网络环境中,客户端处于不同的网络环境中时 无法互联互通,使得P2P失去了意义。

发明内容

本发明实施例的目的在于提供一种基于流媒体服务器的多媒体文件获取方 法及流媒体服务器,旨在解决由于在利用现有技术解决对同一文件的读并发能 力的限制时,存在客户端复杂度较高、冗余流量增加等问题。

本发明实施例是这样实现的,一种基于流媒体服务器的多媒体文件获取方 法,所述方法包括下述步骤:

接收客户端发送的多媒体文件播放请求,所述多媒体文件被分割成多个文 件块,并预先存储到云存储的不同存储服务器中;

当判断本地硬盘中或者同一集群内的其他流媒体服务器中存储有与所述多 媒体文件播放请求对应的文件块时,将所述文件块返回至所述客户端;

当判断所述本地硬盘中以及同一集群内的其他流媒体服务器中均未存储与 所述多媒体文件播放请求对应的文件块时,则从存储有所述文件块的存储服务 器中下载所述文件块至所述本地硬盘中缓存,并将所述文件块发送至所述客户 端。

进一步地,所述从存储有所述文件块的存储服务器中下载所述文件块至所 述本地硬盘中缓存,并将所述文件块发送至所述客户端的步骤具体为:

向所述云存储发送获取所述多媒体文件播放请求对应的文件块的请求;

获取所述云存储返回的所述文件块,并将所述文件块缓存在所述本地硬盘 中;

将所述文件块发送至所述客户端。

进一步地,所述当判断本地硬盘中或者同一集群内的其他流媒体服务器中 存储有与所述多媒体文件播放请求对应的文件块时,将所述文件块返回至所述 客户端的步骤具体包括:

判断本地硬盘中是否存储有与所述多媒体播放请求对应的文件块;

当判断结果为是时,返回所述本地硬盘中的所述文件块至所述客户端;

当判断结果为否时,继续判断同一集群内的其他流媒体服务器中是否存储 有所述多媒体播放请求对应的文件块;

当判断结果为是时,从同一集群内的其他流媒体服务器中返回所述多媒体 播放请求对应的文件块至所述客户端。

具体地,当判断结果为是时,从同一集群内的其他流媒体服务器中返回所 述多媒体播放请求对应的文件块至所述客户端的步骤具体为:

获取所述其他流媒体服务器中的所述多媒体播放请求对应的文件块,并将 所述文件块缓存在所述本地硬盘中;

将所述文件块发送至所述客户端。

进一步地,当判断结果为是时,从同一集群内的其他流媒体服务器中返回 所述多媒体播放请求对应的文件块至所述客户端的步骤具体包括:

当同一集群内的其他流媒体服务器中存储有所述多媒体播放请求对应的文 件块时,判断所述其他流媒体服务器的负荷是否小于预设的阈值;

当判断结果为是时,发送重定向连接信令至所述客户端,以使所述客户端 与所述其他流媒体服务器建立连接;

当判断结果为否时,或者在所述客户端与所述其他流媒体服务器建立连接 后,所述其他流媒体服务器根据来自所述客户端的多媒体文件播放请求,返回 所述其他流媒体服务器中的所述文件块至所述客户端。

本发明实施例的另一目的在于提供一种流媒体服务器,所述流媒体服务器 包括:

请求接收单元,用于接收客户端发送的多媒体文件播放请求,所述多媒体 文件被分割成多个文件块,并预先存储到云存储的不同存储服务器中;

文件块第一发送单元,用于当判断本地硬盘中或者同一集群内的其他流媒 体服务器中存储有与所述多媒体文件播放请求对应的文件块时,将所述文件块 发送至所述客户端;以及

文件块第二发送单元,用于当判断所述本地硬盘中以及同一集群内的其他 流媒体服务器中均未存储与所述多媒体文件播放请求对应的文件块时,则从存 储有所述文件块的存储服务器中下载所述文件块至所述本地硬盘中缓存,并将 所述文件块发送至所述客户端。

进一步地,所述文件块第二发送单元具体包括:

请求发送子单元,用于向所述云存储发送获取所述多媒体文件播放请求对 应的文件块的请求;

缓存单元,用于获取所述云存储返回的所述文件块,并将所述文件块缓存 在所述本地硬盘中;以及

第二发送子单元,用于将所述文件块发送至所述客户端。

进一步地,所述文件块第一发送单元具体包括:

本地判断单元,用于判断本地硬盘中是否存储有与所述多媒体播放请求对 应的文件块;

本地发送单元,用于当所述本地判断单元输出结果为是时,返回所述本地 硬盘中的所述文件块至所述客户端;以及

第一发送子单元,用于当所述本地判断单元输出结果为否时,继续判断同 一集群内的其他流媒体服务器中是否存储有所述多媒体播放请求对应的文件 块,当判断结果为是时,从同一集群内的其他流媒体服务器中返回所述媒体播 放请求对应的文件块至所述客户端。

进一步地,所述第一发送子单元具体包括:

负荷判断单元,用于当同一集群内的其他流媒体服务器中存储有所述多媒 体播放请求对应的文件块时,判断所述其他流媒体服务器的负荷是否小于预设 的阈值;

信令发送单元,用于当所述负荷判断单元输出结果为是时,发送重定向连 接信令至所述客户端,以使所述客户端与所述其他流媒体服务器建立连接;以 及

重发送单元,用于当所述负荷判断单元输出结果为否时,或者在所述客户 端与所述其他流媒体服务器建立连接后,所述其他流媒体服务器根据来自所述 客户端的多媒体文件播放请求,返回所述其他流媒体服务器中的所述文件块至 所述客户端。

本发明实施例通过与客户端连接的流媒体服务器接收客户度的多媒体文件 播放请求,判断本地硬盘或者同一集群内的其他流媒体服务器中是否存储有与 该播放请求对应的文件块,是,则可以通过流媒体服务器返回该文件块至客户 端,否,则从云存储的云存储服务器中获取该播放请求对应的文件块,并将该 文件块存储在与该客户端建立连接的流媒体服务器的本地硬盘中,由该流媒体 服务器将该文件块返回至该客户端,解决了由于在利用现有技术解决对同一文 件的读并发能力的限制时,存在客户端复杂度较高、冗余流量增加等的问题, 从而在不增加客户端复杂度及客户端产生的冗余流量前提下,提高了对同一文 件的读并发能力。

附图说明

图1是本发明第一实施例提供的基于流媒体服务器的多媒体文件获取方法 的实现流程图;

图2是本发明第二实施例提供的基于流媒体服务器的多媒体文件获取方法 的实现流程图;

图3是本发明第三实施例提供的基于流媒体服务器的多媒体文件获取方法 的实现流程图;

图4是本发明第四实施例提供的流媒体服务器的结构图;

图5是本发明第四实施例提供的流媒体服务器中第一发送子单元的具体结 构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。

本发明实施例提供的基于流媒体服务器的多媒体文件获取方法,实现了可 以从流媒体服务器或者云存储的存储服务器中获取客户端所需的文件块,使得 在客户端复杂度及客户端产生的冗余流量均不提高到情况,提高了对同一文件 的读并发能力。

以下结合具体实施例对本发明的具体实现进行详细描述:

实施例一:

图1示出了本发明第一实施例提供的基于流媒体服务器的多媒体文件获取 方法的实现流程,详述如下:

在步骤S101中,接收客户端发送的多媒体文件播放请求,该多媒体文件被 分割成多个文件块,并预先存储到云存储的不同存储服务器中。

其中,该文件块可以为固定大小的文件块,也可以为大小不同的文件块。

另外,还可以在云存储的控制服务器中生成多媒体文件块的索引,以方便 从云存储中下载所需文件块。具体地属于同一集群的多个流媒体服务器彼此之 间能够互相通报是否拥有文件块、所拥有文件块的个数以及其他流媒体服务器 的负荷大小等等。当任一一个流媒体服务器与客户端建立连接后,该任一流媒 体服务器开始接收来自该客户端发送的多媒体文件播放请求,以请求播放或者 控制该多媒体文件等。

在步骤S 102中,当判断本地硬盘中或者同一集群内的其他流媒体服务器中 存储有与该多媒体文件播放请求对应的文件块时,将该文件块返回至该客户端。

在本发明实施例中,该步骤S102具体包括以下步骤:

步骤A、判断本地硬盘中是否存储有与该多媒体播放请求对应的文件块;

步骤B、当判断结果为是时,返回该本地硬盘中的该文件块至该客户端;

步骤C、当判断结果为否时,继续判断同一集群内的其他流媒体服务器中 是否存储有该多媒体播放请求对应的文件块;

步骤D、当判断结果为是时,从同一集群内的其他流媒体服务器中返回该 多媒体播放请求对应的文件块至该客户端。

进一步地,该步骤D具体包括:

当同一集群内的其他流媒体服务器中存储有该多媒体播放请求对应的文件 块时,判断该其他流媒体服务器的负荷是否小于预设的阈值;

当判断结果为是时,发送重定向连接信令至该客户端,以使该客户端与该 其他流媒体服务器建立连接;

当判断结果为否时,或者在该客户端与该其他流媒体服务器建立连接后, 该其他流媒体服务器根据来自该客户端的多媒体文件播放请求,返回该其他流 媒体服务器中的该文件块至该客户端。

在具体实施过程中,该客户端与同一集群中的多个流媒体服务器中的某一 流媒体服务器建立通信连接,则在客户端请求播放某一多媒体文件时,向与其 连接的流媒体服务器发送多媒体文件播放请求,该流媒体服务器首先会判断自 身本地硬盘是否有所需的文件块,如果有,则返回该本地硬盘中的文件块至该 客户端,可以以数据包的形式返回该文件块,并结束本次所需文件块的获取操 作;如果没有,则继续利用该与客户端连接的该流媒体服务器判断同一集群内 的其他的流媒体服务器的硬盘中上是否有该所需的文件块。进一步地,当判断 其他流媒体服务器上存储有该所需的文件块时,则最终会将流媒体服务器中的 所需文件块发送至客户端,而在同一集群内的所有流媒体服务器中,都没有存 储所需要的文件块时,则通过该与客户端连接的流媒体服务器向云存储发送该 所需要的文件块获取请求,由于该云存储的不同存储服务器中预先存储了多媒 体文件的所有文件块。因而该云存储中必然存在所需的文件块,相当于该与客 户端连接的流媒体服务器丛云存储中下载所需的文件块,并在该服务器的本地 硬盘中缓存该文件块,从而能够返回客户端所需的文件块。此时,文件块最终 会经过流媒体服务器的本地硬盘缓存,则可以将该文件块保留较长一段时间, 直至长时间不被使用再删除。

而在实际操作过程中,当同一集群内的其他流媒体服务器中存储有该多媒 体播放请求对应的文件块时,还可以继续判断该其他流媒体服务器的负荷是否 小于预设的阈值时,是,则为了降低该其他流媒体服务器的负荷,将会发送重 定向信令至该客户端,以使该客户端与该其他流媒体服务器建立连接,此后, 则可以直接从该其他流媒体服务器中获取所需的该文件块;否,则说明该其他 流媒体服务器的负荷不小于预设的阈值,则可以先将该其他流媒体服务器中的 所需文件块发送至与该客户端连接的任一流媒体服务器的本地硬盘中缓存,而 有该任一流媒体服务器将该文件块转发至该客户端,实现了根据流媒体服务器 的实际负荷能力,自适应调整获取多媒体文件块的过程。

在步骤S 103中,当判断该本地硬盘中以及同一集群内的其他流媒体服务器 中均未存储与该多媒体文件播放请求对应的文件块时,则从存储有该文件块的 存储服务器中下载该文件块至该本地硬盘中缓存,并将该文件块发送至该客户 端。

其中,该步骤S103具体为:

当判断该本地硬盘中以及其他流媒体服务器中均未存储与该多媒体文件播 放请求对应的文件块时,则向该云存储发送获取该多媒体文件播放请求对应的 文件块的请求;

获取该云存储返回的该文件块,并将该文件块缓存在该本地硬盘中;

将该文件块发送至该客户端。

在具体实施过程中,当判断一客户端连接的该任一流媒体服务器的本地硬 盘上以及其他流媒体服务器中均没有存储与该多媒体文件播放请求对应的文件 块时,首先将云存储中与该多媒体文件播放请求对应的文件块发送至该任一流 媒体服务器的本地硬盘中进行缓存,进而该任一流媒体服务器将该文件块发送 至发送多媒体文件播放请求的客户端。

需要说明的是,由于同一流媒体服务器中可能会存储有多个文件块,当客 户端获取了某一所需要的文件块后,若继续获取下一文件块,则同样执行上述 步骤,执行获取所有所需的文件块,

在本发明实施例中,该基于流媒体服务器的多媒体文件获取方法能够在同 一集群内的一个或多个流媒体服务器存储有多媒体文件的文件块时,根据客户 端的多媒体文件播放请求,实现了首先从该一个或者多个流媒体服务器中获取 相关文件块,在所有多媒体文件服务器中均没有存储所需要的文件块时,再从 云存储中下载相关文件块,从而在同一时间读取同一文件的文件块时,减少存 储服务器的负荷,也能够解决并发数的问题,且相对于现有技术在解决对同一 文件的读并发能力的限制时,存在客户端复杂度较高、冗余流量增加等问题, 比如,现有的P2P技术,本发明实施例通过设置的多个流媒体服务器,能够避 开使用实现相对复杂的客户端,不会产生大量的冗余流量,且由于本发明实施 例不会因为终端用户的频繁上下线导致下载文件的抖动情况难以控制,也能够 应用在相对复杂的网络环境中。

实施例二:

图2示出了本发明第二实施例提供的基于流媒体服务器的多媒体文件获取 方法的实现流程,具体为在同一集群内的所有流媒体服务器中均未缓存有客户 端所需要的多媒体文件块时,该基于流媒体服务器的多媒体文件获取方法的详 细流程,详述如下:

在本发明实施例中,以客户端基于RTSP(Real Time Streaming Protocol, 实时流传输协议)访问多媒体文件,且该客户端与同一集群内的多个流媒体服 务器中的第一流媒体服务器建立连接为例。具体地连接过程为:客户端向第一 流媒体服务器发送DESCRIBE请求,该第一流媒体服务器响应该DESCRIBE 请求,返回携带SDP描述的200 OK消息至该客户端,该客户端向该第一流媒 体服务器发送SETUP消息,以建立视频媒体会话,该第一流媒体服务器响应 SETUP消息,回复携带视频传输的参数200 OK消息,则该客户端继续向该第 一流媒体服务器发送PLAY消息,开始视频会话。

其中,该DESCRIBE请求为RTSP中的一种方法,定义为检查演示或媒体 对象的描述,也允许使用接收头指定用户理解的描述格式,该DESCRIBE的答 复-响应组成媒体RTSP初始阶段;SDP(Session Description Protocol,会话描述 协议),为会话通知、会话邀请和其它形式的多媒体会话初始化等目的提供了 多媒体会话描述;SETUP消息也为RTSP中的一种方法,对URL的SETUP请 求指定用于流媒体的传输机制。客户端对正播放的流发布一个SETUP请求,以 改变服务器允许的传输参数,如不允许这样做,则响应错误;200 OK表示响应 成功;PLAY消息也为RTSP中的一种方法,PLAY告诉服务器以SEFUP指定 的机制开始发送数据,直到一些SETUP请求被成功响应,客户端才可发布PLAY 请求,PLAY请求将正常播放时间设置在所指定范围的起始处,发送流数据直 到范围的结束处,PLAY请求可排成队列,服务器将PLAY请求排成队列,顺 序执行。

在步骤S201中,客户端继续向该第一流媒体服务器发送多媒体文件获取请 求。

在步骤S202中,该第一流媒体服务器判断出本地硬盘中以及其他流媒体服 务器中均未存储该请求中所对应的文件块时,向云存储发送获取该文件块的请 求。

具体地,该第一流媒体服务器遍历所有的流媒体服务器的本地硬盘后,并 没有获取到所需的文件块,则使用HTTP协议的GET方法向云存储请求获取该 文件块。

在步骤S203中,该云存储响应该获取该文件块的请求,并将存储服务器中 的该文件块返回至该第一流媒体服务器。

在步骤S204中,该第一流媒体服务器接收并缓存该文件块后,向该客户端 发送该文件块。

在具体实施过程中,云存储检测到一个存储服务器中包含有所需要的文件 块时,则将该文件块发送至该第一流媒体服务器,该流媒体服务器在接收到该 文件块后,可以将该文件块缓存到本地硬盘中,以在下次客户端需要获取该文 件块时,直接从该第一流媒体服务器中就可以获取,此时还可以向客户端发送 响应PLAY消息,并将该文件块以打包(例如RTP即时传输协议包)的形式返 回至该客户端,至此完成了获取多媒体文件的一个文件块的过程。如果,该第 一流媒体服务器发送完一个文件块后,仍然需要使用HTTP协议的GET方法向 该云存储请求获取下一个文件块,则重复步骤S203至步骤S204,直至客户端 不再发送多媒体文件块获取请求。比如客户端停止观看某一视频文件后,则会 向该第一流媒体服务器发送TEARDOWN停止消息至该第一流媒体服务器,该 第一流媒体服务器则回复200 OK响应成功的消息。

在本发明实施例中,在同一集群内的所有流媒体服务器中均未缓存有客户 端所需要的多媒体文件块的情况下,该基于流媒体服务器的多媒体文件获取方 法仍然能够通过云存储下载所需要的多媒体文件块,且能够将获取到的文件块 存储到与客户端连接的流媒体服务器中,以在下次获取该文件块时,不用从云 存储中下载获取,减少了云存储的并发数,且不会给客户端增加复杂度,也不 会增加客户端网络冗余流量。

实施例三:

图3示出了本发明第三实施例提供的基于流媒体服务器的多媒体文件获取 方法的实现流程,具体为在同一集群内的所有流媒体服务器中,客户端与第一 流媒体服务器建立连接,而负荷较低的第二流媒体服务器中缓存有客户端所需 的多媒体文件块,此时,该基于流媒体服务器的多媒体文件获取方法的详细流 程,详述如下:

在步骤S301中,客户端继续向该第一流媒体服务器发送多媒体文件获取请 求。

在步骤S302中,该第一流媒体服务器判断出负荷小于预设阈值时的第二流 媒体服务器中存储有该请求中所对应的文件块,返回重定向信令至该客户端。

具体地,由于同一集群中的多个流媒体服务器之间能够相互通报彼此的本 地硬盘中是否存储有多媒体文件块,以及各自的负荷大小等等,因而,在与客 户端连接的第一流媒体服务器获知第二流媒体服务器中包含有所需要的文件 块,但该第二流媒体服务器的负荷确小于预设的阈值,该阈值可以根据实际需 要设置为200路、100路等,则该第一流媒体服务器需要发送重定向信令至该 客户端,以通知该客户端与第二流媒体服务器连接。

需要说明的是,如果该第二流媒体服务器的负荷不小于预设的阈值,则该 第二流媒体服务器可以直接将其本地硬盘上存储的客户端所需的文件块发送至 该第一流媒体服务器,以通过该第一流媒体服务器中转,将该文件块发送至该 客户端。

在步骤S303中,该客户端断开与该第一流媒体服务器之间的连接,并向该 第二流媒体服务器发送HTTP协议中的GET请求消息。

在步骤S304中,该第二流媒体服务器返回成功响应GET请求消息的消息。

在步骤S305中,该第二流媒体服务器向该客户端发送该多媒体文件获取请 求对应的文件块。

具体地,该客户端接收到该第一流媒体服务器发送的重定向信令后,向该 第二流媒体服务器发送GET请求消息,则可以直接从该第二流媒体服务器中获 取所需的文件块。进一步地,该第二流媒体服务器以分块地形式向该客户端发 送请求获取的文件块,直至发送结束或者该客户端断开与该第二流媒体服务器 的连接。

在本发明实施例中,该基于流媒体服务器的多媒体文件获取方法能够根据 流媒体服务器的负荷大小来决定是否需要发送重定向信令的操作,能够灵活地 减少或者增加流媒体服务器的负荷。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是 可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读 取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。

实施例四:

图4示出了本发明第四实施例提供的流媒体服务器的结构,为了便于说明, 仅示出了与本发明实施例相关的部分。

该流媒体服务器系统包括请求接收单元41、文件块第一发送单元42以及 文件块第二发送单元43,其中:

请求接收单元41,用于接收客户端发送的多媒体文件播放请求,该多媒体 文件被分割成多个文件块,并预先存储到云存储的不同存储服务器中。

其中,该文件块可以为固定大小的文件块,也可以为大小不同的文件块。

文件块第一发送单元42,用于当判断本地硬盘中或者同一集群内的其他流 媒体服务器中存储有与该多媒体文件播放请求对应的文件块时,将该文件块发 送至该客户端。

如图5所示,该文件块第一发送单元42具体包括:

本地发送单元51,用于当判断本地硬盘中是存储有与该多媒体播放请求对 应的文件块时,返回该本地硬盘中的该文件块至该客户端;以及

第一发送子单元52,用于当判断本地硬盘中未存储有与该多媒体播放请求 对应的文件块时,继续判断同一集群内的其他流媒体服务器中是否存储有该多 媒体播放请求对应的文件块,当判断结果为是时,从同一集群内的其他流媒体 服务器中返回该媒体播放请求对应的文件块至该客户端。

其中,该第一发送子单元52又可以包括负荷判断单元521、信令发送单元 522以及重发送单元523:

负荷判断单元521,用于当同一集群内的其他流媒体服务器中存储有该多 媒体播放请求对应的文件块时,判断该其他流媒体服务器的负荷是否小于预设 的阈值;

信令发送单元522,用于当该负荷判断单元521输出结果为是时,发送重 定向连接信令至该客户端,以使该客户端与该其他流媒体服务器建立连接;以 及

重发送单元523,用于当该负荷判断单元521输出结果为否时,或者在该 客户端与该其他流媒体服务器建立连接后,该其他流媒体服务器根据来自该客 户端的多媒体文件播放请求,返回该其他流媒体服务器中的该文件块至该客户 端。

文件块第二发送单元43,用于当判断该本地硬盘中以及同一集群内的其他 流媒体服务器中均未存储与该多媒体文件播放请求对应的文件块时,则从存储 有该文件块的存储服务器中下载该文件块至该本地硬盘中缓存,并将该文件块 发送至该客户端。

如图4所示,该文件块第二发送单元43具体包括:

请求发送子单元431,用于向该云存储发送获取该多媒体文件播放请求对 应的文件块的请求;

缓存单元432,用于获取该云存储返回的该文件块,并将该文件块缓存在 该本地硬盘中;以及

第二发送子单元433,用于将该文件块发送至该客户端。

在本发明实施例中,以同一集群内的多个流媒体服务器包括第一流媒体服 务器、第二流媒体服务器以及第三流媒体服务器为例,当客户端与第一流媒体 服务器建立连接后,该第一流媒体服务器则判断其本地硬盘中是否存储有该客 户端所需要的文件块,是,则本地发送单元51将该文件块发送至该客户端,并 退出操作;否,则继续判断第二流媒体服务器中是否存储有该客户端所需要的 文件块,是,则第一发送子单元52将该文件块发送至该第一流媒体服务器中, 由该第一流媒体服务器发送该文件块该客户端,并退出操作;否,则继续判断 第三流媒体服务器中是否存储有该客户端所需要的文件块,同样,是,则第一 发送子单元52也可以将该文件块发送至该第一流媒体服务器中,由该第一流媒 体服务器发送该文件块该客户端,并退出操作,否,则利用文件块第二发送单 元43从云存储下载所需要的文件块至该第一流媒体服务器中缓存。

需要说明的是,若某一存储有该客户端所需要的文件块的流媒体服务器的 负荷小于预设的阈值时,比如该流媒体服务器为第三流媒体服务器,则信令发 送单元522发送重定向信令至该客户端,以使该客户端重新与该第三流媒体服 务器建立连接,则该第三流媒体服务器的重发送单元523直接可以将所存储的 文件块发送至该客户端,否则需要经过其他与该客户端连接的流媒体服务器转 发。

在本发明实施例中,该流媒体服务器通过客户端与多个流媒体服务器中的 某一流媒体服务器建立通信,该某一流媒体服务器利用请求接收单元41接收客 户端发送的多媒体文件播放请求,当一个或者流媒体服务器中存储有所需的文 件块后,文件块第一发送单元42能够从该流媒体服务器中获取该客户端所需要 的多媒体文件块,且即使该多个流媒体服务器中均没有存储所需要的文件块, 可以由文件块第二发送单元43选择从云存储中下载获取,则客户端在下次获取 同样的文件块时,由于该流媒体服务器会缓存云存储中下载的文件块,可以直 接从该存储有需要的文件块的流媒体服务器中获取,从而能够实现在不增加客 户端复杂度及客户端网络额外流量的情况下,解决云存储对于同一个多媒体文 件的读并发的瓶颈问题。

本发明实施例提供了一种基于流媒体服务器的多媒体文件获取方法,通过 多个流媒体服务器中任一流媒体服务器接收客户端发送的多媒体文件播放请 求,该任一流媒体服务器根据该多媒体文件播放请求,当判断该任一流媒体服 务器或者其他流媒体服务器的本地硬盘上存储有与该多媒体文件播放请求对应 的文件块时,将该文件块返回至该客户端,解决了在利用现有技术解决对同一 文件的读并发能力的限制时,存在客户端复杂度较高、冗余流量增加等的问题, 达到了在不增加客户端复杂度及客户端冗余流量的情况下,解决云存储对同一 文件的读并发能力的限制或者瓶颈的目的。

以上该仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明 的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的 保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号