專利名稱::一種提供點播內(nèi)容的方法、系統(tǒng)和裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明實施例涉及通信
技術(shù)領(lǐng)域:
,特別涉及一種提供點播內(nèi)容的方法、系統(tǒng)和裝置。
背景技術(shù):
:隨著多媒體技術(shù)、通信技術(shù)以及硬件存儲技術(shù)的發(fā)展,為了滿足用戶不同層次的需求,VOD(VideoOnDemand,視頻點播)業(yè)務(wù)應運而生。運營商預先準備大量影片存儲在視頻點播系統(tǒng)中,用戶可以向視頻點播系統(tǒng)發(fā)出點播請求,隨意地控制節(jié)目的播放。視頻點播占用的服務(wù)器成本和網(wǎng)絡(luò)帶寬成本很高,在對這兩個業(yè)務(wù)互相:f又長補短后,融合出一些全新的業(yè)務(wù),例如nPVR(networkPersonalVideoRecording,網(wǎng)絡(luò)個人一見頻錄Y象)、TSTV(TimeShiftTelevision,時移電牙見)。TVOD(TelevisionOnDemand,電浮見點4番)、VOD和TSTV這類業(yè)務(wù)都需要服務(wù)器向用戶提供流媒體服務(wù)。隨著服務(wù)質(zhì)量要求的不斷提高,以及業(yè)務(wù)和用戶的不斷增加導致業(yè)務(wù)的并發(fā)流量暴增,對流媒體服務(wù)的性能要求也就越來越高了。單臺服務(wù)器的性能主要受限于CPU(CentralProcessingUnit,中央處理器)速度、內(nèi)存、網(wǎng)絡(luò)帶寬、I/O讀寫速度等關(guān)鍵因素。目前單個CPU的主頻已經(jīng)提升到了3G以上,一臺服務(wù)器可以配多個CPU,因此,CPU速度問題還沒有成為瓶頸;內(nèi)存目前可以配置到十幾個GB,—般使用4GB或8GB也就足夠了;流媒體服務(wù)器已經(jīng)支持多個網(wǎng)卡綁定聚合增加帶寬,如3個GE(GigabitEthernet,以太網(wǎng)接口)口綁定聚合可達到接近3G的帶寬了,并且10GE網(wǎng)卡也已經(jīng)開始投產(chǎn),因此網(wǎng)絡(luò)的帶寬問題也不是影響流媒體服務(wù)性能的主要問題。目前,流媒體服務(wù)器多采用磁盤陣列作為存儲,受硬盤機械固有特性的嚴重限制,即使采用了把數(shù)據(jù)分散到多塊磁盤中而提升整體1/0讀寫速度的技術(shù),但提升的速度也不太明顯,傳統(tǒng)的SAN(StorageAreaNetwork,存儲區(qū)域網(wǎng)絡(luò))、DAS(DirectAccessStorage,直4妄訪問存4諸)、NAS(NetworkAttachedStorage,網(wǎng)絡(luò)附加存儲)存儲I/O讀寫速度一般在lGBit/S左右。因此,相對而言,磁盤的i/o讀寫速度成為了制約流媒體服務(wù)器性能的關(guān)鍵因素,是業(yè)界面臨的一個技術(shù)難題?,F(xiàn)有技術(shù)是預先把用戶點播最多的影片緩沖到內(nèi)存中,用戶點播這些熱片時,直接從內(nèi)存中讀出提供服務(wù),利用內(nèi)存比硬盤具有更高速的讀寫速度的特點,從而避免頻繁訪問磁盤,緩解磁盤i/o讀寫速度慢的壓力。流媒體系統(tǒng)通過統(tǒng)計請求次數(shù)、請求頻率這兩個指標對流內(nèi)容的緩存優(yōu)先級進行排序,以決定把哪些文件放入緩存區(qū),同時把哪些文件剔出緩存區(qū)。但是目前有些流媒體應用系統(tǒng)還是采用32位,這樣導致這樣的流々某體應用系統(tǒng)的可用內(nèi)存最大只有4GB,在IPTV(InternetProtocolTelevision,網(wǎng)絡(luò)電視)領(lǐng)域中,一部電影一般的容量都在1GB之上,因此最多也只能緩存4部電影節(jié)目。新的硬件系統(tǒng)與操作系統(tǒng)已經(jīng)開始支持64位,32位的流媒體應用系統(tǒng)通過修改代碼可以升級到支持64位,理論上可支持17179869184GB內(nèi)存,但限于主板的內(nèi)存插槽個數(shù)以及單塊內(nèi)存條的容量,一般情況下,一臺服務(wù)器的最大可配十幾GB的內(nèi)存,最多也只能緩存十幾部電影節(jié)目,這就存在內(nèi)存存儲影片數(shù)量較少的問題。并且,內(nèi)存成本較高,目前市場1GB的內(nèi)存條需要幾百元甚至更多,某種程度上加大了投資負擔。采用把熱片放入內(nèi)存的方法,在每次啟動時都需要從硬件中讀取熱片的數(shù)據(jù)到緩沖區(qū)中,這樣很大程度上可能影響啟動的速度,降低運轉(zhuǎn)速率。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題現(xiàn)有的利用把熱片存放在內(nèi)存中來緩解磁盤讀寫速度慢的方法,內(nèi)存可存放影片的數(shù)量較少,成本較高,整體啟動速率較低。
發(fā)明內(nèi)容本發(fā)明實施例提供一種提供點播內(nèi)容的方法、系統(tǒng)和裝置,以提高i/o的讀寫速度和單臺流々某體服務(wù)器的性能。為達到上述目的,本發(fā)明實施例一方面提供一種提供點播內(nèi)容的方法,包括統(tǒng)計點播內(nèi)容的熱度;根據(jù)所述統(tǒng)計的熱度將所述點播內(nèi)容存入閃存,所述存入閃存的點播內(nèi)容在々某體服務(wù)器收到點播請求時優(yōu)先被提供。另一方面,本發(fā)明實施例還提供一種提供點播內(nèi)容的方法,包括接收用戶的點播請求;根據(jù)所述用戶的點播請求,優(yōu)先讀取所述流媒體服務(wù)器中的閃存中存儲的點播內(nèi)容。再一方面,本發(fā)明實施例還提供一種提供點播內(nèi)容的系統(tǒng),包括流々某體服務(wù)器、內(nèi)容管理器,所述內(nèi)容管理器,用于統(tǒng)計點播內(nèi)容的熱度,根據(jù)所述統(tǒng)計的熱度將所述點播內(nèi)容存入所述流媒體服務(wù)器的閃存中;所述流媒體服務(wù)器,用于在所述流媒體服務(wù)器的閃存中保存所述點播內(nèi)容,在收到點播請求時優(yōu)先讀取所述存入閃存的點播內(nèi)容。再一方面,本發(fā)明實施例還提供一種內(nèi)容管理器,包括熱度統(tǒng)計模塊,用于統(tǒng)計點播內(nèi)容的熱度;存儲模塊,用于根據(jù)所述統(tǒng)計模塊統(tǒng)計的熱度將所述點播內(nèi)容存入流媒體服務(wù)器的閃存中。再一方面,本發(fā)明實施例還提供一種流媒體服務(wù)器,包括至少一塊閃存,用于存儲點播內(nèi)容,所述閃存插接于所述流媒體服務(wù)器的后插板上或插接于所述流媒體服務(wù)器的主板插槽上;媒體請求接收模塊,用于接收用戶的點播請求;媒體提供模塊,用于在所述媒體請求接收模塊接收到用戶的點播請求時,優(yōu)先讀取所述流媒體服務(wù)器中的閃存中的點播內(nèi)容。與現(xiàn)有技術(shù)相比,本發(fā)明實施例具有以下優(yōu)點本發(fā)明實施例通過將熱片存入流媒體服務(wù)器的閃存中,提高了1/0的讀寫速度,從而提高了單臺流媒體服務(wù)器的性能。圖1為本發(fā)明實施例提供點播內(nèi)容的方法的流程圖;圖2為本發(fā)明實施例后插板式的媒體服務(wù)器硬件系統(tǒng)結(jié)構(gòu)的示意圖;圖3為本發(fā)明實施例主板插槽式的媒體服務(wù)器硬件系統(tǒng)結(jié)構(gòu)的示意圖;圖4為本發(fā)明實施例系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)一的示意圖;圖5為本發(fā)明實施例系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)二的示意圖;圖6為本發(fā)明實施例用戶點播的流程圖;圖7為本發(fā)明實施例熱度統(tǒng)計算法的流程圖;圖8為本發(fā)明實施例按熱度定時分發(fā)的流程圖;圖9為本發(fā)明實施例提供點播內(nèi)容的系統(tǒng)的結(jié)構(gòu)圖;圖IO為本發(fā)明實施例內(nèi)容管理器的結(jié)構(gòu)圖;圖11為本發(fā)明實施例流媒體服務(wù)器的結(jié)構(gòu)圖。具體實施方式本發(fā)明實施例提供一種提供點播內(nèi)容的方法,通過本發(fā)明實施例,利用閃存作為熱片的存儲器,大大提高了i/o的讀寫速度,從而提高了單臺流媒體服務(wù)器的性能。如圖l所示,為本發(fā)明實施例提供點播內(nèi)容的方法的流程圖,具體包括以下步驟步驟S101,統(tǒng)計點播內(nèi)容的熱度。本發(fā)明實施例根據(jù)用戶的點播次數(shù)和點播時長確定點播內(nèi)容的熱度,以確定哪些點播內(nèi)容為熱片。步驟S102,根據(jù)統(tǒng)計的熱度將所述點播內(nèi)容存入閃存,存入閃存的點播內(nèi)容在媒體服務(wù)器收到點播請求時優(yōu)先被提供。在確定熱片的范圍之后,根據(jù)流媒體服務(wù)器的閃存的大小將熱片的全部內(nèi)容存入閃存或只將熱片的片頭存入閃存,而將其他內(nèi)容存入石茲盤陣列。這樣,當流媒體服務(wù)器接收到用戶的點播請求時,優(yōu)先讀取閃存中存儲的點播內(nèi)容為用戶提供服務(wù),如果閃存中沒有符合用戶點播請求的點播內(nèi)容,再考慮從磁盤陣列或本地磁盤中讀取。如果閃存中只存放了點播內(nèi)容的片頭,那么流媒體服務(wù)器在播放完此片頭之后,再從磁盤陣列或本地磁盤中找到與該片頭對應的點播內(nèi)容從片頭的末尾繼續(xù)播放。本發(fā)明實施例在每臺流媒體服務(wù)器上都配置了一塊或多塊閃存(即Flash存儲),可采用后插板的方式加入。如圖2所示,為后插板式的流媒體服務(wù)器硬件系統(tǒng)結(jié)構(gòu)的示意圖。在圖2中只顯示了一塊閃存,但實際應用不限于一塊閃存。還可以采用在主板插槽上加入的方式。如圖3所示,為主板插槽式的流媒體服務(wù)器硬件系統(tǒng)結(jié)構(gòu)的示意圖。圖3中只顯示了一塊閃存,但實際應用不限于一塊閃存。如圖4所示,為本發(fā)明實施例系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)一的示意圖。本發(fā)明實施例中的客戶端可以是手機、機頂盒、PC機等,但本發(fā)明實施例以無線網(wǎng)絡(luò)中的手機為例進行說明。流^某體服務(wù)器采用集群部署,部署在負載均衡器后面,客戶端先接入到負載均衡器中,由負載均衡器調(diào)度一臺最佳流媒體服務(wù)器為該用戶提供服務(wù)。負載均衡器可以按內(nèi)容、按負載、按區(qū)域等方式進行綜合調(diào)度。按內(nèi)容調(diào)度是指把用戶調(diào)度到有用戶要觀看的內(nèi)容的流媒體服務(wù)器上提供服務(wù),按負載調(diào)度是指把用戶調(diào)度到CPU、內(nèi)存等性能指標較低即負載較輕的流媒體服務(wù)器上提供服務(wù),按區(qū)域調(diào)度是指把用戶調(diào)度到離該用戶在地理位置上最近的媒體服務(wù)器上提供服務(wù)。內(nèi)容管理系統(tǒng)在本發(fā)明實施例中除了發(fā)布、修改、刪除內(nèi)容等常用內(nèi)容管理功能之外,還需承擔內(nèi)容熱度統(tǒng)計,決定哪些內(nèi)容或片頭存放在流媒體服務(wù)器的閃存中,同時把哪些內(nèi)容或片頭剔出流媒體服務(wù)器的閃存中等功能。當然本發(fā)明實施例的系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)并不局限于此,也可以采用如圖5所示的系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)。流媒體服務(wù)器甚至可以采用本地磁盤,內(nèi)容管理系統(tǒng)與流媒體服務(wù)器還可以合用一臺機器。如圖6所示,為本發(fā)明實施例用戶點播的流程圖。具體包括以下幾個步驟步驟S601,用戶的點播請求被接入到負載均衡器中。如果沒有負載均衡器,用戶的點播請求直接接入到流媒體服務(wù)器中,點播流程直接跳到步驟S604步。步驟S602,根據(jù)用戶點播的內(nèi)容,選擇合適的流^某體服務(wù)器。通過本發(fā)明實施例,負載均衡器根據(jù)用戶點播的內(nèi)容,在負載同等或相差不遠的情況下,優(yōu)先考慮閃存有此內(nèi)容片頭的媒體服務(wù)器,即要求負載均衡器按內(nèi)容調(diào)度時區(qū)分一下點播的內(nèi)容是閃存內(nèi)容還是一般的磁盤內(nèi)容,先考慮閃存內(nèi)容,然后再考慮區(qū)域等其它因素。步驟S603,把用戶的點播請求轉(zhuǎn)發(fā)給步驟S602選定的流媒體服務(wù)器中。步驟S604,根據(jù)用戶請求,優(yōu)先讀取閃存中的點播內(nèi)容。媒體服務(wù)器接收到用戶請求時,優(yōu)先考慮讀取閃存中內(nèi)容提供服務(wù),如果閃存沒有用戶點播的內(nèi)容,再考慮從磁盤陣列或本地磁盤讀取。如果閃存中只存放了片頭,那么媒體服務(wù)器先播放完此片頭后,再從磁盤陣列或本地磁盤中找到對應的內(nèi)容從片頭末尾繼續(xù)播放。步驟S605,流媒體服務(wù)發(fā)送媒體流提供服務(wù)。步驟S606,流媒體服務(wù)器把用戶點播請求通知內(nèi)容管理系統(tǒng)。步驟S607,內(nèi)容管理系統(tǒng)生成一條點播記錄,保存在數(shù)據(jù)庫或文件中,同一內(nèi)容可能存在多條記錄,每條記錄包括但不限于以下信息內(nèi)容ID、用戶IP、點播時間、點播時長等,這些信息以數(shù)據(jù)表的結(jié)構(gòu)進行存放,記為Tab-Stat-Consume(消費記錄統(tǒng)計表)。如果用戶數(shù)量較多時,可能每天甚至每個小時產(chǎn)生巨量數(shù)據(jù),這個數(shù)據(jù)表采用分表技術(shù),即可按時段分表(例如可以按時、按天、按周、按月等),可以按容量大小分表(例如200MB—個分表),也可以按記錄數(shù)量分表(例如300萬條記錄一個分表)。步驟S608,用戶請求點播結(jié)束。步驟S609,流媒體服務(wù)器收到用戶的結(jié)束請求后,把該用戶的點播時長也上報給內(nèi)容管理系統(tǒng)。步驟S610,內(nèi)容管理系統(tǒng)找到對應的步驟S607生成的那條記錄,把點播時長寫入對應的記錄中。盡管閃存的容量相對內(nèi)存的容量提高了幾十倍,但還不能達到存放所有內(nèi)容的容量,因此需要把熱片存放到閃存中,提高閃存的利用率,從而減少I/0的讀寫壓力。考慮到實際應用中,有許多用戶可能看了開頭的幾分鐘后感覺不好看就退出了。針對此情況,為了更高效率地利用閃存的有限容量,不一定把整部影片存入閃存中,可以只將影片的片頭放進閃存,至于存放多長時間的片頭由統(tǒng)計出的用戶點播時長來決定,采用分等級的策略,根據(jù)實際情況決定,分為多少等級,多長為一等級。舉例說明,可以分3個等級,點播時長小于等于10分鐘為第1等級,大于10分鐘小于30分鐘為第2等級,大于30分鐘以上為第3等級。第1等級最多存放10分鐘的片頭(如果整部影片小于10分鐘就存放整部影片),第2等級最多存放30分鐘的片頭(如果整部影片小于30分鐘就存;^文整部影片),第3等級存放整部影片。本發(fā)明實施例以上述的分級方法為例進行說明,但不限于上述分等方法,例如可以包含但不限于以下一些特殊情況只有一個等級,要么全是整部影片,要么全是某一個時長的片頭。閃存與一般磁盤的影片分布有兩種工作模式,一種是備份模式,即一般磁盤存放所有影片,閃存中存放片頭(含整部影片)起加速的作用,即使閃存完全損壞了,流媒體服務(wù)器也能從一般磁盤中讀取內(nèi)容正常提供服務(wù)。這種模式的可靠性高,但存在影片冗余;而另一種是互斥模塊,即在閃存保存部分,就不重復在一般磁盤上保存。這種模式的可靠性較弱,但不會存在影片冗余。閃存的刷寫是有壽命限制的,讀取在理論上是沒有壽命限制。一般情況下,閃存按128K大小分塊,每塊數(shù)據(jù)塊的壽命是10萬次重復擦寫,即每塊數(shù)據(jù)塊重復擦寫10萬次后,此數(shù)據(jù)塊的可用性就不能保障了,但不會影響其它數(shù)據(jù)塊。為了提高閃存的擦寫壽命,閃存控制器和驅(qū)動程序一般都會采用磨損平衡算法,即在更新數(shù)據(jù)時優(yōu)先選擇擦寫次數(shù)較少的數(shù)據(jù)塊,這樣使得閃存的數(shù)據(jù)塊得以平均地使用。根據(jù)這種情況,有必要控制閃存的擦寫次數(shù),同時采用兩種策略來控制。一種策略是采用磨損平衡算法,磨損平衡算法采用塊處理方式,不同的閃存控制器和驅(qū)動程序分塊大小可能有所不同,假設(shè)其最小分塊為Block(單位Byte),服務(wù)器應盡量保證先緩沖nxBlock大小的數(shù)據(jù)(n取l、2、3等自然數(shù)),然后再一次性寫入閃存,這樣做可以最低程度地避免頻繁地對某數(shù)據(jù)塊進行擦寫操作,延長閃存的壽命。另一種策略是采用按熱度定時分發(fā)的策略,如圖7所示。具體包括以下幾個步驟步驟S701,設(shè)置一個定時器,定時啟動按熱度把影片或片頭分發(fā)到閃存中的任務(wù)。建議但不限于每天定時執(zhí)行一次,如果每天執(zhí)行一次,假設(shè)每次執(zhí)行都全更新,閃存有100,000/365=273.97年的壽命。步驟S702,整理并統(tǒng)計i某體服務(wù)器中哪個影片或片頭存入閃存或從閃存中刪除。根據(jù)熱度統(tǒng)計算法,以統(tǒng)計出每臺媒體服務(wù)器該新增哪些影片片頭以及多長片頭(有可能整部影片)放入閃存中,同時該把哪些影片片頭(有可能整部影片)剔出閃存中。步驟S703,將統(tǒng)計好的結(jié)果通知給對應的每臺媒體服務(wù)器。步驟S704,根據(jù)內(nèi)容服務(wù)器統(tǒng)計的結(jié)果,把要求刪除的內(nèi)容或片頭從閃存中擦除,把要求新增進來的內(nèi)容或片頭添加到閃存中去。步驟S705,將閃存中的內(nèi)容或片頭更新的結(jié)果通知給負載均衡器,以便負載均衡器在按內(nèi)容調(diào)度時,準確地調(diào)度到對應的媒體服務(wù)器中。如圖8所示,為本發(fā)明實施例熱度統(tǒng)計算法的流程圖,從Tab—Stat—Consume表中取最近的n天(n可配,推薦為7天)的點播記錄而不是取內(nèi)容從發(fā)布生效到當前時間的點播記錄來計算統(tǒng)計熱度,這是認為熱度是跟當前最近的時間段相關(guān)性最大,超出此時間段認為相關(guān)性為O。具體包括以下幾個步驟步驟S801,先做原始數(shù)據(jù)的預統(tǒng)計處理。從原始記錄表Tab一StatJ^onsume(例如表l所示)中統(tǒng)計出各個內(nèi)容各個等級的點播次數(shù)(例如表2所示)。假設(shè)當前時間是2007-12-25,取最近7天的記錄做統(tǒng)計,根據(jù)點播時間可過濾其它無用的數(shù)據(jù),如表l所示,第1條、第2條記錄點播時長超了30分鐘,滿足等級3的條件,即內(nèi)容A在最近7天內(nèi)滿足等級3的點播次數(shù)是2,如此類推,就可以形成表2的預處理結(jié)果。表l內(nèi)容A的點播記錄表<table>tableseeoriginaldocumentpage13</column></row><table>表2內(nèi)容A按等級統(tǒng)計結(jié)果表<table>tableseeoriginaldocumentpage14</column></row><table>步驟S802,按排名規(guī)則對內(nèi)容進行排名。根據(jù)預統(tǒng)計結(jié)果給各個內(nèi)容一個排名,有但不限于兩種排名規(guī)則如下,一種排名規(guī)則是等級越高的點播次數(shù)越多排名越靠前,如果高等級的點播次數(shù)相同就比較下一等級的點播次數(shù),直到比較到最低等級的點播次數(shù),如表2所示的順序;另一種即排名規(guī)則是給個等級設(shè)定一個權(quán)重,根據(jù)各個等級的點播次數(shù)的加權(quán)和從大到小排名。步驟S803,把內(nèi)容片頭存入閃存中。按一種存入閃存的原則以及一種差異比較算法把內(nèi)容片頭存入閃存中。存入閃存的原則包括但不限于以下一種原則,按比例分配原則即預先規(guī)定好各個等級的存儲容量的比例,如50%容量放等級1的內(nèi)容片頭,30%容量放等級2的內(nèi)容片頭,20%容量放等級3的內(nèi)容片頭(一^:情況下,就是整部影片了),優(yōu)先把排名靠前的內(nèi)容作為高等級的內(nèi)容,并從高等級到低等級按規(guī)定的容量大小存入各個等級的內(nèi)容片頭,存滿閃存為止。差異比較算法如下從當前每臺流^某體服務(wù)器中,取出存放在閃存里的內(nèi)容片頭列表;對每臺媒體服務(wù)器建立一個刪除列表(DelList),一個新增列表(AddList);將存放在閃存的內(nèi)容片頭與當前閃存中的內(nèi)容片頭列表^(故差異比較,把TopNList中在當前閃存片頭列表不存在的內(nèi)容放入在TemList列表中;如果當前閃存中的片頭列表在TopNList中不存在的內(nèi)容片頭就存人對應的DelList中,再從TemList中取出容量相當?shù)膬?nèi)容到對應的AddList中;最后通知各流媒體服務(wù)器更新內(nèi)容片頭到閃存中,如果系統(tǒng)中存在負載均衡器,通知負載均衡器各流媒體服務(wù)器閃存中內(nèi)容片頭的變更情況。通過本發(fā)明實施例,在進行差異比較算法中,對新舊內(nèi)容片頭做差異比較時,只有內(nèi)容ID相同并且使用了同一等級片頭才認為內(nèi)容不需要改變,否則就需要更新。本發(fā)明實施例通過將熱片存入流^某體服務(wù)器的閃存中,提高了1/0的讀寫速度,從而提高了單臺流媒體服務(wù)器的性能。并且由于閃存有斷電數(shù)據(jù)不丟失的特點,因此重啟也無需從硬盤中讀取熱片的數(shù)據(jù)到閃存中,可以提高啟動速度。如圖9所示,為本發(fā)明實施例提供點播內(nèi)容的系統(tǒng)的結(jié)構(gòu)圖,包括流媒體服務(wù)器91、負載均衡器92、內(nèi)容管理器93和磁盤陣列94,內(nèi)容管理器93,用于統(tǒng)計點播內(nèi)容的熱度,根據(jù)統(tǒng)計的熱度將點播內(nèi)容存入流媒體服務(wù)器91的閃存中,以提高流媒體服務(wù)器91的性能;內(nèi)容管理器93在本發(fā)明實施例中除了發(fā)布/修改/刪除內(nèi)容等常用內(nèi)容管理功能之外,還需承擔內(nèi)容熱度統(tǒng)計,決定哪些內(nèi)容或片頭存放在流媒體服務(wù)器91的閃存中,同時把哪些內(nèi)容或片頭剔出流媒體服務(wù)器91的閃存中等功能。為了實現(xiàn)內(nèi)容熱度統(tǒng)計,內(nèi)容管理器93還需要管理用戶的點播記錄,把點播記錄保存在數(shù)據(jù)庫或文件中,同一內(nèi)容可能存在多條記錄,每條記錄包括但不限于以下信息內(nèi)容ID、點播時間、點播時長等,上述信息以數(shù)據(jù)表的結(jié)構(gòu)存放,如果用戶數(shù)較多時,可能每天甚至每個小時產(chǎn)生巨量數(shù)據(jù),此數(shù)據(jù)表采用分表技術(shù),即可按時段分表(例如按時、按天、按周、按月等,當然本發(fā)明實施例并不僅限于上述的時段分表),可以按容量大小分表(例如200MByte—個分表),也可以按記錄數(shù)量分表(例如300萬條記錄一個分表)。如果系統(tǒng)部署了負載均衡器92,內(nèi)容管理器93每次更新熱片或熱片頭到閃存時,或直接把熱片或熱片頭的分布情況通知給負載均衡器92,或經(jīng)流媒體服務(wù)器91通知到負載均衡器92,以便負載均衡器92在按內(nèi)容調(diào)度時,優(yōu)先找在閃存中存有符合用戶的點播請求的點播內(nèi)容的流i某體服務(wù)器91。流媒體服務(wù)器91,用于在流媒體服務(wù)器91的閃存中保存點播內(nèi)容。其中,流媒體服務(wù)器91包括一塊或多塊閃存,所述閃存插接于所述流媒體服務(wù)器的后插板上或插接于所述流媒體服務(wù)器的主板插槽上。流媒體服務(wù)器91中的閃存控制器和驅(qū)動程序應采用磨損平衡算法,磨損平衡算法是采用塊處理的方式,不同的閃存控制器和驅(qū)動程序分塊大小可能有所不同,假設(shè)其最小分塊為Block(單位Byte),流媒體服務(wù)器91應盡量保證先緩沖nxBlock大小的數(shù)據(jù)(n取l、2、3等自然數(shù)),然后再一次性寫入流媒體服務(wù)器91的閃存,這樣做可以最低程度地避免頻繁地對某數(shù)據(jù)塊進行擦寫操作,延長閃存的壽命。由于閃存有擦寫壽命的限制,盡管流々某體服務(wù)器91的閃存控制器和驅(qū)動程序需要釆用磨損平衡算法,但為了減少壽命風險,內(nèi)容管理器93不推薦實時更新熱片到閃存中,推薦根據(jù)熱度定時更新熱片到閃存中(譬如每天更新一次,但不限于按天)。其中,磁盤陣列94用于保存點播影片的全部內(nèi)容或者點播影片中除所述點播影片的片頭之外的其他內(nèi)容。當流媒體服務(wù)器91接收到用戶請求時,優(yōu)先考慮讀取流媒體服務(wù)器91的閃存中的內(nèi)容為用戶提供服務(wù),如果閃存中沒有符合用戶點播要求的點播內(nèi)容,再考慮從磁盤陣列94或本地f茲盤讀取。如果閃存中只存放了片頭,那么流媒體服務(wù)器91在播放完此片頭后,再從磁盤陣列或本地磁盤中找到對應的內(nèi)容從片頭末尾繼續(xù)播放。其中,負載均衡器92用于根據(jù)點播內(nèi)容選擇流+某體服務(wù)器91,優(yōu)先選擇在閃存中存有該點播內(nèi)容的流媒體服務(wù)器91。負載均衡器92根據(jù)用戶點播的內(nèi)容,在負載同等或相差不遠的情況下,優(yōu)先選擇閃存中存有點播內(nèi)容片頭的流媒體服務(wù)器91,即要求負載均衡器92在按內(nèi)容調(diào)度時區(qū)分該點播內(nèi)容是在閃存中的內(nèi)容還是一般磁盤中的內(nèi)容,閃存中的內(nèi)容比一般磁盤的內(nèi)容優(yōu)先級高,然后再考慮區(qū)域等其它因素。如圖10所示,為本發(fā)明實施例內(nèi)容管理器的結(jié)構(gòu)圖,包括熱度統(tǒng)計模塊IOOI,用于統(tǒng)計點播內(nèi)容的熱度;存儲模塊1002,用于根據(jù)熱度統(tǒng)計模塊1001統(tǒng)計的熱度將點播內(nèi)容存入流媒體服務(wù)器的閃存中。其中,統(tǒng)計模塊1001包括記錄管理子模塊10011,用于管理點播記錄,該點播記錄至少包括內(nèi)容標識、點播時間和點播時長;等級劃分子模塊10012,用于根據(jù)記錄管理子模塊10011管理的點播紀錄中的點播時長對點播內(nèi)容進行等級劃分;統(tǒng)計子模塊10013,用于統(tǒng)計等級劃分子模塊10012劃分的各等級的點播內(nèi)容的點播次數(shù)。其中,存儲模塊1002包括排名子模塊10021,用于根據(jù)統(tǒng)計子模塊10013統(tǒng)計的點播次數(shù)按等級劃分子模塊10012劃分的等級對點播內(nèi)容進行排名;內(nèi)容存儲子模塊10022,用于根據(jù)排名子模塊10021的排名和存入閃存的原則將所述各等級的點播內(nèi)容存入閃存。例如預先設(shè)定等級劃分子模塊10012劃分的各等級的存儲容量,根據(jù)設(shè)定的各等級的存儲容量、排名子模塊10021的排名和差異比較算法將各等級的點播內(nèi)容存入閃存。其中,內(nèi)容管理器還包括通知模塊1003,用于在存儲模塊1002將點播內(nèi)容存入流媒體服務(wù)器的閃存中之后,將點播內(nèi)容的更新結(jié)果通知負載均衡器。如圖ll所示,為本發(fā)明實施例流i某體服務(wù)器的結(jié)構(gòu)圖,包括至少一塊閃存lll,用于存儲點播內(nèi)容,閃存111插接于流媒體服務(wù)器的后插板上或插接于流媒體服務(wù)器的主板插槽上;媒體請求接收模塊112,用于接收用戶的點插-請求;媒體提供模塊113,用于在媒體請求接收模塊112接收到用戶的點播請求時,優(yōu)先讀取流々某體服務(wù)器中的閃存111中的點播內(nèi)容。媒體提供模塊113還用于當流媒體服務(wù)器中的閃存111中沒有符合用戶點播請求的內(nèi)容時,從磁盤陣列中讀取符合用戶點播請求的點播內(nèi)容;或者,當流媒體服務(wù)器的閃存111中僅存有點播影片的片頭時,在讀取完點播影片的片頭之后,再從磁盤陣列中讀取該點播影片除片頭之外的其他內(nèi)容。其中,該流媒體服務(wù)器進一步包括閃存控制和驅(qū)動模塊114,用于緩沖預定分塊大小的數(shù)據(jù),再將所述點播內(nèi)容存入內(nèi)存111。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用石更件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應落入本發(fā)明的保護范圍。權(quán)利要求1、一種提供點播內(nèi)容的方法,其特征在于,包括統(tǒng)計點播內(nèi)容的熱度;根據(jù)所述統(tǒng)計的熱度將所述點播內(nèi)容存入閃存,所述存入閃存的點播內(nèi)容在流媒體服務(wù)器收到點播請求時優(yōu)先被提供。2、如權(quán)利要求1所述提供點播內(nèi)容的方法,其特征在于,所述點播內(nèi)容包括點播的整部影片或點播影片的片頭。3、如權(quán)利要求2所述提供點播內(nèi)容的方法,其特征在于,當所述點播內(nèi)容為點播影片的片頭時,在所述根據(jù)統(tǒng)計的熱度將所述點播內(nèi)容存入閃存之后,還包括將所述點播影片的全部內(nèi)容存放在磁盤陣列中;或者,將所述點播影片中除所述點播影片的片頭之外的其他內(nèi)容存放在磁盤陣列中。4、如權(quán)利要求1所述提供點播內(nèi)容的方法,其特征在于,所述統(tǒng)計點播內(nèi)容的熱度具體包括根據(jù)預定時間之內(nèi)的點播記錄統(tǒng)計所述點播內(nèi)容的熱度,所述點播記錄至少包括內(nèi)容標識、點播時間和點播時長。5、如權(quán)利要求1所述提供點播內(nèi)容的方法,其特征在于,所述統(tǒng)計點播內(nèi)容的熱度包括根據(jù)所述點播內(nèi)容的點播時長對所述點播內(nèi)容進行等級劃分;統(tǒng)計所述劃分的各等級的點播內(nèi)容的點播次數(shù)。6、如權(quán)利要求5所述提供點播內(nèi)容的方法,其特征在于,在所述統(tǒng)計所述劃分的各等級的點播內(nèi)容的點播次數(shù)之后,還包括根據(jù)所述點播次數(shù)按等級對所述點播內(nèi)容進行排名,所述根據(jù)點播次數(shù)按等級對所述點播內(nèi)容進行排名包括等級高的點播內(nèi)容的排名高于等級低的點播內(nèi)容的排名,當所述點播內(nèi)容的等級相同時,點播次數(shù)多的點播內(nèi)容的排名高于點播次數(shù)低的點播內(nèi)容的排名;或者,設(shè)置各等級的權(quán)重,根據(jù)所述各等級的點播次數(shù)的加權(quán)和進行排名。7、如權(quán)利要求6所述提供點播內(nèi)容的方法,其特征在于,所述將點播內(nèi)容存入閃存包括預先設(shè)定所述各等級的存儲容量的比例;根據(jù)所述各等級的存儲容量、所述點播內(nèi)容的排名和差異比較算法將所述各等級的點播內(nèi)容存入閃存。8.如權(quán)利要求7所述提供點播內(nèi)容的方法,其特征在于,所述根據(jù)差異比較算法將所述各等級的點播內(nèi)容存入閃存包括對閃存中已存的點播內(nèi)容與新統(tǒng)計出來的熱片或熱片頭進行差異比較;如果所述閃存中已存的點播內(nèi)容不在所述新統(tǒng)計出來的熱片或熱片頭的范圍之內(nèi),則清除所述閃存中已存的點播內(nèi)容,并將所述新統(tǒng)計出來的熱片或熱片頭中未存入所述閃存中的點播內(nèi)容,存入閃存。9.如權(quán)利要求8所述提供點播內(nèi)容的方法,其特征在于,所述對閃存中已存的點播內(nèi)容與新統(tǒng)計出來的熱片或熱片頭進行差異比較包括如果所述閃存中已存的點播內(nèi)容和等級與所述新統(tǒng)計出來的熱片或熱片頭的內(nèi)容和等級一致,則所述閃存中已存的點播內(nèi)容和等級與所述新統(tǒng)計出來的熱片或熱片頭為同一點播內(nèi)容。10.如權(quán)利要求1所述提供點播內(nèi)容的方法,其特征在于,在所述根據(jù)統(tǒng)計的熱度將所述點播內(nèi)容存入閃存之后,還包括將所述點播內(nèi)容的更新結(jié)果通知負載均衡器。11.一種提供點播內(nèi)容的方法,其特征在于,包括接收用戶的點播請求;根據(jù)所述用戶的點播請求,優(yōu)先讀取所述流媒體服務(wù)器中的閃存中存儲的點播內(nèi)容。12.如權(quán)利要求11所述提供點播內(nèi)容的方法,其特征在于,還包括當所述流媒體服務(wù)器中的閃存中沒有符合用戶點播請求的內(nèi)容時,從石茲盤陣列中讀取符合用戶點播請求的點播內(nèi)容;或者,當所述流媒體服務(wù)器的閃存中僅存有點播影片的片頭時,在讀取完所述點播影片的片頭之后,從所述磁盤陣列中讀取所述點播影片除片頭之外的其他內(nèi)容。13、如權(quán)利要求11所述提供點播內(nèi)容的方法,其特征在于,在所述接收用戶的點播請求之前,還包括緩沖預定分塊大小的數(shù)據(jù),將所述點播內(nèi)容存入閃存。14、一種提供點播內(nèi)容的系統(tǒng),其特征在于,包括流媒體服務(wù)器、內(nèi)容管理器,所述內(nèi)容管理器,用于統(tǒng)計點播內(nèi)容的熱度,根據(jù)所述統(tǒng)計的熱度將所述點播內(nèi)容存入所述流媒體服務(wù)器的閃存中;所述流媒體服務(wù)器,用于在所述流媒體服務(wù)器的閃存中保存所述點播內(nèi)容,在收到點播請求時優(yōu)先讀取所述存入閃存的點播內(nèi)容。15、如權(quán)利要求14所述提供點播內(nèi)容的系統(tǒng),其特征在于,所述流媒體服務(wù)器包括一塊或多塊閃存,所述閃存插接于所述流媒體服務(wù)器的后插板上或插接于所述流媒體服務(wù)器的主板插槽上。16、如權(quán)利要求14所述提供點播內(nèi)容的系統(tǒng),其特征在于,進一步包括磁盤陣列,用于保存所述點播影片的全部內(nèi)容或者所述點播影片中除所述點播影片的片頭之外的其他內(nèi)容。17、如權(quán)利要求14所述提供點播內(nèi)容的系統(tǒng),其特征在于,進一步包括負載均衡器,用于根據(jù)所述點播內(nèi)容選擇流媒體服務(wù)器,優(yōu)先選擇在閃存中存有所述點播內(nèi)容的流i某體服務(wù)器。18、如權(quán)利要求17所述提供點播內(nèi)容的系統(tǒng),其特征在于,所述內(nèi)容管理器還用于將所述點播內(nèi)容的更新結(jié)果通知所述負載均衡器,則所述負載均衡器在進行點播內(nèi)容的調(diào)度時,優(yōu)先選擇在閃存中存有所述點播內(nèi)容的流々某體服務(wù)器。19、一種內(nèi)容管理器,其特征在于,包括熱度統(tǒng)計模塊,用于統(tǒng)計點播內(nèi)容的熱度;存儲模塊,用于根據(jù)所述統(tǒng)計模塊統(tǒng)計的熱度將所述點播內(nèi)容存入流媒體服務(wù)器的閃存中。20、如權(quán)利要求19所述內(nèi)容管理器,其特征在于,所述熱度統(tǒng)計模塊包括記錄管理子模塊,用于管理點播記錄,所述點播記錄至少包括內(nèi)容標識、點才番時間和點播時長;等級劃分子模塊,用于根據(jù)記錄管理子模塊管理的點播紀錄中的點播時長對所述點播內(nèi)容進行等級劃分;統(tǒng)計子模塊,用于統(tǒng)計所述等級劃分子模塊劃分的各等級的點播內(nèi)容的點播次數(shù)。21、如權(quán)利要求20所述內(nèi)容管理器,其特征在于,所述存儲模塊包括排名子模塊,用于根據(jù)所述統(tǒng)計子模塊統(tǒng)計的點播次數(shù)按所述等級劃分子模塊劃分的等級對所述點播內(nèi)容進行排名;內(nèi)容存儲子模塊,用于根據(jù)所述排名子模塊的排名和存入閃存的原則將所述各等級的點播內(nèi)容存入閃存。22、如權(quán)利要求19所述內(nèi)容管理器,其特征在于,還包括通知模塊,用于在所述存儲模塊將點播內(nèi)容存入流媒體服務(wù)器的閃存中之后,將所述點播內(nèi)容的更新結(jié)果通知負載均衡器。23、一種流媒體服務(wù)器,其特征在于,包括至少一塊閃存,用于存儲點播內(nèi)容,所述閃存插接于所述流媒體服務(wù)器的后插板上或插接于所述流媒體服務(wù)器的主板插槽上;媒體請求接收模塊,用于接收用戶的點播請求;媒體提供模塊,用于在所述媒體請求接收模塊接收到用戶的點播請求時,優(yōu)先讀取所述流媒體服務(wù)器中的閃存中的點播內(nèi)容。24、如權(quán)利要求23所述流媒體服務(wù)器,其特征在于,所述媒體提供模塊還用于當所述流媒體服務(wù)器中的閃存中沒有符合用戶點播請求的內(nèi)容時,從磁盤陣列中讀取符合用戶點播請求的點播內(nèi)容;或者,當所述流媒體服務(wù)器的閃存中僅存有點播影片的片頭時,在讀取完所述點播影片的片頭之后,從所述磁盤陣列中讀取所述點播影片除片頭之外的其他內(nèi)容。25、如權(quán)利要求23所述流媒體服務(wù)器,其特征在于,進一步包括閃存控制和驅(qū)動模塊,用于緩沖預定分塊大小的數(shù)據(jù),再將所述點播內(nèi)容存入內(nèi)存。全文摘要本發(fā)明實施例公開了一種提供點播內(nèi)容的方法、系統(tǒng)和裝置,所述提供點播內(nèi)容的方法包括統(tǒng)計點播內(nèi)容的熱度;根據(jù)所述統(tǒng)計的熱度將所述點播內(nèi)容存入閃存,所述存入閃存的點播內(nèi)容在媒體服務(wù)器收到點播請求時優(yōu)先被提供。本發(fā)明實施例通過將熱片存入流媒體服務(wù)器的閃存中,提高了I/O的讀寫速度,從而提高了單臺流媒體服務(wù)器的性能。并且由于閃存有斷電數(shù)據(jù)不丟失的特點,因此重啟也無需從硬盤中讀取熱片的數(shù)據(jù)到閃存中,可以提高啟動速度。文檔編號H04N5/00GK101232600SQ200810007659公開日2008年7月30日申請日期2008年3月4日優(yōu)先權(quán)日2008年3月4日發(fā)明者王子鐘,羅澤文申請人:華為技術(shù)有限公司