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

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

Info

Publication number
CN102685232B
CN102685232B CN201210146632.XA CN201210146632A CN102685232B CN 102685232 B CN102685232 B CN 102685232B CN 201210146632 A CN201210146632 A CN 201210146632A CN 102685232 B CN102685232 B CN 102685232B
Authority
CN
China
Prior art keywords
blocks
files
streaming media
client
request
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.)
Expired - Fee Related
Application number
CN201210146632.XA
Other languages
English (en)
Other versions
CN102685232A (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.)
In an Xiaoxu dragon electronic technology limited liability company
Original Assignee
HANGZHOU SKYVISION INTELLIGENCE SYSTEM 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 HANGZHOU SKYVISION INTELLIGENCE SYSTEM CO Ltd filed Critical HANGZHOU SKYVISION INTELLIGENCE SYSTEM CO Ltd
Priority to CN201210146632.XA priority Critical patent/CN102685232B/zh
Publication of CN102685232A publication Critical patent/CN102685232A/zh
Application granted granted Critical
Publication of CN102685232B publication Critical patent/CN102685232B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

基于流媒体服务器的多媒体文件获取方法及流媒体服务器
技术领域
本发明属于计算机以及网络信息技术领域,尤其涉及一种基于流媒体服务器的多媒体文件获取方法及流媒体服务器。
背景技术
随着计算机和网络的不断发展及高清视频的普及,存储多媒体信息所需的空间不断的增长,传统的存储架构已经很难满足需求。云存储以其海量的存储空间、高可靠性、高并发、高可扩展性及高性价比等特性逐渐展露头角。云存储的高并发主要体现在不同文件会被分散在不同的存储服务器上,因而云存储对于写并发和对不同文件的读并发几乎可以无限扩展。对于同一文件,虽然可以通过增加在不同存储服务器上的拷贝数来提高读并发能力,但这种做法更多的目的是为了增加可靠性,出于总容量的限制,不可能对每一个文件都无限制的进行拷贝,因而对同一文件的读并发的改善终极是有限度的。而在实际应用中,例如公安重大案件的侦破过程中,经常会有大量用户在同一时间内突发访问同一段视频录像,这很可能造成相关的存储服务器不堪重负。
现有的P2P(peer-to-peer,点对点)技术虽然可以解决并发数等问题,但缺点也是十分明显,比如客户端的实现相对复杂;会产生大量的P2P冗余流量;由于P2P网络由不稳定的客户端构成,终端用户的频繁上下线会导致下载的抖动情况难以控制;在一些复杂的网络环境中,客户端处于不同的网络环境中时无法互联互通,使得P2P失去了意义。
发明内容
本发明实施例的目的在于提供一种基于流媒体服务器的多媒体文件获取方法及流媒体服务器,旨在解决由于在利用现有技术解决对同一文件的读并发能力的限制时,存在客户端复杂度较高、冗余流量增加等问题。
本发明实施例是这样实现的,一种基于流媒体服务器的多媒体文件获取方法,所述方法包括下述步骤:
接收客户端发送的多媒体文件播放请求,所述多媒体文件被分割成多个文件块,并预先存储到云存储的不同存储服务器中;
当判断本地硬盘中或者同一集群内的其他流媒体服务器中存储有与所述多媒体文件播放请求对应的文件块时,将所述文件块返回至所述客户端;
当判断所述本地硬盘中以及同一集群内的其他流媒体服务器中均未存储与所述多媒体文件播放请求对应的文件块时,则从存储有所述文件块的存储服务器中下载所述文件块至所述本地硬盘中缓存,并将所述文件块发送至所述客户端。
进一步地,所述从存储有所述文件块的存储服务器中下载所述文件块至所述本地硬盘中缓存,并将所述文件块发送至所述客户端的步骤具体为:
向所述云存储发送获取所述多媒体文件播放请求对应的文件块的请求;
获取所述云存储返回的所述文件块,并将所述文件块缓存在所述本地硬盘中;
将所述文件块发送至所述客户端。
进一步地,所述当判断本地硬盘中或者同一集群内的其他流媒体服务器中存储有与所述多媒体文件播放请求对应的文件块时,将所述文件块返回至所述客户端的步骤具体包括:
判断本地硬盘中是否存储有与所述多媒体播放请求对应的文件块;
当判断结果为是时,返回所述本地硬盘中的所述文件块至所述客户端;
当判断结果为否时,继续判断同一集群内的其他流媒体服务器中是否存储有所述多媒体播放请求对应的文件块;
当判断结果为是时,从同一集群内的其他流媒体服务器中返回所述多媒体播放请求对应的文件块至所述客户端。
具体地,当判断结果为是时,从同一集群内的其他流媒体服务器中返回所述多媒体播放请求对应的文件块至所述客户端的步骤具体为:
获取所述其他流媒体服务器中的所述多媒体播放请求对应的文件块,并将所述文件块缓存在所述本地硬盘中;
将所述文件块发送至所述客户端。
进一步地,当判断结果为是时,从同一集群内的其他流媒体服务器中返回所述多媒体播放请求对应的文件块至所述客户端的步骤具体包括:
当同一集群内的其他流媒体服务器中存储有所述多媒体播放请求对应的文件块时,判断所述其他流媒体服务器的负荷是否小于预设的阈值;
当判断结果为是时,发送重定向连接信令至所述客户端,以使所述客户端与所述其他流媒体服务器建立连接;
当判断结果为否时,或者在所述客户端与所述其他流媒体服务器建立连接后,所述其他流媒体服务器根据来自所述客户端的多媒体文件播放请求,返回所述其他流媒体服务器中的所述文件块至所述客户端。
本发明实施例的另一目的在于提供一种流媒体服务器,所述流媒体服务器包括:
请求接收单元,用于接收客户端发送的多媒体文件播放请求,所述多媒体文件被分割成多个文件块,并预先存储到云存储的不同存储服务器中;
文件块第一发送单元,用于当判断本地硬盘中或者同一集群内的其他流媒体服务器中存储有与所述多媒体文件播放请求对应的文件块时,将所述文件块发送至所述客户端;以及
文件块第二发送单元,用于当判断所述本地硬盘中以及同一集群内的其他流媒体服务器中均未存储与所述多媒体文件播放请求对应的文件块时,则从存储有所述文件块的存储服务器中下载所述文件块至所述本地硬盘中缓存,并将所述文件块发送至所述客户端。
进一步地,所述文件块第二发送单元具体包括:
请求发送子单元,用于向所述云存储发送获取所述多媒体文件播放请求对应的文件块的请求;
缓存单元,用于获取所述云存储返回的所述文件块,并将所述文件块缓存在所述本地硬盘中;以及
第二发送子单元,用于将所述文件块发送至所述客户端。
进一步地,所述文件块第一发送单元具体包括:
本地判断单元,用于判断本地硬盘中是否存储有与所述多媒体播放请求对应的文件块;
本地发送单元,用于当所述本地判断单元输出结果为是时,返回所述本地硬盘中的所述文件块至所述客户端;以及
第一发送子单元,用于当所述本地判断单元输出结果为否时,继续判断同一集群内的其他流媒体服务器中是否存储有所述多媒体播放请求对应的文件块,当判断结果为是时,从同一集群内的其他流媒体服务器中返回所述媒体播放请求对应的文件块至所述客户端。
进一步地,所述第一发送子单元具体包括:
负荷判断单元,用于当同一集群内的其他流媒体服务器中存储有所述多媒体播放请求对应的文件块时,判断所述其他流媒体服务器的负荷是否小于预设的阈值;
信令发送单元,用于当所述负荷判断单元输出结果为是时,发送重定向连接信令至所述客户端,以使所述客户端与所述其他流媒体服务器建立连接;以及
重发送单元,用于当所述负荷判断单元输出结果为否时,或者在所述客户端与所述其他流媒体服务器建立连接后,所述其他流媒体服务器根据来自所述客户端的多媒体文件播放请求,返回所述其他流媒体服务器中的所述文件块至所述客户端。
本发明实施例通过与客户端连接的流媒体服务器接收客户度的多媒体文件播放请求,判断本地硬盘或者同一集群内的其他流媒体服务器中是否存储有与该播放请求对应的文件块,是,则可以通过流媒体服务器返回该文件块至客户端,否,则从云存储的云存储服务器中获取该播放请求对应的文件块,并将该文件块存储在与该客户端建立连接的流媒体服务器的本地硬盘中,由该流媒体服务器将该文件块返回至该客户端,解决了由于在利用现有技术解决对同一文件的读并发能力的限制时,存在客户端复杂度较高、冗余流量增加等的问题,从而在不增加客户端复杂度及客户端产生的冗余流量前提下,提高了对同一文件的读并发能力。
附图说明
图1是本发明第一实施例提供的基于流媒体服务器的多媒体文件获取方法的实现流程图;
图2是本发明第二实施例提供的基于流媒体服务器的多媒体文件获取方法的实现流程图;
图3是本发明第三实施例提供的基于流媒体服务器的多媒体文件获取方法的实现流程图;
图4是本发明第四实施例提供的流媒体服务器的结构图;
图5是本发明第四实施例提供的流媒体服务器中第一发送子单元的具体结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供的基于流媒体服务器的多媒体文件获取方法,实现了可以从流媒体服务器或者云存储的存储服务器中获取客户端所需的文件块,使得在客户端复杂度及客户端产生的冗余流量均不提高到情况,提高了对同一文件的读并发能力。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明第一实施例提供的基于流媒体服务器的多媒体文件获取方法的实现流程,详述如下:
在步骤S101中,接收客户端发送的多媒体文件播放请求,该多媒体文件被分割成多个文件块,并预先存储到云存储的不同存储服务器中。
其中,该文件块可以为固定大小的文件块,也可以为大小不同的文件块。
另外,还可以在云存储的控制服务器中生成多媒体文件块的索引,以方便从云存储中下载所需文件块。具体地属于同一集群的多个流媒体服务器彼此之间能够互相通报是否拥有文件块、所拥有文件块的个数以及其他流媒体服务器的负荷大小等等。当任一一个流媒体服务器与客户端建立连接后,该任一流媒体服务器开始接收来自该客户端发送的多媒体文件播放请求,以请求播放或者控制该多媒体文件等。
在步骤S102中,当判断本地硬盘中或者同一集群内的其他流媒体服务器中存储有与该多媒体文件播放请求对应的文件块时,将该文件块返回至该客户端。
在本发明实施例中,该步骤S102具体包括以下步骤:
步骤A、判断本地硬盘中是否存储有与该多媒体播放请求对应的文件块;
步骤B、当判断结果为是时,返回该本地硬盘中的该文件块至该客户端;
步骤C、当判断结果为否时,继续判断同一集群内的其他流媒体服务器中是否存储有该多媒体播放请求对应的文件块;
步骤D、当判断结果为是时,从同一集群内的其他流媒体服务器中返回该多媒体播放请求对应的文件块至该客户端。
进一步地,该步骤D具体包括:
当同一集群内的其他流媒体服务器中存储有该多媒体播放请求对应的文件块时,判断该其他流媒体服务器的负荷是否小于预设的阈值;
当判断结果为是时,发送重定向连接信令至该客户端,以使该客户端与该其他流媒体服务器建立连接;
当判断结果为否时,或者在该客户端与该其他流媒体服务器建立连接后,该其他流媒体服务器根据来自该客户端的多媒体文件播放请求,返回该其他流媒体服务器中的该文件块至该客户端。
在具体实施过程中,该客户端与同一集群中的多个流媒体服务器中的某一流媒体服务器建立通信连接,则在客户端请求播放某一多媒体文件时,向与其连接的流媒体服务器发送多媒体文件播放请求,该流媒体服务器首先会判断自身本地硬盘是否有所需的文件块,如果有,则返回该本地硬盘中的文件块至该客户端,可以以数据包的形式返回该文件块,并结束本次所需文件块的获取操作;如果没有,则继续利用该与客户端连接的该流媒体服务器判断同一集群内的其他的流媒体服务器的硬盘中上是否有该所需的文件块。进一步地,当判断其他流媒体服务器上存储有该所需的文件块时,则最终会将流媒体服务器中的所需文件块发送至客户端,而在同一集群内的所有流媒体服务器中,都没有存储所需要的文件块时,则通过该与客户端连接的流媒体服务器向云存储发送该所需要的文件块获取请求,由于该云存储的不同存储服务器中预先存储了多媒体文件的所有文件块。因而该云存储中必然存在所需的文件块,相当于该与客户端连接的流媒体服务器丛云存储中下载所需的文件块,并在该服务器的本地硬盘中缓存该文件块,从而能够返回客户端所需的文件块。此时,文件块最终会经过流媒体服务器的本地硬盘缓存,则可以将该文件块保留较长一段时间,直至长时间不被使用再删除。
而在实际操作过程中,当同一集群内的其他流媒体服务器中存储有该多媒体播放请求对应的文件块时,还可以继续判断该其他流媒体服务器的负荷是否小于预设的阈值时,是,则为了降低该其他流媒体服务器的负荷,将会发送重定向信令至该客户端,以使该客户端与该其他流媒体服务器建立连接,此后,则可以直接从该其他流媒体服务器中获取所需的该文件块;否,则说明该其他流媒体服务器的负荷不小于预设的阈值,则可以先将该其他流媒体服务器中的所需文件块发送至与该客户端连接的任一流媒体服务器的本地硬盘中缓存,而有该任一流媒体服务器将该文件块转发至该客户端,实现了根据流媒体服务器的实际负荷能力,自适应调整获取多媒体文件块的过程。
在步骤S103中,当判断该本地硬盘中以及同一集群内的其他流媒体服务器中均未存储与该多媒体文件播放请求对应的文件块时,则从存储有该文件块的存储服务器中下载该文件块至该本地硬盘中缓存,并将该文件块发送至该客户端。
其中,该步骤S103具体为:
当判断该本地硬盘中以及其他流媒体服务器中均未存储与该多媒体文件播放请求对应的文件块时,则向该云存储发送获取该多媒体文件播放请求对应的文件块的请求;
获取该云存储返回的该文件块,并将该文件块缓存在该本地硬盘中;
将该文件块发送至该客户端。
在具体实施过程中,当判断一客户端连接的该任一流媒体服务器的本地硬盘上以及其他流媒体服务器中均没有存储与该多媒体文件播放请求对应的文件块时,首先将云存储中与该多媒体文件播放请求对应的文件块发送至该任一流媒体服务器的本地硬盘中进行缓存,进而该任一流媒体服务器将该文件块发送至发送多媒体文件播放请求的客户端。
需要说明的是,由于同一流媒体服务器中可能会存储有多个文件块,当客户端获取了某一所需要的文件块后,若继续获取下一文件块,则同样执行上述步骤,执行获取所有所需的文件块,
在本发明实施例中,该基于流媒体服务器的多媒体文件获取方法能够在同一集群内的一个或多个流媒体服务器存储有多媒体文件的文件块时,根据客户端的多媒体文件播放请求,实现了首先从该一个或者多个流媒体服务器中获取相关文件块,在所有多媒体文件服务器中均没有存储所需要的文件块时,再从云存储中下载相关文件块,从而在同一时间读取同一文件的文件块时,减少存储服务器的负荷,也能够解决并发数的问题,且相对于现有技术在解决对同一文件的读并发能力的限制时,存在客户端复杂度较高、冗余流量增加等问题,比如,现有的P2P技术,本发明实施例通过设置的多个流媒体服务器,能够避开使用实现相对复杂的客户端,不会产生大量的冗余流量,且由于本发明实施例不会因为终端用户的频繁上下线导致下载文件的抖动情况难以控制,也能够应用在相对复杂的网络环境中。
实施例二:
图2示出了本发明第二实施例提供的基于流媒体服务器的多媒体文件获取方法的实现流程,具体为在同一集群内的所有流媒体服务器中均未缓存有客户端所需要的多媒体文件块时,该基于流媒体服务器的多媒体文件获取方法的详细流程,详述如下:
在本发明实施例中,以客户端基于RTSP(RealTimeStreamingProtocol,实时流传输协议)访问多媒体文件,且该客户端与同一集群内的多个流媒体服务器中的第一流媒体服务器建立连接为例。具体地连接过程为:客户端向第一流媒体服务器发送DESCRIBE请求,该第一流媒体服务器响应该DESCRIBE请求,返回携带SDP描述的200OK消息至该客户端,该客户端向该第一流媒体服务器发送SETUP消息,以建立视频媒体会话,该第一流媒体服务器响应SETUP消息,回复携带视频传输的参数200OK消息,则该客户端继续向该第一流媒体服务器发送PLAY消息,开始视频会话。
其中,该DESCRIBE请求为RTSP中的一种方法,定义为检查演示或媒体对象的描述,也允许使用接收头指定用户理解的描述格式,该DESCRIBE的答复-响应组成媒体RTSP初始阶段;SDP(SessionDescriptionProtocol,会话描述协议),为会话通知、会话邀请和其它形式的多媒体会话初始化等目的提供了多媒体会话描述;SETUP消息也为RTSP中的一种方法,对URL的SETUP请求指定用于流媒体的传输机制。客户端对正播放的流发布一个SETUP请求,以改变服务器允许的传输参数,如不允许这样做,则响应错误;200OK表示响应成功;PLAY消息也为RTSP中的一种方法,PLAY告诉服务器以SEFUP指定的机制开始发送数据,直到一些SETUP请求被成功响应,客户端才可发布PLAY请求,PLAY请求将正常播放时间设置在所指定范围的起始处,发送流数据直到范围的结束处,PLAY请求可排成队列,服务器将PLAY请求排成队列,顺序执行。
在步骤S201中,客户端继续向该第一流媒体服务器发送多媒体文件获取请求。
在步骤S202中,该第一流媒体服务器判断出本地硬盘中以及其他流媒体服务器中均未存储该请求中所对应的文件块时,向云存储发送获取该文件块的请求。
具体地,该第一流媒体服务器遍历所有的流媒体服务器的本地硬盘后,并没有获取到所需的文件块,则使用HTTP协议的GET方法向云存储请求获取该文件块。
在步骤S203中,该云存储响应该获取该文件块的请求,并将存储服务器中的该文件块返回至该第一流媒体服务器。
在步骤S204中,该第一流媒体服务器接收并缓存该文件块后,向该客户端发送该文件块。
在具体实施过程中,云存储检测到一个存储服务器中包含有所需要的文件块时,则将该文件块发送至该第一流媒体服务器,该流媒体服务器在接收到该文件块后,可以将该文件块缓存到本地硬盘中,以在下次客户端需要获取该文件块时,直接从该第一流媒体服务器中就可以获取,此时还可以向客户端发送响应PLAY消息,并将该文件块以打包(例如RTP即时传输协议包)的形式返回至该客户端,至此完成了获取多媒体文件的一个文件块的过程。如果,该第一流媒体服务器发送完一个文件块后,仍然需要使用HTTP协议的GET方法向该云存储请求获取下一个文件块,则重复步骤S203至步骤S204,直至客户端不再发送多媒体文件块获取请求。比如客户端停止观看某一视频文件后,则会向该第一流媒体服务器发送TEARDOWN停止消息至该第一流媒体服务器,该第一流媒体服务器则回复200OK响应成功的消息。
在本发明实施例中,在同一集群内的所有流媒体服务器中均未缓存有客户端所需要的多媒体文件块的情况下,该基于流媒体服务器的多媒体文件获取方法仍然能够通过云存储下载所需要的多媒体文件块,且能够将获取到的文件块存储到与客户端连接的流媒体服务器中,以在下次获取该文件块时,不用从云存储中下载获取,减少了云存储的并发数,且不会给客户端增加复杂度,也不会增加客户端网络冗余流量。
实施例三:
图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选择从云存储中下载获取,则客户端在下次获取同样的文件块时,由于该流媒体服务器会缓存云存储中下载的文件块,可以直接从该存储有需要的文件块的流媒体服务器中获取,从而能够实现在不增加客户端复杂度及客户端网络额外流量的情况下,解决云存储对于同一个多媒体文件的读并发的瓶颈问题。
本发明实施例提供了一种基于流媒体服务器的多媒体文件获取方法,通过多个流媒体服务器中任一流媒体服务器接收客户端发送的多媒体文件播放请求,该任一流媒体服务器根据该多媒体文件播放请求,当判断该任一流媒体服务器或者其他流媒体服务器的本地硬盘上存储有与该多媒体文件播放请求对应的文件块时,将该文件块返回至该客户端,解决了在利用现有技术解决对同一文件的读并发能力的限制时,存在客户端复杂度较高、冗余流量增加等的问题,达到了在不增加客户端复杂度及客户端冗余流量的情况下,解决云存储对同一文件的读并发能力的限制或者瓶颈的目的。
以上该仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种基于流媒体服务器的多媒体文件获取方法,其特征在于,所述方法包括下述步骤:
接收客户端发送的多媒体文件播放请求,所述多媒体文件被分割成多个文件块,并预先存储到云存储的不同存储服务器中;
当判断本地硬盘中或者同一集群内的其他流媒体服务器中存储有与所述多媒体文件播放请求对应的文件块时,将所述文件块返回至所述客户端;
当判断所述本地硬盘中以及同一集群内的其他流媒体服务器中均未存储与所述多媒体文件播放请求对应的文件块时,则从存储有所述文件块的存储服务器中下载所述文件块至与所述客户端连接的流媒体服务器的本地硬盘中缓存,并将所述文件块发送至所述客户端;
其中,在同一集群内的其他流媒体服务器中存储有与所述多媒体文件播放请求对应的文件块时,所述方法还包括:
判断所述其他流媒体服务器的负荷是否小于预设的阈值;
当判断结果为是时,发送重定向连接信令至所述客户端,以使所述客户端与所述其他流媒体服务器建立连接;
当判断结果为否时,或者在所述客户端与所述其他流媒体服务器建立连接后,所述其他流媒体服务器根据来自所述客户端的多媒体文件播放请求,返回所述其他流媒体服务器中的所述文件块至所述客户端。
2.如权利要求1所述的方法,其特征在于,所述从存储有所述文件块的存储服务器中下载所述文件块至与所述客户端连接的流媒体服务器的本地硬盘中缓存,并将所述文件块发送至所述客户端的步骤具体为:
向所述云存储发送获取所述多媒体文件播放请求对应的文件块的请求;
获取所述云存储返回的所述文件块,并将所述文件块缓存在与所述客户端连接的流媒体服务器的本地硬盘中;将所述文件块发送至所述客户端。
3.如权利要求1所述的方法,其特征在于,所述当判断本地硬盘中或者同一集群内的其他流媒体服务器中存储有与所述多媒体文件播放请求对应的文件块时,将所述文件块返回至所述客户端的步骤具体包括:
判断本地硬盘中是否存储有与所述多媒体播放请求对应的文件块;
当判断结果为是时,返回所述本地硬盘中的所述文件块至所述客户端;
当判断结果为否时,继续判断同一集群内的其他流媒体服务器中是否存储有所述多媒体播放请求对应的文件块;
当判断结果为是时,从同一集群内的其他流媒体服务器中返回所述多媒体播放请求对应的文件块至所述客户端。
4.如权利要求3所述的方法,其特征在于,当判断结果为是时,从同一集群内的其他流媒体服务器中返回所述多媒体播放请求对应的文件块至所述客户端的步骤具体为:
获取所述其他流媒体服务器中的所述多媒体播放请求对应的文件块,并将所述文件块缓存在所述本地硬盘中;
将所述文件块发送至所述客户端。
5.一种流媒体服务器,其特征在于,所述流媒体服务器包括:
请求接收单元,用于接收客户端发送的多媒体文件播放请求,所述多媒体文件被分割成多个文件块,并预先存储到云存储的不同存储服务器中;
文件块第一发送单元,用于当判断本地硬盘中或者同一集群内的其他流媒体服务器中存储有与所述多媒体文件播放请求对应的文件块时,将所述文件块发送至所述客户端;以及
文件块第二发送单元,用于当判断所述本地硬盘中以及同一集群内的其他流媒体服务器中均未存储与所述多媒体文件播放请求对应的文件块时,则从存储有所述文件块的存储服务器中下载所述文件块至与所述客户端连接的流媒体服务器的本地硬盘中缓存,并将所述文件块发送至所述客户端;
其中,所述文件块第一发送单元包括第一发送子单元,所述第一发送子单元具体包括:
负荷判断单元,用于当同一集群内的其他流媒体服务器中存储有所述多媒体播放请求对应的文件块时,判断所述其他流媒体服务器的负荷是否小于预设的阈值;
信令发送单元,用于当所述负荷判断单元输出结果为是时,发送重定向连接信令至所述客户端,以使所述客户端与所述其他流媒体服务器建立连接;以及
重发送单元,用于当所述负荷判断单元输出结果为否时,或者在所述客户端与所述其他流媒体服务器建立连接后,所述其他流媒体服务器根据来自所述客户端的多媒体文件播放请求,返回所述其他流媒体服务器中的所述文件块至所述客户端。
6.如权利要求5所述的流媒体服务器,其特征在于,所述文件块第二发送单元具体包括:
请求发送子单元,用于向所述云存储发送获取所述多媒体文件播放请求对应的文件块的请求;
缓存单元,用于获取所述云存储返回的所述文件块,并将所述文件块缓存在与所述客户端连接的流媒体服务器的本地硬盘中;以及
第二发送子单元,用于将所述文件块发送至所述客户端。
7.如权利要求5所述的流媒体服务器,其特征在于,所述文件块第一发送单元具体包括:
本地判断单元,用于判断本地硬盘中是否存储有与所述多媒体播放请求对应的文件块;
本地发送单元,用于当所述本地判断单元输出结果为是时,返回所述本地硬盘中的所述文件块至所述客户端;以及
第一发送子单元,用于当所述本地判断单元输出结果为否时,继续判断同一集群内的其他流媒体服务器中是否存储有所述多媒体播放请求对应的文件块,当判断结果为是时,从同一集群内的其他流媒体服务器中返回所述媒体播放请求对应的文件块至所述客户端。
CN201210146632.XA 2012-05-14 2012-05-14 基于流媒体服务器的多媒体文件获取方法及流媒体服务器 Expired - Fee Related CN102685232B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210146632.XA CN102685232B (zh) 2012-05-14 2012-05-14 基于流媒体服务器的多媒体文件获取方法及流媒体服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210146632.XA CN102685232B (zh) 2012-05-14 2012-05-14 基于流媒体服务器的多媒体文件获取方法及流媒体服务器

