CN101232600A - 一种提供点播内容的方法、***和装置 - Google Patents
一种提供点播内容的方法、***和装置 Download PDFInfo
- Publication number
- CN101232600A CN101232600A CNA2008100076594A CN200810007659A CN101232600A CN 101232600 A CN101232600 A CN 101232600A CN A2008100076594 A CNA2008100076594 A CN A2008100076594A CN 200810007659 A CN200810007659 A CN 200810007659A CN 101232600 A CN101232600 A CN 101232600A
- Authority
- CN
- China
- Prior art keywords
- demand content
- content
- flash memory
- demand
- media server
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/251—Learning process for intelligent management, e.g. learning user preferences for recommending movies
- H04N21/252—Processing of multiple end-users' preferences to derive collaborative data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17336—Handling of requests in head-ends
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明实施例公开了一种提供点播内容的方法、***和装置,所述提供点播内容的方法包括:统计点播内容的热度;根据所述统计的热度将所述点播内容存入闪存,所述存入闪存的点播内容在媒体服务器收到点播请求时优先被提供。本发明实施例通过将热片存入流媒体服务器的闪存中,提高了I/O的读写速度,从而提高了单台流媒体服务器的性能。并且由于闪存有断电数据不丢失的特点,因此重启也无需从硬盘中读取热片的数据到闪存中,可以提高启动速度。
Description
技术领域
本发明实施例涉及通信技术领域,特别涉及一种提供点播内容的方法、***和装置。
背景技术
随着多媒体技术、通信技术以及硬件存储技术的发展,为了满足用户不同层次的需求,VOD(Video On Demand,视频点播)业务应运而生。运营商预先准备大量影片存储在视频点播***中,用户可以向视频点播***发出点播请求,随意地控制节目的播放。视频点播占用的服务器成本和网络带宽成本很高,在对这两个业务互相取长补短后,融合出一些全新的业务,例如:nPVR(network Personal Video Recording,网络个人视频录像)、TSTV(TimeShift Television,时移电视)。TVOD(Television On Demand,电视点播)、VOD和TSTV这类业务都需要服务器向用户提供流媒体服务。
随着服务质量要求的不断提高,以及业务和用户的不断增加导致业务的并发流量暴增,对流媒体服务的性能要求也就越来越高了。单台服务器的性能主要受限于CPU(Central Processing Unit,中央处理器)速度、内存、网络带宽、I/O读写速度等关键因素。目前单个CPU的主频已经提升到了3G以上,一台服务器可以配多个CPU,因此,CPU速度问题还没有成为瓶颈;内存目前可以配置到十几个GB,一般使用4GB或8GB也就足够了;流媒体服务器已经支持多个网卡绑定聚合增加带宽,如3个GE(Gigabit Ethernet,以太网接口)口绑定聚合可达到接近3G的带宽了,并且10GE网卡也已经开始投产,因此网络的带宽问题也不是影响流媒体服务性能的主要问题。
目前,流媒体服务器多采用磁盘阵列作为存储,受硬盘机械固有特性的严重限制,即使采用了把数据分散到多块磁盘中而提升整体I/O读写速度的技术,但提升的速度也不太明显,传统的SAN(Storage Area Network,存储区域网络)、DAS(Direct Access Storage,直接访问存储)、NAS(Network AttachedStorage,网络附加存储)存储I/O读写速度一般在1GBit/S左右。因此,相对而言,磁盘的I/O读写速度成为了制约流媒体服务器性能的关键因素,是业界面临的一个技术难题。
现有技术是预先把用户点播最多的影片缓冲到内存中,用户点播这些热片时,直接从内存中读出提供服务,利用内存比硬盘具有更高速的读写速度的特点,从而避免频繁访问磁盘,缓解磁盘I/O读写速度慢的压力。流媒体***通过统计请求次数、请求频率这两个指标对流内容的缓存优先级进行排序,以决定把哪些文件放入缓存区,同时把哪些文件剔出缓存区。但是目前有些流媒体应用***还是采用32位,这样导致这样的流媒体应用***的可用内存最大只有4GB,在IPTV(Internet Protocol Television,网络电视)领域中,一部电影一般的容量都在1GB之上,因此最多也只能缓存4部电影节目。新的硬件***与操作***已经开始支持64位,32位的流媒体应用***通过修改代码可以升级到支持64位,理论上可支持17179869184GB内存,但限于主板的内存插槽个数以及单块内存条的容量,一般情况下,一台服务器的最大可配十几GB的内存,最多也只能缓存十几部电影节目,这就存在内存存储影片数量较少的问题。并且,内存成本较高,目前市场1GB的内存条需要几百元甚至更多,某种程度上加大了投资负担。采用把热片放入内存的方法,在每次启动时都需要从硬件中读取热片的数据到缓冲区中,这样很大程度上可能影响启动的速度,降低运转速率。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:现有的利用把热片存放在内存中来缓解磁盘读写速度慢的方法,内存可存放影片的数量较少,成本较高,整体启动速率较低。
发明内容
本发明实施例提供一种提供点播内容的方法、***和装置,以提高I/O的读写速度和单台流媒体服务器的性能。
为达到上述目的,本发明实施例一方面提供一种提供点播内容的方法,包括:统计点播内容的热度;根据所述统计的热度将所述点播内容存入闪存,所述存入闪存的点播内容在媒体服务器收到点播请求时优先被提供。
另一方面,本发明实施例还提供一种提供点播内容的方法,包括:接收用户的点播请求;根据所述用户的点播请求,优先读取所述流媒体服务器中的闪存中存储的点播内容。
再一方面,本发明实施例还提供一种提供点播内容的***,包括:流媒体服务器、内容管理器,所述内容管理器,用于统计点播内容的热度,根据所述统计的热度将所述点播内容存入所述流媒体服务器的闪存中;所述流媒体服务器,用于在所述流媒体服务器的闪存中保存所述点播内容,在收到点播请求时优先读取所述存入闪存的点播内容。
再一方面,本发明实施例还提供一种内容管理器,包括:热度统计模块,用于统计点播内容的热度;存储模块,用于根据所述统计模块统计的热度将所述点播内容存入流媒体服务器的闪存中。
再一方面,本发明实施例还提供一种流媒体服务器,包括:至少一块闪存,用于存储点播内容,所述闪存插接于所述流媒体服务器的后插板上或插接于所述流媒体服务器的主板插槽上;媒体请求接收模块,用于接收用户的点播请求;媒体提供模块,用于在所述媒体请求接收模块接收到用户的点播请求时,优先读取所述流媒体服务器中的闪存中的点播内容。
与现有技术相比,本发明实施例具有以下优点:本发明实施例通过将热片存入流媒体服务器的闪存中,提高了I/O的读写速度,从而提高了单台流媒体服务器的性能。
附图说明
图1为本发明实施例提供点播内容的方法的流程图;
图2为本发明实施例后插板式的媒体服务器硬件***结构的示意图;
图3为本发明实施例主板插槽式的媒体服务器硬件***结构的示意图;
图4为本发明实施例***网络结构一的示意图;
图5为本发明实施例***网络结构二的示意图;
图6为本发明实施例用户点播的流程图;
图7为本发明实施例热度统计算法的流程图;
图8为本发明实施例按热度定时分发的流程图;
图9为本发明实施例提供点播内容的***的结构图;
图10为本发明实施例内容管理器的结构图;
图11为本发明实施例流媒体服务器的结构图。
具体实施方式
本发明实施例提供一种提供点播内容的方法,通过本发明实施例,利用闪存作为热片的存储器,大大提高了I/O的读写速度,从而提高了单台流媒体服务器的性能。
如图1所示,为本发明实施例提供点播内容的方法的流程图,具体包括以下步骤:
步骤S101,统计点播内容的热度。本发明实施例根据用户的点播次数和点播时长确定点播内容的热度,以确定哪些点播内容为热片。
步骤S102,根据统计的热度将所述点播内容存入闪存,存入闪存的点播内容在媒体服务器收到点播请求时优先被提供。在确定热片的范围之后,根据流媒体服务器的闪存的大小将热片的全部内容存入闪存或只将热片的片头存入闪存,而将其他内容存入磁盘阵列。
这样,当流媒体服务器接收到用户的点播请求时,优先读取闪存中存储的点播内容为用户提供服务,如果闪存中没有符合用户点播请求的点播内容,再考虑从磁盘阵列或本地磁盘中读取。如果闪存中只存放了点播内容的片头,那么流媒体服务器在播放完此片头之后,再从磁盘阵列或本地磁盘中找到与该片头对应的点播内容从片头的末尾继续播放。
本发明实施例在每台流媒体服务器上都配置了一块或多块闪存(即Flash存储),可采用后插板的方式加入。如图2所示,为后插板式的流媒体服务器硬件***结构的示意图。在图2中只显示了一块闪存,但实际应用不限于一块闪存。还可以采用在主板插槽上加入的方式。如图3所示,为主板插槽式的流媒体服务器硬件***结构的示意图。图3中只显示了一块闪存,但实际应用不限于一块闪存。
如图4所示,为本发明实施例***网络结构一的示意图。本发明实施例中的客户端可以是手机、机顶盒、PC机等,但本发明实施例以无线网络中的手机为例进行说明。流媒体服务器采用集群部署,部署在负载均衡器后面,客户端先接入到负载均衡器中,由负载均衡器调度一台最佳流媒体服务器为该用户提供服务。负载均衡器可以按内容、按负载、按区域等方式进行综合调度。按内容调度是指把用户调度到有用户要观看的内容的流媒体服务器上提供服务,按负载调度是指把用户调度到CPU、内存等性能指标较低即负载较轻的流媒体服务器上提供服务,按区域调度是指把用户调度到离该用户在地理位置上最近的媒体服务器上提供服务。内容管理***在本发明实施例中除了发布、修改、删除内容等常用内容管理功能之外,还需承担内容热度统计,决定哪些内容或片头存放在流媒体服务器的闪存中,同时把哪些内容或片头剔出流媒体服务器的闪存中等功能。
当然本发明实施例的***网络结构并不局限于此,也可以采用如图5所示的***网络结构。流媒体服务器甚至可以采用本地磁盘,内容管理***与流媒体服务器还可以合用一台机器。
如图6所示,为本发明实施例用户点播的流程图。具体包括以下几个步骤:
步骤S601,用户的点播请求被接入到负载均衡器中。如果没有负载均衡器,用户的点播请求直接接入到流媒体服务器中,点播流程直接跳到步骤S604步。
步骤S602,根据用户点播的内容,选择合适的流媒体服务器。
通过本发明实施例,负载均衡器根据用户点播的内容,在负载同等或相差不远的情况下,优先考虑闪存有此内容片头的媒体服务器,即要求负载均衡器按内容调度时区分一下点播的内容是闪存内容还是一般的磁盘内容,先考虑闪存内容,然后再考虑区域等其它因素。
步骤S603,把用户的点播请求转发给步骤S602选定的流媒体服务器中。
步骤S604,根据用户请求,优先读取闪存中的点播内容。媒体服务器接收到用户请求时,优先考虑读取闪存中内容提供服务,如果闪存没有用户点播的内容,再考虑从磁盘阵列或本地磁盘读取。如果闪存中只存放了片头,那么媒体服务器先播放完此片头后,再从磁盘阵列或本地磁盘中找到对应的内容从片头末尾继续播放。
步骤S605,流媒体服务发送媒体流提供服务。
步骤S606,流媒体服务器把用户点播请求通知内容管理***。
步骤S607,内容管理***生成一条点播记录,保存在数据库或文件中,同一内容可能存在多条记录,每条记录包括但不限于以下信息:内容ID、用户IP、点播时间、点播时长等,这些信息以数据表的结构进行存放,记为Tab-Stat-Consume(消费记录统计表)。如果用户数量较多时,可能每天甚至每个小时产生巨量数据,这个数据表采用分表技术,即可按时段分表(例如可以按时、按天、按周、按月等),可以按容量大小分表(例如200MB一个分表),也可以按记录数量分表(例如300万条记录一个分表)。
步骤S608,用户请求点播结束。
步骤S609,流媒体服务器收到用户的结束请求后,把该用户的点播时长也上报给内容管理***。
步骤S610,内容管理***找到对应的步骤S607生成的那条记录,把点播时长写入对应的记录中。
尽管闪存的容量相对内存的容量提高了几十倍,但还不能达到存放所有内容的容量,因此需要把热片存放到闪存中,提高闪存的利用率,从而减少I/O的读写压力。考虑到实际应用中,有许多用户可能看了开头的几分钟后感觉不好看就退出了。针对此情况,为了更高效率地利用闪存的有限容量,不一定把整部影片存入闪存中,可以只将影片的片头放进闪存,至于存放多长时间的片头由统计出的用户点播时长来决定,采用分等级的策略,根据实际情况决定,分为多少等级,多长为一等级。举例说明,可以分3个等级,点播时长小于等于10分钟为第1等级,大于10分钟小于30分钟为第2等级,大于30分钟以上为第3等级。第1等级最多存放10分钟的片头(如果整部影片小于10分钟就存放整部影片),第2等级最多存放30分钟的片头(如果整部影片小于30分钟就存放整部影片),第3等级存放整部影片。本发明实施例以上述的分级方法为例进行说明,但不限于上述分等方法,例如:可以包含但不限于以下一些特殊情况:只有一个等级,要么全是整部影片,要么全是某一个时长的片头。
闪存与一般磁盘的影片分布有两种工作模式,一种是备份模式,即一般磁盘存放所有影片,闪存中存放片头(含整部影片)起加速的作用,即使闪存完全损坏了,流媒体服务器也能从一般磁盘中读取内容正常提供服务。这种模式的可靠性高,但存在影片冗余;而另一种是互斥模块,即在闪存保存部分,就不重复在一般磁盘上保存。这种模式的可靠性较弱,但不会存在影片冗余。
闪存的刷写是有寿命限制的,读取在理论上是没有寿命限制。一般情况下,闪存按128K大小分块,每块数据块的寿命是10万次重复擦写,即每块数据块重复擦写10万次后,此数据块的可用性就不能保障了,但不会影响其它数据块。为了提高闪存的擦写寿命,闪存控制器和驱动程序一般都会采用磨损平衡算法,即在更新数据时优先选择擦写次数较少的数据块,这样使得闪存的数据块得以平均地使用。根据这种情况,有必要控制闪存的擦写次数,同时采用两种策略来控制。一种策略是采用磨损平衡算法,磨损平衡算法采用块处理方式,不同的闪存控制器和驱动程序分块大小可能有所不同,假设其最小分块为Block(单位:Byte),服务器应尽量保证先缓冲n×Block大小的数据(n取1、2、3等自然数),然后再一次性写入闪存,这样做可以最低程度地避免频繁地对某数据块进行擦写操作,延长闪存的寿命。另一种策略是采用按热度定时分发的策略,如图7所示。具体包括以下几个步骤:
步骤S701,设置一个定时器,定时启动按热度把影片或片头分发到闪存中的任务。
建议但不限于每天定时执行一次,如果每天执行一次,假设每次执行都全更新,闪存有100,000/365=273.97年的寿命。
步骤S702,整理并统计媒体服务器中哪个影片或片头存入闪存或从闪存中删除。
根据热度统计算法,以统计出每台媒体服务器该新增哪些影片片头以及多长片头(有可能整部影片)放入闪存中,同时该把哪些影片片头(有可能整部影片)剔出闪存中。
步骤S703,将统计好的结果通知给对应的每台媒体服务器。
步骤S704,根据内容服务器统计的结果,把要求删除的内容或片头从闪存中擦除,把要求新增进来的内容或片头添加到闪存中去。
步骤S705,将闪存中的内容或片头更新的结果通知给负载均衡器,以便负载均衡器在按内容调度时,准确地调度到对应的媒体服务器中。
如图8所示,为本发明实施例热度统计算法的流程图,从Tab_Stat_Consume表中取最近的n天(n可配,推荐为7天)的点播记录而不是取内容从发布生效到当前时间的点播记录来计算统计热度,这是认为热度是跟当前最近的时间段相关性最大,超出此时间段认为相关性为0。具体包括以下几个步骤:
步骤S801,先做原始数据的预统计处理。
从原始记录表Tab_Stat_Consume(例如表1所示)中统计出各个内容各个等级的点播次数(例如表2所示)。假设当前时间是2007-12-25,取最近7天的记录做统计,根据点播时间可过滤其它无用的数据,如表1所示,第1条、第2条记录点播时长超了30分钟,满足等级3的条件,即内容A在最近7天内满足等级3的点播次数是2,如此类推,就可以形成表2的预处理结果。
表1内容A的点播记录表
序号 | 内容ID | 点播时间 | 点播时长(秒) |
1 | 内容A | 2007-12-20 16:30:39 | 1828 |
2 | 内容A | 2007-12-21 17:26:31 | 3618 |
3 | 内容A | 2007-12-22 18:18:42 | 511 |
4 | 内容A | 2007-12-23 19:13:49 | 799 |
5 | 内容A | 2007-12-24 23:51:27 | 874 |
表2内容A按等级统计结果表
步骤S802,按排名规则对内容进行排名。
根据预统计结果给各个内容一个排名,有但不限于两种排名规则如下,一种排名规则是:等级越高的点播次数越多排名越靠前,如果高等级的点播次数相同就比较下一等级的点播次数,直到比较到最低等级的点播次数,如表2所示的顺序;另一种即排名规则是:给个等级设定一个权重,根据各个等级的点播次数的加权和从大到小排名。
步骤S803,把内容片头存入闪存中。
按一种存入闪存的原则以及一种差异比较算法把内容片头存入闪存中。存入闪存的原则包括但不限于以下一种原则,按比例分配原则:即预先规定好各个等级的存储容量的比例,如:50%容量放等级1的内容片头,30%容量放等级2的内容片头,20%容量放等级3的内容片头(一般情况下,就是整部影片了),优先把排名靠前的内容作为高等级的内容,并从高等级到低等级按规定的容量大小存入各个等级的内容片头,存满闪存为止。差异比较算法如下:从当前每台流媒体服务器中,取出存放在闪存里的内容片头列表;对每台媒体服务器建立一个删除列表(DelList),一个新增列表(AddList);将存放在闪存的内容片头与当前闪存中的内容片头列表做差异比较,把TopNList中在当前闪存片头列表不存在的内容放入在TemList列表中;如果当前闪存中的片头列表在TopNList中不存在的内容片头就存人对应的DelList中,再从TemList中取出容量相当的内容到对应的AddList中;最后通知各流媒体服务器更新内容片头到闪存中,如果***中存在负载均衡器,通知负载均衡器各流媒体服务器闪存中内容片头的变更情况。
通过本发明实施例,在进行差异比较算法中,对新旧内容片头做差异比较时,只有内容ID相同并且使用了同一等级片头才认为内容不需要改变,否则就需要更新。
本发明实施例通过将热片存入流媒体服务器的闪存中,提高了I/O的读写速度,从而提高了单台流媒体服务器的性能。并且由于闪存有断电数据不丢失的特点,因此重启也无需从硬盘中读取热片的数据到闪存中,可以提高启动速度。
如图9所示,为本发明实施例提供点播内容的***的结构图,包括:流媒体服务器91、负载均衡器92、内容管理器93和磁盘阵列94,
内容管理器93,用于统计点播内容的热度,根据统计的热度将点播内容存入流媒体服务器91的闪存中,以提高流媒体服务器91的性能;
内容管理器93在本发明实施例中除了发布/修改/删除内容等常用内容管理功能之外,还需承担内容热度统计,决定哪些内容或片头存放在流媒体服务器91的闪存中,同时把哪些内容或片头剔出流媒体服务器91的闪存中等功能。
为了实现内容热度统计,内容管理器93还需要管理用户的点播记录,把点播记录保存在数据库或文件中,同一内容可能存在多条记录,每条记录包括但不限于以下信息:内容ID、点播时间、点播时长等,上述信息以数据表的结构存放,如果用户数较多时,可能每天甚至每个小时产生巨量数据,此数据表采用分表技术,即可按时段分表(例如:按时、按天、按周、按月等,当然本发明实施例并不仅限于上述的时段分表),可以按容量大小分表(例如200MByte一个分表),也可以按记录数量分表(例如300万条记录一个分表)。
如果***部署了负载均衡器92,内容管理器93每次更新热片或热片头到闪存时,或直接把热片或热片头的分布情况通知给负载均衡器92,或经流媒体服务器91通知到负载均衡器92,以便负载均衡器92在按内容调度时,优先找在闪存中存有符合用户的点播请求的点播内容的流媒体服务器91。
流媒体服务器91,用于在流媒体服务器91的闪存中保存点播内容。
其中,流媒体服务器91包括一块或多块闪存,所述闪存插接于所述流媒体服务器的后插板上或插接于所述流媒体服务器的主板插槽上。
流媒体服务器91中的闪存控制器和驱动程序应采用磨损平衡算法,磨损平衡算法是采用块处理的方式,不同的闪存控制器和驱动程序分块大小可能有所不同,假设其最小分块为Block(单位:Byte),流媒体服务器91应尽量保证先缓冲n×Block大小的数据(n取1、2、3等自然数),然后再一次性写入流媒体服务器91的闪存,这样做可以最低程度地避免频繁地对某数据块进行擦写操作,延长闪存的寿命。
由于闪存有擦写寿命的限制,尽管流媒体服务器91的闪存控制器和驱动程序需要采用磨损平衡算法,但为了减少寿命风险,内容管理器93不推荐实时更新热片到闪存中,推荐根据热度定时更新热片到闪存中(譬如每天更新一次,但不限于按天)。
其中,磁盘阵列94用于保存点播影片的全部内容或者点播影片中除所述点播影片的片头之外的其他内容。当流媒体服务器91接收到用户请求时,优先考虑读取流媒体服务器91的闪存中的内容为用户提供服务,如果闪存中没有符合用户点播要求的点播内容,再考虑从磁盘阵列94或本地磁盘读取。如果闪存中只存放了片头,那么流媒体服务器91在播放完此片头后,再从磁盘阵列或本地磁盘中找到对应的内容从片头末尾继续播放。
其中,负载均衡器92用于根据点播内容选择流媒体服务器91,优先选择在闪存中存有该点播内容的流媒体服务器91。负载均衡器92根据用户点播的内容,在负载同等或相差不远的情况下,优先选择闪存中存有点播内容片头的流媒体服务器91,即要求负载均衡器92在按内容调度时区分该点播内容是在闪存中的内容还是一般磁盘中的内容,闪存中的内容比一般磁盘的内容优先级高,然后再考虑区域等其它因素。
如图10所示,为本发明实施例内容管理器的结构图,包括:热度统计模块1001,用于统计点播内容的热度;
存储模块1002,用于根据热度统计模块1001统计的热度将点播内容存入流媒体服务器的闪存中。
其中,统计模块1001包括:记录管理子模块10011,用于管理点播记录,该点播记录至少包括内容标识、点播时间和点播时长;
等级划分子模块10012,用于根据记录管理子模块10011管理的点播纪录中的点播时长对点播内容进行等级划分;
统计子模块10013,用于统计等级划分子模块10012划分的各等级的点播内容的点播次数。
其中,存储模块1002包括:
排名子模块10021,用于根据统计子模块10013统计的点播次数按等级划分子模块10012划分的等级对点播内容进行排名;
内容存储子模块10022,用于根据排名子模块10021的排名和存入闪存的原则将所述各等级的点播内容存入闪存。例如:预先设定等级划分子模块10012划分的各等级的存储容量,根据设定的各等级的存储容量、排名子模块10021的排名和差异比较算法将各等级的点播内容存入闪存。
其中,内容管理器还包括:通知模块1003,用于在存储模块1002将点播内容存入流媒体服务器的闪存中之后,将点播内容的更新结果通知负载均衡器。
如图11所示,为本发明实施例流媒体服务器的结构图,包括:至少一块闪存111,用于存储点播内容,闪存111插接于流媒体服务器的后插板上或插接于流媒体服务器的主板插槽上;
媒体请求接收模块112,用于接收用户的点播请求;
媒体提供模块113,用于在媒体请求接收模块112接收到用户的点播请求时,优先读取流媒体服务器中的闪存111中的点播内容。
媒体提供模块113还用于当流媒体服务器中的闪存111中没有符合用户点播请求的内容时,从磁盘阵列中读取符合用户点播请求的点播内容;或者,
当流媒体服务器的闪存111中仅存有点播影片的片头时,在读取完点播影片的片头之后,再从磁盘阵列中读取该点播影片除片头之外的其他内容。
其中,该流媒体服务器进一步包括:闪存控制和驱动模块114,用于缓冲预定分块大小的数据,再将所述点播内容存入内存111。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (25)
1.一种提供点播内容的方法,其特征在于,包括:
统计点播内容的热度;
根据所述统计的热度将所述点播内容存入闪存,所述存入闪存的点播内容在流媒体服务器收到点播请求时优先被提供。
2.如权利要求1所述提供点播内容的方法,其特征在于,所述点播内容包括:点播的整部影片或点播影片的片头。
3.如权利要求2所述提供点播内容的方法,其特征在于,当所述点播内容为点播影片的片头时,
在所述根据统计的热度将所述点播内容存入闪存之后,还包括:
将所述点播影片的全部内容存放在磁盘阵列中;或者,
将所述点播影片中除所述点播影片的片头之外的其他内容存放在磁盘阵列中。
4.如权利要求1所述提供点播内容的方法,其特征在于,所述统计点播内容的热度具体包括:根据预定时间之内的点播记录统计所述点播内容的热度,所述点播记录至少包括内容标识、点播时间和点播时长。
5.如权利要求1所述提供点播内容的方法,其特征在于,所述统计点播内容的热度包括:
根据所述点播内容的点播时长对所述点播内容进行等级划分;
统计所述划分的各等级的点播内容的点播次数。
6.如权利要求5所述提供点播内容的方法,其特征在于,在所述统计所述划分的各等级的点播内容的点播次数之后,还包括:根据所述点播次数按等级对所述点播内容进行排名,
所述根据点播次数按等级对所述点播内容进行排名包括:
等级高的点播内容的排名高于等级低的点播内容的排名,当所述点播内容的等级相同时,点播次数多的点播内容的排名高于点播次数低的点播内容的排名;或者,
设置各等级的权重,根据所述各等级的点播次数的加权和进行排名。
7.如权利要求6所述提供点播内容的方法,其特征在于,所述将点播内容存入闪存包括:
预先设定所述各等级的存储容量的比例;
根据所述各等级的存储容量、所述点播内容的排名和差异比较算法将所述各等级的点播内容存入闪存。
8.如权利要求7所述提供点播内容的方法,其特征在于,所述根据差异比较算法将所述各等级的点播内容存入闪存包括:
对闪存中已存的点播内容与新统计出来的热片或热片头进行差异比较;
如果所述闪存中已存的点播内容不在所述新统计出来的热片或热片头的范围之内,则清除所述闪存中已存的点播内容,并将所述新统计出来的热片或热片头中未存入所述闪存中的点播内容,存入闪存。
9.如权利要求8所述提供点播内容的方法,其特征在于,所述对闪存中已存的点播内容与新统计出来的热片或热片头进行差异比较包括:
如果所述闪存中已存的点播内容和等级与所述新统计出来的热片或热片头的内容和等级一致,则所述闪存中已存的点播内容和等级与所述新统计出来的热片或热片头为同一点播内容。
10.如权利要求1所述提供点播内容的方法,其特征在于,在所述根据统计的热度将所述点播内容存入闪存之后,还包括:将所述点播内容的更新结果通知负载均衡器。
11.一种提供点播内容的方法,其特征在于,包括:
接收用户的点播请求;
根据所述用户的点播请求,优先读取所述流媒体服务器中的闪存中存储的点播内容。
12.如权利要求11所述提供点播内容的方法,其特征在于,还包括:
当所述流媒体服务器中的闪存中没有符合用户点播请求的内容时,从磁盘阵列中读取符合用户点播请求的点播内容;或者,
当所述流媒体服务器的闪存中仅存有点播影片的片头时,在读取完所述点播影片的片头之后,从所述磁盘阵列中读取所述点播影片除片头之外的其他内容。
13.如权利要求11所述提供点播内容的方法,其特征在于,在所述接收用户的点播请求之前,还包括:缓冲预定分块大小的数据,将所述点播内容存入闪存。
14.一种提供点播内容的***,其特征在于,包括:流媒体服务器、内容管理器,
所述内容管理器,用于统计点播内容的热度,根据所述统计的热度将所述点播内容存入所述流媒体服务器的闪存中;
所述流媒体服务器,用于在所述流媒体服务器的闪存中保存所述点播内容,在收到点播请求时优先读取所述存入闪存的点播内容。
15.如权利要求14所述提供点播内容的***,其特征在于,所述流媒体服务器包括一块或多块闪存,所述闪存插接于所述流媒体服务器的后插板上或插接于所述流媒体服务器的主板插槽上。
16.如权利要求14所述提供点播内容的***,其特征在于,进一步包括:磁盘阵列,用于保存所述点播影片的全部内容或者所述点播影片中除所述点播影片的片头之外的其他内容。
17.如权利要求14所述提供点播内容的***,其特征在于,进一步包括:负载均衡器,用于根据所述点播内容选择流媒体服务器,优先选择在闪存中存有所述点播内容的流媒体服务器。
18.如权利要求17所述提供点播内容的***,其特征在于,所述内容管理器还用于将所述点播内容的更新结果通知所述负载均衡器,则所述负载均衡器在进行点播内容的调度时,优先选择在闪存中存有所述点播内容的流媒体服务器。
19.一种内容管理器,其特征在于,包括:
热度统计模块,用于统计点播内容的热度;
存储模块,用于根据所述统计模块统计的热度将所述点播内容存入流媒体服务器的闪存中。
20.如权利要求19所述内容管理器,其特征在于,所述热度统计模块包括:
记录管理子模块,用于管理点播记录,所述点播记录至少包括内容标识、点播时间和点播时长;
等级划分子模块,用于根据记录管理子模块管理的点播纪录中的点播时长对所述点播内容进行等级划分;
统计子模块,用于统计所述等级划分子模块划分的各等级的点播内容的点播次数。
21.如权利要求20所述内容管理器,其特征在于,所述存储模块包括:
排名子模块,用于根据所述统计子模块统计的点播次数按所述等级划分子模块划分的等级对所述点播内容进行排名;
内容存储子模块,用于根据所述排名子模块的排名和存入闪存的原则将所述各等级的点播内容存入闪存。
22.如权利要求19所述内容管理器,其特征在于,还包括:
通知模块,用于在所述存储模块将点播内容存入流媒体服务器的闪存中之后,将所述点播内容的更新结果通知负载均衡器。
23.一种流媒体服务器,其特征在于,包括:
至少一块闪存,用于存储点播内容,所述闪存插接于所述流媒体服务器的后插板上或插接于所述流媒体服务器的主板插槽上;
媒体请求接收模块,用于接收用户的点播请求;
媒体提供模块,用于在所述媒体请求接收模块接收到用户的点播请求时,优先读取所述流媒体服务器中的闪存中的点播内容。
24.如权利要求23所述流媒体服务器,其特征在于,所述媒体提供模块还用于当所述流媒体服务器中的闪存中没有符合用户点播请求的内容时,从磁盘阵列中读取符合用户点播请求的点播内容;或者,当所述流媒体服务器的闪存中仅存有点播影片的片头时,在读取完所述点播影片的片头之后,从所述磁盘阵列中读取所述点播影片除片头之外的其他内容。
25.如权利要求23所述流媒体服务器,其特征在于,进一步包括:
闪存控制和驱动模块,用于缓冲预定分块大小的数据,再将所述点播内容存入内存。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100076594A CN101232600B (zh) | 2008-03-04 | 2008-03-04 | 一种提供点播内容的方法、***和装置 |
PCT/CN2008/073609 WO2009109092A1 (zh) | 2008-03-04 | 2008-12-19 | 一种提供点播内容的方法、***和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100076594A CN101232600B (zh) | 2008-03-04 | 2008-03-04 | 一种提供点播内容的方法、***和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101232600A true CN101232600A (zh) | 2008-07-30 |
CN101232600B CN101232600B (zh) | 2011-07-20 |
Family
ID=39898736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100076594A Expired - Fee Related CN101232600B (zh) | 2008-03-04 | 2008-03-04 | 一种提供点播内容的方法、***和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101232600B (zh) |
WO (1) | WO2009109092A1 (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009109092A1 (zh) * | 2008-03-04 | 2009-09-11 | 华为技术有限公司 | 一种提供点播内容的方法、***和装置 |
CN101945100A (zh) * | 2010-07-30 | 2011-01-12 | 中山大学 | 一种数字家庭流媒体服务器及服务方法 |
CN102006506A (zh) * | 2010-11-24 | 2011-04-06 | 深圳市同洲电子股份有限公司 | 一种视频服务器的分级存储管理方法及装置、视频服务器 |
CN102065283A (zh) * | 2010-12-23 | 2011-05-18 | 杭州华三通信技术有限公司 | 一种视频监控数据存储管理方法及其装置 |
CN102088626A (zh) * | 2009-12-02 | 2011-06-08 | Tcl集团股份有限公司 | 一种在线视频推荐方法及视频门户服务*** |
CN102263986A (zh) * | 2011-08-22 | 2011-11-30 | 中兴通讯股份有限公司 | 网络电视***中的节目处理方法及装置 |
CN102790915A (zh) * | 2012-07-09 | 2012-11-21 | 上海聚力传媒技术有限公司 | 一种用于向p2p节点预推送视频资源的方法与装置 |
CN101729272B (zh) * | 2008-10-27 | 2013-01-23 | 华为技术有限公司 | 内容分发方法、***、设备及媒体服务器 |
CN103095562A (zh) * | 2013-01-30 | 2013-05-08 | 苏州汉辰数字科技有限公司 | 云计算智能网关 |
CN101729357B (zh) * | 2008-10-14 | 2013-06-05 | 华为技术有限公司 | 媒体文件存储处理与业务处理方法及装置、服务器集群 |
CN103595694A (zh) * | 2012-08-14 | 2014-02-19 | 腾讯科技(深圳)有限公司 | 流媒体播放方法和***、内存服务器 |
CN103856535A (zh) * | 2012-12-05 | 2014-06-11 | 腾讯科技(北京)有限公司 | 一种获取用户数据的方法和装置 |
CN103916693A (zh) * | 2014-04-02 | 2014-07-09 | 深圳如果技术有限公司 | 一种预留存储空间的方法及其装置 |
CN105335517A (zh) * | 2015-11-06 | 2016-02-17 | 努比亚技术有限公司 | 选择热度多媒体的方法及终端 |
CN105684450A (zh) * | 2016-01-08 | 2016-06-15 | 王晓光 | 一种视频网络的存储管理方法及*** |
WO2016155256A1 (zh) * | 2015-04-03 | 2016-10-06 | 中兴通讯股份有限公司 | 一种节目录制控制方法、***以及管理、热度统计服务器 |
CN106454396A (zh) * | 2016-10-26 | 2017-02-22 | 山东浪潮商用***有限公司 | 一种提高直播时移电视并发能力的实现方法 |
CN106506665A (zh) * | 2016-11-18 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种分布式视频监控***的负载均衡方法及平台 |
CN107431723A (zh) * | 2015-05-13 | 2017-12-01 | 谷歌公司 | 针对点播内容模仿广播电视频道冲浪 |
CN108965909A (zh) * | 2018-08-01 | 2018-12-07 | 中国联合网络通信集团有限公司 | 一种冷门视频评估方法和*** |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604642A (zh) * | 2004-11-04 | 2005-04-06 | 复旦大学 | 一种广播视频节目***中信息发布优先级排列的方法 |
KR100725417B1 (ko) * | 2006-02-22 | 2007-06-07 | 삼성전자주식회사 | 우선 순위에 따른 플래시 메모리의 연산 처리 장치 및 방법 |
CN1972311A (zh) * | 2006-12-08 | 2007-05-30 | 华中科技大学 | 一种基于集群均衡负载的流媒体服务器*** |
CN1972436A (zh) * | 2006-12-13 | 2007-05-30 | 中山大学 | 一种数字电视节目点播控制方法 |
CN101232600B (zh) * | 2008-03-04 | 2011-07-20 | 华为技术有限公司 | 一种提供点播内容的方法、***和装置 |
-
2008
- 2008-03-04 CN CN2008100076594A patent/CN101232600B/zh not_active Expired - Fee Related
- 2008-12-19 WO PCT/CN2008/073609 patent/WO2009109092A1/zh active Application Filing
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009109092A1 (zh) * | 2008-03-04 | 2009-09-11 | 华为技术有限公司 | 一种提供点播内容的方法、***和装置 |
CN101729357B (zh) * | 2008-10-14 | 2013-06-05 | 华为技术有限公司 | 媒体文件存储处理与业务处理方法及装置、服务器集群 |
CN101729272B (zh) * | 2008-10-27 | 2013-01-23 | 华为技术有限公司 | 内容分发方法、***、设备及媒体服务器 |
CN102088626A (zh) * | 2009-12-02 | 2011-06-08 | Tcl集团股份有限公司 | 一种在线视频推荐方法及视频门户服务*** |
CN101945100A (zh) * | 2010-07-30 | 2011-01-12 | 中山大学 | 一种数字家庭流媒体服务器及服务方法 |
CN102006506A (zh) * | 2010-11-24 | 2011-04-06 | 深圳市同洲电子股份有限公司 | 一种视频服务器的分级存储管理方法及装置、视频服务器 |
CN102065283A (zh) * | 2010-12-23 | 2011-05-18 | 杭州华三通信技术有限公司 | 一种视频监控数据存储管理方法及其装置 |
CN102065283B (zh) * | 2010-12-23 | 2013-10-02 | 浙江宇视科技有限公司 | 一种视频监控数据存储管理方法及其装置 |
CN102263986A (zh) * | 2011-08-22 | 2011-11-30 | 中兴通讯股份有限公司 | 网络电视***中的节目处理方法及装置 |
CN102790915B (zh) * | 2012-07-09 | 2016-12-21 | 上海聚力传媒技术有限公司 | 一种用于向p2p节点预推送视频资源的方法与装置 |
CN102790915A (zh) * | 2012-07-09 | 2012-11-21 | 上海聚力传媒技术有限公司 | 一种用于向p2p节点预推送视频资源的方法与装置 |
CN103595694A (zh) * | 2012-08-14 | 2014-02-19 | 腾讯科技(深圳)有限公司 | 流媒体播放方法和***、内存服务器 |
CN103856535A (zh) * | 2012-12-05 | 2014-06-11 | 腾讯科技(北京)有限公司 | 一种获取用户数据的方法和装置 |
CN103856535B (zh) * | 2012-12-05 | 2018-09-04 | 腾讯科技(北京)有限公司 | 一种获取用户数据的方法和装置 |
CN103095562A (zh) * | 2013-01-30 | 2013-05-08 | 苏州汉辰数字科技有限公司 | 云计算智能网关 |
CN103095562B (zh) * | 2013-01-30 | 2016-07-27 | 深圳中网信通科技有限公司 | 云计算智能网关 |
CN103916693A (zh) * | 2014-04-02 | 2014-07-09 | 深圳如果技术有限公司 | 一种预留存储空间的方法及其装置 |
CN103916693B (zh) * | 2014-04-02 | 2018-06-08 | 深圳市瑞驰信息技术有限公司 | 一种预留存储空间的方法及其装置 |
CN106162218B (zh) * | 2015-04-03 | 2020-11-06 | 中兴通讯股份有限公司 | 一种节目录制控制方法、***以及管理、热度统计服务器 |
CN106162218A (zh) * | 2015-04-03 | 2016-11-23 | 中兴通讯股份有限公司 | 一种节目录制控制方法、***以及管理、热度统计服务器 |
WO2016155256A1 (zh) * | 2015-04-03 | 2016-10-06 | 中兴通讯股份有限公司 | 一种节目录制控制方法、***以及管理、热度统计服务器 |
CN107431723A (zh) * | 2015-05-13 | 2017-12-01 | 谷歌公司 | 针对点播内容模仿广播电视频道冲浪 |
CN105335517A (zh) * | 2015-11-06 | 2016-02-17 | 努比亚技术有限公司 | 选择热度多媒体的方法及终端 |
CN105684450A (zh) * | 2016-01-08 | 2016-06-15 | 王晓光 | 一种视频网络的存储管理方法及*** |
CN106454396A (zh) * | 2016-10-26 | 2017-02-22 | 山东浪潮商用***有限公司 | 一种提高直播时移电视并发能力的实现方法 |
CN106506665A (zh) * | 2016-11-18 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种分布式视频监控***的负载均衡方法及平台 |
CN106506665B (zh) * | 2016-11-18 | 2019-09-24 | 郑州云海信息技术有限公司 | 一种分布式视频监控***的负载均衡方法及平台 |
CN108965909A (zh) * | 2018-08-01 | 2018-12-07 | 中国联合网络通信集团有限公司 | 一种冷门视频评估方法和*** |
CN108965909B (zh) * | 2018-08-01 | 2021-02-02 | 中国联合网络通信集团有限公司 | 一种冷门视频评估方法和*** |
Also Published As
Publication number | Publication date |
---|---|
WO2009109092A1 (zh) | 2009-09-11 |
CN101232600B (zh) | 2011-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101232600B (zh) | 一种提供点播内容的方法、***和装置 | |
US7278153B1 (en) | Content propagation in interactive television | |
US7831989B1 (en) | Intelligent asset management in a cable services system | |
CN101729357B (zh) | 媒体文件存储处理与业务处理方法及装置、服务器集群 | |
JP2000505983A (ja) | データ流を供給するための方法および系 | |
CA2532424A1 (en) | A video on demand management system | |
US20100011002A1 (en) | Model-Based Resource Allocation | |
EP1396112A2 (en) | Method and apparatus to send feedback from clients to a server in a content distribution broadcast system | |
CN101753936B (zh) | 一种视频监控***的存储空间的配置方法和视频服务器 | |
CN102622185A (zh) | 在多个存储单元中存储文件的方法以及存储分配方法 | |
CN105376218A (zh) | 一种快速响应用户请求的流媒体***和方法 | |
CN111263229A (zh) | 一种视频分发方法、装置及电子设备 | |
CN101729272B (zh) | 内容分发方法、***、设备及媒体服务器 | |
BR112015022053B1 (pt) | Método para aperfeiçoar custos de armazenamento e transcodificação em sistemas de vídeo sob demanda (ndvr) baseados em rede | |
KR20020019597A (ko) | 저장 매체로부터 블록들을 판독하는 방법 및 시스템 | |
GB2425012A (en) | Ranking data files for scheduling transmission | |
US6477541B1 (en) | Multimedia server | |
CN104038771A (zh) | 一种基于Hadoop2的高效能流媒体文件分布式存储***及方法 | |
WO2016155256A1 (zh) | 一种节目录制控制方法、***以及管理、热度统计服务器 | |
US7334103B2 (en) | Methods and apparatus for improving the breathing of disk scheduling algorithms | |
Tsao et al. | A novel data placement scheme on optical discs for near-VOD servers | |
US11995681B2 (en) | Generating unique identifiers | |
GB2498399A (en) | Selecting between a plurality of audiovisual data resources | |
KR101063837B1 (ko) | 다중 속도 디스크 배열 기반 비디오 서버에서의 에너지 소모 감소를 위한 디스크 관리 방법 | |
Tsao | A low cost optical storage server for near video-on-demand systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110720 Termination date: 20130304 |