一種流媒體管理方法及系統的制作方法
【技術領域】
[0001]本發明涉及一種網絡技術,特別是涉及一種流媒體管理方法及系統。
【背景技術】
[0002]隨著入戶帶寬的提升,移動互聯網的繁榮以及各種手持設備的普及,一般的用戶除了觀看媒體類節目,有些用戶也作為制作人,從終端推送實時直播流,供粉絲團觀看,如游戲競賽、互動直播等。流媒體是指采用流式傳輸的方式在Internet播放的媒體格式。流媒體又叫流式媒體,它是指商家用一個視頻傳送服務器把節目當成數據包發出,傳送到網絡上。而流媒體的終端大多都是使用RTMP (Real Time Messaging Protocol,實時消息傳輸協議)協議來推送直播的媒體流的。而運營此類節目的公司一般又是通過CDN(ContentDelivery Network,內容分發網絡)或者自建的分布式系統來達到媒體流的全網傳輸,且目前在全網的傳輸基本都是用RTMP協議的FMS (ADOBE公司研發的FLASH MEDIA SERVER流媒體服務器)體系。使用RTMP協議做全網傳輸,由于其協議的特點,需要多次的交互,才可以得到完整的URL(Uniform Resoure Locator,統一資源定位器)。這樣在⑶N系統(或者自建的分布式系統)中,無法做負載均衡。資源使用冗余高,且無法控制資源的使用率。
[0003]鑒于此,如何找到一種能夠對流媒體進行負載均衡管理的技術方案就成了本領域技術人員亟待解決的問題。
【發明內容】
[0004]鑒于以上所述現有技術的缺點,本發明的目的在于提供一種流媒體管理方法及系統,用于解決現有技術中難以對流媒體進行負載均衡管理的問題。
[0005]為實現上述目的及其他相關目的,本發明提供一種流媒體管理方法,所述流媒體管理方法包括:接收RTMP協議推送的流媒體數據,獲取所述流媒體數據對應的URL ;將所述流媒體數據采用的傳輸協議從RTMP協議轉換成HTTP協議;遵照設定的負載均衡策略對所述URL進行負載均衡管理,確定所述URL對應至少一個上層服務器,并將采用HTTP協議的流媒體數據發送給所確定的上層服務器。
[0006]可選地,將所述流媒體數據采用的傳輸協議從RTMP協議轉換成HTTP協議的具體實現包括:對接收到的包括流媒體數據的RTMP報文進行解析;將解析得到的流媒體數據重新封裝;將重新封裝的流媒體數據采用HTTP協議發送。
[0007]可選地,所述負載均衡策略包括七層負載均衡策略。
[0008]可選地,所述媒體流包括直播的媒體流。
[0009]可選地,所述流媒體管理方法還包括:接收到客戶端HTTP協議的播放請求;確定所述URL對應的上層服務器;將所述HTTP協議的播放請求轉發給所對應的上層服務器處理;所對應的上層服務器將所述播放請求中URL對應的流媒體數據以HTTP協議發送給所述客戶端。
[0010]可選地,所述流媒體管理方法還包括:接收到客戶端的采用RTMP協議的播放請求,獲得所述播放請求的URL,并轉換成包含所述URL的HTTP協議的播放請求;確定所述URL對應的上層服務器;將所述HTTP協議的播放請求發送給所對應的上層服務器處理,所對應的上層服務器將所述播放請求中URL對應的流媒體數據以HTTP協議發送給接口服務器,接口服務器將所述流媒體數據采用的傳輸協議從HTTP協議轉換成RTMP協議,并把采用RTMP協議的流媒體數據發送給所述客戶端。
[0011]本發明還提供一種流媒體管理系統,所述流媒體管理系統包括:推流管理模塊,用于接收RTMP協議推送的流媒體數據,獲取所述流媒體數據對應的URL ;將所述流媒體數據采用的傳輸協議從RTMP協議轉換成HTTP協議;負載均衡模塊,與推流管理模塊相連,用于遵照設定的負載均衡策略對所述URL進行負載均衡管理,確定所述URL對應至少一個上層服務器,并將采用HTTP協議的流媒體數據發送給所確定的上層服務器。
[0012]可選地,所述負載均衡策略包括七層負載均衡策略。
[0013]可選地,所述媒體流包括直播的媒體流。
[0014]可選地,將所述流媒體數據采用的傳輸協議從RTMP協議轉換成HTTP協議的具體實現包括:對接收到的包括流媒體數據的RTMP報文進行解析;將解析得到的流媒體數據重新封裝;將重新封裝的流媒體數據內容采用HTTP協議發送。
[0015]可選地,所述流媒體管理系統還包括播放管理模塊,所述播放管理模塊與負載均衡模塊相連,用于接收到客戶端HTTP協議的播放請求;確定所述URL對應的上層服務器;將所述HTTP協議的播放請求轉發給所對應的上層服務器處理;所對應的上層服務器將所述播放請求中URL對應的流媒體數據以HTTP協議發送給所述客戶端。
[0016]可選地,所述流媒體管理系統還包括播放管理模塊,所述播放管理模塊與負載均衡模塊相連,接收到客戶端RTMP協議的播放請求,獲得所述播放請求的URL,并轉換成包含所述URL的HTTP協議的播放請求;確定所述URL對應的上層服務器;將所述HTTP協議的播放請求發送給所對應的上層服務器處理,所對應的上層服務器將所述播放請求中URL對應的流媒體數據以HTTP協議發送給接口服務器,接口服務器將所述流媒體數據采用的傳輸協議從HTTP協議轉換成RTMP協議,并把采用RTMP協議的流媒體數據發送給所述客戶端。
[0017]如上所述,本發明的一種流媒體管理方法及系統,具有以下有益效果:在接口服務器中將RTMP協議轉成HTTP協議,且在整個流媒體管理系統(所述流媒體管理系統可以應用于CDN系統中)中,數據都用HTTP協議來傳輸。由于HTTP協議的特點,在POST或者GET請求中,立即可以獲取完整URL,所以可以在采用了本發明技術方案的流媒體服務器系統(包括⑶N系統)中做完全的七層負載均衡。集中了服務器資源,降低了內部的計算和帶寬損耗,大大節約成本。
【附圖說明】
[0018]圖1顯示為本發明的一種流媒體管理方法的一實施例的流程示意圖。
[0019]圖2顯示為本發明的一種流媒體管理方法的一實施例的應用架構示意圖。
[0020]圖3顯示為本發明的一種流媒體管理方法的一實施例的推流處理流程示意圖。
[0021]圖4顯示為本發明的一種流媒體管理方法的一實施例的播放處理流程示意圖。
[0022]圖5顯示為本發明的一種流媒體管理方法的一實施例的負載均衡處理流程示意圖。
[0023]圖6顯示為本發明的一種流媒體管理系統的一實施例的模塊示意圖。
[0024]元件標號說明
[0025]I流媒體管理系統
[0026]11推流管理模塊
[0027]12負載均衡模塊
[0028]13播放管理模塊
[0029]SI ?S3步驟
【具體實施方式】
[0030]以下通過特定的具體實例說明本發明的實施方式,本領域技術人員可由本說明書所揭露的內容輕易地了解本發明的其他優點與功效。本發明還可以通過另外不同的【具體實施方式】加以實施或應用,本說明書中的各項細節也可以基于不同觀點與應用,在沒有背離本發明的精神下進行各種修飾或改變。
[0031]需要說明的是,本實施例中所提供的圖示僅以示意方式說明本發明的基本構想,遂圖式中僅顯示與本發明中有關的組件而非按照實際實施時的組件數目、形狀及尺寸繪制,其實際實施時各組件的型態、數量及比例可為一種隨意的改變,且其組件布局型態也可能更為復雜。
[0032]本發明提供一種流媒體管理方法。所述流媒體管理方法應用于⑶N(ContentDelivery Network,內容分發網絡)或者自建的分布式系統中,對推送的流媒體進行管理。在一個實施例中,如圖1所示,所述流媒體管理方法包括:
[0033]步驟SI,接收RTMP協議推送的流媒體數據,獲取所述流媒體數據對應的URL。具體地,使用RTMP協議做全網傳輸,由于其協議的特點,需要多次的交互,才可以得到完整的URL (Uniform Resoure Locator,統一資源定位器)。推送的每一個流媒體數據都唯一的對應著一個推送的URL,客戶端可以通過該URL訪問或播放該流媒體數據。所述媒體流包括直播的媒體流。
[0034]步驟S2,將所述流媒體數據采用的傳輸協議從RTMP協議轉換成HTTP協議。RTMP (Real Time Messaging Protocol,實時消息傳輸協議)是普通推送端(或推送器)所采用的傳輸協議。HTTP協議(HyperText Transfer Protocol,超文本傳輸協議)是客戶端瀏覽器或其他程序與Web服務器之間的應用層通信協議。在Internet上的Web服務器上存放的