Publications (2)

Publication Number Publication Date
CN102685232A CN102685232A (zh) 2012-09-19
CN102685232B true CN102685232B (zh) 2015-11-18

Family

ID=46816585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210146632.XA Expired - Fee Related CN102685232B (zh) 2012-05-14 2012-05-14 基于流媒体服务器的多媒体文件获取方法及流媒体服务器

Country Status (1)

Country Link
CN (1) CN102685232B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102984282B (zh) * 2012-12-20 2015-08-05 青岛海信传媒网络技术有限公司 智能终端获取云存储文件的媒体数据的方法和装置
CN105025305A (zh) * 2014-04-22 2015-11-04 中兴通讯股份有限公司 Iptv图片文件的请求、发送方法及装置
CN105635196B (zh) * 2014-10-27 2019-08-09 中国电信股份有限公司 一种获取文件数据的方法、系统和应用服务器
CN104837029B (zh) * 2015-05-08 2018-07-03 厦门大学 一种高清视频点播系统的资源硬盘的存储和访问方法
CN105577797A (zh) * 2015-12-25 2016-05-11 北京像素软件科技股份有限公司 一种跨服务器数据互通的系统和方法
CN108924139B (zh) * 2018-07-05 2021-02-26 杭州安恒信息技术股份有限公司 基于云端提升文件检测效率的方法、装置及执行服务器
CN109889568B (zh) * 2018-12-29 2022-03-29 北京城市网邻信息技术有限公司 一种数据导出方法、服务器及系统
CN110392233B (zh) * 2019-06-20 2022-12-23 视联动力信息技术股份有限公司 监控视频处理方法、装置及存储介质
CN112671918B (zh) * 2020-12-29 2024-03-05 平安普惠企业管理有限公司 基于二进制的分布式数据下载方法、装置、设备及介质
CN112734982A (zh) * 2021-01-15 2021-04-30 北京小马慧行科技有限公司 无人车驾驶行为数据的存储方法和系统
CN113271475B (zh) * 2021-04-12 2023-01-10 北京奇艺世纪科技有限公司 一种数据处理方法、系统、电子设备及存储介质
CN113382286A (zh) * 2021-06-07 2021-09-10 中山亿联智能科技有限公司 基于iptv的自动处理文件下载通知的方法
CN113691830B (zh) * 2021-10-26 2022-10-28 杭州阿启视科技有限公司 一种视频流缓存方法及相关装置
CN113824988B (zh) * 2021-11-01 2023-08-25 福建星网视易信息系统有限公司 一种适配不同场景的点播方法及终端
CN114051152A (zh) * 2022-01-17 2022-02-15 飞狐信息技术(天津)有限公司 视频播放方法及装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237418A (zh) * 2008-02-28 2008-08-06 蓝汛网络科技(北京)有限公司 基于内容分发网络的流媒体加速系统、方法及设备
CN101854278A (zh) * 2009-04-01 2010-10-06 升东网络科技发展(上海)有限公司 即时通讯中的多媒体传输系统和方法
CN102137284A (zh) * 2010-07-01 2011-07-27 华为软件技术有限公司 控制资讯播放的方法、装置及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101141627A (zh) * 2007-10-23 2008-03-12 深圳市迅雷网络技术有限公司 一种流媒体文件的存储系统及方法
CN101729273A (zh) * 2008-10-27 2010-06-09 中国移动通信集团公司 一种流媒体分发系统、方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237418A (zh) * 2008-02-28 2008-08-06 蓝汛网络科技(北京)有限公司 基于内容分发网络的流媒体加速系统、方法及设备
CN101854278A (zh) * 2009-04-01 2010-10-06 升东网络科技发展(上海)有限公司 即时通讯中的多媒体传输系统和方法
CN102137284A (zh) * 2010-07-01 2011-07-27 华为软件技术有限公司 控制资讯播放的方法、装置及系统

