專利名稱:一種分布式視頻點(diǎn)播系統(tǒng)與方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字家庭技術(shù)領(lǐng)域,具體涉及一種分布式視頻點(diǎn)播系統(tǒng)與方法。
背景技術(shù):
隨著社會(huì)信息化的快速發(fā)展,交互電視與多媒體技術(shù)早已成為人們關(guān)注的熱點(diǎn)。 傳統(tǒng)的電視系統(tǒng)信息單向傳送,用戶只能被動(dòng)接收。而視頻點(diǎn)播是以“選擇控制權(quán)在用戶” 的嶄新概念為基礎(chǔ)的雙向視音頻信息系統(tǒng),實(shí)現(xiàn)了按用戶需要播放視音頻節(jié)目的理想。視頻點(diǎn)播是二十世紀(jì)90年代在美國發(fā)展起來的,英文稱為VOD (Video on Demand),也稱為交互式電視點(diǎn)播系統(tǒng)。與現(xiàn)有的有線電視不同,點(diǎn)播電視可以讓用戶自由地選擇播放的節(jié)目,并且立即得到響應(yīng),它是一種新型的非對稱全雙工通信模式的電視業(yè)務(wù)。系統(tǒng)用戶可以
坐在家里的電視機(jī)前,通過遙控器和菜單,在可能的條件下選擇喜愛的電視、電影和新聞節(jié)目。VOD即視頻點(diǎn)播是利用視頻服務(wù)器存儲(chǔ)視頻節(jié)目和其他多媒體信息,通過傳輸網(wǎng)絡(luò)和客戶端設(shè)備向用戶提供交互式視頻服務(wù)的系統(tǒng)。其中視頻服務(wù)器是VOD系統(tǒng)的核心, 它的穩(wěn)定程度和性能,關(guān)系到整個(gè)系統(tǒng)的性能。負(fù)載均衡是由多臺(tái)服務(wù)器以對稱的方式組成一個(gè)服務(wù)器集合,每臺(tái)服務(wù)器都具有等價(jià)的地位,都可以單獨(dú)對外提供服務(wù)而無須其他服務(wù)器的輔助。通過某種負(fù)載分擔(dān)技術(shù),將外部發(fā)送來的請求均勻分配到對稱結(jié)構(gòu)中的某一臺(tái)服務(wù)器上,而接收到請求的服務(wù)器獨(dú)立地回應(yīng)客戶的請求。當(dāng)前的視頻點(diǎn)播服務(wù)器普遍存在缺乏良好負(fù)載均衡的能力。因而需要設(shè)計(jì)適合的存儲(chǔ)系統(tǒng)來提高負(fù)載能力以及I/O 吞吐量?,F(xiàn)有通用的視頻存儲(chǔ)方式就是以文件為單位按連續(xù)的方式存儲(chǔ)。文件的存儲(chǔ)可以從邏輯和物理兩個(gè)角度來看。文件的邏輯組織通常分為兩種形式,即有結(jié)構(gòu)文件(記錄文件)和無結(jié)構(gòu)文件(字符流文件)。文件的物理組織有以下幾種方式連續(xù)文件、串聯(lián)文件和索引文件。這里所說的以文件為單位按連續(xù)的方式存儲(chǔ)不是指上面的邏輯或物理組織形式。這種方式具體來說就是將同一個(gè)文件放在同一存儲(chǔ)設(shè)備上。一個(gè)文件只能在同一時(shí)刻只能接受一個(gè)請求。連續(xù)媒體流的存儲(chǔ)有自己的特點(diǎn),當(dāng)幾個(gè)用戶請求同時(shí)讀同一媒體文件的不同位置時(shí),磁頭必須來回移動(dòng)(有10毫秒級的尋道時(shí)間)讀取不同的位置,引起磁頭抖動(dòng),這會(huì)嚴(yán)重影響磁盤的讀出效率。同時(shí),不同的存儲(chǔ)介質(zhì),有不同的讀出速率和尋道延遲,也會(huì)影響服務(wù)器的響應(yīng)時(shí)間,對于大規(guī)模訪問這就成為一個(gè)提高吞吐量的瓶頸。
發(fā)明內(nèi)容
針對現(xiàn)有的視頻點(diǎn)播的吞吐量的問題,解決現(xiàn)有視頻點(diǎn)播系統(tǒng)支持更大的吞吐率、更大的并發(fā)流讀取以及更小的客戶延遲,本發(fā)明實(shí)施例通過在分布式視頻服務(wù)器中,提供分布式視頻系統(tǒng)以及相應(yīng)的方法,來實(shí)現(xiàn)更好的負(fù)載平衡與更高吞吐量和更小的延遲。為了實(shí)現(xiàn)發(fā)明目的,本發(fā)明實(shí)施例公開了一種分布式視頻點(diǎn)播系統(tǒng),包括至少兩個(gè)以上的視頻服務(wù)器,用于存儲(chǔ)視頻文件,在收到用戶所請求的視頻點(diǎn)播請求之后,計(jì)算每一個(gè)視頻服務(wù)器中的負(fù)載參數(shù)和根據(jù)負(fù)載參數(shù)與客戶端建立視頻點(diǎn)播通道的規(guī)則,所述至少兩個(gè)以上的視頻服務(wù)器中的一個(gè)視頻服務(wù)器將視頻文件按照策略播放給用戶;
網(wǎng)絡(luò)服務(wù)器,用于接收用戶發(fā)送的視頻播放請求,并向調(diào)度服務(wù)器發(fā)送視頻信息檢索請求,并將獲取的檢索信息發(fā)送給用戶端;
調(diào)度服務(wù)器,用于根據(jù)用戶發(fā)送的視頻播放請求基于視頻服務(wù)器中的負(fù)載參數(shù)確立至少兩個(gè)以上的視頻服務(wù)器中的一個(gè)視頻服務(wù)器與用戶所在的客戶端建立視頻點(diǎn)播通道。所述兩個(gè)以上的視頻服務(wù)器將一個(gè)整體視頻文件分為至少兩個(gè)以上的子視頻文件分片存儲(chǔ),所述整體視頻文件按照策略分成至少兩個(gè)以上的子視頻文件分別存儲(chǔ)在至少兩個(gè)以上的視頻服務(wù)器中;所述至少兩個(gè)以上的視頻服務(wù)器中約束了子視頻文件中的存儲(chǔ)容量規(guī)格、子視頻文件在兩個(gè)以上的視頻服務(wù)器中的存儲(chǔ)先后順序、對整體視頻文件刪除與管理辦法、以及統(tǒng)計(jì)兩個(gè)以上的視頻服務(wù)器中每一視頻服務(wù)器的負(fù)載參數(shù)和根據(jù)負(fù)載參數(shù)與客戶端建立視頻點(diǎn)播通道的規(guī)則,所述負(fù)載參數(shù)包括CPU使用率、線程數(shù)量、磁盤使用率,所述視頻點(diǎn)播通道的規(guī)則為將至少兩個(gè)以上的視頻服務(wù)器中的負(fù)載小以及存儲(chǔ)有用戶所請求的子視頻文件。所述系統(tǒng)還包括一中央服務(wù)器,所述中央服務(wù)器與至少兩個(gè)以上的視頻服務(wù)器建立通信,在兩個(gè)以上的視頻服務(wù)器沒有用戶所請求的視頻文件時(shí),兩個(gè)以上的視頻服務(wù)器根據(jù)計(jì)算的負(fù)載參數(shù),負(fù)載小的視頻服務(wù)器通過中央服務(wù)器獲取視頻文件,并為用戶所在的客戶端提供視頻文件。相應(yīng)的,本發(fā)明實(shí)施例還公開了一種分布式視頻點(diǎn)播方法,包括
網(wǎng)絡(luò)服務(wù)器接收用戶發(fā)送的視頻點(diǎn)播請求之后,將視頻點(diǎn)播請求發(fā)送給調(diào)度服務(wù)器; 調(diào)度服務(wù)器根據(jù)視頻點(diǎn)播請求檢索視頻文件信息,根據(jù)至少兩個(gè)以上的視頻服務(wù)器的負(fù)載參數(shù)確立一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù);
在收到用于調(diào)度服務(wù)器返回的檢索視頻文件信息之后,與確立的視頻服務(wù)器建立視頻點(diǎn)播通道獲取視頻文件。所述兩個(gè)以上的視頻服務(wù)器將一個(gè)整體視頻文件分為至少兩個(gè)以上的子視頻文件分片存儲(chǔ),所述整體視頻文件按照策略分成至少兩個(gè)以上的子視頻文件分別存儲(chǔ)在至少兩個(gè)以上的視頻服務(wù)器中;
所述調(diào)度服務(wù)器根據(jù)視頻點(diǎn)播請求檢索視頻文件信息,根據(jù)至少兩個(gè)以上的視頻服務(wù)器的負(fù)載參數(shù)確立一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù)包括
所述至少兩個(gè)以上的視頻服務(wù)器中存儲(chǔ)了子視頻文件的視頻服務(wù)器計(jì)算自己的負(fù)載參數(shù);
根據(jù)負(fù)載參數(shù)確立存儲(chǔ)了子視頻文件的視頻服務(wù)器中的一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù);
所述確立的視頻服務(wù)器根據(jù)子視頻文件排布規(guī)則緩沖成一個(gè)完整的視頻文件; 在與用戶所在的客戶端建立視頻點(diǎn)播通道后,將所述完整的視頻文件基于點(diǎn)播通道播放給用戶所在的客戶端觀看。所述至少兩個(gè)以上的視頻服務(wù)器中約束了子視頻文件中的存儲(chǔ)容量規(guī)格、子視頻文件在兩個(gè)以上的視頻服務(wù)器中的存儲(chǔ)先后順序、對整體視頻文件刪除與管理辦法、以及統(tǒng)計(jì)兩個(gè)以上的視頻服務(wù)器中每一視頻服務(wù)器的負(fù)載參數(shù)和根據(jù)負(fù)載參數(shù)與客戶端建立視頻點(diǎn)播通道的規(guī)則,所述負(fù)載參數(shù)包括CPU使用率、線程數(shù)量、磁盤使用率,所述視頻點(diǎn)播通道的規(guī)則為將至少兩個(gè)以上的視頻服務(wù)器中的負(fù)載小以及存儲(chǔ)有用戶所請求的子視頻文件。在調(diào)度服務(wù)器根據(jù)視頻點(diǎn)播請求檢索到至少兩個(gè)以上的視頻服務(wù)器中沒有存儲(chǔ)的視頻文件時(shí),所述調(diào)度服務(wù)器根據(jù)視頻點(diǎn)播請求檢索視頻文件信息,根據(jù)至少兩個(gè)以上的視頻服務(wù)器的負(fù)載參數(shù)確立一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù)包括
所述至少兩個(gè)以上的視頻服務(wù)器中的視頻服務(wù)器計(jì)算自己的負(fù)載參數(shù); 根據(jù)負(fù)載參數(shù)確立視頻服務(wù)器中的一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù);
所述確立的視頻服務(wù)器根據(jù)視頻點(diǎn)播請求與中央處理器建立通信,基于中央處理器獲取緩存的視頻文件;
在與用戶所在的客戶端建立視頻點(diǎn)播通道后,將所述緩存的視頻文件基于點(diǎn)播通道播放給用戶所在的客戶端觀看。所述根據(jù)負(fù)載參數(shù)確立視頻服務(wù)器中的一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù)包括
兩個(gè)以上的視頻服務(wù)器根據(jù)計(jì)算的負(fù)載參數(shù),負(fù)載小的視頻服務(wù)器通過中央服務(wù)器獲取視頻文件,并為用戶所在的客戶端提供視頻文件。本發(fā)明具有以下優(yōu)點(diǎn)本發(fā)明的通過提供一種分布式點(diǎn)播系統(tǒng)及方法,基于視頻點(diǎn)播服務(wù)系統(tǒng),計(jì)算分布式系統(tǒng)中每一視頻服務(wù)器中的負(fù)載參數(shù),基于負(fù)載低的視頻服務(wù)器為用戶提供視頻點(diǎn)播服務(wù),更好的實(shí)現(xiàn)負(fù)載平衡與更高吞吐量。通過高吞吐量使得服務(wù)能夠更快的為用戶提供服務(wù),明顯改善用戶體驗(yàn)。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例中的視頻文件基于分布式視頻點(diǎn)播系統(tǒng)中分片存儲(chǔ)結(jié)構(gòu)示意圖2為本發(fā)明實(shí)施例中的分布式視頻點(diǎn)播系統(tǒng)組成結(jié)構(gòu)示意圖; 圖3為本發(fā)明實(shí)施例中的分布式視頻點(diǎn)播系統(tǒng)架構(gòu)圖; 圖4為本發(fā)明實(shí)施例中的分布式系統(tǒng)點(diǎn)播方法流程圖; 圖5為本發(fā)明實(shí)施例中的分布式系統(tǒng)點(diǎn)播方法另一流程圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例中的一種分布式視頻點(diǎn)播系統(tǒng),包括了兩個(gè)或者以上的視頻服務(wù)器,用于存儲(chǔ)視頻文件,在收到用戶所請求的視頻點(diǎn)播請求之后,計(jì)算每一個(gè)視頻服務(wù)器中的負(fù)載參數(shù)和根據(jù)負(fù)載參數(shù)與客戶端建立視頻點(diǎn)播通道的規(guī)則,這里的至少兩個(gè)以上的視頻服務(wù)器中的一個(gè)視頻服務(wù)器將視頻文件按照策略播放給用戶;網(wǎng)絡(luò)服務(wù)器,用于接收用戶發(fā)送的視頻播放請求,并向調(diào)度服務(wù)器發(fā)送視頻信息檢索請求,并將獲取的檢索信息發(fā)送給用戶端;調(diào)度服務(wù)器,用于根據(jù)用戶發(fā)送的視頻播放請求基于視頻服務(wù)器中的負(fù)載參數(shù)確立至少兩個(gè)以上的視頻服務(wù)器中的一個(gè)視頻服務(wù)器與用戶所在的客戶端建立視頻點(diǎn)播通道。這里的視頻服務(wù)器群可以將一個(gè)整體視頻文件分為至少兩個(gè)以上的子視頻文件分片存儲(chǔ),該整體視頻文件按照策略分成至少兩個(gè)以上的子視頻文件分別存儲(chǔ)在至少兩個(gè)以上的視頻服務(wù)器中;該至少兩個(gè)以上的視頻服務(wù)器中約束了子視頻文件中的存儲(chǔ)容量規(guī)格、子視頻文件在兩個(gè)以上的視頻服務(wù)器中的存儲(chǔ)先后順序、對整體視頻文件刪除與管理辦法、以及統(tǒng)計(jì)兩個(gè)以上的視頻服務(wù)器中每一視頻服務(wù)器的負(fù)載參數(shù)和根據(jù)負(fù)載參數(shù)與客戶端建立視頻點(diǎn)播通道的規(guī)則,該負(fù)載參數(shù)包括CPU使用率、線程數(shù)量、磁盤使用率,該視頻點(diǎn)播通道的規(guī)則為將至少兩個(gè)以上的視頻服務(wù)器中的負(fù)載小以及存儲(chǔ)有用戶所請求的子視頻文件。該系統(tǒng)還可以包括一中央服務(wù)器,中央服務(wù)器與視頻服務(wù)器群建立通信,在兩個(gè)以上的視頻服務(wù)器沒有用戶所請求的視頻文件時(shí),兩個(gè)以上的視頻服務(wù)器根據(jù)計(jì)算的負(fù)載參數(shù),負(fù)載小的視頻服務(wù)器通過中央服務(wù)器獲取視頻文件,并為用戶所在的客戶端提供視頻文件。基于上述系統(tǒng)架構(gòu),本發(fā)明的一種分布式視頻點(diǎn)播方法包括
網(wǎng)絡(luò)服務(wù)器接收用戶發(fā)送的視頻點(diǎn)播請求之后,將視頻點(diǎn)播請求發(fā)送給調(diào)度服務(wù)器; 調(diào)度服務(wù)器根據(jù)視頻點(diǎn)播請求檢索視頻文件信息,根據(jù)至少兩個(gè)以上的視頻服務(wù)器的負(fù)載參數(shù)確立一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù);
在收到用于調(diào)度服務(wù)器返回的檢索視頻文件信息之后,與確立的視頻服務(wù)器建立視頻點(diǎn)播通道獲取視頻文件。該方法中兩個(gè)以上的視頻服務(wù)器將一個(gè)整體視頻文件分為至少兩個(gè)以上的子視頻文件分片存儲(chǔ),所述整體視頻文件按照策略分成至少兩個(gè)以上的子視頻文件分別存儲(chǔ)在至少兩個(gè)以上的視頻服務(wù)器中;
這里的調(diào)度服務(wù)器根據(jù)視頻點(diǎn)播請求檢索視頻文件信息,根據(jù)至少兩個(gè)以上的視頻服務(wù)器的負(fù)載參數(shù)確立一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù)包括
至少兩個(gè)以上的視頻服務(wù)器中存儲(chǔ)了子視頻文件的視頻服務(wù)器計(jì)算自己的負(fù)載參
數(shù);
根據(jù)負(fù)載參數(shù)確立存儲(chǔ)了子視頻文件的視頻服務(wù)器中的一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù);
該確立的視頻服務(wù)器根據(jù)子視頻文件排布規(guī)則緩沖成一個(gè)完整的視頻文件;在與用戶所在的客戶端建立視頻點(diǎn)播通道后,將所述完整的視頻文件基于點(diǎn)播通道播放給用戶所在的客戶端觀看。至少兩個(gè)以上的視頻服務(wù)器中約束了子視頻文件中的存儲(chǔ)容量規(guī)格、子視頻文件在兩個(gè)以上的視頻服務(wù)器中的存儲(chǔ)先后順序、對整體視頻文件刪除與管理辦法、以及統(tǒng)計(jì)兩個(gè)以上的視頻服務(wù)器中每一視頻服務(wù)器的負(fù)載參數(shù)和根據(jù)負(fù)載參數(shù)與客戶端建立視頻點(diǎn)播通道的規(guī)則,所述負(fù)載參數(shù)包括CPU使用率、線程數(shù)量、磁盤使用率,所述視頻點(diǎn)播通道的規(guī)則為將至少兩個(gè)以上的視頻服務(wù)器中的負(fù)載小以及存儲(chǔ)有用戶所請求的子視頻文件。在調(diào)度服務(wù)器根據(jù)視頻點(diǎn)播請求檢索到至少兩個(gè)以上的視頻服務(wù)器中沒有存儲(chǔ)的視頻文件時(shí),所述調(diào)度服務(wù)器根據(jù)視頻點(diǎn)播請求檢索視頻文件信息,根據(jù)至少兩個(gè)以上的視頻服務(wù)器的負(fù)載參數(shù)確立一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù)包括
所述至少兩個(gè)以上的視頻服務(wù)器中的視頻服務(wù)器計(jì)算自己的負(fù)載參數(shù); 根據(jù)負(fù)載參數(shù)確立視頻服務(wù)器中的一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù);
所述確立的視頻服務(wù)器根據(jù)視頻點(diǎn)播請求與中央處理器建立通信,基于中央處理器獲取緩存的視頻文件;
在與用戶所在的客戶端建立視頻點(diǎn)播通道后,將所述緩存的視頻文件基于點(diǎn)播通道播放給用戶所在的客戶端觀看。所述根據(jù)負(fù)載參數(shù)確立視頻服務(wù)器中的一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù)包括
兩個(gè)以上的視頻服務(wù)器根據(jù)計(jì)算的負(fù)載參數(shù),負(fù)載小的視頻服務(wù)器通過中央服務(wù)器獲取視頻文件,并為用戶所在的客戶端提供視頻文件。基于上述思維,以下根據(jù)圖例詳細(xì)說本發(fā)明實(shí)施例中的實(shí)現(xiàn)過程。本發(fā)明提供了一種基于視頻分片的分布式存儲(chǔ)系統(tǒng),與以往的連續(xù)存儲(chǔ)方式不同的是,該方法把一個(gè)視頻文件按照一定的策略分成很多塊分別存儲(chǔ)在不同的視頻服務(wù)器上。這可以避免當(dāng)幾個(gè)用戶請求同時(shí)讀同一媒體文件的不同位置時(shí),磁頭必須來回移動(dòng)讀取不同的位置,因?yàn)樗麄兇鎯?chǔ)在不同的視頻服務(wù)器上,這同時(shí)也實(shí)現(xiàn)了負(fù)載平衡。這種存儲(chǔ)方式如圖1所示,videol被平均的分成了八片,一共有五臺(tái)服務(wù)器,這八片在視頻服務(wù)器的分布如圖所示。同時(shí)沒分片還保存了下一分片所在的位置信息。無論是在中央服務(wù)器還是視頻服務(wù)器都采用這樣的存儲(chǔ)方式。在這種存儲(chǔ)方式的基礎(chǔ)上構(gòu)建一種分布式存儲(chǔ)系統(tǒng),他能夠有效的提高I/O吞吐量與負(fù)載平衡。這種分布式存儲(chǔ)系統(tǒng)的視頻點(diǎn)播請求流程如圖2所示,對應(yīng)的視頻點(diǎn)播分布式集群體系結(jié)構(gòu)如3所示。下面結(jié)合圖2對系統(tǒng)的組成進(jìn)行說明本系統(tǒng)由web服務(wù)器,調(diào)度服務(wù)器,視頻服務(wù)器群和中央服務(wù)器。各部分的功能如下
Web服務(wù)器主要負(fù)責(zé)客戶端請求,向客調(diào)度服務(wù)器發(fā)出視頻信息檢索請求已經(jīng)將獲得的檢索信息返回給客戶端。調(diào)度服務(wù)器主要負(fù)責(zé)各視頻服務(wù)器視頻信息,分塊信息的管理以供web服務(wù)器查詢,根據(jù)各服務(wù)器的負(fù)載調(diào)度服務(wù)器。視頻服務(wù)器主要負(fù)責(zé)分片保存視頻,從中央服務(wù)器下載視頻,當(dāng)存儲(chǔ)空間不夠時(shí)按播放熱度將沒有那么熱播的視頻刪除。以及相應(yīng)片段的存儲(chǔ)容量設(shè)置,比如每片的大小為20M,若小于20M則按實(shí)際大小存儲(chǔ),當(dāng)然也可以設(shè)置為其他容量等等。中央服務(wù)器主要負(fù)責(zé)所有視頻的保存和視頻服務(wù)器的視頻請求。下面結(jié)合圖2說明視頻點(diǎn)播流程(虛線部分是當(dāng)本地視頻服務(wù)器沒有客戶端請求的視頻時(shí)所要執(zhí)行的部分)
第一步客戶端向web服務(wù)器發(fā)出視頻播放請求; 第二步web服務(wù)器將接收到的客戶端請求提交給調(diào)度服務(wù)器; 第三步調(diào)度服務(wù)器檢索客戶端請求的視頻信息,若本地服務(wù)器存有該視頻,那么根據(jù)視頻服務(wù)器目前的cpu使用率,線程數(shù)目,磁盤使用率確定使用那臺(tái)服務(wù)器為客戶端服務(wù), 轉(zhuǎn)第四步;若沒有轉(zhuǎn)第七步;
第四步將檢索到的視頻信息返回給web服務(wù)器,web服務(wù)器再返回給客戶端; 第五步客戶端根據(jù)檢索系統(tǒng)向視頻服務(wù)器發(fā)起連接;
第六步視頻服務(wù)器將視頻分片返回給客戶端,當(dāng)一個(gè)分片傳輸完時(shí)重定位到下一個(gè)分片直到傳輸完成;
第七步調(diào)度服務(wù)器根據(jù)負(fù)載通知視頻服務(wù)器去中央服務(wù)器下載所需視頻分片; 第八步視頻服務(wù)器向中央服務(wù)器獲取視頻分片,同時(shí)在調(diào)度服務(wù)器端更新視頻信息, 接著轉(zhuǎn)第四步,在轉(zhuǎn)第四步的同時(shí)視頻服務(wù)器繼續(xù)從中央服務(wù)器獲取這個(gè)視頻的其他分片。下面結(jié)合圖功能部件交互圖4進(jìn)一步說明基于分片基礎(chǔ)上的分布式點(diǎn)播系統(tǒng)(這是針對本地視頻服務(wù)器存有請求視頻的情況)
S11,客戶端向web服務(wù)器發(fā)送播放請求;
S12,web服務(wù)器發(fā)出請求調(diào)度;
S13,檢索看是否有所請求的視頻分片,若有則轉(zhuǎn)S14 ;
S14,按視頻服務(wù)器的cpu使用率,磁盤利用率,進(jìn)程數(shù)量計(jì)算負(fù)載,選擇負(fù)載最小并且存有這個(gè)分片的視頻為客戶端服務(wù);
S15,將檢索的播放信息返回給web服務(wù)器,信息主要包括要連接的視頻服務(wù)器的地址,請求視頻名,視頻分片ID;
S16,將檢索的播放信息返回給web客戶端; S17,客戶端根據(jù)返回的檢索信息向服務(wù)器發(fā)起連接請求;
S18,視頻服務(wù)器返回視頻分片,當(dāng)一個(gè)分片傳輸完時(shí)重定位到下一個(gè)分片直到傳輸完成。下面結(jié)合圖功能部件交互圖5進(jìn)一步說明基于分片基礎(chǔ)上的分布式點(diǎn)播系統(tǒng)(這是針對本地視頻服務(wù)器沒有存有請求視頻的情況)
S21, S22,這兩步與Sll,S12是一樣的; S23,檢索視頻信息,發(fā)現(xiàn)視頻服務(wù)器上沒有改視頻信息; S24,通知負(fù)載最低的視頻去中央服務(wù)器下載視頻; S25,視頻服務(wù)器向中央服務(wù)器發(fā)出視頻請求;S26,中央服務(wù)器返回視頻分片;
S27,視頻服務(wù)器獲得視頻分片后通知調(diào)度服務(wù)器更新視頻分片信息,同時(shí)通知web服務(wù)器,另外,視頻服務(wù)器還不斷的請求這個(gè)視頻的其他所有分片做為緩沖;
之后的所有步驟S28,S 29,S 30,S 31與S 16,S 17,S 18,S19是一樣的。本發(fā)明的通過提供一種分布式點(diǎn)播系統(tǒng)及方法,基于視頻點(diǎn)播服務(wù)系統(tǒng),計(jì)算分布式系統(tǒng)中每一視頻服務(wù)器中的負(fù)載參數(shù),基于負(fù)載低的視頻服務(wù)器為用戶提供視頻點(diǎn)播服務(wù),更好的實(shí)現(xiàn)負(fù)載平衡與更高吞吐量。通過高吞吐量使得服務(wù)能夠更快的為用戶提供服務(wù),明顯改善用戶體驗(yàn)。以上對本發(fā)明實(shí)施例所提供的一種分布式視頻點(diǎn)播系統(tǒng)與方法進(jìn)行了詳細(xì)介紹, 本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種分布式視頻點(diǎn)播系統(tǒng),其特征在于,包括至少兩個(gè)以上的視頻服務(wù)器,用于存儲(chǔ)視頻文件,在收到用戶所請求的視頻點(diǎn)播請求之后,計(jì)算每一個(gè)視頻服務(wù)器中的負(fù)載參數(shù)和根據(jù)負(fù)載參數(shù)與客戶端建立視頻點(diǎn)播通道的規(guī)則,所述至少兩個(gè)以上的視頻服務(wù)器中的一個(gè)視頻服務(wù)器將視頻文件按照策略播放給用戶;網(wǎng)絡(luò)服務(wù)器,用于接收用戶發(fā)送的視頻播放請求,并向調(diào)度服務(wù)器發(fā)送視頻信息檢索請求,并將獲取的檢索信息發(fā)送給用戶端;調(diào)度服務(wù)器,用于根據(jù)用戶發(fā)送的視頻播放請求基于視頻服務(wù)器中的負(fù)載參數(shù)確立至少兩個(gè)以上的視頻服務(wù)器中的一個(gè)視頻服務(wù)器與用戶所在的客戶端建立視頻點(diǎn)播通道。
2.如權(quán)利要求1所述的分布式視頻點(diǎn)播系統(tǒng),其特征在于,所述兩個(gè)以上的視頻服務(wù)器將一個(gè)整體視頻文件分為至少兩個(gè)以上的子視頻文件分片存儲(chǔ),所述整體視頻文件按照策略分成至少兩個(gè)以上的子視頻文件分別存儲(chǔ)在至少兩個(gè)以上的視頻服務(wù)器中;所述至少兩個(gè)以上的視頻服務(wù)器中約束了子視頻文件中的存儲(chǔ)容量規(guī)格、子視頻文件在兩個(gè)以上的視頻服務(wù)器中的存儲(chǔ)先后順序、對整體視頻文件刪除與管理辦法、以及統(tǒng)計(jì)兩個(gè)以上的視頻服務(wù)器中每一視頻服務(wù)器的負(fù)載參數(shù)和根據(jù)負(fù)載參數(shù)與客戶端建立視頻點(diǎn)播通道的規(guī)則,所述負(fù)載參數(shù)包括CPU使用率、線程數(shù)量、磁盤使用率,所述視頻點(diǎn)播通道的規(guī)則為將至少兩個(gè)以上的視頻服務(wù)器中的負(fù)載小以及存儲(chǔ)有用戶所請求的子視頻文件。
3.如權(quán)利要求1所述的分布式視頻點(diǎn)播系統(tǒng),其特征在于,所述系統(tǒng)還包括一中央服務(wù)器,所述中央服務(wù)器與至少兩個(gè)以上的視頻服務(wù)器建立通信,在兩個(gè)以上的視頻服務(wù)器沒有用戶所請求的視頻文件時(shí),兩個(gè)以上的視頻服務(wù)器根據(jù)計(jì)算的負(fù)載參數(shù),負(fù)載小的視頻服務(wù)器通過中央服務(wù)器獲取視頻文件,并為用戶所在的客戶端提供視頻文件。
4.一種分布式視頻點(diǎn)播方法,其特征在于,包括網(wǎng)絡(luò)服務(wù)器接收用戶發(fā)送的視頻點(diǎn)播請求之后,將視頻點(diǎn)播請求發(fā)送給調(diào)度服務(wù)器;調(diào)度服務(wù)器根據(jù)視頻點(diǎn)播請求檢索視頻文件信息,根據(jù)至少兩個(gè)以上的視頻服務(wù)器的負(fù)載參數(shù)確立一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù);在收到用于調(diào)度服務(wù)器返回的檢索視頻文件信息之后,與確立的視頻服務(wù)器建立視頻點(diǎn)播通道獲取視頻文件。
5.如權(quán)利要求4所述的分布式視頻點(diǎn)播方法,其特征在于,所述兩個(gè)以上的視頻服務(wù)器將一個(gè)整體視頻文件分為至少兩個(gè)以上的子視頻文件分片存儲(chǔ),所述整體視頻文件按照策略分成至少兩個(gè)以上的子視頻文件分別存儲(chǔ)在至少兩個(gè)以上的視頻服務(wù)器中;所述調(diào)度服務(wù)器根據(jù)視頻點(diǎn)播請求檢索視頻文件信息,根據(jù)至少兩個(gè)以上的視頻服務(wù)器的負(fù)載參數(shù)確立一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù)包括所述至少兩個(gè)以上的視頻服務(wù)器中存儲(chǔ)了子視頻文件的視頻服務(wù)器計(jì)算自己的負(fù)載參數(shù);根據(jù)負(fù)載參數(shù)確立存儲(chǔ)了子視頻文件的視頻服務(wù)器中的一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù);所述確立的視頻服務(wù)器根據(jù)子視頻文件排布規(guī)則緩沖成一個(gè)完整的視頻文件;在與用戶所在的客戶端建立視頻點(diǎn)播通道后,將所述完整的視頻文件基于點(diǎn)播通道播放給用戶所在的客戶端觀看。
6.如權(quán)利要求5所述的分布式視頻點(diǎn)播方法,其特征在于,所述至少兩個(gè)以上的視頻服務(wù)器中約束了子視頻文件中的存儲(chǔ)容量規(guī)格、子視頻文件在兩個(gè)以上的視頻服務(wù)器中的存儲(chǔ)先后順序、對整體視頻文件刪除與管理辦法、以及統(tǒng)計(jì)兩個(gè)以上的視頻服務(wù)器中每一視頻服務(wù)器的負(fù)載參數(shù)和根據(jù)負(fù)載參數(shù)與客戶端建立視頻點(diǎn)播通道的規(guī)則,所述負(fù)載參數(shù)包括CPU使用率、線程數(shù)量、磁盤使用率,所述視頻點(diǎn)播通道的規(guī)則為將至少兩個(gè)以上的視頻服務(wù)器中的負(fù)載小以及存儲(chǔ)有用戶所請求的子視頻文件。
7.如權(quán)利要求4所述的分布式視頻點(diǎn)播方法,其特征在于,在調(diào)度服務(wù)器根據(jù)視頻點(diǎn)播請求檢索到至少兩個(gè)以上的視頻服務(wù)器中沒有存儲(chǔ)的視頻文件時(shí),所述調(diào)度服務(wù)器根據(jù)視頻點(diǎn)播請求檢索視頻文件信息,根據(jù)至少兩個(gè)以上的視頻服務(wù)器的負(fù)載參數(shù)確立一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù)包括所述至少兩個(gè)以上的視頻服務(wù)器中的視頻服務(wù)器計(jì)算自己的負(fù)載參數(shù);根據(jù)負(fù)載參數(shù)確立視頻服務(wù)器中的一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù);所述確立的視頻服務(wù)器根據(jù)視頻點(diǎn)播請求與中央處理器建立通信,基于中央處理器獲取緩存的視頻文件;在與用戶所在的客戶端建立視頻點(diǎn)播通道后,將所述緩存的視頻文件基于點(diǎn)播通道播放給用戶所在的客戶端觀看。
8.如權(quán)利要求7所述的分布式視頻點(diǎn)播系統(tǒng),其特征在于,所述根據(jù)負(fù)載參數(shù)確立視頻服務(wù)器中的一個(gè)視頻服務(wù)器為用戶所在的客戶端提供視頻點(diǎn)播服務(wù)包括兩個(gè)以上的視頻服務(wù)器根據(jù)計(jì)算的負(fù)載參數(shù),負(fù)載小的視頻服務(wù)器通過中央服務(wù)器獲取視頻文件,并為用戶所在的客戶端提供視頻文件。
全文摘要
本發(fā)明實(shí)施例公開了分布式視頻點(diǎn)播系統(tǒng),包括至少兩個(gè)以上的視頻服務(wù)器,用于存儲(chǔ)視頻文件;網(wǎng)絡(luò)服務(wù)器,用于接收用戶發(fā)送的視頻播放請求,并向調(diào)度服務(wù)器發(fā)送視頻信息檢索請求,并將獲取的檢索信息發(fā)送給用戶端;調(diào)度服務(wù)器,用于根據(jù)用戶發(fā)送的視頻播放請求基于視頻服務(wù)器中的負(fù)載參數(shù)確立至少兩個(gè)以上的視頻服務(wù)器中的一個(gè)視頻服務(wù)器與用戶所在的客戶端建立視頻點(diǎn)播通道。本發(fā)明實(shí)施例還公開了一種分布式視頻點(diǎn)播方法,通過實(shí)施本發(fā)明實(shí)施例,通過高吞吐量使得服務(wù)能夠更快的為用戶提供服務(wù),明顯改善用戶體驗(yàn)。
文檔編號H04N21/232GK102196298SQ20111013012
公開日2011年9月21日 申請日期2011年5月19日 優(yōu)先權(quán)日2011年5月19日
發(fā)明者但煒, 莊敬暉, 雷曾榮 申請人:中山大學(xué), 廣東星海數(shù)字家庭產(chǎn)業(yè)技術(shù)研究院有限公司