一種直播流媒體的上傳方法及裝置的制造方法
【專利摘要】本發明公開了一種直播流媒體的上傳方法,包括通過包含多個獨立處理進程的第一網絡節點服務器接收直播用戶的直播請求;選取處理直播請求的第一處理進程;將第一處理進程具有的唯一的進程端口號添加在直播請求中生成直播許可請求發送給網絡管理中心;通過第一網絡節點服務器接收上傳的直播流媒體并存儲。本發明還公開了一種直播流媒體的上傳裝置,采用本發明,在網絡節點服務器無需額外的主處理進程進行控制,就能實現多路直播流媒體的并發,能有效應對大量直播流媒體并發時的沖擊,提升用戶直播體驗。
【專利說明】
一種直播流媒體的上傳方法及裝置
技術領域
[0001]本發明涉及流媒體數據處理領域,更具體地,涉及一種直播流媒體的上傳方法、裝置及系統,以及涉及一種流媒體的播放方法及裝置。
【背景技術】
[0002]流媒體直播是指通過互聯網及流媒體技術進行直播,直播的流媒體通常以視頻形式表現,融合了圖像、文字、聲音等豐富元素,聲形并茂,通過真實、生動的傳播,營造出強烈的現場感,吸引眼球,達成印象深刻、記憶持久的傳播效果,稱為當下互聯網直播服務的主流表達形式。
[0003]現有的流媒體直播技術多是基于⑶N(Content Delivery Network,即內容分發網絡),由直播用戶向與其網絡距離近的網絡節點服務器即CDN節點服務器發送直播請求,由該CDN節點服務器對該直播請求進行處理。發明人發現,在實際應用中,一個CDN節點服務器通常會接收多個直播用戶的直播請求,但現有技術的⑶N節點服務器通常對多個直播用戶的直播請求并發處理時,通常通過一個主處理進程控制若干個從處理進程進行處理,這在直播請求大量并發的情況下,主處理進程很容易被大量數據沖擊崩潰,進而使得所有從處理進程失去控制,導致無法支持并發處理直播請求,十分影響直播用戶的直播體驗。
[0004]因此,發明人認為,有必要針對上述現有技術中的技術問題進行改進。
【發明內容】
[0005]本發明的一個目的是提供一種用于直播流媒體上傳的新技術方案。
[0006]根據本發明的第一方面,提供了一種直播流媒體的上傳方法,包括:
[0007]通過第一網絡節點服務器接收直播用戶的第一直播流媒體的上傳請求,其中,所述第一直播流媒體的上傳請求至少包括所述第一直播流媒體的流媒體標識以及狀態信息;
[0008]通過所述第一網絡節點服務器從所包含的多個處理進程中選取第一處理進程;
[0009]通過所述第一處理進程在所述第一直播流媒體上傳請求中添加所述第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,生成第一上傳許可請求,發送至網絡管理中心;
[0010]通過所述第一處理進程接收所述網絡管理中心發送的第一上傳許可響應,并根據所述第一上傳許可響應處理所述第一直播流媒體的上傳請求。
[0011]進一步,所述通過所述第一網絡節點服務器從所包含的多個處理進程中選取第一處理進程,用于處理所述第一直播流媒體的上傳請求的步驟,還包括:
[0012]對第一直播流媒體的流媒體標識經過哈希算法得到第一哈希值;
[0013]將第一哈希值與所述第一網絡節點服務器包含的處理進程數目進行求余,獲得參考端口號;
[0014]選取與參考端口號對應的處理進程為第一處理進程。
[0015]進一步,所述通過所述第一網絡節點服務器從所包含的多個處理進程中選取第一處理進程,用于處理所述第一直播流媒體的上傳請求的步驟,還包括:
[0016]選取可用處理資源最多的處理進程為所述第一處理進程。
[0017]進一步,通過所述第一處理進程接收所述網絡管理中心發送的第一上傳許可響應,并根據所述第一上傳許可響應處理所述第一直播流媒體的上傳請求步驟,包括:
[0018]若所述第一上傳許可響應中包括拒絕上傳指示,所述第一處理進程不執行第一直播流媒體的上傳處理;
[0019]若所述第一上傳許可響應中包括允許上傳指示,所述第一處理進程接收上傳的第一直播流媒體并存儲。
[0020]進一步,所述方法還包括,根據所述第一網絡節點服務器的可用處理資源上限預先設置所述處理進程的數目。
[0021]進一步,所述方法還包括,根據所述第一網絡節點服務器支持的網絡傳輸協議的默認端口號,設置所述第一網絡節點服務器包含的每個所述處理進程的進程端口號。
[0022]更進一步,所述網絡傳輸協議為RTMP協議。
[0023]進一步,所述方法還包括,通過網絡管理中心響應所述第一上傳可序請求的步驟,包括:通過網絡管理中心接收第一網絡節點服務器發送的第一上傳許可請求,根據所述第一上傳許可請求包含的第一直播流媒體的狀態信息判斷是否允許上傳:
[0024]若所述第一直播流媒體的狀態信息為正常,則允許上傳,網絡管理中心記錄所述第一上傳許可請求所包含的第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,并發送包含允許上傳指示的第一上傳許可響應;
[0025]否則,不允許上傳,網絡管理中心發送包含拒絕上傳指示的第一上傳許可響應。
[0026]更進一步,所述方法還包括:
[0027]通過網絡管理中心接收通過某個網絡節點服務器發送的播放客戶端的第一直播流媒體的播放請求,向該網絡節點服務器返回所述第一直播流媒體的下載路徑信息,所述下載路徑信息至少包含所述第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息;
[0028]通過發送第一直播流媒體的播放請求的網絡節點服務器根據所述下載路徑信息下載所述第一直播流媒體并發送至播放客戶端以便進行播放。
[0029]進一步地,所述第一網絡節點服務器包括多個相互獨立的處理進程,每個所述處理進程具有唯一的進程端口號。
[0030]根據本發明的第二方面,提供了一種直播流媒體的上傳裝置,其特征在于,包括:
[0031]上傳請求接收單元,用于通過第一網絡節點服務器接收直播用戶的第一直播流媒體的上傳請求,其中,所述第一直播流媒體的上傳請求至少包括所述第一直播流媒體的流媒體標識以及狀態信息;
[0032]處理進程選取單元,用于通過所述第一網絡節點服務器從所包含的多個處理進程中選取第一處理進程;
[0033]上傳許可請求生成發送單元,用于由所述第一處理進程在所述第一直播流媒體上傳請求中添加所述第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,生成第一上傳許可請求,發送至網絡管理中心;
[0034]上傳許可響應接收處理單元,用于通過所述第一處理進程接收所述網絡管理中心發送的第一上傳許可響應,并根據所述第一上傳許可響應處理所述第一直播流媒體的上傳請求。
[0035]進一步,所述處理進程選取單元,還包括:
[0036]哈希值獲取子單元,用于對第一直播流媒體的流媒體標識經過哈希算法得到第一哈希值;
[0037]參考端口號獲取子單元,將第一哈希值與所述第一網絡節點服務器包含的處理進程數目進行求余,獲得參考端口號;
[0038]處理進程選取子單元,選取參考端口號對應的處理進程為第一處理進程。
[0039]進一步,所述處理進程選取單元,還用于選取可用處理資源最多的處理進程為所述第一處理進程。
[0040]進一步,所述上傳許可響應接收處理單元,還用于:
[0041]若所述第一上傳許可響應中包括拒絕上傳指示,所述第一處理進程不執行第一直播流媒體的上傳處理;
[0042]若所述第一上傳許可響應中包括允許上傳指示,所述第一處理進程接收上傳的第一直播流媒體并存儲。
[0043]進一步,所述裝置還包括處理進程數目設置單元,用于根據所述第一網絡節點服務器所具有的處理資源上限預先設置所述處理進程的數目。
[0044]進一步,所述裝置還包括進程端口號設置單元,用于根據所述第一網絡節點服務器支持的網絡傳輸協議的默認端口號,設置所述第一網絡節點服務器包含的每個所述處理進程的進程端口號。
[0045]更進一步,所述網絡傳輸協議為RTMP協議。
[0046]進一步,所述裝置,還包括:
[0047]上傳許可請求響應單元,用于通過網絡管理中心接收第一網絡節點服務器發送的第一上傳許可請求,根據所述第一上傳許可請求包含的第一直播流媒體的狀態信息判斷是否允許上傳:
[0048]若所述第一直播流媒體的狀態信息為正常,則允許上傳,網絡管理中心記錄所述第一上傳許可請求所包含的第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,并發送包含允許上傳指示的第一上傳許可響應;
[0049]更進一步地,所述裝置,還包括:
[0050]播放請求處理單元,用于通過網絡管理中心接收通過某個網絡節點服務器發送的播放客戶端的第一直播流媒體的播放請求,向該網絡節點服務器返回所述第一直播流媒體的下載路徑信息,所述下載路徑信息至少包含所述第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息;
[0051]下載播放單元,通過發送第一直播流媒體的播放請求的網絡節點服務器根據所述下載路徑信息下載所述第一直播流媒體并發送至播放客戶端以便進行播放。進一步地,所述第一網絡節點服務器包括多個相互獨立的處理進程,每個所述處理進程具有唯一的進程端口號。
[0052]本發明的發明人發現,在現有技術中,尚未提出一種直播流媒體的上傳方法及裝置,在網絡節點服務器無需額外的主處理進程進行控制,就能實現多路直播流媒體的并發,能有效應對大量直播流媒體并發時的沖擊,提升用戶直播體驗。因此,本發明所要實現的技術任務或者所要解決的技術問題是本領域技術人員從未想到的或者沒有預期到的,故本發明是一種新的技術方案。
[0053]通過以下參照附圖對本發明的示例性實施例的詳細描述,本發明的其它特征及其優點將會變得清楚。
【附圖說明】
[0054]被結合在說明書中并構成說明書的一部分的附圖示出了本發明的實施例,并且連同其說明一起用于解釋本發明的原理。
[0055]圖1是本發明第一實施例的上傳方法的流程圖。
[0056]圖2是本發明第一實施例的上傳方法的一個例子的流程圖。
[0057]圖3是本發明第一實施例的上傳方法的流程圖。
[0058]圖4是本發明第二實施例的上傳方法的流程圖。
[0059]圖5是本發明第二實施例的上傳方法的流程圖。
[0060]圖6是本發明第一實施例的上傳裝置的框圖。
[0061 ]圖7是本發明第一實施例的上傳裝置的框圖。
[0062]圖8是本發明第二實施例的播放裝置的框圖。
[0063]圖9是本發明第二實施例的播放裝置的框圖。
[0064]圖10是本發明第一實施例的直播流媒體上傳系統的示意圖。
[0065]圖11是本發明第二實施例的直播流媒體播放系統的示意圖。
【具體實施方式】
[0066]現在將參照附圖來詳細描述本發明的各種示例性實施例。應注意到:除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對布置、數字表達式和數值不限制本發明的范圍。
[0067]以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本發明及其應用或使用的任何限制。
[0068]對于相關領域普通技術人員已知的技術、方法和設備可能不作詳細討論,但在適當情況下,所述技術、方法和設備應當被視為說明書的一部分。
[0069]在這里示出和討論的所有例子中,任何具體值應被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實施例的其它例子可以具有不同的值。
[0070]應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步討論。
[0071 ]〈第一實施例〉
[0072]本發明的第一實施例,如圖1所示,提供一種直播流媒體的上傳方法,該方法通過第一網絡節點服務器實現,包括:
[0073]步驟S1100,通過第一網絡節點服務器接收直播用戶的第一直播流媒體的上傳請求,其中,所述第一直播流媒體的上傳請求至少包括所述第一直播流媒體的流媒體標識以及狀態信息。
[0074]通常直播用戶都基于⑶N(Content Delivery Network,即內容分發網絡)進行直播,流媒體直播請求通常基于DNS發送,至少發送對應的直播流媒體的流媒體標識以及狀態信息,流媒體標識用于標識不同的流媒體數據,具體的定義符合采用的流媒體協議,流媒體的狀態信息通常包括流媒體是否合法,以及流媒體是在播放中、未播放等。進一步,所述第一網絡節點服務器為CDN節點服務器。所述CDN節點服務器是在內容分發網絡中各處放置的節點服務器。
[0075]一般的網絡節點服務器都采用主處理進程控制多個從處理進程(Master-SlaveMode),或者一個網絡節點服務器只維護一個處理進程,在本實施例中,第一網絡節點服務器包括多個相互獨立的處理進程,其中,處理進程是第一網絡節點服務器中基本的處理單元,并不一定限制在第一網絡節點服務器包含的某一個具體的實體設備內,而有可能每個處理進程所需要的處理資源散步在網絡節點服務器包含的多個實體設備中。并且每個處理進程之間相互獨立,即每個處理進程運行過程中不受其他處理進程影響,多個處理進程同時運行可以實現第一網絡節點服務器提供并發服務,例如多路直播流媒體的并發。
[0076]在一個例子中,可以根據預先設置的所述處理進程的數目,生成對應的處理進程。第一網絡節點服務器包含的處理進程數目不是固定不變的,可以根據處理需求預先設置,在根據設置的數目,在生成,例如,預先設置某個所述處理進程的數目為20,設置生效后則對應的第一網絡節點服務器包含20個處理進程。
[0077]進一步地,還可以根據所述第一網絡節點服務器的可用處理資源上限預先設置所述處理進程的數目。例如,第一網絡節點服務器可用處理資源上限是最多支持同時并發處理30路直播流媒體,而一個處理進程處理被限制為最多處理兩路直播流媒體,則預先設置的處理進程的數目為15,若一個處理進程被限制為只處理一路直播流媒體,則預先設置的處理進程數目為30。
[0078]并且,第一網絡節點服務器中包含每個所述處理進程具有唯一的進程端口號。所述進程端口號可以任意設置,只要能使得第一網絡服務器包含的每個處理進程的進程端口號是互不相同,可以用于唯一標識對應的處理進程的目的,例如,第一網絡節點服務器包含20個處理進程,可以對20個處理進程分別設置進程端口號為O,I,2,……19。在一個例子中,可以根據所述第一網絡節點服務器支持的流媒體協議的默認端口號,設置所述第一網絡節點服務器包含的每個所述處理進程的進程端口號。常見的流媒體協議有RTMP(Real TimeMessaging Protocol,實時消息傳輸協議)、RTSP(Real Time Streaming Protocol,實時流傳輸協議)、MMSP(Microsoft Media Server Protocol,微軟媒體服務器協議)、RTP(Real_time Transport Protocol,實時傳輸協議)等。進一步,所述流媒體協議為RTMP。以第一網絡節點服務器支持的流媒體協議為RTMP舉例,RTMP的默認端口號為1935,若第一網絡節點服務器包含20個處理進程,設置20個處理進程的進程端口號為1936,1937,1938,……,1954,1955ο
[0079]在步驟SllOO之后,進入步驟S1200,通過所述第一網絡節點服務器從所包含的多個處理進程中選取第一處理進程,用于處理所述第一直播流媒體的上傳請求。
[0080]通過第一網絡節點服務器選取第一處理進程,可以采取多種選取方法,使得能盡可能利用第一網絡節點服務器所包含的處理進程,實現直播視頻在單個網絡節點服務器的并發上傳,例如簡單的順序選取,或者通過輪詢算法選取。在另一個例子中,選取方法還可以由如圖2所示,包括:
[0081 ]步驟SI 210,對第一直播流媒體的流媒體標識經過哈希算法得到第一哈希值。采用現有的任意一種哈希算法,都可以將任意長度的二進制值映射為較短的固定長度的二進制值即哈希值,哈希值是一段數據唯一且極其緊湊的數值表示形式。因此采用哈希算法,可以使得獲取的第一哈希值與第一直播流媒體的流媒體標識唯一對應。
[0082]步驟S1220,將第一哈希值與所述第一網絡節點服務器包含的處理進程數目進行求余,獲得參考端口號。第一哈希值對處理進程數目求余,若處理進程數目為大于I的正整數N,則獲得的參考端口號的取值范圍在[0,N-1]的正整數。
[0083]步驟S1230,選取與參考端口號對應的處理進程為第一處理進程。
[0084]以處理進程的數目為20,參考端口號為5為例,若20個處理進程的進程端口號為1936,1937,……1955,則進程端口號為1940的處理進程與參考端口號對應,將該處理進程選取為第一處理進程。
[0085]在又一個例子中,步驟S1200中選取方法還包括,選取可用處理資源最多的處理進程為所述第一處理進程。每次為處理新到達的流媒體直播請求選取可用處理資源最多的處理進程,可以進一步提升第一網絡節點服務器的處理資源利用率,實現多個處理進程之間的負載均衡。
[0086]應當注意,雖然上述例子列舉了選取第一處理進程的方法,但并不意味著,限定第一處理進程只能處理第一直播流媒體的上傳請求,第一處理進程也被選取用于處理多路第一直播流媒體的上傳請求。
[0087]在步驟S1200之后,進入步驟S1300,通過所述第一處理進程在所述第一直播流媒體上傳請求中添加所述第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,生成第一上傳許可請求,發送至網絡管理中心。
[0088]其中,第一上傳許可請求在一些網絡協議中又稱為鑒權請求,直播用戶所需直播流媒體通常都需要進過網絡管理中心的鑒權允許,判斷狀態是否正常允許直播等,在本實施例中,在第一上傳許可請求中還需攜帶網絡節點服務器的地址信息(例如IP地址等)以及處理第一直播流媒體的上傳請求的第一處理進程的進程端口號,以便網絡管理中心記錄,后續生成與第一直播流媒體下載播放的下載路徑信息。
[0089]在步驟S1300之后,進入步驟S1400,通過所述第一處理進程接收所述網絡管理中心發送的第一上傳許可響應,并根據所述第一上傳許可響應包含的上傳指示執行第一直播流媒體的上傳處理。
[0090]在一個例子中,步驟S1400還包括:若所述第一上傳許可響應中包括拒絕上傳指示,所述第一處理進程不執行第一直播流媒體的上傳處理;若所述第一上傳許可響應中包括允許上傳指示,所述第一處理進程接收上傳的第一直播流媒體并存儲。
[0091]與上述的實施例相對應,在另一個實施例中還提供一種直播流媒體的上傳方法,通過網絡管理中心實現,如圖3所示,包括:
[0092]步驟S2100,通過網絡管理中心接收第一網絡節點服務器發送的第一上傳許可請求;
[0093]步驟S2200,通過網絡管理中心記錄所述第一上傳許可請求所包含的第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,并生成第一上傳許可響應,發送至所述第一網絡節點服務器。
[0094]在一個例子中,步驟S2200還包括,根據所述第一上傳許可請求包含的第一直播流媒體的狀態信息判斷是否允許上傳:若所述第一直播流媒體的狀態信息為正常,則允許上傳,網絡管理中心記錄所述第一上傳許可請求所包含的第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,并發送包含允許上傳指示的第一上傳許可響應;否則,不允許上傳,網絡管理中心發送包含拒絕上傳指示的第一上傳許可響應。
[0095]第一直播流媒體的狀態信息,流媒體的狀態信息通常包括流媒體是否合法,以及流媒體是在播放中、未播放等,所述直播流媒體的狀態信息正常,通常是指流媒體來源合法等。反之,狀態為異常。判斷直播流媒體的狀態信息是否正常的具體規則還可以遵從網絡傳輸協議、行業標準或國家標準等,不再贅述。
[0096]在一個例子,本實施例中提供的流媒體服務上傳方法,還包括:通過網絡管理中心接收通過某個網絡節點服務器發送的播放客戶端的第一直播流媒體的播放請求,向該網絡節點服務器返回所述第一直播流媒體的下載路徑信息,所述下載路徑信息至少包含所述第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息;
[0097]通過發送第一直播流媒體的播放請求的網絡節點服務器根據所述下載路徑信息下載所述第一直播流媒體并發送至播放客戶端以便進行播放。
[0098]圖5示出了根據本發明第一實施例的一種直播流媒體的上傳裝置5000,上傳裝置5000可以包含在第一網絡節點服務器中或與第一網絡節點服務器連接,用于實現圖1或圖2所示的上傳方法,故重復部分不再詳細描述。
[0099]上傳裝置5000包括:上傳請求接收單元5100、處理進程選取單元5200、上傳許可請求生成發送單元5300以及上傳許可響應接收處理單元5400,進一步,還包括處理進程生成單元5500、處理進程數據設置單元5600、進程端口號設置單元5700。
[0100]上傳請求接收單元5100,用于通過第一網絡節點服務器接收直播用戶的第一直播流媒體的上傳請求,其中,所述第一直播流媒體的上傳請求至少包括所述第一直播流媒體的流媒體標識以及狀態信息。
[0101]進一步,所述第一網絡節點服務器為⑶N節點服務器。
[0102]處理進程選取單元5200,用于通過所述第一網絡節點服務器從所包含的多個處理進程中選取第一處理進程。
[0103]進一步,所述處理進程選取單元5200,還包括:
[0104]哈希值獲取子單元5210,用于對第一直播流媒體的流媒體標識經過哈希算法得到第一哈希值;
[0105]參考端口號獲取子單元5220,將第一哈希值與所述第一網絡節點服務器包含的處理進程數目進行求余,獲得參考端口號;
[0106]處理進程選取子單元5230,選取參考端口號對應的處理進程為第一處理進程。
[0107]進一步,所述處理進程選取單元5200,還用于選取可用處理資源最多的處理進程為所述第一處理進程。
[0108]上傳許可請求生成發送單元5300,用于通過所述第一處理進程在所述第一直播流媒體上傳請求中添加所述第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,生成第一上傳許可請求,發送至網絡管理中心。
[0109]上傳許可響應接收處理單元5400,用于通過所述第一處理進程接收所述網絡管理中心發送的第一上傳許可響應,并根據所述第一上傳許可響應處理所述第一直播流媒體的上傳請求。
[0110]進一步,上傳許可響應接收處理單元5400,還用于:若所述第一上傳許可響應中包括拒絕上傳指示,所述第一處理進程不執行第一直播流媒體的上傳處理;若所述第一上傳許可響應中包括允許上傳指示,所述第一處理進程接收上傳的第一直播流媒體并存儲。
[0111]進一步,所述上傳裝置5000,還包括處理進程生成單元5500,用于根據預先設置的所述處理進程的數目,生成對應的處理進程。
[0112]進一步,所述上傳裝置5000,還包括處理進程數目設置單元5600,用于根據所述第一網絡節點服務器所具有的處理資源上限預先設置所述處理進程的數目。
[0113]進一步,所述上傳裝置5000,還包括進程端口號設置單元5700,用于根據所述第一網絡節點服務器支持的網絡傳輸協議的默認端口號,設置所述第一網絡節點服務器包含的每個所述處理進程的進程端口號。
[0114]進一步,所述網絡傳輸協議為RTMP協議。
[0115]圖5示出了與上述實施例提供的上傳裝置5000對應的上傳裝置6000,上傳裝置6000可以包含在網絡管理中心中或與網絡管理中心連接,用于實現圖3所示的上傳方法,故重復部分不再詳細描述。
[0116]上傳裝置6000包括上傳許可請求接收單元6100上傳許可請求響應單元6200、播放請求處理單元單元(未示出)以及下載播放單元(未示出)。
[0117]上傳許可請求接收單元6100,用于通過網絡管理中心接收第一網絡節點服務器發送的第一上傳許可請求;
[0118]上傳許可請求響應單元6200,用于通過網絡管理中心記錄所述第一上傳許可請求所包含的第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,并生成第一上傳許可響應,發送至所述第一網絡節點服務器。
[0119]所述上傳許可請求響應單元6200,還用于根據所述第一上傳許可請求包含的第一直播流媒體的狀態信息判斷是否允許上傳:
[0120]若所述第一直播流媒體的狀態信息為正常,則允許上傳,網絡管理中心記錄所述第一上傳許可請求所包含的第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,并發送包含允許上傳指示的第一上傳許可響應;
[0121]否則,不允許上傳,網絡管理中心發送包含拒絕上傳指示的第一上傳許可響應。
[0122]進一步地,所述裝置6000,還包括:
[0123]播放請求處理單元,用于通過網絡管理中心接收通過某個網絡節點服務器發送的播放客戶端的第一直播流媒體的播放請求,向該網絡節點服務器返回所述第一直播流媒體的下載路徑信息,所述下載路徑信息至少包含所述第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息;
[0124]下載播放單元,通過發送第一直播流媒體的播放請求的網絡節點服務器根據所述下載路徑信息下載所述第一直播流媒體并發送至播放客戶端以便進行播放。
[0125]進一步地,所述第一網絡節點服務器包括多個相互獨立的處理進程,每個所述處理進程具有唯一的進程端口號。
[0126]根據本發明的第一實施例,還提供一種直播流媒體的系統,如圖10所示,包括第一網絡節點服務器51和網絡管理中心61。
[0127]第一網絡節點服務器51,包括多個相互獨立的處理進程,每個所述處理進程具有唯一的進程端口號,并且本發明實施例提供的上傳裝置5000,用于接收直播用戶的第一直播流媒體的上傳請求,從其包含的多個處理進程中選取第一處理進程,在所述第一直播流媒體上傳請求中添加所述第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,生成第一上傳許可請求,發送至網絡管理中心,并且通過所述第一處理進程接收所述網絡管理中心發送的第一上傳許可響應,并根據所述第一上傳許可響應處理所述第一直播流媒體的上傳請求。
[0128]所述網絡管理中心并且本發明實施例提供的上傳裝置6000,用于接收第一網絡節點服務器發送的第一上傳許可請求,以及記錄所述第一上傳許可請求所包含的第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,并生成第一上傳許可響應,發送至所述第一網絡節點服務器。
[0129]以上已經結合附圖描述了本發明的第一實施例,根據本實施例,提供一種直播流媒體的上傳方法、裝置,通過包含多個獨立處理進程的第一網絡節點服務器接收直播用戶的直播請求,選取處理直播請求的第一處理進程,并將第一處理進程具有的唯一的進程端口號添加在直播請求中生成直播許可請求發送給網絡管理中心,通過網絡管理中心記錄第一處理進程的進程端口號并生成直播許可響應發送至第一網絡節點服務器,再通過第一網絡節點服務器接收上傳的直播流媒體并存儲。采用本方案,可以在網絡節點服務器側對多路直播流媒體并行上傳,無需額外的主處理進程進行控制,能有效應對大量直播流媒體并發時的沖擊,提升用戶直播體驗。
[0130]〈第二實施例〉
[0131]本發明的第二實施例,如圖4所示,提供一種直播流媒體的播放方法,通過第二網絡節點服務器實現,包括:
[0132]步驟S3100,通過第二網絡節點服務器接收播放客戶端的第一直播流媒體的播放請求并將所述播放請求發送至網絡管理中心,其中,所述第一直播流媒體根據第一實施例中提供的如圖1或圖2所示的上傳方法進行上傳,并存儲于所述第一網絡節點服務器的所述第一處理進程;
[0133]步驟S3200,通過第二網絡節點服務器接收所述網絡管理中心發送的所述第一直播流媒體的下載路徑信息,所述下載路徑信息至少包含所述第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,用于指示所述第一直播流媒體存儲于所述第一網絡節點服務器的所述第一處理進程;
[0134]步驟S3300,通過所述第二網絡節點服務器根據所述下載路徑信息下載所述第一直播流媒體并發送至播放客戶端以便進行播放。
[0135]第二網絡節點服務器根據下載路徑信息,可以根據下載路徑指示,從第一網絡節點服務器的第一處理進程直接下載第一直播流媒體,無需第一網絡節點服務器再通過主處理進程分配從處理進程并控制其進行處理。
[0136]對應地,如圖5所示,本發明的第二實施例還提供一種直播流媒體的播放請求處理方法,通過網絡管理中心實現,包括:
[0137]步驟S4100,通過網絡管理中心接收第二網絡節點服務器發送的第一直播流媒體的播放請求;
[0138]步驟S4200,通過網絡管理中心根據本發明第一實施例提供的如圖3所示的方法記錄的所述第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,生成第一直播流媒體的播放請求的下載路徑信息,并發送至所述第二網絡節點服務器,所述下載路徑信息用于指示所述第一直播流媒體存儲于所述第一網絡節點服務器的所述第一處理進程。
[0139]圖8示出了根據本發明第二實施例的一種直播流媒體的播放裝置7000,播放裝置7000可以包含在第二網絡節點服務器中或與第二網絡節點服務器連接,用于實現圖4示的上傳方法,故重復部分不再詳細描述。
[0140]播放裝置7000包括:播放請求處理單元7100、下載路徑信息接收單元7200以及下載播放單元7300。
[0141]播放請求處理單元7100,用于通過第二網絡節點服務器接收播放客戶端的第一直播流媒體的播放請求并將所述播放請求發送至網絡管理中心,其中,所述第一直播流媒體根據第一實施例中提供的如圖1或圖2所示的上傳方法進行上傳,存儲于所述第一網絡節點服務器的所述第一處理進程。
[0142]下載路徑信息接收單元7200,用于通過第二網絡節點服務器接收所述網絡管理中心發送的所述第一直播流媒體的下載路徑信息,所述下載路徑信息至少包含所述第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,用于指示所述第一直播流媒體存儲于所述第一網絡節點服務器的所述第一處理進程;。
[0143]下載播放單元7300,用于通過所述第二網絡節點服務器根據所述下載路徑信息下載所述第一直播流媒體并發送至播放客戶端以便進行播放。
[0144]圖9示出了與上述實施例提供的播放裝置7000對應的播放請求處理裝置8000,播放請求處理裝置8000可以包含在網絡管理中心中或與網絡管理中心連接,用于實現圖5所示的播放請求處理方法,故重復部分不再詳細描述。
[0145]播放請求處理裝置8000,包括:播放請求接收單元8100、下載路徑信息生成單元8200以及下載路徑信息發送單元8300。
[0146]播放請求接收單元8100,用于通過網絡管理中心接收第二網絡節點服務器發送的第一直播流媒體的播放請求。
[0147]下載路徑信息生成單元8200,用于通過網絡管理中心生成第一直播流媒體的播放請求的下載路徑信息,所述下載路徑信息中至少包含根據權利要求10或11所述的方法所記錄的所述第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,用于指示所述第一直播流媒體存儲于所述第一網絡節點服務器的所述第一處理進程;
[0148]下載路徑信息發送單元8300,用于通過網絡管理中心將所述下載路徑信息發送至所述第二網絡節點服務器。
[0149]根據本發明的第二實施例,還提供一種直播流媒體的系統,如圖11所示,包括第二網絡節點服務器71和網絡管理中心81。
[0150]第二網絡節點服務器71,包含本發明第二實施例提供的播放裝置7000,用于接收播放客戶端的第一直播流媒體的播放請求并將所述播放請求發送至網絡管理中心,以及接收所述網絡管理中心發送的所述第一直播流媒體的下載路徑信息,并且根據所述下載路徑信息下載所述第一直播流媒體并發送至播放客戶端以便進行播放;
[0151]所述網絡管理中心包含本發明第二實施例提供的播放請求處理裝置8000,用于接收第二網絡節點服務器發送的第一直播流媒體的播放請求,生成第一直播流媒體的播放請求的下載路徑信息,并發送至所述第二網絡節點服務器。
[0152]以上已經結合附圖描述了本發明的第二實施例,根據本實施例,提供一種直播流媒體的播放方法、裝置和對應的播放請求處理方法、裝置以及系統,通過第二網絡節點服務器接收第一直播流媒體的播放請求發送至網絡管理中心,網絡管理中心生成下載路徑信息發送至第二網絡節點服務器,指示第一直播流媒體存儲于第一網絡節點服務器的第一處理進程,第二網絡節點服務器根據指示進行下載并發送至客戶端以便于播放。采用本方案,可以在網絡節點服務器側對多路直播流媒體實現并行播放,無需額外的主處理進程進行控制,能有效應對大量直播流媒體并發時的沖擊,提升用戶觀看直播的體驗。
[0153]本領域技術人員應當明白,可以通過各種方式來實現本實施例提供的上傳裝置和播放裝置。例如,可以通過指令配置處理器來實現上傳裝置和播放裝置。例如,可以將指令存儲在ROM中,并且當啟動設備時,將指令從ROM讀取到可編程器件中來實現上傳裝置和播放裝置。例如,可以將上上傳裝置和播放裝置固化到專用器件(例如ASIC)中。可以將上傳裝置上傳裝置和播放裝置分成相互獨立的單元,或者可以將它們合并在一起實現。上傳裝置和播放裝置可以通過上述各種實現方式中的一種來實現,或者可以通過上述各種實現方式中的兩種或更多種方式的組合來實現。
[0154]注意,在本文中,所述“第一”、“第二”等單詞僅用于簡單限定其后的名詞以便于閱讀,但并不意味著限定對應的被限定的名詞的先后時序、順序、個數等,例如“第一網絡節點服務器”和“第一網絡節點服務器”有可能是相同的網絡節點服務器,也可能是不同的網絡節點服務器。
[0155]本發明可以是系統、方法和/或計算機程序產品。計算機程序產品可以包括計算機可讀存儲介質,其上載有用于使處理器實現本發明的各個方面的計算機可讀程序指令。
[0156]計算機可讀存儲介質可以是可以保持和存儲由指令執行設備使用的指令的有形設備。計算機可讀存儲介質例如可以是一一但不限于一一電存儲設備、磁存儲設備、光存儲設備、電磁存儲設備、半導體存儲設備或者上述的任意合適的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、靜態隨機存取存儲器(SRAM)、便攜式壓縮盤只讀存儲器(CD-ROM)、數字多功能盤(DVD)、記憶棒、軟盤、機械編碼設備、例如其上存儲有指令的打孔卡或凹槽內凸起結構、以及上述的任意合適的組合。這里所使用的計算機可讀存儲介質不被解釋為瞬時信號本身,諸如無線電波或者其他自由傳播的電磁波、通過波導或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸的電信號。
[0157]這里所描述的計算機可讀程序指令可以從計算機可讀存儲介質下載到各個計算/處理設備,或者通過網絡、例如因特網、局域網、廣域網和/或無線網下載到外部計算機或外部存儲設備。網絡可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機、網關計算機和/或邊緣服務器。每個計算/處理設備中的網絡適配卡或者網絡接口從網絡接收計算機可讀程序指令,并轉發該計算機可讀程序指令,以供存儲在各個計算/處理設備中的計算機可讀存儲介質中。
[0158]用于執行本發明操作的計算機程序指令可以是匯編指令、指令集架構(ISA)指令、機器指令、機器相關指令、微代碼、固件指令、狀態設置數據、或者以一種或多種編程語言的任意組合編寫的源代碼或目標代碼,所述編程語言包括面向對象的編程語言一諸如Smalltalk、C++等,以及常規的過程式編程語言一諸如“C”語言或類似的編程語言。計算機可讀程序指令可以完全地在用戶計算機上執行、部分地在用戶計算機上執行、作為一個獨立的軟件包執行、部分在用戶計算機上部分在遠程計算機上執行、或者完全在遠程計算機或服務器上執行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡一包括局域網(LAN)或廣域網(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。在一些實施例中,通過利用計算機可讀程序指令的狀態信息來個性化定制電子電路,例如可編程邏輯電路、現場可編程門陣列(FPGA)或可編程邏輯陣列(PLA),該電子電路可以執行計算機可讀程序指令,從而實現本發明的各個方面。
[0159]這里參照根據本發明實施例的方法、裝置(系統)和計算機程序產品的流程圖和/或框圖描述了本發明的各個方面。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機可讀程序指令實現。
[0160]這些計算機可讀程序指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器,從而生產出一種機器,使得這些指令在通過計算機或其它可編程數據處理裝置的處理器執行時,產生了實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的裝置。也可以把這些計算機可讀程序指令存儲在計算機可讀存儲介質中,這些指令使得計算機、可編程數據處理裝置和/或其他設備以特定方式工作,從而,存儲有指令的計算機可讀介質則包括一個制造品,其包括實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的各個方面的指令。
[0161]也可以把計算機可讀程序指令加載到計算機、其它可編程數據處理裝置、或其它設備上,使得在計算機、其它可編程數據處理裝置或其它設備上執行一系列操作步驟,以產生計算機實現的過程,從而使得在計算機、其它可編程數據處理裝置、或其它設備上執行的指令實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作。
[0162]附圖中的流程圖和框圖顯示了根據本發明的多個實施例的系統、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個或多個用于實現規定的邏輯功能的可執行指令。在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個連續的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或動作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。對于本領域技術人員來說公知的是,通過硬件方式實現、通過軟件方式實現以及通過軟件和硬件結合的方式實現都是等價的。
[0163]以上已經描述了本發明的各實施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實施例。在不偏離所說明的各實施例的范圍和精神的情況下,對于本技術領域的普通技術人員來說許多修改和變更都是顯而易見的。本文中所用術語的選擇,旨在最好地解釋各實施例的原理、實際應用或對市場中的技術改進,或者使本技術領域的其它普通技術人員能理解本文披露的各實施例。本發明的范圍由所附權利要求來限定。
【主權項】
1.一種直播流媒體的上傳方法,其特征在于,包括: 通過第一網絡節點服務器接收直播用戶的第一直播流媒體的上傳請求,其中,所述第一直播流媒體的上傳請求至少包括所述第一直播流媒體的流媒體標識以及狀態信息; 通過所述第一網絡節點服務器從所包含的多個處理進程中選取第一處理進程; 由所述第一處理進程在所述第一直播流媒體上傳請求中添加所述第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,生成第一上傳許可請求,發送至網絡管理中心; 通過所述第一處理進程接收所述網絡管理中心發送的第一上傳許可響應,并根據所述第一上傳許可響應處理所述第一直播流媒體的上傳請求。2.根據權利要求1所述的方法,其特征在于,所述通過所述第一網絡節點服務器從所包含的多個處理進程中選取第一處理進程的步驟,還包括: 對第一直播流媒體的流媒體標識經過哈希算法得到第一哈希值; 將第一哈希值與所述第一網絡節點服務器包含的處理進程數目進行求余,獲得參考端□號; 選取與參考端口號對應的處理進程為第一處理進程。3.根據權利要求1所述的方法,其特征在于,所述通過所述第一網絡節點服務器從所包含的多個處理進程中選取第一處理進程的步驟,還包括: 選取可用處理資源最多的處理進程為所述第一處理進程。4.根據權利要求1或2或3所述的方法,其特征在于,通過所述第一處理進程接收所述網絡管理中心發送的第一上傳許可響應,并根據所述第一上傳許可響應處理所述第一直播流媒體的上傳請求步驟,包括: 若所述第一上傳許可響應中包括拒絕上傳指示,所述第一處理進程不執行第一直播流媒體的上傳處理; 若所述第一上傳許可響應中包括允許上傳指示,所述第一處理進程接收上傳的第一直播流媒體并存儲。5.根據權利要求1或2或3所述的方法,其特征在于,還包括,根據所述第一網絡節點服務器的可用處理資源上限預先設置所述處理進程的數目。6.根據權利要求1所述的方法,其特征在于,還包括,根據所述第一網絡節點服務器支持的網絡傳輸協議的默認端口號,設置所述第一網絡節點服務器包含的每個所述處理進程的進程端口號。7.根據權利要求6所述的方法,其特征在于,所述網絡傳輸協議為RTMP協議。8.根據權利要求1至7任一所述的方法,其特征在于,還包括通過網絡管理中心響應所述第一上傳可序請求的步驟,包括: 通過網絡管理中心接收第一網絡節點服務器發送的第一上傳許可請求,根據所述第一上傳許可請求包含的第一直播流媒體的狀態信息判斷是否允許上傳: 若所述第一直播流媒體的狀態信息為正常,則允許上傳,網絡管理中心記錄所述第一上傳許可請求所包含的第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,并發送包含允許上傳指示的第一上傳許可響應; 否則,不允許上傳,網絡管理中心發送包含拒絕上傳指示的第一上傳許可響應。9.根據權利要求8所述的方法,其特征在于,還包括: 通過網絡管理中心接收通過某個網絡節點服務器發送的播放客戶端的第一直播流媒體的播放請求,向該網絡節點服務器返回所述第一直播流媒體的下載路徑信息,所述下載路徑信息至少包含所述第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息; 通過發送第一直播流媒體的播放請求的網絡節點服務器根據所述下載路徑信息下載所述第一直播流媒體并發送至播放客戶端以便進行播放。10.根據權利要求1至3任一所述的方法,其特征在于,還包括: 所述第一網絡節點服務器包括多個相互獨立的處理進程,每個所述處理進程具有唯一的進程端口號。11.一種直播流媒體的上傳裝置,其特征在于,包括: 上傳請求接收單元,用于通過第一網絡節點服務器接收直播用戶的第一直播流媒體的上傳請求,其中,所述第一直播流媒體的上傳請求至少包括所述第一直播流媒體的流媒體標識以及狀態信息; 處理進程選取單元,用于通過所述第一網絡節點服務器從所包含的多個處理進程中選取第一處理進程; 上傳許可請求發送單元用于由所述第一處理進程在所述第一直播流媒體上傳請求中添加所述第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,生成第一上傳許可請求,發送至網絡管理中心; 上傳許可響應接收處理單元,用于通過所述第一處理進程接收所述網絡管理中心發送的第一上傳許可響應,并根據所述第一上傳許可響應處理所述第一直播流媒體的上傳請求。12.根據權利要求11所述的上傳裝置,其特征在于,所述處理進程選取單元,還包括: 哈希值獲取子單元,用于對第一直播流媒體的流媒體標識經過哈希算法得到第一哈希值; 參考端口號獲取子單元,將第一哈希值與所述第一網絡節點服務器包含的處理進程數目進行求余,獲得參考端口號; 處理進程選取子單元,選取參考端口號對應的處理進程為第一處理進程。13.根據權利要求11所述的上傳裝置,其特征在于,所述處理進程選取單元,還用于選取可用處理資源最多的處理進程為所述第一處理進程。14.根據權利要求11或12或13所述的上傳裝置,其特征在于,所述上傳許可響應接收處理單元,還用于: 若所述第一上傳許可響應中包括拒絕上傳指示,所述第一處理進程不執行第一直播流媒體的上傳處理; 若所述第一上傳許可響應中包括允許上傳指示,所述第一處理進程接收上傳的第一直播流媒體并存儲。15.根據權利要求11或12或13所述的上傳裝置,其特征在于,還包括,處理進程數目設置單元,用于根據所述第一網絡節點服務器所具有的處理資源上限預先設置所述處理進程的數目。16.根據權利要求11所述的上傳裝置,其特征在于,還包括,進程端口號設置單元,用于根據所述第一網絡節點服務器支持的網絡傳輸協議的默認端口號,設置所述第一網絡節點服務器包含的每個所述處理進程的進程端口號。17.根據權利要求16所述的上傳裝置,其特征在于,所述網絡傳輸協議為RTMP協議。18.根據權利要求11至17任一項所述的上傳裝置,其特征在于,還包括: 上傳許可請求響應單元,用于通過網絡管理中心接收第一網絡節點服務器發送的第一上傳許可請求,根據所述第一上傳許可請求包含的第一直播流媒體的狀態信息判斷是否允許上傳: 若所述第一直播流媒體的狀態信息為正常,則允許上傳,網絡管理中心記錄所述第一上傳許可請求所包含的第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息,并發送包含允許上傳指示的第一上傳許可響應; 否則,不允許上傳,網絡管理中心發送包含拒絕上傳指示的第一上傳許可響應。19.根據權利要求18所述的裝置,其特征在于,還包括: 播放請求處理單元,用于通過網絡管理中心接收通過某個網絡節點服務器發送的播放客戶端的第一直播流媒體的播放請求,向該網絡節點服務器返回所述第一直播流媒體的下載路徑信息,所述下載路徑信息至少包含所述第一處理進程的進程端口號以及所述第一網絡節點服務器的地址信息; 下載播放單元,通過發送第一直播流媒體的播放請求的網絡節點服務器根據所述下載路徑信息下載所述第一直播流媒體并發送至播放客戶端以便進行播放。20.根據權利要求11或12或13所述的上傳裝置,其特征在于,所述第一網絡節點服務器包括多個相互獨立的處理進程,每個所述處理進程具有唯一的進程端口號。
【文檔編號】H04N21/658GK105959711SQ201610252513
【公開日】2016年9月21日
【申請日】2016年4月21日
【發明人】魏立志
【申請人】樂視控股(北京)有限公司, 樂視云計算有限公司