基于hls的能力控制方法及服務(wù)系統(tǒng)和slb服務(wù)器的制造方法
【專利摘要】本發(fā)明公開了一種基于HLS的能力控制方法及服務(wù)系統(tǒng)和SLB服務(wù)器,至少包括SLB服務(wù)器、一個或一個以上HLS視頻服務(wù)器;其中,SLB服務(wù)器,用于接收來自終端的HLS HTTP請求,以HTTP302方式重定向到HLS視頻服務(wù)器,并將指定的HLS視頻服務(wù)器返回給終端;HLS視頻服務(wù)器,用于接收來自終端的HTTP短連接請求,實(shí)時監(jiān)控各個終端的請求情況,根據(jù)發(fā)起請求的終端統(tǒng)計在線終端用戶。本發(fā)明提供的基于HLS的能力控制系統(tǒng)適用于基于HTTP的m3u8和ts短連接的視頻服務(wù)系統(tǒng),而且,實(shí)現(xiàn)了對HLS視頻服務(wù)器的在線用戶數(shù)的統(tǒng)計。
【專利說明】基于HLS的能力控制方法及服務(wù)系統(tǒng)和SLB服務(wù)器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻內(nèi)容分發(fā)網(wǎng)絡(luò)(O)N,Content Delivery Network)技術(shù),尤指一種基于HLS的能力控制方法及服務(wù)系統(tǒng)和SLB服務(wù)器。
【背景技術(shù)】
[0002]傳統(tǒng)的視頻內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN, Content Delivery Network)提供實(shí)時流傳輸協(xié)議(RTSP, Real Time Streaming Protocol)服務(wù),為用戶提供服務(wù)時使用的是傳輸控制協(xié)議(TCP, Transmiss1n Control Protocol)長連接,統(tǒng)計在線用戶數(shù)和能力邏輯控制比較單一,也就是說,只能應(yīng)用RTSP固有的方法統(tǒng)計用戶數(shù)目,想要獲取實(shí)時用戶數(shù)目比較繁瑣,需要進(jìn)行邏輯開發(fā)。
[0003]隨著互聯(lián)網(wǎng)視頻的發(fā)展,視頻⑶N開始大量提供基于超文本傳輸協(xié)議(HTTP,Hyper Text Transfer Protocol)的實(shí)時流傳輸(HLS, Http Live Streaming)的協(xié)議的視頻服務(wù)。HLS的視頻服務(wù)都是基于HTTP的m3u8和ts短連接,無法再使用RTSP時代的方法來統(tǒng)計在線用戶和控制節(jié)點(diǎn)服務(wù)能力。其中,m3u8文件是m3u文件的擴(kuò)展,可以實(shí)現(xiàn)多碼率的適配。根據(jù)網(wǎng)絡(luò)帶寬,客戶端會選擇一個適合自己碼率的m3u8文件進(jìn)行播放,以保證視頻流的流暢;ts短連接即HTTP連接。
【發(fā)明內(nèi)容】
[0004]為了解決上述技術(shù)問題,本發(fā)明提供一種基于HLS的能力控制方法及服務(wù)系統(tǒng)和SLB服務(wù)器,能夠適用于基于HTTP的m3u8和ts短連接的視頻服務(wù)系統(tǒng)。
[0005]為了達(dá)到本發(fā)明目的,本發(fā)明提供了一種基于HLS的能力控制服務(wù)系統(tǒng),包括:至少包括服務(wù)器負(fù)載均衡SLB服務(wù)器、一個或一個以上基于超文本傳輸協(xié)議HTTP的實(shí)時流傳輸HLS視頻服務(wù)器;其中,
[0006]SLB服務(wù)器,用于接收來自終端的HLS HTTP請求,重定向到HLS視頻服務(wù)器,并將指定的HLS視頻服務(wù)器返回給終端;
[0007]HLS視頻服務(wù)器,用于接收來自終端的HLS HTTP請求,向終端返回請求的m3u8索引文件并與終端建立HTTP連接;實(shí)時監(jiān)控各個終端的請求情況,根據(jù)發(fā)起請求的終端統(tǒng)計在線終端用戶。
[0008]所述SLB服務(wù)器具體用于:接收來自所述終端的HLS HTTP請求,為該請求分配會話標(biāo)識 Sess1nID ;
[0009]根據(jù)所述SLB服務(wù)器自身管轄下的HLS視頻服務(wù)器的性能指標(biāo),選擇HLS視頻服務(wù)器,并采用HTTP 302重定向消息將分配的Sess1nID和選擇出的HLS視頻服務(wù)器的服務(wù)地址返回給所述終端。
[0010]所述HLS服務(wù)器具體用于:
[0011]接收來自終端的請求m3u8索引文件的消息,記錄所述終端對應(yīng)的Sess1nID ;向所述終端返回攜帶有ts連接列表的m3u8索引文件響應(yīng),其中攜帶有終端的Sess1nID ;并與所述終端建立HTTP連接;
[0012]實(shí)時監(jiān)控所述終端的請求情況,如果在請求中未攜帶Sess1nID且預(yù)設(shè)時間內(nèi)沒有接收到新請求,確定該終端已下線。
[0013]所述SLB服務(wù)器包括業(yè)務(wù)分析模塊、會話Sess1n控制模塊、HTTP重定向模塊,負(fù)載均衡控制模塊,其中,
[0014]業(yè)務(wù)分析模塊,用于解析來自終端的HLS HTTP請求,分析出終端請求對應(yīng)的請求相關(guān)信息,并將得到的請求相關(guān)信息輸出給Sess1n控制模塊和負(fù)載均衡控制模塊;
[0015]Sess1n控制模塊,用于根據(jù)請求相關(guān)信息為終端請求分配Sess1nID,并輸出給HTTP重定向模塊;
[0016]負(fù)載均衡控制模塊,用于根據(jù)請求相關(guān)信息,結(jié)合自身所在SLB服務(wù)器管轄的HLS視頻服務(wù)器上報的性能指標(biāo),為終端選擇一個當(dāng)前最適合的HLS視頻服務(wù)器,并輸出給HTTP重定向模塊;
[0017]HTTP重定向模塊,用于向終端返回HTTP 302重定向消息,并在消息的HTTP頭信息中Locat1n字段攜帶選擇出的HLS視頻服務(wù)器的服務(wù)地址,服務(wù)地址的參數(shù)中包含給終端分配的Sess1nID信息。
[0018]所述負(fù)載均衡控制模塊具體用于:
[0019]按照預(yù)先設(shè)置的周期,定時使用HTTP GET請求向其所在SLB服務(wù)器管轄下的各HLS視頻服務(wù)器請求性能指標(biāo);
[0020]當(dāng)所述終端發(fā)起HLS HTTP請求到所述SLB服務(wù)器時,根據(jù)獲得的各個HLS視頻服務(wù)器的性能指標(biāo),選擇一個當(dāng)前負(fù)載最低的HLS視頻服務(wù)器來提供服務(wù),并輸出給所述HTTP重定向模塊。
[0021]如果當(dāng)前各個HLS視頻服務(wù)器的負(fù)載都已達(dá)到預(yù)先設(shè)置的上限閾值時,所述負(fù)載均衡控制模塊還用于:
[0022]通知所述業(yè)務(wù)分析模塊拒絕終端的HLS HTTP請求,直到其管轄下的HLS視頻服務(wù)器的負(fù)載指標(biāo)下降到可以服務(wù)時,通知所述業(yè)務(wù)分析模塊接受新的HLS HTTP請求。
[0023]本發(fā)明還公開了一種SLB服務(wù)器,包括業(yè)務(wù)分析模塊、Sess1n控制模塊、HTTP重定向模塊,負(fù)載均衡控制模塊,其中,
[0024]業(yè)務(wù)分析模塊,用于解析來自終端的HLS HTTP請求,分析出終端請求對應(yīng)的請求相關(guān)信息,并將得到的請求相關(guān)信息輸出給Sess1n控制模塊和負(fù)載均衡控制模塊;
[0025]Sess1n控制模塊,用于根據(jù)請求相關(guān)信息為終端請求分配Sess1nID,并輸出給HTTP重定向模塊;
[0026]負(fù)載均衡控制模塊,用于根據(jù)請求相關(guān)信息,結(jié)合自身所在SLB服務(wù)器管轄的HLS視頻服務(wù)器上報的性能指標(biāo),為終端選擇一個當(dāng)前最適合的HLS視頻服務(wù)器,并輸出給HTTP重定向模塊;
[0027]HTTP重定向模塊,用于向終端返回HTTP 302重定向消息,并在消息的HTTP頭信息中Locat1n字段攜帶選擇出的HLS視頻服務(wù)器的服務(wù)地址,服務(wù)地址的參數(shù)中包含給終端分配的Sess1nID信息。
[0028]所述負(fù)載均衡控制模塊具體用于:
[0029]按照預(yù)先設(shè)置的周期,定時使用HTTP GET請求向其所在SLB服務(wù)器管轄下的各HLS視頻服務(wù)器請求性能指標(biāo);
[0030]當(dāng)所述終端發(fā)起HLS HTTP請求到所述SLB服務(wù)器時,根據(jù)獲得的各個HLS視頻服務(wù)器的性能指標(biāo),選擇一個當(dāng)前負(fù)載最低的HLS視頻服務(wù)器來提供服務(wù),并輸出給HTTP重定向模塊。
[0031]如果當(dāng)前各個HLS視頻服務(wù)器的負(fù)載都已達(dá)到預(yù)先設(shè)置的上限閾值時,所述負(fù)載均衡控制模塊還用于:
[0032]通知所述業(yè)務(wù)分析模塊拒絕終端的HLS HTTP請求,直到其管轄下的HLS視頻服務(wù)器的負(fù)載指標(biāo)下降到可以服務(wù)時,通知所述業(yè)務(wù)分析模塊接受新的HLS HTTP請求。
[0033]本發(fā)明有公開了一種基于HLS的能力控制方法,包括:
[0034]SLB服務(wù)器接收來自終端的HLS HTTP請求,重定向到HLS視頻服務(wù)器,并將指定的HLS視頻服務(wù)器返回給終端;
[0035]HLS視頻服務(wù)器接收到來自終端的HLS HTTP請求,向終端返回請求的m3u8索引文件并與終端建立HTTP連接;實(shí)時監(jiān)控各個終端的請求情況,根據(jù)發(fā)起請求的終端統(tǒng)計在線終端用戶。
[0036]所述重定向到HLS視頻服務(wù)器,并將指定的HLS視頻服務(wù)器返回給終端包括:
[0037]分配會話標(biāo)識Sess1nID ;
[0038]根據(jù)所述SLB服務(wù)器自身管轄下的HLS視頻服務(wù)器的性能指標(biāo),選擇HLS視頻服務(wù)器,并采用HTTP 302重定向消息將分配的Sess1nID和選擇出的HLS視頻服務(wù)器的服務(wù)地址返回給所述終端。
[0039]所述HLS服務(wù)器向終端返回請求的m3u8索引文件并與終端建立HTTP連接包括:
[0040]接收來自所述終端的請求m3u8索引文件的消息,記錄所述終端對應(yīng)的Sess1nID ;向所述終端返回攜帶有ts連接列表的m3u8索引文件響應(yīng),其中攜帶有終端的Sess1nID ;
[0041]所述終端收到m3u8索引文件響應(yīng)后解析出包含的ts連接列表,并向所述HLS視頻服務(wù)器發(fā)起建立HTTP連接請求;其中,所述終端向HLS視頻服務(wù)器發(fā)起的請求中均攜帶有所述終端對應(yīng)的Sess1nID。
[0042]實(shí)時監(jiān)控終端的請求情況,如果在一個請求中未攜帶Sess1nID且預(yù)設(shè)時間內(nèi)沒有新請求發(fā)至HLS視頻服務(wù)器,確定該終端已下線。
[0043]所述統(tǒng)計在線終端用戶包括:
[0044]所述終端向HLS視頻服務(wù)器發(fā)起的請求中都會攜帶Sess1nID,所述HLS視頻服務(wù)器記錄終端的Sess1nID。當(dāng)一個終端使用攜帶有Sess1nID的URL請求到該HLS視頻服務(wù)器時,
[0045]判斷所述HLS視頻服務(wù)器自身是否記錄有該Sess1nID,如果有,則將該Sess1nID對應(yīng)的并發(fā)數(shù)量加I ;如果未存儲,創(chuàng)建該Sess1nID的記錄,并將對應(yīng)的發(fā)數(shù)量記為I ;同時,所述HLS視頻服務(wù)器會更新最新時間;
[0046]當(dāng)所述HLS視頻服務(wù)器完成一個Sess1nID對應(yīng)的http請求響應(yīng)后,將其并發(fā)數(shù)量減I,并更新最新時間;
[0047]所述HLS視頻服務(wù)器定時掃描所有Sess1nID信息,當(dāng)某Sess1nID的并發(fā)數(shù)量為O,并且最新時間已經(jīng)超過離線閾值時間,則確定該Sess1nID對應(yīng)的終端已經(jīng)下線,將Sess1n狀態(tài)置為下線。
[0048]與現(xiàn)有技術(shù)相比,本申請技術(shù)方案包括至少包括SLB服務(wù)器、一個或一個以上HLS視頻服務(wù)器;其中,SLB服務(wù)器,用于接收來自終端的HLS HTTP請求,以HTTP 302方式重定向到HLS視頻服務(wù)器,并將指定的HLS視頻服務(wù)器返回給終端;HLS視頻服務(wù)器,用于接收來自終端的HTTP短連接請求,實(shí)時監(jiān)控各個終端的請求情況,根據(jù)發(fā)起請求的終端統(tǒng)計在線終端用戶。本發(fā)明提供的基于HLS的能力控制系統(tǒng)適用于基于HTTP的m3u8和ts短連接的視頻服務(wù)系統(tǒng),而且,實(shí)現(xiàn)了對HLS視頻服務(wù)器的在線用戶數(shù)的統(tǒng)計。
[0049]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
【專利附圖】
【附圖說明】
[0050]此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0051]圖1為本發(fā)明基于HLS的能力控制服務(wù)系統(tǒng)的組成連接示意圖;
[0052]圖2為本發(fā)明SLB服務(wù)器的組成連接示意圖;
[0053]圖3為本發(fā)明基于HLS的能力控制方法的實(shí)施例的流程圖。
【具體實(shí)施方式】
[0054]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
[0055]圖1為本發(fā)明基于HLS的能力控制服務(wù)系統(tǒng)的組成連接示意圖,如圖1所示,至少包括服務(wù)器負(fù)載均衡(SLB)服務(wù)器、一個或一個以上HLS視頻服務(wù)器;其中,
[0056]SLB服務(wù)器,用于接收來自終端的HLS HTTP請求,如以HTTP 302方式重定向到HLS視頻服務(wù)器,并將指定的HLS視頻服務(wù)器返回給終端;
[0057]HLS視頻服務(wù)器,用于接收來自終端的HLS HTTP請求,向終端返回請求的m3u8索引文件并與終端建立HTTP連接;實(shí)時監(jiān)控各個終端的請求情況,根據(jù)發(fā)起請求的終端統(tǒng)計在線終端用戶。
[0058]具體地,
[0059]SLB服務(wù)器具體用于:接收來自終端的HLS HTTP請求,為該請求分配會話標(biāo)識(Sess1nID);根據(jù)自身管轄下的HLS視頻服務(wù)器的性能指標(biāo),選擇HLS視頻服務(wù)器,并采用HTTP 302重定向消息將分配的Sess1nID和選擇出的HLS視頻服務(wù)器的服務(wù)地址返回給終端;
[0060]其中,HLS HTTP請求是直接來自于終端的,而且,終端會根據(jù)HTTP 302重定向消息中攜帶的服務(wù)地址,向選擇出的HLS視頻服務(wù)器請求m3u8索引文件;收到m3u8索引文件響應(yīng)后解析出包含的ts連接列表,并向HLS視頻服務(wù)器發(fā)起建立HTTP連接請求;其中,終端向HLS視頻服務(wù)器發(fā)起的請求中均攜帶有終端對應(yīng)的Sess1nID ;
[0061]HLS視頻服務(wù)器具體用于:接收來自終端的請求m3u8索引文件的消息,記錄終端對應(yīng)的Sess1nID,向終端返回攜帶有ts連接列表的m3u8索引文件響應(yīng),其中攜帶有終端的Sess1nID ;并與終端建立HTTP連接;實(shí)時監(jiān)控終端的請求情況,如果在一個請求中未攜帶Sess1nID且預(yù)設(shè)時間內(nèi)存在沒有新請求發(fā)至HLS視頻服務(wù)器,認(rèn)為該終端已下線,以統(tǒng)計在線終端用戶。
[0062]本發(fā)明提供的基于HLS的能力控制系統(tǒng)適用于基于HTTP的m3u8和ts短連接的視頻服務(wù)系統(tǒng),而且,實(shí)現(xiàn)了對HLS視頻服務(wù)器的在線用戶數(shù)的統(tǒng)計。
[0063]由于根據(jù)Sess1nID信息,SLB服務(wù)器可以清楚的獲知每個終端分配的用戶數(shù)目,這樣就方便了新用戶上線時用戶的所屬節(jié)點(diǎn)的分配,系統(tǒng)根據(jù)每個節(jié)點(diǎn)相應(yīng)的負(fù)載情況進(jìn)行實(shí)時用戶分配,從而實(shí)現(xiàn)了選取負(fù)載最少,資源最多的節(jié)點(diǎn)分配給用戶使用,便于整個系統(tǒng)的資源分配,集群調(diào)度。進(jìn)一步地,當(dāng)系統(tǒng)受到攻擊時,通過用戶的Sess1nID實(shí)現(xiàn)了對攻擊開始的節(jié)點(diǎn)的準(zhǔn)確定位以及攻擊者的信息,便于系統(tǒng)的安全防御和黑客的鎖定。
[0064]圖2為本發(fā)明SLB服務(wù)器的組成連接示意圖,如圖2所示,包括業(yè)務(wù)分析模塊、會話(Sess1n)控制模塊、HTTP重定向模塊,負(fù)載均衡控制模塊,其中,
[0065]業(yè)務(wù)分析模塊,用于解析來自終端的HLS HTTP請求,分析出終端請求對應(yīng)的CP、業(yè)務(wù)類型、用戶個人信息及用戶所述歸屬地信息等請求相關(guān)信息,并將得到的請求相關(guān)信息輸出給Sess1n控制模塊和負(fù)載均衡控制模塊;
[0066]在HLS HTTP請求中包括有用戶終端ID、IP地址、端口號、用戶所屬區(qū)域信息、用戶名、密碼等一系列用戶個人信息,以及用戶所屬歸屬地信息。這些信息一部分需要輸出給Sess1n控制模塊,比如用戶終端ID號、用戶名、密碼等相關(guān)信息,Sess1n控制模塊用這些信息為用戶分配一個Sess1nID ;另一些信息比如請求對應(yīng)的CP、業(yè)務(wù)類型、用戶所屬區(qū)域信息、IP地址信息等相關(guān)信息,需要輸出給負(fù)載均衡模塊,負(fù)載均衡模塊用這些信息來進(jìn)行服務(wù)器的分發(fā),便于進(jìn)行負(fù)載均衡的控制。
[0067]Sess1n控制模塊,用于根據(jù)請求相關(guān)信息為終端請求分配Sess1nID,并輸出給HTTP重定向模塊;
[0068]負(fù)載均衡控制模塊,用于根據(jù)請求相關(guān)信息,結(jié)合自身所在SLB服務(wù)器管轄的HLS視頻服務(wù)器上報的性能指標(biāo),為終端選擇一個當(dāng)前最適合的HLS視頻服務(wù)器,并輸出給HTTP重定向模塊;
[0069]HTTP重定向模塊,用于向終端返回HTTP 302重定向消息,并在消息的HTTP頭信息中Locat1n字段攜帶選擇出的HLS視頻服務(wù)器的服務(wù)地址,服務(wù)地址的參數(shù)中包含給終端分配的Sess1nID信息。
[0070]本發(fā)明中,由于在一個有效的服務(wù)地址中包含有Sess1nID,實(shí)現(xiàn)了精確統(tǒng)計在線用戶數(shù),以及進(jìn)行最合理的負(fù)載分發(fā)。
[0071]其中,負(fù)載均衡控制模塊具體用于:
[0072]按照預(yù)先設(shè)置的周期,定時使用HTTP GET請求向其所在SLB服務(wù)器管轄下的各HLS視頻服務(wù)器請求性能指標(biāo),其中性能指標(biāo)包括但不限于:服務(wù)器允許最大帶寬、服務(wù)器當(dāng)前帶寬、服務(wù)器允許最大并發(fā)數(shù)、服務(wù)器當(dāng)前并發(fā)數(shù),服務(wù)器允許最大在線用戶數(shù),當(dāng)前在線用戶數(shù)等;
[0073]當(dāng)終端發(fā)起HLS HTTP請求到SLB服務(wù)器時,根據(jù)獲得的各個HLS視頻服務(wù)器的性能指標(biāo),選擇一個當(dāng)前負(fù)載最低的HLS視頻服務(wù)器來提供服務(wù),并輸出給HTTP重定向模塊。
[0074]其中,可以采用動態(tài)的算法進(jìn)行對HLS視頻服務(wù)器的選擇。比如算法可以采用加權(quán)分配方式對所有HLS視頻服務(wù)器進(jìn)行加權(quán)比較:根據(jù)每臺HLS視頻服務(wù)器的能力進(jìn)行分權(quán)計算,比如服務(wù)能力強(qiáng)的HLS視頻服務(wù)器和服務(wù)能力差的HLS視頻服務(wù)器所用的加權(quán)是不同的,得到的結(jié)果也是不同的;HLS視頻服務(wù)器分權(quán)結(jié)束后,再根據(jù)終端的信息進(jìn)行分權(quán)算法處理;最后,根據(jù)兩者權(quán)值相加得到最終的權(quán)值進(jìn)行HLS視頻服務(wù)器分配。如果出現(xiàn)兩個權(quán)值相同的情況,進(jìn)一步地,進(jìn)入另一個權(quán)值相同的算法,比較HLS視頻服務(wù)器的能力,然后再比較其他指標(biāo)進(jìn)行分配。具體實(shí)現(xiàn)屬于本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的記載容易實(shí)現(xiàn)的,也不用于限定本發(fā)明的保護(hù)范圍。
[0075]如果當(dāng)前各個HLS視頻服務(wù)器的負(fù)載都已經(jīng)達(dá)到預(yù)先設(shè)置的上限閾值時,負(fù)載均衡控制模塊,還用于通知業(yè)務(wù)分析模塊拒絕終端的HLS HTTP請求,直到其管轄下的HLS視頻服務(wù)器的負(fù)載指標(biāo)下降到可以服務(wù)時,通過業(yè)務(wù)分析模塊接受新的HLS HTTP請求。
[0076]對應(yīng)本發(fā)明能力控制系統(tǒng),本發(fā)明基于HLS的能力控制方法包括:SLB服務(wù)器接收來自終端的HLS HTTP請求,如以HTTP 302方式重定向到HLS視頻服務(wù)器,并將指定的HLS視頻服務(wù)器返回給終端;HLS視頻服務(wù)器接收到來自終端的HLS HTTP請求,向終端返回請求的m3u8索引文件并與終端建立HTTP連接;實(shí)時監(jiān)控各個終端的請求情況,根據(jù)發(fā)起請求的終端統(tǒng)計在線終端用戶。
[0077]圖3為本發(fā)明基于HLS的能力控制方法的實(shí)施例的流程圖,如圖3所示,包括:
[0078]步驟300:終端向SLB服務(wù)器發(fā)起HTTP Get請求,請求HLS m3u8索引文件。同時,為該請求分配Sess1nID。
[0079]步驟301 =SLB服務(wù)器向自身管轄下的各個HLS視頻服務(wù)器發(fā)起HTTPGet請求,以獲取各個HLS視頻服務(wù)器的性能指標(biāo)。
[0080]步驟302:各HLS視頻服務(wù)器將自身的性能指標(biāo)上報給SLB服務(wù)器。這里性能指標(biāo)表明了 HLS視頻服務(wù)器當(dāng)前的運(yùn)行狀態(tài),用于SLB服務(wù)器應(yīng)用加權(quán)算法而進(jìn)行分配HLS服務(wù)器所用指標(biāo),包含HLS視頻服務(wù)器當(dāng)前在線用戶數(shù)(即獨(dú)立sess1n數(shù))、當(dāng)前并發(fā)連接數(shù)、服務(wù)器網(wǎng)絡(luò)適配器流量等信息。
[0081]步驟303:SLB服務(wù)器根據(jù)預(yù)先設(shè)置的加權(quán)分配方式,判斷各個服務(wù)器的性能指標(biāo),選擇出當(dāng)前最合適的HLS視頻服務(wù)器,并將服務(wù)URL指向該HLS視頻服務(wù)器;使用HTTP302重定向消息將為終端分配的Sess1nID和選擇出的HLS視頻服務(wù)器的服務(wù)地址返回給終端,以使終端請求重定向到選擇出的HLS視頻服務(wù)器。
[0082]其中,可以采用動態(tài)的算法進(jìn)行對HLS視頻服務(wù)器的選擇。比如采用加權(quán)分配方式對所有HLS視頻服務(wù)器進(jìn)行加權(quán)比較:根據(jù)每臺HLS視頻服務(wù)器的能力進(jìn)行分權(quán)計算,比如服務(wù)能力強(qiáng)的HLS視頻服務(wù)器和服務(wù)能力差的HLS視頻服務(wù)器所用的加權(quán)是不同的,得到的結(jié)果也是不同的;HLS視頻服務(wù)器分權(quán)結(jié)束后,再根據(jù)終端的信息進(jìn)行分權(quán)算法處理;最后,根據(jù)兩者權(quán)值相加得到最終的權(quán)值進(jìn)行HLS視頻服務(wù)器分配。如果出現(xiàn)兩個權(quán)值相同的情況,進(jìn)一步地,進(jìn)入另一個權(quán)值相同的算法,比較HLS視頻服務(wù)器的能力,然后再比較其他指標(biāo)進(jìn)行分配。具體實(shí)現(xiàn)屬于本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的記載容易實(shí)現(xiàn)的,也不用于限定本發(fā)明的保護(hù)范圍。
[0083]步驟304:終端根據(jù)HTTP 302重定向消息中攜帶的服務(wù)地址,重新向選定的HLS視頻服務(wù)器發(fā)起請求m3u8索引文件的HTTP GET請求。
[0084]步驟305:HLS視頻服務(wù)器記錄下終端請求的Sess1nID并向終端返回m3u8索引文件響應(yīng),在m3u8索引文件內(nèi)容中的ts請求信息中攜帶有該終端的Sess1nID。
[0085]步驟306:終端收到m3u8索引文件后,解析出其中包含的ts連接列表,并向該HLS視頻服務(wù)器發(fā)起建立HTTP連接請求,請求中攜帶有終端的Sess1nID。
[0086]HLS視頻服務(wù)器在后續(xù)與終端的交互中,實(shí)時監(jiān)控各個終端的請求情況,當(dāng)在服務(wù)中的請求中未攜帶某Sess1nID,且已有預(yù)設(shè)時間內(nèi)未有新請求發(fā)至HLS視頻服務(wù)器,則確定該終端用戶已下線。具體來講:
[0087]終端向HLS視頻服務(wù)器發(fā)起的請求中都會攜帶Sess1nID, HLS視頻服務(wù)器會記錄終端的Sess1nID。當(dāng)一個終端使用攜帶有Sess1nID的URL請求到該HLS視頻服務(wù)器時,首先判斷HLS視頻服務(wù)器自身是否記錄有該Sess1nID,如果有,則將該Sess1nID對應(yīng)的并發(fā)數(shù)量加I ;如果未存儲,創(chuàng)建該Sess1nID的記錄,并將對應(yīng)的并發(fā)數(shù)量記為I。同時,HLS視頻服務(wù)器會更新最新時間。
[0088]當(dāng)HLS視頻服務(wù)器完成了一個Sess1nID對應(yīng)的http請求響應(yīng)后,將其并發(fā)數(shù)量減I,并更新最新時間。
[0089]HLS視頻服務(wù)器定時掃描所有Sess1nID信息,當(dāng)某Sess1nID的并發(fā)數(shù)量為
O,并且最新時間已經(jīng)超過離線閾值時間,則確定該Sess1nID對應(yīng)的終端已經(jīng)下線,將Sess1n狀態(tài)置為下線。
[0090]以上所述,僅為本發(fā)明的較佳實(shí)例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于HLS的能力控制服務(wù)系統(tǒng),其特征在于,包括:至少包括服務(wù)器負(fù)載均衡SLB服務(wù)器、一個或一個以上基于超文本傳輸協(xié)議HTTP的實(shí)時流傳輸HLS視頻服務(wù)器;其中, SLB服務(wù)器,用于接收來自終端的HLS HTTP請求,重定向到HLS視頻服務(wù)器,并將指定的HLS視頻服務(wù)器返回給終端; HLS視頻服務(wù)器,用于接收來自終端的HLS HTTP請求,向終端返回請求的m3u8索引文件并與終端建立HTTP連接;實(shí)時監(jiān)控各個終端的請求情況,根據(jù)發(fā)起請求的終端統(tǒng)計在線終端用戶。
2.根據(jù)權(quán)利要求1所述的能力控制服務(wù)系統(tǒng),其特征在于,所述SLB服務(wù)器具體用于:接收來自所述終端的HLS HTTP請求,為該請求分配會話標(biāo)識Sess1nID ; 根據(jù)所述SLB服務(wù)器自身管轄下的HLS視頻服務(wù)器的性能指標(biāo),選擇HLS視頻服務(wù)器,并采用HTTP 302重定向消息將分配的Sess1nID和選擇出的HLS視頻服務(wù)器的服務(wù)地址返回給所述終端。
3.根據(jù)權(quán)利要求2所述的能力控制服務(wù)系統(tǒng),其特征在于,所述HLS服務(wù)器具體用于: 接收來自終端的請求m3u8索引文件的消息,記錄所述終端對應(yīng)的Sess1nID ;向所述終端返回攜帶有ts連接列表的m3u8索引文件響應(yīng),其中攜帶有終端的Sess1nID ;并與所述終端建立HTTP連接; 實(shí)時監(jiān)控所述終端的請求情況,如果在請求中未攜帶Sess1nID且預(yù)設(shè)時間內(nèi)沒有接收到新請求,確定該終端已下線。
4.根據(jù)權(quán)利要求1所述的能力控制服務(wù)系統(tǒng),其特征在于,所述SLB服務(wù)器包括業(yè)務(wù)分析模塊、會話Sess1n控制模塊、HTTP重定向模塊,負(fù)載均衡控制模塊,其中, 業(yè)務(wù)分析模塊,用于解析來自終端的HLS HTTP請求,分析出終端請求對應(yīng)的請求相關(guān)信息,并將得到的請求相關(guān)信息輸出給Sess1n控制模塊和負(fù)載均衡控制模塊; Sess1n控制模塊,用于根據(jù)請求相關(guān)信息為終端請求分配Sess1nID,并輸出給HTTP重定向模塊; 負(fù)載均衡控制模塊,用于根據(jù)請求相關(guān)信息,結(jié)合自身所在SLB服務(wù)器管轄的HLS視頻服務(wù)器上報的性能指標(biāo),為終端選擇一個當(dāng)前最適合的HLS視頻服務(wù)器,并輸出給HTTP重定向模塊; HTTP重定向模塊,用于向終端返回HTTP 302重定向消息,并在消息的HTTP頭信息中Locat1n字段攜帶選擇出的HLS視頻服務(wù)器的服務(wù)地址,服務(wù)地址的參數(shù)中包含給終端分配的Sess1nID信息。
5.根據(jù)權(quán)利要求4所述的能力控制服務(wù)系統(tǒng),其特征在于,所述負(fù)載均衡控制模塊具體用于: 按照預(yù)先設(shè)置的周期,定時使用HTTP GET請求向其所在SLB服務(wù)器管轄下的各HLS視頻服務(wù)器請求性能指標(biāo); 當(dāng)所述終端發(fā)起HLS HTTP請求到所述SLB服務(wù)器時,根據(jù)獲得的各個HLS視頻服務(wù)器的性能指標(biāo),選擇一個當(dāng)前負(fù)載最低的HLS視頻服務(wù)器來提供服務(wù),并輸出給所述HTTP重定向模塊。
6.根據(jù)權(quán)利要求5所述的能力控制服務(wù)系統(tǒng),其特征在于,如果當(dāng)前各個HLS視頻服務(wù)器的負(fù)載都已達(dá)到預(yù)先設(shè)置的上限閾值時,所述負(fù)載均衡控制模塊還用于: 通知所述業(yè)務(wù)分析模塊拒絕終端的HLS HTTP請求,直到其管轄下的HLS視頻服務(wù)器的負(fù)載指標(biāo)下降到可以服務(wù)時,通知所述業(yè)務(wù)分析模塊接受新的HLS HTTP請求。
7.—種SLB服務(wù)器,其特征在于,包括業(yè)務(wù)分析模塊、Sess1n控制模塊、HTTP重定向模塊,負(fù)載均衡控制模塊,其中, 業(yè)務(wù)分析模塊,用于解析來自終端的HLS HTTP請求,分析出終端請求對應(yīng)的請求相關(guān)信息,并將得到的請求相關(guān)信息輸出給Sess1n控制模塊和負(fù)載均衡控制模塊; Sess1n控制模塊,用于根據(jù)請求相關(guān)信息為終端請求分配Sess1nID,并輸出給HTTP重定向模塊; 負(fù)載均衡控制模塊,用于根據(jù)請求相關(guān)信息,結(jié)合自身所在SLB服務(wù)器管轄的HLS視頻服務(wù)器上報的性能指標(biāo),為終端選擇一個當(dāng)前最適合的HLS視頻服務(wù)器,并輸出給HTTP重定向模塊; HTTP重定向模塊,用于向終端返回HTTP 302重定向消息,并在消息的HTTP頭信息中Locat1n字段攜帶選擇出的HLS視頻服務(wù)器的服務(wù)地址,服務(wù)地址的參數(shù)中包含給終端分配的Sess1nID信息。
8.根據(jù)權(quán)利要求7所述的SLB服務(wù)器,其特征在于,所述負(fù)載均衡控制模塊具體用于: 按照預(yù)先設(shè)置的周期,定時使用HTTP GET請求向其所在SLB服務(wù)器管轄下的各HLS視頻服務(wù)器請求性能指標(biāo); 當(dāng)所述終端發(fā)起HLS HTTP請求到所述SLB服務(wù)器時,根據(jù)獲得的各個HLS視頻服務(wù)器的性能指標(biāo),選擇一個當(dāng)前負(fù)載最低的HLS視頻服務(wù)器來提供服務(wù),并輸出給HTTP重定向模塊。
9.根據(jù)權(quán)利要求8所述的SLB服務(wù)器,其特征在于,如果當(dāng)前各個HLS視頻服務(wù)器的負(fù)載都已達(dá)到預(yù)先設(shè)置的上限閾值時,所述負(fù)載均衡控制模塊還用于: 通知所述業(yè)務(wù)分析模塊拒絕終端的HLS HTTP請求,直到其管轄下的HLS視頻服務(wù)器的負(fù)載指標(biāo)下降到可以服務(wù)時,通知所述業(yè)務(wù)分析模塊接受新的HLS HTTP請求。
10.一種基于HLS的能力控制方法,其特征在于,包括: SLB服務(wù)器接收來自終端的HLS HTTP請求,重定向到HLS視頻服務(wù)器,并將指定的HLS視頻服務(wù)器返回給終端; HLS視頻服務(wù)器接收到來自終端的HLS HTTP請求,向終端返回請求的m3u8索引文件并與終端建立HTTP連接;實(shí)時監(jiān)控各個終端的請求情況,根據(jù)發(fā)起請求的終端統(tǒng)計在線終端用戶。
11.根據(jù)權(quán)利要求10所述的能力控制方法,其特征在于,所述重定向到HLS視頻服務(wù)器,并將指定的HLS視頻服務(wù)器返回給終端包括: 分配會話標(biāo)識Sess1nID ; 根據(jù)所述SLB服務(wù)器自身管轄下的HLS視頻服務(wù)器的性能指標(biāo),選擇HLS視頻服務(wù)器,并采用HTTP 302重定向消息將分配的Sess1nID和選擇出的HLS視頻服務(wù)器的服務(wù)地址返回給所述終端。
12.根據(jù)權(quán)利要求11所述的能力控制方法,其特征在于,所述HLS服務(wù)器向終端返回請求的m3u8索引文件并與終端建立HTTP連接包括:接收來自所述終端的請求m3u8索引文件的消息,記錄所述終端對應(yīng)的Sess1nID ;向所述終端返回攜帶有ts連接列表的m3u8索引文件響應(yīng),其中攜帶有終端的Sess1nID ;所述終端收到m3u8索引文件響應(yīng)后解析出包含的ts連接列表,并向所述HLS視頻服務(wù)器發(fā)起建立HTTP連接請求;其中,所述終端向HLS視頻服務(wù)器發(fā)起的請求中均攜帶有所述終端對應(yīng)的Sess1nID。
13.根據(jù)權(quán)利要求10所述的能力控制方法,其特征在于,實(shí)時監(jiān)控終端的請求情況,如果在一個請求中未攜帶Sess1nID且預(yù)設(shè)時間內(nèi)沒有新請求發(fā)至HLS視頻服務(wù)器,確定該終端已下線。
14.根據(jù)權(quán)利要求12所述的能力控制方法,其特征在于,所述統(tǒng)計在線終端用戶包括:所述終端向HLS視頻服務(wù)器發(fā)起的請求中都會攜帶Sess1nID,所述HLS視頻服務(wù)器記錄終端的Sess1nID ;當(dāng)一個終端使用攜帶有Sess1nID的URL請求到該HLS視頻服務(wù)器時, 判斷所述HLS視頻服務(wù)器自身是否記錄有該Sess1nID,如果有,則將該Sess1nID對應(yīng)的并發(fā)數(shù)量加1 ;如果未存儲,創(chuàng)建該Sess1nID的記錄,并將對應(yīng)的發(fā)數(shù)量記為1 ;同時,所述HLS視頻服務(wù)器會更新最新時間; 當(dāng)所述HLS視頻服務(wù)器完成一個Sess1nID對應(yīng)的http請求響應(yīng)后,將其并發(fā)數(shù)量減1,并更新最新時間;所述HLS視頻服務(wù)器定時掃描所有Sess1nID信息,當(dāng)某Sess1nID的并發(fā)數(shù)量為0,并且最新時間已經(jīng)超過離線閾值時間,則確定該Sess1nID對應(yīng)的終端已經(jīng)下線,將Sess1n狀態(tài)置為下線。
【文檔編號】H04N21/258GK104363472SQ201410559390
【公開日】2015年2月18日 申請日期:2014年10月20日 優(yōu)先權(quán)日:2014年10月20日
【發(fā)明者】熊偉 申請人:中興通訊股份有限公司