发明内容
针对上述的缺陷,本发明的目的在于提供一种视频点播服务的实现方法及系统,能够根据点播服务状态灵活实现视频点播服务,从而可减少媒体资源对存储设备的占用。
为了实现上述目的,本发明提供一种视频点播服务的实现方法,所述方法包括步骤有:
点播管理子系统接收视频点播请求;
点播管理子系统判断媒体播放子系统是否存在所述视频点播请求对应的媒体资源;
若存在所述媒体资源,媒体播放子系统直接播放所述媒体资源;
若不存在所述媒体资源,实时转码子系统获取所述媒体资源,同时将所述媒体资源实时转码后进行播放。
根据本发明所述的实现方法,所述点播管理子系统接收视频点播请求的步骤之前包括:
媒体生成子系统生成媒体资源,将所述媒体资源进行转码后分发给所述点播管理子系统;
所述点播管理子系统获取点播服务状态;
根据所述点播服务状态对所述媒体资源进行分析,判断所述媒体播放子系统和/或实时转码子系统的资源是否充足;
若资源不足,则淘汰所述媒体播放子系统和/或实时转码子系统上部分已存媒体资源,直至资源充足;
若资源充足,则将所述媒体资源调度保存至所述媒体播放子系统和/或实时转码子系统。
根据本发明所述的实现方法,所述方法进一步包括:
所述点播管理子系统自动获取并分析点播服务状态;
若所述点播服务状态的变化超过预定阀值,则对所述媒体播放子系统和/或实时转码子系统的媒体资源进行调度;
若所述点播服务状态的变化未超过预定阀值,则不响应。
根据本发明所述的实现方法,所述对媒体播放子系统和/或实时转码子系统的媒体资源进行调度的步骤包括:
淘汰媒体播放子系统和/或实时转码子系统上部分已存媒体资源;或者
将同一所述媒体资源在所述媒体播放子系统和/或实时转码子系统中的不同服务器上的移动;或者
将媒体资源在所述媒体播放子系统和所述实时转码子系统之间移动。
根据本发明所述的实现方法,所述点播服务状态包括:用户点播行为;系统软硬件和网络状态;和/或业务需求。
根据本发明所述的实现方法,所述点播管理子系统获取并分析点播服务状态的步骤之后包括:
分析出所述系统软硬件和网络状态为不可恢复故障,则发出警告并触发资源调度;
若分析出所述系统软硬件和网络状态为可恢复故障,则仅发出警告。
根据本发明所述的实现方法,所述方法还包括步骤有:将所述媒体资源放到备份子系统进行备份;或者将所述媒体资源放到所述实时转码子系统进行存储。
根据本发明所述的实现方法,所述点播管理子系统判断出媒体播放子系统不存在所述视频点播请求对应的媒体资源的步骤之后进一步包括:
所述实时转码子系统中存储有所述媒体资源,则所述实时转码子系统直接将所述媒体资源实时转码后进行播放;或者
点播管理子系统将所述媒体资源从所述备份子系统或媒体生成子系统迁移至所述实时转码子系统,所述实时转码子系统将所述媒体资源实时转码后进行播放;或者
点播管理子系统将所述媒体资源从所述备份子系统迁移至所述媒体生成子系统,并将所述媒体资源转码后发送给所述点播管理子系统,所述点播管理子系统再将所述媒体资源存至媒体播放子系统,最后由所述媒体播放子系统播放所述媒体资源。
本发明还提供一种视频点播服务的实现系统,所述系统包括:
点播管理子系统,用于提供播放列表服务,并接收到视频点播请求后,分析判断媒体播放子系统是否存在所述视频点播请求对应的媒体资源,并根据分析判断结果来触发媒体播放子系统或实时转码子系统;
媒体播放子系统,用于在所述媒体播放子系统存在所述媒体资源时,直接播放所述媒体资源;
实时转码子系统,用于在所述媒体播放子系统不存在所述媒体资源时,获取所述媒体资源,同时将所述媒体资源实时转码后进行播放。
根据本发明所述的实现系统,所述系统还包括:
媒体生成子系统,用于生成媒体资源,并将所述媒体资源进行转码后分发给所述点播管理子系统;
所述点播管理子系统进一步包括:
点播服务模块,用于提供播放列表;
状态获取模块,用于获取点播服务状态;
状态分析模块,用于根据所述点播服务状态对所述媒体资源进行分析,判断所述媒体播放子系统和/或实时转码子系统的资源是否充足;
调度模块,用于在资源不足时,淘汰所述媒体播放子系统和/或实时转码子系统上部分已存媒体资源,直至资源充足;或用于在资源充足时,将所述媒体生成子系统生成的媒体资源调度保存至所述媒体播放子系统和/或实时转码子系统。
根据本发明所述的实现系统,所述状态分析模块还用于自动分析点播服务状态,若所述点播服务状态的变化超过预定阀值,则触发所述调度模块对所述媒体播放子系统和/或实时转码子系统的媒体资源进行调度;若所述点播服务状态的变化未超过预定阀值,则不响应。
根据本发明所述的实现系统,所述调度模块用于淘汰所述媒体播放子系统和/或实时转码子系统上部分已存媒体资源;或者
用于将同一所述媒体资源在所述媒体播放子系统和/或实时转码子系统中的不同服务器上的移动;或者
用于将媒体资源在所述媒体播放子系统和所述实时转码子系统之间移动。
根据本发明所述的实现系统,所述点播服务状态包括:用户点播行为;系统软硬件和网络状态;和/或业务需求;
所述状态获取模块进一步包括:
日志分析子模块,用于获取用户点播行为;
系统监控子模块,用于获取系统软硬件和网络状态;
业务管理子模块,用于获取业务需求;和/或
所述状态分析模块还用于根据分析所述用户点播行为、系统软硬件和网络状态、和/或业务需求。
根据本发明所述的实现系统,所述状态分析模块用于在分析出所述系统软硬件和网络状态为不可恢复故障时,则发出警告并触发所述调度模块进行调度;还用于在分析出所述系统软硬件和网络状态为可恢复故障时,仅发出警告。
根据本发明所述的实现系统,所述系统还包括:
备份子系统,用于备份所述媒体资源;
所述实时转码子系统进一步包括:
若干实时转码器,用于将所述媒体资源进行实时转码后进行播放;
若干第一存储器,用于存储所述媒体资源。
根据本发明所述的实现系统,所述实时转码子系统的第一存储器存储有所述媒体资源时,所述实时转码器直接将所述媒体资源实时转码后进行播放;或者
点播管理子系统的调度模块将所述媒体资源从所述备份子系统或媒体生成子系统迁移至所述实时转码子系统,所述实时转码子系统的实时转码器将所述媒体资源实时转码后进行播放;或者
点播管理子系统的调度模块将所述媒体资源从所述备份子系统迁移至所述媒体生成子系统,所述媒体生成子系统将所述媒体资源转码后发送给所述点播管理子系统,所述点播管理子系统的所述调度模块再将所述媒体资源存至媒体播放子系统,最后由所述媒体播放子系统播放所述媒体资源。
本发明的视频点播服务为用户提供两种服务方式:第一种是立即服务;第二种是同时生成并服务。点播管理子系统直接接收用户的视频点播请求,并判断媒体播放子系统是否存在所述视频点播请求对应的媒体资源,若存在所述媒体资源则执行第一服务方式,即由媒体播放子系统直接播放媒体资源;若不存在所述媒体资源则执行第二种服务方式,即由实时转码子系统获取所述媒体资源,同时将所述媒体资源实时转码后进行播放。更好的是,点播管理子系统可以通过分析点播服务状态来进行资源调度,所述点播服务状态包括但不限于用户点播行为、系统软硬件和网络状态、和/或业务需求。借此,本发明能够在不降低用户点播服务等级的前提下,根据点播服务状态灵活实现视频点播服务,从而可减少媒体资源对存储设备的占用。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图2示出了本发明视频点播服务的实现系统的结构,所述实现系统100至少包括点播管理子系统20、媒体播放子系统30和实时转码子系统40,其中:
点播管理子系统20,用于提供播放列表服务,并接收到视频点播请求后,分析判断媒体播放子系统30是否存在视频点播请求对应的媒体资源,并根据分析判断结果来触发媒体播放子系统30或实时转码子系统40工作。本发明中用户终端并不直接向媒体播放子系统30发起视频点播请求,而是先向点播管理子系统20发起视频点播请求。所有的媒体播放子系统30对客户端而言都是透明的。本发明不限制用户终端的形式,用户终端可以是电视机,手机,计算机等,而用户终端的播放工具可以是浏览器,也可以是应用软件。
媒体播放子系统30,用于在媒体播放子系统30存在媒体资源时,直接播放所述媒体资源,此时用户终端就可以收看到用户点播的视频节目。
实时转码子系统40,用于在媒体播放子系统30不存在媒体资源时,获取所述媒体资源,同时将所述媒体资源实时转码后进行播放。值得一提的是,所述实时转码子系统40获取媒体资源和实时转码并并非孤立的两个步骤,而是边获取媒体资源边转码的一个行为的两个方面。本发明对于实时转码子系统40如何获取媒体资源的方法没有作限定,可以使用任何的高速存储器和传输协议。具体而言,实时转码子系统40可以从下文的媒体生成子系统10、第一存储器41或是备份子系统50中获取媒体资源。
由于对于用户终端的透明性,用户终端不知道作为点播流的媒体资源是如何提供的。但是本发明不排斥客户端有如下不透明的实现,即将点播流按照来源区分并给与不同的缓存算法。
本发明视频点播服务的实现系统100还应该包括媒体生成子系统10,该媒体生成子系统10用于生成媒体资源,并将媒体资源进行转码后分发给点播管理子系统20。操作人员在媒体生成子系统10执行编辑工作,该媒体生成子系统10是用于新媒资的生成过程。需注意的是本文没有限制新媒资的制作方式和系统,一般通行的编辑制作方式都可以作为实施例。
图3是本发明优选的视频点播服务的实现系统的结构示意图,所述实现系统100包括媒体生成子系统10、点播管理子系统20、媒体播放子系统30和实时转码子系统40,其中:
所述媒体生成子系统10进一步包括:
生成模块11,用于生成媒体资源,其具体功能包含但不仅限于非编(NLE,非线性编辑),剪辑,回迁,转码等。生成模块11还用于将生产的媒体资源发给转码模块12,这是一个单向传递过程,即生成模块11生成出的媒体资源将传递给转码模块12作进一步处理。进一步,单向传递仅指媒体资源的传递方式,其他信息传递不受此限制。因此可以存在这样的实施例,生成模块11获取转码模块12的转码状态及更进一步的信息。
转码模块12,用于将生成模块11生成的媒体资源进行转码后分发给点播管理子系统20。转码模块12可以包括若干转码器,本发明中不对转码器有任何限制,可以是任何制式,任何码率的转码器。进一步,可以是一转一的转码器,也可以是支持一转多(即一个源输入多个结果输出)的转码器。转码模块12将输入的媒体资源按实际需求转码成不同码率不同格式的媒体。这里的转码模块12和实时转码器42的区别在于转码模块12在媒体生成子系统10中,因此不需要高实时性和高并发性。但本发明不排斥转码模块12使用高性能实时转码器。进一步如果将转码模块12和实时转码器42合并为一个系统集,则与本发明的基本原理和新颖性不加抵触,可以视为另一个实施例。
所述点播管理子系统20进一步包括:
点播服务模块21,用于提供播放列表。
状态获取模块22,用于获取点播服务状态,所述点播服务状态可以是用户点播行为;系统软硬件和网络状态;和/或业务需求等。
状态分析模块23,用于根据点播服务状态对媒体资源进行分析,判断媒体播放子系统30和/或实时转码子系统40的资源是否充足。
调度模块24,用于在资源不足时,淘汰媒体播放子系统30和/或实时转码子系统40上部分已存媒体资源,直至资源充足;或用于在资源充足时,将媒体生成子系统10生成的媒体资源调度保存至指定的媒体播放子系统30和/或实时转码子系统40。
状态分析模块23还用于自动分析点播服务状态,其实对需求变化的分析响应模块,响应功能可以分为(a)对变化的响应;b)对变化的不响应。若点播服务状态的变化超过预定阀值,则触发调度模块24对媒体播放子系统30和/或实时转码子系统40的媒体资源进行资源调度;若点播服务状态的变化未超过预定阀值,则不响应,因为事件变化的复杂性,有必要进一步归纳事件信息,即对大多事件采用不响应的策略,只有超过一定阈值后才响应事件。状态分析模块23也可由第三方提供数据支持。所述点播服务状态包括:用户点播行为;系统软硬件和网络状态;和/或业务需求等。
调度模块24用于在各个存储器上调度媒体资源,触发调度模块24工作的可以是以下并不限于以下事件:媒体生成子系统10工作完毕,状态分析模块23得出分析结论。具体资源调度处理包括:
淘汰媒体播放子系统30和/或实时转码子系统40上部分已存媒体资源,可将更高优先级的媒体资源替换低优先级的媒体资源;或者
将同一媒体资源在媒体播放子系统30和/或实时转码子系统40中的不同服务器上的移动;或者
将同一媒体资源在媒体播放子系统30和实时转码子系统40之间移动。
点播服务模块21中播放列表的生成需要获取媒体资源在高速存储器上的信息。然而由于调度模块24的存在,这个信息可能存在变化并影响提供用户服务质量。解决的办法是调度模块24获取点播服务子系统20的信息并避免因媒资调度影响用户的体验。进一步,本发明亦不排斥由用户终端检测媒体资源的位置是否可用的方案,即当发现媒体资源不可使用时由用户终端向点播服务模块21发起重新生成播放列表的请求。
所述状态获取模块22进一步包括日志分析子模块221、系统监控子模块222和/或业务管理子模块223,其中:
日志分析子模块221,用于获取用户点播行为。日志分析子模块221是对于所有服务器日志的分析工具,可以用于用户点播行为的分析。其步骤为抓取、过滤、统计,其统计结论可以被状态分析模块23所调用。
系统监控子模块222,用于获取系统软硬件和网络状态。系统监控子模块222是对于软硬件及网络状态的监控系统。对于软件、硬件和网络故障做出判断,分为(a)可恢复故障;(b)不可恢复故障。对于可恢复故障发出告警信息,并不引起调度。对于不可恢复故障,除了发出告警信息还要引起分析和调度的动作。值得注意的是这里的“不可恢复”指不存在人为干预的情况下在指定时间内系统无法自动修复。
业务管理子模块223,用于获取业务需求。业务管理子模块223是从业务角度提出需求的模块,其中的业务需求的来源可以是一个供业务人员输入的界面,也可以是第三方系统接口。业务需求包括出于任何目的需要将某个或某一类媒体资源提供最佳用户体验服务的需要或是将某个或某一类媒体资源提供最节省服务器资源服务的需要。需要指出的是,业务目标是多种多样的,但最终业务需求只要可以归纳为以上两种的即可以视为本发明的一个实施例。
状态分析模块23还用于根据分析用户点播行为、系统软硬件和网络状态、和/或业务需求。其中,当状态分析模块23分析出系统软硬件和网络状态为不可恢复故障时,则发出警告并触发调度模块进行调度;当状态分析模块23分析出系统软硬件和网络状态为可恢复故障时,仅发出警告。
可见,本发明点播管理子系统20可以根据点播服务状态提供用户点播服务;还可以动态调整媒体资源在各个服务器上的分布。
本发明的媒体播放子系统30进一步包括:
第二存储器31,用于存储媒体资源,第二存储器31优选采用高速存储器。
媒体服务器32,用于提供媒体资源的播放服务。
本发明视频点播服务的实现系统100还可包括:
备份子系统50,用于备份媒体资源,备份子系统50具体可包含磁带库及磁带库引擎等。
所述实时转码子系统40可进一步包括:
若干第一存储器41,用于存储媒体资源,第一存储器41优选采用高速存储器。
若干实时转码器(Real-time Transcoder)42,用于将媒体资源进行实时转码后进行播放。
在备份处理中可以包括三种方式:
实时转码子系统40的第一存储器41存储有媒体资源时,即预先将媒体片源存放到第一存储器41上备用,则实时转码器42直接将媒体资源实时转码后进行播放;或者
点播管理子系统20的调度模块24将媒体资源从备份子系统50或媒体生成子系统10迁移至实时转码子系统40,实时转码子系统40的实时转码器42将媒体资源实时转码后进行播放;或者
点播管理子系统20的调度模块24将媒体资源从备份子系统50迁移至媒体生成子系统10,媒体生成子系统10将媒体资源转码后发送给点播管理子系统20,点播管理子系统20的调度模块24再将媒体资源存至媒体播放子系统30,最后由媒体播放子系统30播放媒体资源。值得注意的是,从备份子系统50上迁移媒体资源是高消耗的过程,应尽量避免。因此,存在这样的实施例,用高速存储器取代备份系统改善性能,这种改进与本发明的基本原理和新颖性不加抵触,可以视为另一个实施例。
图4是本发明视频点播服务的实现方法的流程图,其可通过如图2或图3所示的视频点播服务的实现系统100实现,包括步骤如下:
步骤S401,点播管理子系统20接收视频点播请求。
步骤S402,点播管理子系统20判断媒体播放子系统30是否存在视频点播请求对应的媒体资源,若存在则执行步骤S403,否则执行步骤S404。
步骤S403,若存在媒体资源,媒体播放子系统30直接播放媒体资源。
步骤S404,若不存在媒体资源,实时转码子系统40获取媒体资源,同时将媒体资源实时转码后进行播放。实时转码子系统40可以从媒体生成子系统10、第一存储器41或是备份子系统50中获取媒体资源。
图5是本发明视频点播服务中媒体资源生成部分的优选流程图,其可通过如图2或图3所示的视频点播服务的实现系统100实现,所述流程包括步骤有:
步骤S501,媒体生成子系统10生成媒体资源,并将媒体资源进行转码。
步骤S502,将媒体资源分发给点播管理子系统20。
步骤S503,点播管理子系统20获取并分析点播服务状态,更进一步,该方法包含按照需求变化推动生成流程变化的行为。这里的需求变化指影响用户点播体验的一切变化。 所述点播服务状态可以包括:用户点播行为;系统软硬件和网络状态;和/或业务需求等。
步骤S504,点播管理子系统20根据点播服务状态对媒体资源进行分析,判断媒体播放子系统30和/或实时转码子系统40的资源是否充足,若充足执行步骤S505,否则执行步骤S506。
步骤S505,若资源不足进入淘汰算法处理,点播管理子系统20淘汰媒体播放子系统30和/或实时转码子系统40上部分已存媒体资源,直至资源充足至可以存放新的媒体资源。该淘汰算法可以是任意一种旨在对媒体资源的存放进行调度的方法,例如先进先出(FIFO)算法。进一步,该算法不排除出现新增媒体资源本身被算法淘汰的场景。
步骤S506,若资源充足,点播管理子系统20将媒体资源调度保存至算法指定的媒体播放子系统30和/或实时转码子系统40。
图6是本发明视频点播服务中资源调度部分的优选流程图,其可通过如图2或图3所示的视频点播服务的实现系统100实现,所述流程包括步骤有:
步骤S601,点播管理子系统20自动获取并分析点播服务状态。点播服务状态的获取可以采用定时扫描,也可以是事件驱动。
步骤S602,点播管理子系统20判断播服务状态的变化超过预定阀值,若超过则对媒体播放子系统30和/或实时转码子系统40的媒体资源进行资源调度,具体可执行步骤S603、步骤S604和/或步骤S605;若未超过则执行步骤S606。
步骤S603,进行淘汰算法处理,即淘汰媒体播放子系统30和/或实时转码子系统40上部分已存媒体资源。
步骤S604,将同一媒体资源在媒体播放子系统30和/或实时转码子系统40中的不同服务器上的移动。
步骤S605,将媒体资源在媒体播放子系统30和实时转码子系统40之间移动。
步骤S606,若点播服务状态的变化未超过预定阀值,则不响应。
所述播服务状态包括:用户点播行为;系统软硬件和网络状态;和/或业务需求等。点播管理子系统20若分析出系统软硬件和网络状态为不可恢复故障,则发出警告并触发资源调度;点播管理子系统20若分析出系统软硬件和网络状态为可恢复故障,则仅发出警告。
本发明的视频点播服务的实现方法还包括:将媒体资源放到备份子系统50进行备份或者将媒体资源放到实时转码子系统40进行存储,其处理包括三种方式:
实时转码子系统40中存储有媒体资源,则实时转码子系统40直接将媒体资源实时转码后进行播放;或者
点播管理子系统20将媒体资源从备份子系统50或媒体生成子系统10迁移至实时转码子系统40,由实时转码子系统40将媒体资源实时转码后进行播放;或者
点播管理子系统20将媒体资源从备份子系统50迁移至媒体生成子系统10,并将媒体资源转码后发送给点播管理子系统20,点播管理子系统20再将媒体资源存至媒体播放子系统30,最后由媒体播放子系统30播放媒体资源。
综上所述,本发明的视频点播服务为用户提供两种服务方式:第一种是立即服务;第二种是同时生成并服务。点播管理子系统直接接收用户的视频点播请求,并判断媒体播放子系统是否存在所述视频点播请求对应的媒体资源,若存在所述媒体资源则执行第一服务方式,即由媒体播放子系统直接播放媒体资源;若不存在所述媒体资源则执行第二种服务方式,即由实时转码子系统获取所述媒体资源,同时将所述媒体资源实时转码后进行播放。更好的是,点播管理子系统可以通过分析点播服务状态来进行资源调度,所述点播服务状态包括但不限于用户点播行为、系统软硬件和网络状态、和/或业务需求。借此,本发明能够在不降低用户点播服务等级的前提下,根据点播服务状态灵活实现视频点播服务,从而可减少媒体资源对存储设备的占用。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。