一種基于云計(jì)算技術(shù)的流媒體服務(wù)方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于云計(jì)算技術(shù)的流媒體服務(wù)方法,包括以下步驟:將系統(tǒng)中除前端控制子系統(tǒng)以外的虛擬機(jī)分成工作節(jié)點(diǎn)集、待命節(jié)點(diǎn)集以及后備節(jié)點(diǎn)集,工作節(jié)點(diǎn)集和待命節(jié)點(diǎn)集中的虛擬機(jī)處于開啟狀態(tài),后備節(jié)點(diǎn)集中的虛擬機(jī)處于關(guān)閉狀態(tài),在前端控制子系統(tǒng)中建立所有視頻的元數(shù)據(jù)信息列表,該元數(shù)據(jù)信息列表中包括各視頻的名稱、視頻所在虛擬機(jī)的IP地址、存儲路徑、視頻的大小、視頻的分辨率、視頻的副本數(shù),在系統(tǒng)中除前端控制子系統(tǒng)以外的每臺虛擬機(jī)上開啟Web服務(wù),以監(jiān)聽Web請求,其中每臺虛擬機(jī)用于提供Web服務(wù)的頁面中設(shè)置有一個(gè)播放控件。本發(fā)明能夠解決現(xiàn)有流媒體服務(wù)系統(tǒng)中存在的可擴(kuò)展性差、可靠性差、資源利用率低、部署成本高的技術(shù)問題。
【專利說明】一種基于云計(jì)算技術(shù)的流媒體服務(wù)方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于網(wǎng)絡(luò)通信【技術(shù)領(lǐng)域】,更具體地,涉及一種基于云計(jì)算技術(shù)的流媒體服務(wù)方法和系統(tǒng)。
【背景技術(shù)】
[0002]流媒體技術(shù)是指在網(wǎng)絡(luò)中使用流式(Streaming)傳輸方式進(jìn)行連續(xù)多媒體數(shù)據(jù)流傳輸?shù)募夹g(shù),而流式傳輸方式,就是把連續(xù)的視頻和音頻信息經(jīng)過壓縮處理后放到流媒體服務(wù)器上,讓觀看者一邊下載一邊觀看,而不需要等到整個(gè)多媒體文件下載完就可以播放的技術(shù)。
[0003]傳統(tǒng)的流媒體服務(wù)采用的系統(tǒng)和方法,有內(nèi)容分發(fā)網(wǎng)絡(luò)⑶N、對等網(wǎng)P2P以及P2P-CDN混合模式等,但隨著智能手機(jī)、平板電腦等可隨時(shí)隨地訪問網(wǎng)絡(luò)工具的日益普及,并發(fā)訪問流媒體應(yīng)用的客戶端數(shù)也越來越多,需要面對十萬規(guī)模抑或是百萬規(guī)模的大規(guī)模并發(fā)流媒體服務(wù)的挑戰(zhàn),傳統(tǒng)的流媒體服務(wù)系統(tǒng)和方法在服務(wù)器的I/O能力、帶寬、海量存儲和系統(tǒng)的可擴(kuò)展性、可靠性和部署成本等方面都越來越無法滿足日益增長的需求。
【發(fā)明內(nèi)容】
[0004]針對現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種基于云計(jì)算技術(shù)的流媒體服務(wù)方法,其目的在于解決現(xiàn)有流媒體服務(wù)系統(tǒng)中存在的可擴(kuò)展性差、可靠性差、資源利用率低、部署成本高的技術(shù)問題。
[0005]為實(shí)現(xiàn)上述目的,按照本發(fā)明的一個(gè)方面,提供了一種基于云計(jì)算技術(shù)的流媒體服務(wù)方法,該方法應(yīng)用在包括前端控制子系統(tǒng)和多臺虛擬機(jī)的系統(tǒng)中,包括以下步驟:
[0006](I)將系統(tǒng)中除前端控制子系統(tǒng)以外的虛擬機(jī)分成工作節(jié)點(diǎn)集、待命節(jié)點(diǎn)集以及后備節(jié)點(diǎn)集,工作節(jié)點(diǎn)集和待命節(jié)點(diǎn)集中的虛擬機(jī)處于開啟狀態(tài),后備節(jié)點(diǎn)集中的虛擬機(jī)處于關(guān)閉狀態(tài);
[0007](2)在前端控制子系統(tǒng)中建立所有視頻的元數(shù)據(jù)信息列表,該元數(shù)據(jù)信息列表中包括各視頻的名稱、視頻所在虛擬機(jī)的IP地址、存儲路徑、視頻的大小、視頻的分辨率、視頻的副本數(shù);
[0008](3)在系統(tǒng)中除前端控制子系統(tǒng)以外的每臺虛擬機(jī)上開啟Web服務(wù),以監(jiān)聽Web請求,其中每臺虛擬機(jī)用于提供Web服務(wù)的頁面中設(shè)置有一個(gè)播放控件,并分別記錄有該虛擬機(jī)上各視頻的RTSP地址;
[0009](4)開啟每臺虛擬機(jī)上各視頻的RTSP地址對應(yīng)的流媒體服務(wù)程序,并打開RTSP端口以監(jiān)聽RTSP請求;
[0010](5)獲取來自客戶端的Web請求,并判斷接入該Web請求是否會超過當(dāng)前系統(tǒng)中工作節(jié)點(diǎn)集的最大帶寬,如果超過,則轉(zhuǎn)入步驟(6),否則轉(zhuǎn)入步驟(8);
[0011](6)喚醒任意一臺待命節(jié)點(diǎn)集中的虛擬機(jī),將Web請求對應(yīng)的視頻的副本復(fù)制到該虛擬機(jī)上,使該虛擬機(jī)加入到工作節(jié)點(diǎn)集;[0012](7)開啟任意一臺后備節(jié)點(diǎn)集中的虛擬機(jī),并將該虛擬機(jī)加入到待命節(jié)點(diǎn)集;
[0013](8)查找前端控制子系統(tǒng)中的元數(shù)據(jù)信息列表,以確定工作節(jié)點(diǎn)集中該Web請求對應(yīng)的視頻所在的多臺虛擬機(jī);
[0014](9)收集系統(tǒng)中除前端控制子系統(tǒng)以外的虛擬機(jī)的負(fù)載信息以及工作狀態(tài);
[0015](10)根據(jù)步驟(9)收集的負(fù)載信息和工作狀態(tài)從步驟(8)確定的多臺虛擬機(jī)中選擇可用且負(fù)載最低的虛擬機(jī),并將Web請求轉(zhuǎn)發(fā)到該虛擬機(jī);
[0016](11)根據(jù)該Web請求向客戶端返回一個(gè)存有該虛擬機(jī)上所有視頻對應(yīng)的RTSP地址的頁面;
[0017](12)根據(jù)客戶端從該頁面中選擇的RTSP地址為客戶端提供視頻服務(wù)。
[0018]優(yōu)選地,工作節(jié)點(diǎn)集、待命節(jié)點(diǎn)集以及后備節(jié)點(diǎn)集是按照5:3:2的比例進(jìn)行劃分的。
[0019]優(yōu)選地,RTSP地址中包括該虛擬機(jī)的IP地址、服務(wù)端口號、以及視頻的名稱和分辨率。
[0020]優(yōu)選地,負(fù)載信息包括CPU利用率、內(nèi)存使用率、帶寬利用率,工作狀態(tài)包括可用和故障兩種。
[0021]優(yōu)選地,步驟(10)具體為,首先選擇工作狀態(tài)為“可用”的多臺虛擬機(jī),然后選擇綜合負(fù)載U最低的虛擬機(jī),最后將該Web請求轉(zhuǎn)發(fā)到該虛擬機(jī),其中
【權(quán)利要求】
1.一種基于云計(jì)算技術(shù)的流媒體服務(wù)方法,是應(yīng)用在包括前端控制子系統(tǒng)和多臺虛擬機(jī)的系統(tǒng)中,其特征在于,該方法包括以下步驟: (1)將系統(tǒng)中除如端控制子系統(tǒng)以外的虛擬機(jī)分成工作節(jié)點(diǎn)集、待命節(jié)點(diǎn)集以及后備節(jié)點(diǎn)集,工作節(jié)點(diǎn)集和待命節(jié)點(diǎn)集中的虛擬機(jī)處于開啟狀態(tài),后備節(jié)點(diǎn)集中的虛擬機(jī)處于關(guān)閉狀態(tài); (2)在前端控制子系統(tǒng)中建立所有視頻的元數(shù)據(jù)信息列表,該元數(shù)據(jù)信息列表中包括各視頻的名稱、視頻所在虛擬機(jī)的IP地址、存儲路徑、視頻的大小、視頻的分辨率、視頻的副本數(shù); (3)在系統(tǒng)中除前端控制子系統(tǒng)以外的每臺虛擬機(jī)上開啟Web服務(wù),以監(jiān)聽Web請求,其中每臺虛擬機(jī)用于提供Web服務(wù)的頁面中設(shè)置有一個(gè)播放控件,并分別記錄有該虛擬機(jī)上各視頻的RTSP地址; (4)開啟每臺虛擬機(jī)上各視頻的RTSP地址對應(yīng)的流媒體服務(wù)程序,并打開RTSP端口以監(jiān)聽RTSP請求; (5)獲取來自客戶端的Web請求,并判斷接入該Web請求是否會超過當(dāng)前系統(tǒng)中工作節(jié)點(diǎn)集的最大帶寬,如果超過,則轉(zhuǎn)入步驟(6),否則轉(zhuǎn)入步驟(8); (6)喚醒任意一臺待命節(jié)點(diǎn)集中的虛擬機(jī),將Web請求對應(yīng)的視頻的副本復(fù)制到該虛擬機(jī)上,使該虛擬機(jī)加入到工作節(jié)點(diǎn)集; (7)開啟任意一臺后備節(jié)點(diǎn)集中的虛擬機(jī),并將該虛擬機(jī)加入到待命節(jié)點(diǎn)集; (8)查找前端控制子系統(tǒng)中的元數(shù)據(jù)信息列表,以確定工作節(jié)點(diǎn)集中該Web請求對應(yīng)的視頻所在的多臺虛擬機(jī); (9)收集系統(tǒng)中除前端控制子系統(tǒng)以外的虛擬機(jī)的負(fù)載信息以及工作狀態(tài); (10)根據(jù)步驟(9)收集的負(fù)載信息和工作狀態(tài)從步驟(8)確定的多臺虛擬機(jī)中選擇可用且負(fù)載最低的虛擬機(jī),并將Web請求轉(zhuǎn)發(fā)到該虛擬機(jī); (11)根據(jù)該Web請求向客戶端返回一個(gè)存有該虛擬機(jī)上所有視頻對應(yīng)的RTSP地址的頁面; (12)根據(jù)客戶端從該頁面中選擇的RTSP地址為客戶端提供視頻服務(wù)。
2.根據(jù)權(quán)利要求1所述的流媒體服務(wù)方法,其特征在于,工作節(jié)點(diǎn)集、待命節(jié)點(diǎn)集以及后備節(jié)點(diǎn)集是按照5:3:2的比例進(jìn)行劃分的。
3.根據(jù)權(quán)利要求1所述的流媒體服務(wù)方法,其特征在于,RTSP地址中包括該虛擬機(jī)的IP地址、服務(wù)端口號、以及視頻的名稱和分辨率。
4.根據(jù)權(quán)利要求1所述的流媒體服務(wù)方法,其特征在于,負(fù)載信息包括CPU利用率、內(nèi)存使用率、帶寬利用率,工作狀態(tài)包括可用和故障兩種。
5.根據(jù)權(quán)利要求1所述的流媒體服務(wù)方法,其特征在于,步驟(10)具體為,首先選擇工作狀態(tài)為“可用”的多臺虛擬機(jī),然后選擇綜合負(fù)載U最低的虛擬機(jī),最后將該Web請求轉(zhuǎn)發(fā)到該虛擬機(jī),其中 K= (1 —φ‘)(1 —je/?U(1 —?‘)’ cpuuti, memuti,netuti 分別代表虛?機(jī)的CPU利用率、內(nèi)存使用率、帶寬利用率。
6.一種基于云計(jì)算技術(shù)的流媒體服務(wù)系統(tǒng),包括前端控制子系統(tǒng)和多臺虛擬機(jī),前端控制子系統(tǒng)包括VM管理模塊、存儲管理模塊、接入控制模塊、以及請求調(diào)度模塊,每臺虛擬機(jī)包括Web服務(wù)模塊以及流媒體服務(wù)模塊,其特征在于, VM管理模塊用于將系統(tǒng)中除前端控制子系統(tǒng)以外的虛擬機(jī)分成工作節(jié)點(diǎn)集、待命節(jié)點(diǎn)集以及后備節(jié)點(diǎn)集,工作節(jié)點(diǎn)集和待命節(jié)點(diǎn)集中的虛擬機(jī)處于開啟狀態(tài),后備節(jié)點(diǎn)集中的虛擬機(jī)處于關(guān)閉狀態(tài); 存儲管理模塊用于在前端控制子系統(tǒng)中建立所有視頻的元數(shù)據(jù)信息列表; Web服務(wù)模塊用于在系統(tǒng)中除前端控制子系統(tǒng)以外的每臺虛擬機(jī)上開啟Web服務(wù),以監(jiān)聽Web請求,其中每臺虛擬機(jī)用于提供Web服務(wù)的頁面中設(shè)置有一個(gè)播放控件,并分別記錄有該虛擬機(jī)上各視頻的、RTSP地址; 流媒體服務(wù)模塊用于開啟每臺虛擬機(jī)上各視頻的RTSP地址對應(yīng)的流媒體服務(wù)程序,并打開RTSP端口以監(jiān)聽RTSP請求。 接入控制模塊用于獲取來自客戶端的Web請求,并判斷該Web請求是否會超過當(dāng)前系統(tǒng)中工作節(jié)點(diǎn)集的最大帶寬,如果超過,則轉(zhuǎn)入VM管理模塊,否則轉(zhuǎn)入存儲管理模塊; VM管理模塊還用于喚醒任意一臺待命節(jié)點(diǎn)集中的虛擬機(jī),將Web請求對應(yīng)的視頻的副本復(fù)制到該虛擬機(jī)上,使該虛擬機(jī)加入到工作節(jié)點(diǎn)集; VM管理模塊還用于開啟任意一臺后備節(jié)點(diǎn)集中的虛擬機(jī),并將該虛擬機(jī)加入到待命節(jié)點(diǎn)集; 存儲管理模塊還用于查找前端控制子系統(tǒng)中的元數(shù)據(jù)信息列表,以確定工作節(jié)點(diǎn)集中該Web請求對應(yīng)的視頻所在的多臺虛擬機(jī); VM管理模塊還用于收集系統(tǒng)中除前端控制子系統(tǒng)以外的虛擬機(jī)的負(fù)載信息以及工作狀態(tài); 請求調(diào)度模塊用于根據(jù)收集的負(fù)載信息和工作狀態(tài)從VM管理模塊確定的多臺虛擬機(jī)中選擇可用且負(fù)載最低的虛擬機(jī),并將Web請求轉(zhuǎn)發(fā)到該虛擬機(jī); Web服務(wù)模塊還用于根據(jù)該Web請求向客戶端返回一個(gè)存有該虛擬機(jī)上所有視頻對應(yīng)的RTSP地址的頁面; 流媒體服務(wù)模塊還用于根據(jù)客戶端從該頁面中選擇的RTSP地址為客戶端提供視頻服務(wù)。
7.根據(jù)權(quán)利要求6所述的流媒體服務(wù)系統(tǒng),其特征在于,元數(shù)據(jù)信息列表中包括各視頻的名稱、視頻所在虛擬機(jī)的IP地址、存儲路徑、視頻的大小、視頻的分辨率、視頻的副本數(shù)。
【文檔編號】H04L29/06GK103442034SQ201310343082
【公開日】2013年12月11日 申請日期:2013年8月7日 優(yōu)先權(quán)日:2013年8月7日
【發(fā)明者】江小平, 江騰, 李成華, 張華
申請人:中南民族大學(xué)