流媒體直播調度方法、系統和調度服務器的制造方法
【技術領域】
[0001]本發明屬于內容分發技術領域,特別是涉及一種流媒體直播調度方法、系統和調度服務器。
【背景技術】
[0002]內容分發網絡(Content Delivery Network,Q)N),通過在網絡各處放置節點服務器,在現有的互聯網基礎之上構建一層智能虛擬網絡,將網站的內容發布到最接近用戶的網絡“邊緣”,使用戶可以就近取得所需的內容,以緩解網絡擁擠的狀況,提高網站的響應速度。
[0003]基于內容分發網絡,現有的網絡視頻直播方法是由直播源服務器將直播流推到CDN的發布點服務器上,發布點服務器將直播流按照預設的映射關系推送到對應的核心機組上。其中,核心機組內各個核心節點服務器上存儲的直播流是不重復的,而各個核心機組之間存儲的直播流則是重復的。當有觀看用戶訪問邊緣節點服務時,邊緣節點根據配置向對應的核心機組中獲取相應的直播流,并提供給用戶。
[0004]在CDN中發布新的直播流時,發布點服務器將直播流按照預設的映射關系推送到對應的核心機組上。當核心機組內的核心節點服務器的數量增加或者減少時,直播流和核心節點服務器之間的映射關系將需要人工參與進行重新配置,存在著效率低下,且運維成本高的問題。
【發明內容】
[0005]本發明實施例解決的問題在核心組內的核心節點服務器增減時,如何提高配置效率,節約成本。
[0006]為解決上述問題,本發明實施例提供了一種流媒體直播調度方法,所述方法包括:
[0007]對核心機組中核心節點服務器的運行狀況進行監測,所述核心機組包括兩臺以上的核心節點服務器;
[0008]當接收到發布點服務器發送的直播流發布請求時,根據所述核心機組中核心節點服務器的運行狀況,從所述核心機組中選取核心節點服務器;
[0009]將選取的核心節點服務器的信息發送至所述發布點服務器,所述發布點服務器適于在接收到所述核心節點服務器的信息時,將直播流發布至所述選取的核心節點服務器上;
[0010]存儲所述選取的核心節點服務器和所述直播流之間的映射關系。
[0011]可選地,所述選取的核心節點服務器為所述核心機組中正常運行且負載最小的核心節點服務器。
[0012]可選地,所述方法還包括:將發生故障的核心節點服務器從所述核心機組中刪除。
[0013]可選地,所述方法還包括:當確定所述發生故障的核心節點服務器恢復正常時,將所述核心節點服務器重新加入所述核心機組中。
[0014]可選地,當接收到發布點服務器發送的直播流發布請求時,所述方法還包括:當確定存在所述流媒體文對應的映射關系時,將所述映射關系刪除。
[0015]可選地,所述方法還包括:當檢測到核心機組中的核心節點服務器的信息變更時,修改相應的映射關系中的核心節點服務器的信息。
[0016]可選地,所述方法還包括:當確定直播流過期時,刪除所述直播流和所述直播流與相應的核心節點服務器之間的映射關系。
[0017]可選地,所述方法還包括:
[0018]當接收到邊緣節點服務器發送的獲取直播流的請求時,獲取所述邊緣節點服務器中緩存的直播流與核心節點服務器之間的映射關系;
[0019]從所述映射關系中查找與所述直播流對應的核心節點服務器的信息;
[0020]將查找得到的核心節點服務器的信息返回給所述邊緣節點服務器,所述邊緣節點服務器適于從所述核心節點服務器中獲取所述直播流。
[0021]可選地,所述方法還包括:當未查找到與所述直播流對應的核心節點服務器的信息時,發布所述直播流不存在的提示信息。
[0022]本發明實施例還提供了一種調度服務器,所述調度服務器包括:
[0023]監測單元,適于對核心機組中核心節點服務器的運行狀況進行監測,所述核心機組包括兩臺以上的核心節點服務器;
[0024]接收單元,適于接收發布點服務器發送的直播流發布請求;
[0025]選取單元,適于當接收到發布點服務器發送的直播流發布請求時,根據所述核心機組中核心節點服務器的運行狀況,從所述核心機組中選取核心節點服務器;
[0026]第一發送單元,適于將選取的核心節點服務器的信息發送至所述發布點服務器,所述發布點服務器適于在接收到所述核心節點服務器的信息時,將直播流發布至所述選取的核心節點服務器上;
[0027]存儲單元,適于存儲所述選取的核心節點服務器和所述直播流之間的映射關系。
[0028]可選地,所述方法還包括:所述選取單元選取的核心節點服務器為所述核心機組中正常運行且負載最小的核心節點服務器。
[0029]可選地,所述調度服務器還包括:節點刪除單元,適于將發生故障的核心節點服務器從所述核心機組中刪除。
[0030]可選地,所述調度服務器還包括:點添加單元,適于當確定所述發生故障的核心節點服務器恢復正常時,將所述核心節點服務器重新加入所述核心機組中。
[0031]可選地,所述調度服務器還包括:映射關系刪除單元,適于當接收到發布點服務器發送的直播流發布請求,且確定存在所述直播流與核心節點服務器之間的映射關系時,將所述映射關系刪除。
[0032]可選地,所述調度服務器還包括:映射關系修改單元,適于當檢測到核心機組中的核心節點服務器的信息變更時,修改相應的映射關系中的核心節點服務器的信息。
[0033]可選地,所述調度服務器還包括:過期刪除單元,適于當確定直播流過期時,刪除所述直播流和所述直播流與相應的核心節點服務器之間的映射關系。
[0034]可選地,所述調度服務器還包括:
[0035]獲取單元,適于當接收到邊緣節點服務器發送的獲取直播流的請求時,獲取所述邊緣節點服務器中緩存的直播流與核心節點服務器之間的映射關系;
[0036]查找單元,適于從所述映射關系中查找與所述直播流對應的核心節點服務器的信息;
[0037]第二發送單元,適于將查找得到的核心節點服務器的信息返回給所述邊緣節點服務器,所述邊緣節點服務器適于從所述核心節點服務器中獲取所述直播流。
[0038]可選地,所述調度服務器還包括:提示單元,適于當未查找到與所述直播流對應的核心節點服務器的信息時,發布所述直播流不存在的提示信息。
[0039]本發明實施例還提供了一種流媒體直播調度系統,所述系統包括源站服務器、發布點服務器、至少一個核心機組、邊緣節點服務器和上述的調度服務器,其中,所述源站服務器與所述發布點服務器連接,所述發布點服務器還與所述調度服務器連接,所述調度服務器還分別與所述核心機組和所述邊緣節點服務器連接。
[0040]與現有技術相比,本發明的技術方案具有以下的優點:
[0041]上述的方案,在接收到發布點服務器的直播流發布請求時,根據對核心機組內的核心節點服務器的運行狀況,從核心機組中選取核心節點服務器來發布所述直播流,而非按照預設的關系分配核心節點服務器,使得核心組中的核心節點服務器可以增加或者減少,易于維護,且靈活性強。
[0042]進一步地,每次選取運行正常且負載最小的核心節點服務器用于發布新的直播流,可以實現各個核心組內的核心節點服務器之間的負載均衡。
[0043]進一步地,當核心節點服務器的信息發生變更時,修改與所述核心節點服務器的對應的映射關系即可,而無需對發布服務器和邊緣節點服務器進行相應的變動,因而便于映射關系的管理和維護,節省運維成本。
[0044]進一步地,當邊緣節點服務器需要獲取相應的直播流時,只需要根據預先存儲的直播流和核心節點服務器之間的映射關系,便可以找到對應的核心節點服務器,獲取相應的直播流,因而可以方便直播流的回源操作。
[0045]進一步地,發布新的直播流時,當確定預先存儲的直播流和核心節點服務器之間的映射關系中已經存在存儲與所述直播流對應的映射關系時,將與所述直播流對應的映射關系刪除,使得各個直播流的映射關系保持唯一性,并可以節省存儲資源。
[0046]進一步地,當確定核心節點服務器上