專利名稱:一種多服務(wù)器視頻點(diǎn)播處理方法
一種多服務(wù)器視頻點(diǎn)播處理方法技術(shù)鄰域本發(fā)明涉及數(shù)字家庭技術(shù)領(lǐng)域,具體涉及一種多服務(wù)器視頻點(diǎn)播處理方法。
背景技術(shù):
當(dāng)今技術(shù)不斷發(fā)展,人們對于影音娛樂的需求也越來越大。在數(shù)字家庭時代,人們能夠通過數(shù)字電視進(jìn)行雙向互動,通過數(shù)字電視瀏覽網(wǎng)頁、預(yù)定機(jī)票、預(yù)約掛號、繳納費(fèi)用等等。不僅如此,電視的顯示效果也從標(biāo)清達(dá)到高清顯示,給人們帶來了極大的娛樂享受。視頻點(diǎn)播業(yè)務(wù)(Video On Demand,V0D)是其中一項(xiàng)十分重要的業(yè)務(wù)。通過視頻點(diǎn)播,用戶能夠觀看到精彩的影片,錯過的精彩賽事,錄下的節(jié)目等等。然而,發(fā)明人發(fā)現(xiàn)由于視頻點(diǎn)播相當(dāng)頻繁,用戶的排隊(duì)時間會較長,服務(wù)器的點(diǎn)播壓力也十分之大。在既定網(wǎng)絡(luò)帶寬的情況下,如何管理點(diǎn)播隊(duì)列是提高點(diǎn)播服務(wù)質(zhì)量的一個重要問題。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種多服務(wù)器視頻點(diǎn)播處理方法,能減少服務(wù)器的負(fù)擔(dān),提高效率。為解決上述技術(shù)問題,本發(fā)明提供以下技術(shù)方案實(shí)現(xiàn)本發(fā)明提供一種多服務(wù)器視頻點(diǎn)播處理方法,包括預(yù)先設(shè)置視頻點(diǎn)播隊(duì)列數(shù)據(jù)結(jié)構(gòu);計(jì)算第一服務(wù)器的負(fù)載與其網(wǎng)格鄰域服務(wù)器的差值;將差值與非平衡閾值△比較,決策出最小轉(zhuǎn)移耗費(fèi)的隊(duì)列數(shù)據(jù)轉(zhuǎn)移方式,實(shí)現(xiàn)第一服務(wù)器負(fù)載的局部平衡; 針對其他服務(wù)器執(zhí)行同樣操作,完成所有服務(wù)器隊(duì)列的數(shù)據(jù)轉(zhuǎn)移與更新。可選的,所述視頻點(diǎn)播隊(duì)列中的元素包括要點(diǎn)播視頻的信息、目標(biāo)服務(wù)器信息、 當(dāng)前狀態(tài)信息、排隊(duì)時間??蛇x的,每一個服務(wù)器維護(hù)一個點(diǎn)播請求隊(duì)列表??蛇x的,所述方法還包括首先檢測隊(duì)列元素狀態(tài),若隊(duì)列數(shù)據(jù)元素點(diǎn)播成功,則作出相應(yīng)反饋后,將該元素移出隊(duì)列;若元素在網(wǎng)格內(nèi)的時間過長,即等待時間過長,為避免無限循環(huán)耗費(fèi)服務(wù)器時間, 將此元素移出隊(duì)列??蛇x的,所述方法管理多服務(wù)器視頻點(diǎn)播隊(duì)列過程如下步驟①是否有新的點(diǎn)播請求,如果否,則跳至步驟③;步驟②將請求加入到隊(duì)列中;步驟③某服務(wù)器隊(duì)列是否超載,如果否,則跳至步驟⑤;步驟④轉(zhuǎn)移該服務(wù)器隊(duì)列數(shù)據(jù),跳至步驟①;步驟⑤某服務(wù)器隊(duì)列元素是否超時,如果否,則跳至步驟⑦;
3
步驟⑥移出超時元素并做反饋,跳至步驟①;步驟⑦某隊(duì)列元素是否點(diǎn)播成功,如果否,則跳至步驟⑨;步驟⑧將元素移出隊(duì)列并做反饋,跳至步驟①;步驟⑨是否所有服務(wù)器隊(duì)列超載,如果否,則跳至步驟①;步驟⑩移出等待時長最大的元素并反饋,跳至步驟①。上述技術(shù)方案可以看出,本發(fā)明具有以下有益效果在本發(fā)明方法中,通過隊(duì)列的數(shù)據(jù)轉(zhuǎn)移實(shí)現(xiàn)網(wǎng)格內(nèi)數(shù)據(jù)流通,實(shí)現(xiàn)了服務(wù)器隊(duì)列負(fù)荷平衡,避免擁塞,同時提高點(diǎn)播成功概率,加上對等待超時、點(diǎn)播完成和所有服務(wù)器超負(fù)荷的情況處理,因此可以提高管理性能。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本鄰域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。圖1是本發(fā)明多服務(wù)器視頻點(diǎn)播隊(duì)列網(wǎng)格狀態(tài)示意圖;圖2是本發(fā)明多服務(wù)器視頻點(diǎn)播隊(duì)列網(wǎng)格內(nèi)的數(shù)據(jù)移動示意圖;圖3是本發(fā)明多服務(wù)器視頻點(diǎn)播隊(duì)列元素點(diǎn)播成功、超時與超載處理示意圖;圖4是本發(fā)明多服務(wù)器視頻點(diǎn)播隊(duì)列的管理流程圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本鄰域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明提供一種多服務(wù)器視頻點(diǎn)播處理方法,將多服務(wù)器的視頻點(diǎn)播隊(duì)列網(wǎng)格化,通過網(wǎng)格內(nèi)各服務(wù)器點(diǎn)播隊(duì)列的數(shù)據(jù)轉(zhuǎn)移,提高網(wǎng)格內(nèi)隊(duì)列的流通性,保持各服務(wù)器之間隊(duì)列的平衡,同時對超時或超載進(jìn)行減負(fù)處理,從而盡量避免點(diǎn)播擁塞的發(fā)生。本發(fā)明能夠在一定網(wǎng)絡(luò)帶寬請求繁忙的情況下盡量避免由頻繁點(diǎn)播服務(wù)器造成的擁塞出現(xiàn),盡量避免過度頻繁點(diǎn)播對服務(wù)器造成的損害,提高視頻點(diǎn)播成功率與降低點(diǎn)播耗費(fèi)時間。以下結(jié)合附圖對本發(fā)明實(shí)施例進(jìn)行詳細(xì)介紹。圖1是本發(fā)明多服務(wù)器視頻點(diǎn)播隊(duì)列網(wǎng)格狀態(tài)示意圖。1、多服務(wù)器視頻點(diǎn)播隊(duì)列網(wǎng)格狀態(tài)多服務(wù)器視頻點(diǎn)播隊(duì)列網(wǎng)格狀態(tài)主要是描述各服務(wù)器當(dāng)前點(diǎn)播隊(duì)列的狀況。首先,要設(shè)計(jì)好描述狀態(tài)的數(shù)據(jù)結(jié)構(gòu)。(1)視頻點(diǎn)播隊(duì)列數(shù)據(jù)結(jié)構(gòu)視頻點(diǎn)播隊(duì)列數(shù)據(jù)結(jié)構(gòu)是指設(shè)定數(shù)據(jù)結(jié)構(gòu)以描述隊(duì)列信息。視頻點(diǎn)播隊(duì)列中的元素應(yīng)當(dāng)包括要點(diǎn)播視頻的信息、目標(biāo)服務(wù)器信息、當(dāng)前狀態(tài)信息、排隊(duì)時間。視頻點(diǎn)播隊(duì)列元素數(shù)據(jù)結(jié)構(gòu)可以定義為
typedef struct{ VideoInfo video; ServerInfo targetServer;
StateInfo state; clock一t applytime;
}QueueElement;其中Vidednfo是點(diǎn)播視頻的信息,可以簡單地定義為
typedef struct{ t_id videoid; string videoname; clock—t time;
}VideoInfo;變量videoid表征視頻的id,變量videoname表征視頻名稱的字符串值,變量
time表征視頻的時間長度,同時可以包括其他的相關(guān)變量。krveHnfo表示服務(wù)器的信息,可以簡單地定義為
typedef struct{ t_id serverid; sockaddr_in ip; int throughput; int performance;
}ServerInfo;變量videoid表征視頻服務(wù)器的id,ip表征服務(wù)器的hternet地址,throughput 表征服務(wù)器的吞吐量,反應(yīng)當(dāng)前服務(wù)器是否繁忙,performance表征服務(wù)器的性能等級作為選擇的參考。Statehfo表征隊(duì)列元素的狀態(tài)信息,可以定義為typedef State Info int ;state表示當(dāng)前元素的狀態(tài),分為等待、超時、完成、即將被移除四種狀態(tài)。若點(diǎn)播請求接受并獲得視頻播放,則狀態(tài)定為完成;若等待時間超過設(shè)定值,則狀態(tài)定為超時;若等待時間未超過設(shè)定值但服務(wù)器發(fā)生超載在最長等待時間之列,則狀態(tài)定為即將被移除; 若否則狀態(tài)被定為等待。等待、超時、完成和即將被移除分別表示為0Χ01、0Χ10、0Χ20和 0x40四個值。clock_t applytime表示視頻點(diǎn)播請求到達(dá)服務(wù)器的時間。此變量是確定隊(duì)列元素狀態(tài)的依據(jù)。以當(dāng)前的時間值減去applytime的值,則可以得到點(diǎn)播請求的等待時間。以上各個變量是為后面的數(shù)據(jù)移動或元素移出隊(duì)列提供信息依據(jù)。(2)網(wǎng)格的表征意義每一個服務(wù)器都維護(hù)著一個點(diǎn)播請求隊(duì)列表,如圖1所示,直線表示服務(wù)器,每一條直線中,流入部分的表示未達(dá)的點(diǎn)播請求,流出方向表示已經(jīng)完成點(diǎn)播請求并進(jìn)行視頻播放,網(wǎng)格上的邊即標(biāo)有queue 1、queue2、queue3和queue4等字樣的線段表示當(dāng)前服務(wù)器維護(hù)的點(diǎn)播請求隊(duì)列,各個服務(wù)器的隊(duì)列數(shù)據(jù)可以通過各個交匯點(diǎn)轉(zhuǎn)移,達(dá)到數(shù)據(jù)流通與服務(wù)器負(fù)載平衡的目的。上述圖1形象的展現(xiàn)了當(dāng)前所有服務(wù)器的狀態(tài)并反應(yīng)了服務(wù)器的局部鄰域關(guān)系, 是后面的數(shù)據(jù)移動的依據(jù)。圖2是本發(fā)明多服務(wù)器視頻點(diǎn)播隊(duì)列網(wǎng)格內(nèi)的數(shù)據(jù)移動示意圖。2、多服務(wù)器視頻點(diǎn)播隊(duì)列網(wǎng)格內(nèi)的數(shù)據(jù)移動多服務(wù)器視頻點(diǎn)播隊(duì)列網(wǎng)格內(nèi)的數(shù)據(jù)移動可以由以下的步驟實(shí)現(xiàn)①計(jì)算服務(wù)器1的負(fù)載與其網(wǎng)格鄰域服務(wù)器的差值;②差值與非平衡閾值△比較,決策出最小轉(zhuǎn)移耗費(fèi)的隊(duì)列數(shù)據(jù)轉(zhuǎn)移方案,實(shí)現(xiàn)服務(wù)器1負(fù)載的局部平衡;③針對其他服務(wù)器實(shí)現(xiàn)同樣的局部平衡,完成所有服務(wù)器隊(duì)列的數(shù)據(jù)轉(zhuǎn)移與更新。具體來說如圖2所示,具體執(zhí)行如下所述queue 1 所在的直線與 queue2、queue3、queue4、queue5 禾口 queue6 所在的直線分別相交。當(dāng)queuel與其相交的直線的queue不平衡時,即相當(dāng)于queuel所在的服務(wù)器與其局部鄰域的服務(wù)器的負(fù)載不均衡,則重新移動局部里面的數(shù)據(jù)使之達(dá)到數(shù)據(jù)平衡。以queuel 所在的服務(wù)器的負(fù)荷Idl作為基準(zhǔn),queue2、queue3、queue4、queue5和queue6與其的負(fù)荷差值絕對值依次為Δ2、Δ3、Δ4、Δ5、Δ 6,與設(shè)定的非平衡閾值Δ相比較,決策在最小轉(zhuǎn)移耗費(fèi)的前提下移動數(shù)據(jù),使得所有差值在閾值△范圍以內(nèi),達(dá)到局部平衡。接下來檢測其他的隊(duì)列負(fù)荷,并按照局部數(shù)據(jù)平衡的原則轉(zhuǎn)移數(shù)據(jù)更新各個服務(wù)器的隊(duì)列負(fù)荷,最終完成所有隊(duì)列負(fù)荷的更新。網(wǎng)格內(nèi)隊(duì)列數(shù)據(jù)的流通可以在某一服務(wù)器的點(diǎn)播請求隊(duì)列龐大的情況下,減少服務(wù)器負(fù)擔(dān),實(shí)現(xiàn)網(wǎng)格內(nèi)的數(shù)據(jù)流動,避免阻塞,提高點(diǎn)播效率。同時,轉(zhuǎn)移后的點(diǎn)播數(shù)據(jù)有可能在別處的服務(wù)器獲得視頻源,完成點(diǎn)播請求,并離開隊(duì)列,減少點(diǎn)播請求隊(duì)列。通過隊(duì)列數(shù)據(jù)轉(zhuǎn)移,提高數(shù)據(jù)流通性,平衡各個服務(wù)器之間的負(fù)擔(dān),同時通過流動,提高視頻源獲得點(diǎn)播的概率。圖3是本發(fā)明多服務(wù)器視頻點(diǎn)播隊(duì)列元素點(diǎn)播成功、超時與超載處理示意圖。3、多服務(wù)器視頻點(diǎn)播隊(duì)列元素點(diǎn)播成功、超時與超載處理
如圖3所示,首先檢測隊(duì)列元素狀態(tài),若隊(duì)列數(shù)據(jù)元素點(diǎn)播成功,則當(dāng)然作出相應(yīng)反饋后,將該元素移出隊(duì)列;若元素在網(wǎng)格內(nèi)的時間過長,即等待時間過長,為避免無限循環(huán)耗費(fèi)服務(wù)器時間,將此元素移出隊(duì)列。然后是實(shí)現(xiàn)隊(duì)列間元素的轉(zhuǎn)移,按實(shí)施例2所述步驟對queuel、queue2, queue3, queue4、queue5和queue6實(shí)施數(shù)據(jù)轉(zhuǎn)移。更新后,若queuel的負(fù)荷Idl超出預(yù)定值LD,則將queuel所在的服務(wù)器視為超載,為避免將來發(fā)生的阻塞,將部分queuel中等待時長最長的元素移出隊(duì)列。對點(diǎn)播成功、超時與超載的處理,在實(shí)施了數(shù)據(jù)轉(zhuǎn)移后,服務(wù)器間的負(fù)載相對平衡的情況下,避免對服務(wù)器的過多請求,造成服務(wù)器的傷害。圖4是本發(fā)明多服務(wù)器視頻點(diǎn)播隊(duì)列的管理流程圖。4、多服務(wù)器視頻點(diǎn)播隊(duì)列的管理流程圖4表征了多服務(wù)器視頻點(diǎn)播隊(duì)列的管理整體流程,具體如下步驟①是否有新的點(diǎn)播請求,否則跳至步驟③;步驟②將請求加入到隊(duì)列中;步驟③某服務(wù)器隊(duì)列是否超載,如果否,則跳至步驟⑤;步驟④轉(zhuǎn)移該服務(wù)器隊(duì)列數(shù)據(jù),跳至步驟①;步驟⑤某服務(wù)器隊(duì)列元素是否超時,如果否,則跳至步驟⑦;步驟⑥移出超時元素并做反饋,跳至步驟①;步驟⑦某隊(duì)列元素是否點(diǎn)播成功,如果否,則跳至步驟⑨;步驟⑧將元素移出隊(duì)列并做反饋,跳至步驟①;步驟⑨是否所有服務(wù)器隊(duì)列超載,如果否,則跳至步驟①;步驟⑩移出等待時長最大的元素并反饋,跳至步驟①。綜上所述在本發(fā)明方法中,通過隊(duì)列的數(shù)據(jù)轉(zhuǎn)移實(shí)現(xiàn)網(wǎng)格內(nèi)數(shù)據(jù)流通,實(shí)現(xiàn)了服務(wù)器隊(duì)列負(fù)荷平衡,避免擁塞,同時提高點(diǎn)播成功概率,加上對等待超時、點(diǎn)播完成和所有服務(wù)器超負(fù)荷的情況處理,因此可以提高管理性能。以上對本發(fā)明實(shí)施例所提供的一種多服務(wù)器視頻點(diǎn)播處理方法,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種多服務(wù)器視頻點(diǎn)播處理方法,其特征在于,包括 預(yù)先設(shè)置視頻點(diǎn)播隊(duì)列數(shù)據(jù)結(jié)構(gòu);計(jì)算第一服務(wù)器的負(fù)載與其網(wǎng)格鄰域服務(wù)器的差值;將差值與非平衡閾值△比較,決策出最小轉(zhuǎn)移耗費(fèi)的隊(duì)列數(shù)據(jù)轉(zhuǎn)移方式,實(shí)現(xiàn)第一服務(wù)器負(fù)載的局部平衡;針對其他服務(wù)器執(zhí)行同樣操作,完成所有服務(wù)器隊(duì)列的數(shù)據(jù)轉(zhuǎn)移與更新。
2.根據(jù)權(quán)利要求1所述的多服務(wù)器視頻點(diǎn)播處理方法,其特征在于所述視頻點(diǎn)播隊(duì)列中的元素包括要點(diǎn)播視頻的信息、目標(biāo)服務(wù)器信息、當(dāng)前狀態(tài)信息、排隊(duì)時間。
3.根據(jù)權(quán)利要求1或2所述的多服務(wù)器視頻點(diǎn)播處理方法,其特征在于 每一個服務(wù)器維護(hù)一個點(diǎn)播請求隊(duì)列表。
4.根據(jù)權(quán)利要求1或2所述的多服務(wù)器視頻點(diǎn)播處理方法,其特征在于 所述方法還包括首先檢測隊(duì)列元素狀態(tài),若隊(duì)列數(shù)據(jù)元素點(diǎn)播成功,則作出相應(yīng)反饋后,將該元素移出隊(duì)列;若元素在網(wǎng)格內(nèi)的時間過長,將此元素移出隊(duì)列。
5.根據(jù)權(quán)利要求1或2所述的多服務(wù)器視頻點(diǎn)播處理方法,其特征在于 所述方法管理多服務(wù)器視頻點(diǎn)播隊(duì)列過程如下步驟①是否有新的點(diǎn)播請求,如果否,則跳至步驟③; 步驟②將請求加入到隊(duì)列中;步驟③某服務(wù)器隊(duì)列是否超載,如果否,則跳至步驟⑤;步驟④轉(zhuǎn)移該服務(wù)器隊(duì)列數(shù)據(jù),跳至步驟①;步驟⑤某服務(wù)器隊(duì)列元素是否超時,如果否,則跳至步驟⑦;步驟⑥移出超時元素并做反饋,跳至步驟①;步驟⑦某隊(duì)列元素是否點(diǎn)播成功,如果否,則跳至步驟⑨;步驟⑧將元素移出隊(duì)列并做反饋,跳至步驟①;步驟⑨是否所有服務(wù)器隊(duì)列超載,如果否,則跳至步驟①;步驟⑩移出等待時長最大的元素并反饋,跳至步驟①。
全文摘要
本發(fā)明公開一種多服務(wù)器視頻點(diǎn)播處理方法。該方法包括預(yù)先設(shè)置視頻點(diǎn)播隊(duì)列數(shù)據(jù)結(jié)構(gòu);計(jì)算第一服務(wù)器的負(fù)載與其網(wǎng)格鄰域服務(wù)器的差值;將差值與非平衡閾值Δ比較,決策出最小轉(zhuǎn)移耗費(fèi)的隊(duì)列數(shù)據(jù)轉(zhuǎn)移方式,實(shí)現(xiàn)第一服務(wù)器負(fù)載的局部平衡;針對其他服務(wù)器執(zhí)行同樣操作,完成所有服務(wù)器隊(duì)列的數(shù)據(jù)轉(zhuǎn)移與更新。本發(fā)明技術(shù)方案通過隊(duì)列的數(shù)據(jù)轉(zhuǎn)移實(shí)現(xiàn)網(wǎng)格內(nèi)數(shù)據(jù)流通,實(shí)現(xiàn)了服務(wù)器隊(duì)列負(fù)荷平衡,避免擁塞,同時提高點(diǎn)播成功概率,加上對等待超時、點(diǎn)播完成和所有服務(wù)器超負(fù)荷的情況處理,因此可以提高管理性能。
文檔編號H04L12/56GK102215163SQ20111007253
公開日2011年10月12日 申請日期2011年3月24日 優(yōu)先權(quán)日2011年3月24日
發(fā)明者孟思明, 羅笑南, 薛凱軍 申請人:東莞中山大學(xué)研究院, 中山大學(xué)