Also Published As

Publication number Publication date
CN102685232A (zh) 2012-09-19

Similar Documents

Publication Publication Date Title
CN102685232B (zh) 基于流媒体服务器的多媒体文件获取方法及流媒体服务器
TWI415427B (zh) 同儕即時串流系統與方法
CN102694831B (zh) 移动终端流媒体数据补偿方法与系统、内容分发网络
EP2432187B1 (en) Method, system and proxy node for peer-to-peer (p2p) streaming media data distribution
CN103069492A (zh) 用于多媒体流传输文件的存储文件格式、存储方法和使用其的客户端装置
KR20030056701A (ko) P2p 방식을 이용한 멀티미디어 스트리밍 장치 및 방법
CN103179156A (zh) 一种图片分享方法、系统及设备
CN102769666B (zh) 一种云存储方法及云存储系统
EP1806870B1 (en) Method for providing data and data transmission system
KR20150079557A (ko) 클라이언트 장치에 시청각 컨텐츠를 전달하는 시스템 및 방법
CN101472163A (zh) 图片文件传输方法和装置及系统
CN107438201B (zh) 消息处理系统、方法及装置
CN106059936A (zh) 云系统组播文件的方法及装置
US20130067107A1 (en) Network selection for streaming media among multiple devices
CN109510868A (zh) 一种建立p2p网络的方法、装置、终端设备及存储介质
CN101958934B (zh) 一种电子节目指南增量内容同步方法、装置及系统
KR20050060783A (ko) 네트워크상에서 디지털 미디어 파일을 검색하고다운로드하는 방법 및 그 방법을 실행하는 프로그램을기록한 기록매체
CN101090480A (zh) 视频点播方法、视频服务器和网络附加存储服务器
CN105163144A (zh) 在线网络视频p2p传输方法
Lorenz et al. Cooperative video caching for interactive and scalable VoD systems
US9654533B2 (en) Method of adaptively delivering media based on reception status information from media client and apparatus using the same
KR101664188B1 (ko) P2p 네트워크 기반 데이터 관리 장치 및 데이터 관리 방법
KR100931356B1 (ko) 콘텐츠를 전송하는 콘텐츠 전송장치, 방법 및 기록매체
Gazdar et al. Toward a full peer to peer MPEG-DASH compliant streaming system
CN104660651A (zh) 一种p2p连接方法、服务器、终端以及一种通信系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: HANGZHOU SKYVISION INTELLIGENCE SYSTEM CO., LTD.

