一種rtmp流服務器的負載均衡方法和系統的制作方法
【技術領域】
[0001 ] 本發明涉及實時消息傳輸協議(Real Time Messaging Protocol,RTMP)流服務器技術領域,特別是涉及一種RTMP流服務器的負載均衡方法和系統。
【背景技術】
[0002]當前RTMP流服務器的系統架構如圖1所示,主要包括推流端、至少一個RTMP流服務器和客戶端。客戶端通過RTMP流服務器的IP與RTMP流服務器建立連接。具體為推流端將RTMP流服務器的IP推送至客戶端,客戶端通過接收到的IP建立與RTMP流服務器的連接。
[0003]當前RTMP流服務器的系統存在如下缺陷:
[0004]—、若推流端出現故障,并不會影響客戶端與RTMP流服務器之間的連接,客戶端仍然可以正常播放RTMP流服務器上的內容,但是不能及時發現推流端的故障。
[0005]二、若RTMP流服務器出現故障,需要推流端手動切換備用RTMP流服務器的IP至客戶端,此操作費時費力。
【發明內容】
[0006]本發明提供一種RTMP流服務器的負載均衡方法和系統,以解決現有的RTMP流服務器的系統在推流端出現故障的情況下,不能及時發現推流端故障,或者在RTMP流服務器出現故障的情況下,需要手動切換備用RTMP流服務器的IP至客戶端而造成的費時費力的問題。
[0007]為了解決上述問題,本發明公開了一種RTMP流服務器的負載均衡系統,包括:推/拉流模塊和DNS模塊,其中,
[0008]所述推/拉流模塊,用于向所述DNS模塊發送來自客戶端的域名解析請求,所述域名解析請求包括所述客戶端待訪問的目標RTMP流服務器的域名;
[0009]所述DNS模塊,用于將所述目標RTMP流服務器的域名解析為對應的IP;
[0010]所述推/拉流模塊,還用于建立與所述IP的連接,并判斷與所述IP的連接是否成功,若成功,則將建立連接成功的IP發送至所述客戶端。
[0011 ]優選地,還包括:RTMP流服務器模塊,用于在所述推/拉流模塊向所述DNS模塊發送來自客戶端的域名解析請求之前,為至少一個RTMP流服務器創建IP與RTMP流服務器域名的對應關系。
[0012]優選地,所述DNS模塊根據所述對應關系將所述目標RTMP流服務器的域名解析為對應的IP。
[0013]優選地,所述DNS模塊,還用于在所述推/拉流模塊判斷與所述IP的連接失敗之后,重新將所述目標RTMP流服務器的域名解析為對應的IP,直至所述推/拉流模塊建立與重新解析得到的IP的連接成功為止。
[0014]本發明還公開了一種RTMP流服務器的負載均衡方法,包括:
[0015]接收來自客戶端的域名解析請求,所述域名解析請求包括所述客戶端待訪問的目標RTMP流服務器的域名;
[0016]將所述目標RTMP流服務器的域名解析為對應的IP;
[0017]建立與所述IP的連接,并判斷與所述IP的連接是否成功,若成功,則將建立連接成功的IP發送至所述客戶端。
[0018]優選地,在所述接收來自客戶端的域名解析請求之前,還包括:
[0019]為至少一個RTMP流服務器創建IP與RTMP流服務器域名的對應關系。
[0020]優選地,所述將所述目標RTMP流服務器的域名解析為對應的IP,包括:
[0021 ]根據所述對應關系將所述目標RTMP流服務器的域名解析為對應的IP。
[0022]優選地,在判斷與所述IP的連接是否成功之后,還包括:
[0023]若失敗,則重新將所述目標RTMP流服務器的域名解析為對應的IP,直至判斷與重新解析得到的IP的連接成功為止。
[0024]與【背景技術】相比,本發明包括以下優點:
[0025]客戶端通過域名與RTMP流服務器建立連接,取代傳統的利用IP建立與RTMP流服務器的連接的方式。接收來自客戶端的域名解析請求,將域名解析請求中的客戶端待訪問的目標RTMP流服務器的域名解析為對應的IP,建立與解析得到的IP的連接,若連接成功,則將解析得到的IP發送至客戶端;若連接失敗,則重新進行域名解析得到新的IP,若新的IP連接失敗,則繼續進行域名解析,直至解析得到的IP能夠連接成功,從而實現對RTMP流服務器的自動分配,提高了 RTMP流服務器的可靠性。
【附圖說明】
[0026]圖1是【背景技術】中RTMP流服務器的系統架構示意圖;
[0027]圖2是本發明實施例一中一種RTMP流服務器的負載均衡方法的步驟流程圖;
[0028]圖3是本發明實施例二中一種RTMP流服務器的負載均衡系統的結構示意圖。
【具體實施方式】
[0029]為使本發明的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖和【具體實施方式】對本發明作進一步詳細的說明。
[0030]下面通過列舉幾個具體的實施例詳細介紹本發明提供的一種RTMP流服務器的負載均衡方法和系統。
[0031 ] 實施例一
[0032]詳細介紹本發明實施例提供的一種RTMP流服務器的負載均衡方法,可以應用于RTMP流服務器系統。
[0033]參照圖2,示出了本發明實施例中一種RTMP流服務器的負載均衡方法的步驟流程圖。
[0034]步驟100,接收來自客戶端的域名解析請求。
[0035]客戶端欲訪問RTMP流服務器,通過待訪問的目標RTMP流服務器的域名建立與RTMP流服務器之間的連接。所述域名解析請求包括所述客戶端待訪問的目標RTMP流服務器的域名。
[0036]在所述步驟100之前,為至少一個RTMP流服務器創建IP與RTMP流服務器域名的對應關系。一個RTMP流服務器域名可以對應多個RTMP流服務器,例如,域名“ho st name”對應IP1、IP2和IP30
[0037]步驟102,將所述目標RTMP流服務器的域名解析為對應的IP。
[0038]具體地,根據所述對應關系,將所述目標RTMP流服務器的域名解析為對應的IP。若目標RTMP流服務器的域名對應多個IP,則可以從中隨機選擇任意一個IP作為解析得到的對應的IP。
[0039]步驟104,建立與所述IP的連接,并判斷與所述IP的連接是否成功,若成功,則將建立連接成功的IP發送至所述客戶端。
[0040]在判斷與所述IP的連接失敗之后,重新將所述目標RTMP流服務器的域名解析為對應的IP。由于重新解析得到的對應的IP與之前解析得到的對應的IP為不同的IP,所以需要繼續判斷重新解析得到的對應的IP是否可以連接成功。若連接失敗,則繼續對域名進行解析,直至判斷與重新解析得到的IP的連接成功為止,將連接成功的IP發送至客戶端。
[0041 ]綜上所述,本發明實施例中的技術方案,客戶端通過域名與RTMP流服務器建立連接,取代傳統的利用IP直接建立與RTMP流服務器的連接的方式。接收來自客戶端的域名解析請求,將域名解析請求中的客戶端待訪問的目標RTMP流服務器的域名解析為對應的IP,建立與解析得到的IP的連接,若連接成功,則將解析得到的IP發送至客戶端;若連接失敗,則重新進行域名解析得到新的IP,若與新解析得到的IP連接仍失敗,則繼續進行域名解析,直至解析得到的IP能夠連接成功,從而實現對RTMP流服務器的自動分配,提高了RTMP流服務器的可靠性。解決現有的RTMP流服務器的系統在推流端出現故障的情況下,不能及時發現推流端故障,或者在RTMP流服務器出現故障的情況下,需要手動切換備用RTMP流服務器的IP至客戶端而造成的費時費力的問題。
[0042]實施例二
[0043]詳細介紹本發明實施例提供的一種RTMP流服務器的負載均衡系統。
[0044]參照圖3,