发明内容
针对上述的缺陷,本发明的目的在于提供一种视频点播服务的实现方法及***,能够根据点播服务状态灵活实现视频点播服务,从而可减少媒体资源对存储设备的占用。
为了实现上述目的,本发明提供一种视频点播服务的实现方法,所述方法包括步骤有:
点播管理子***接收视频点播请求;
点播管理子***判断媒体播放子***是否存在所述视频点播请求对应的媒体资源;
若存在所述媒体资源,媒体播放子***直接播放所述媒体资源;
若不存在所述媒体资源,实时转码子***获取所述媒体资源,同时将所述媒体资源实时转码后进行播放。
根据本发明所述的实现方法,所述点播管理子***接收视频点播请求的步骤之前包括:
媒体生成子***生成媒体资源,将所述媒体资源进行转码后分发给所述点播管理子***;
所述点播管理子***获取点播服务状态;
根据所述点播服务状态对所述媒体资源进行分析,判断所述媒体播放子***和/或实时转码子***的资源是否充足;
若资源不足,则淘汰所述媒体播放子***和/或实时转码子***上部分已存媒体资源,直至资源充足;
若资源充足,则将所述媒体资源调度保存至所述媒体播放子***和/或实时转码子***。
根据本发明所述的实现方法,所述方法进一步包括:
所述点播管理子***自动获取并分析点播服务状态;
若所述点播服务状态的变化超过预定阀值,则对所述媒体播放子***和/或实时转码子***的媒体资源进行调度;
若所述点播服务状态的变化未超过预定阀值,则不响应。
根据本发明所述的实现方法,所述对媒体播放子***和/或实时转码子***的媒体资源进行调度的步骤包括:
淘汰媒体播放子***和/或实时转码子***上部分已存媒体资源;或者
将同一所述媒体资源在所述媒体播放子***和/或实时转码子***中的不同服务器上的移动;或者
将媒体资源在所述媒体播放子***和所述实时转码子***之间移动。
根据本发明所述的实现方法,所述点播服务状态包括:用户点播行为;***软硬件和网络状态;和/或业务需求。
根据本发明所述的实现方法,所述点播管理子***获取并分析点播服务状态的步骤之后包括:
分析出所述***软硬件和网络状态为不可恢复故障,则发出警告并触发资源调度;
若分析出所述***软硬件和网络状态为可恢复故障,则仅发出警告。
根据本发明所述的实现方法,所述方法还包括步骤有:将所述媒体资源放到备份子***进行备份;或者将所述媒体资源放到所述实时转码子***进行存储。
根据本发明所述的实现方法,所述点播管理子***判断出媒体播放子***不存在所述视频点播请求对应的媒体资源的步骤之后进一步包括:
所述实时转码子***中存储有所述媒体资源,则所述实时转码子***直接将所述媒体资源实时转码后进行播放;或者
点播管理子***将所述媒体资源从所述备份子***或媒体生成子***迁移至所述实时转码子***,所述实时转码子***将所述媒体资源实时转码后进行播放;或者
点播管理子***将所述媒体资源从所述备份子***迁移至所述媒体生成子***,并将所述媒体资源转码后发送给所述点播管理子***,所述点播管理子***再将所述媒体资源存至媒体播放子***,最后由所述媒体播放子***播放所述媒体资源。
本发明还提供一种视频点播服务的实现***,所述***包括:
点播管理子***,用于提供播放列表服务,并接收到视频点播请求后,分析判断媒体播放子***是否存在所述视频点播请求对应的媒体资源,并根据分析判断结果来触发媒体播放子***或实时转码子***;
媒体播放子***,用于在所述媒体播放子***存在所述媒体资源时,直接播放所述媒体资源;
实时转码子***,用于在所述媒体播放子***不存在所述媒体资源时,获取所述媒体资源,同时将所述媒体资源实时转码后进行播放。
根据本发明所述的实现***,所述***还包括:
媒体生成子***,用于生成媒体资源,并将所述媒体资源进行转码后分发给所述点播管理子***;
所述点播管理子***进一步包括:
点播服务模块,用于提供播放列表;
状态获取模块,用于获取点播服务状态;
状态分析模块,用于根据所述点播服务状态对所述媒体资源进行分析,判断所述媒体播放子***和/或实时转码子***的资源是否充足;
调度模块,用于在资源不足时,淘汰所述媒体播放子***和/或实时转码子***上部分已存媒体资源,直至资源充足;或用于在资源充足时,将所述媒体生成子***生成的媒体资源调度保存至所述媒体播放子***和/或实时转码子***。
根据本发明所述的实现***,所述状态分析模块还用于自动分析点播服务状态,若所述点播服务状态的变化超过预定阀值,则触发所述调度模块对所述媒体播放子***和/或实时转码子***的媒体资源进行调度;若所述点播服务状态的变化未超过预定阀值,则不响应。
根据本发明所述的实现***,所述调度模块用于淘汰所述媒体播放子***和/或实时转码子***上部分已存媒体资源;或者
用于将同一所述媒体资源在所述媒体播放子***和/或实时转码子***中的不同服务器上的移动;或者
用于将媒体资源在所述媒体播放子***和所述实时转码子***之间移动。
根据本发明所述的实现***,所述点播服务状态包括:用户点播行为;***软硬件和网络状态;和/或业务需求;
所述状态获取模块进一步包括:
日志分析子模块,用于获取用户点播行为;
***监控子模块,用于获取***软硬件和网络状态;
业务管理子模块,用于获取业务需求;和/或
所述状态分析模块还用于根据分析所述用户点播行为、***软硬件和网络状态、和/或业务需求。
根据本发明所述的实现***,所述状态分析模块用于在分析出所述***软硬件和网络状态为不可恢复故障时,则发出警告并触发所述调度模块进行调度;还用于在分析出所述***软硬件和网络状态为可恢复故障时,仅发出警告。
根据本发明所述的实现***,所述***还包括:
备份子***,用于备份所述媒体资源;
所述实时转码子***进一步包括:
若干实时转码器,用于将所述媒体资源进行实时转码后进行播放;
若干第一存储器,用于存储所述媒体资源。
根据本发明所述的实现***,所述实时转码子***的第一存储器存储有所述媒体资源时,所述实时转码器直接将所述媒体资源实时转码后进行播放;或者
点播管理子***的调度模块将所述媒体资源从所述备份子***或媒体生成子***迁移至所述实时转码子***,所述实时转码子***的实时转码器将所述媒体资源实时转码后进行播放;或者
点播管理子***的调度模块将所述媒体资源从所述备份子***迁移至所述媒体生成子***,所述媒体生成子***将所述媒体资源转码后发送给所述点播管理子***,所述点播管理子***的所述调度模块再将所述媒体资源存至媒体播放子***,最后由所述媒体播放子***播放所述媒体资源。
本发明的视频点播服务为用户提供两种服务方式:第一种是立即服务;第二种是同时生成并服务。点播管理子***直接接收用户的视频点播请求,并判断媒体播放子***是否存在所述视频点播请求对应的媒体资源,若存在所述媒体资源则执行第一服务方式,即由媒体播放子***直接播放媒体资源;若不存在所述媒体资源则执行第二种服务方式,即由实时转码子***获取所述媒体资源,同时将所述媒体资源实时转码后进行播放。更好的是,点播管理子***可以通过分析点播服务状态来进行资源调度,所述点播服务状态包括但不限于用户点播行为、***软硬件和网络状态、和/或业务需求。借此,本发明能够在不降低用户点播服务等级的前提下,根据点播服务状态灵活实现视频点播服务,从而可减少媒体资源对存储设备的占用。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图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播放媒体资源。
综上所述,本发明的视频点播服务为用户提供两种服务方式:第一种是立即服务;第二种是同时生成并服务。点播管理子***直接接收用户的视频点播请求,并判断媒体播放子***是否存在所述视频点播请求对应的媒体资源,若存在所述媒体资源则执行第一服务方式,即由媒体播放子***直接播放媒体资源;若不存在所述媒体资源则执行第二种服务方式,即由实时转码子***获取所述媒体资源,同时将所述媒体资源实时转码后进行播放。更好的是,点播管理子***可以通过分析点播服务状态来进行资源调度,所述点播服务状态包括但不限于用户点播行为、***软硬件和网络状态、和/或业务需求。借此,本发明能够在不降低用户点播服务等级的前提下,根据点播服务状态灵活实现视频点播服务,从而可减少媒体资源对存储设备的占用。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。