Free format text: FORMER OWNER: CSST E-CITY TECHNOLOGY (CHINA) CO., LTD.

Effective date: 20150108

Free format text: FORMER OWNER: HANGZHOU SKYVISION INTELLIGENCE SYSTEM CO., LTD.

Effective date: 20150108

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518000 SHENZHEN, GUANGDONG PROVINCE TO: 310014 HANGZHOU, ZHEJIANG PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20150108

Address after: Hangzhou City, Zhejiang province 310014 Xihu District 212 Moganshan Road Zoomlion Building 2 room 1401-1405

Applicant after: Hangzhou Skyvision Intelligence System Co., Ltd.

Address before: 518000 Guangdong province Shenzhen city Futian District District Shennan Road Press Plaza room 1306

Applicant before: Anke Smart Cities Technolongy (PRC) Co., Ltd.

Applicant before: Hangzhou Skyvision Intelligence System Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170119

Address after: High tech Zone Zhang Bayi Road 710065 Shaanxi city of Xi'an province No. 1 unit 2 building IBC2 room 20708 Huixin

Patentee after: In an Xiaoxu dragon electronic technology limited liability company

Address before: Hangzhou City, Zhejiang province 310014 Xihu District 212 Moganshan Road Zoomlion Building 2 room 1401-1405

Patentee before: Hangzhou Skyvision Intelligence System Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151118

Termination date: 20200514