两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

直播方法、裝置及系統(tǒng)、服務(wù)器、存儲介質(zhì)與流程

文檔序號:12890097閱讀:253來源:國知局
直播方法、裝置及系統(tǒng)、服務(wù)器、存儲介質(zhì)與流程

本發(fā)明涉及網(wǎng)絡(luò)直播領(lǐng)域,特別涉及一種直播方法、裝置及系統(tǒng)、服務(wù)器、存儲介質(zhì)。



背景技術(shù):

網(wǎng)絡(luò)直播系統(tǒng)是一種將主播客戶端的直播數(shù)據(jù)廣播至觀眾客戶端的互聯(lián)網(wǎng)系統(tǒng)。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,越來越多的用戶傾向于采用網(wǎng)絡(luò)直播系統(tǒng)進(jìn)行會議直播、比賽直播、游戲直播等。

相關(guān)技術(shù)中,網(wǎng)絡(luò)直播系統(tǒng)包括:直播服務(wù)器以及用于管理直播服務(wù)器的地址和端口等的管理設(shè)備,直播服務(wù)器包括主播服務(wù)器和能夠與該主播服務(wù)器通信的至少一個觀眾服務(wù)器,主播服務(wù)器接入有主播客戶端,至少一個觀眾服務(wù)器中的每個觀眾服務(wù)器接入有至少一個觀眾客戶端。在直播的過程中,主播客戶端可以采集直播數(shù)據(jù),然后將直播數(shù)據(jù)發(fā)送給主播服務(wù)器,主播服務(wù)器將直播數(shù)據(jù)發(fā)送給至少一個觀眾服務(wù)器中的每個觀眾服務(wù)器,進(jìn)而由各個觀眾服務(wù)器將該直播數(shù)據(jù)分發(fā)給相應(yīng)的觀眾客戶端。其中,主播客戶端與觀眾客戶端可以分布在不同網(wǎng)絡(luò)環(huán)境中,為了保證客戶端(主播客戶端和觀眾客戶端)的網(wǎng)絡(luò)連接良好,主播客戶端與主播服務(wù)器通常處于同一網(wǎng)絡(luò)環(huán)境中,觀眾客戶端與觀眾服務(wù)器通常處于同一網(wǎng)絡(luò)環(huán)境中,且不同的觀眾服務(wù)器可以處于不同網(wǎng)絡(luò)環(huán)境中。也即是主播服務(wù)器與觀眾服務(wù)器可以處于不同機房(機房指的是電信、網(wǎng)通、移動、雙線、電力以及政府或者企業(yè)等存放服務(wù)器的地方)中,不同的觀眾服務(wù)器可以處于不同機房中。

在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)相關(guān)技術(shù)至少存在以下問題:

由于直播過程中主播服務(wù)器需要將直播數(shù)據(jù)發(fā)送給至少一個觀眾服務(wù)器中的每個觀眾服務(wù)器,且主播服務(wù)器與至少一個觀眾服務(wù)器處于不同的機房中,因此直播過程消耗的跨機房流量(跨機房流量是指在不同機房間發(fā)送數(shù)據(jù)所消耗的流量)較大。



技術(shù)實現(xiàn)要素:

為了解決直播過程消耗的跨機房流量較大的問題,本發(fā)明提供一種直播方法、裝置及系統(tǒng)、服務(wù)器、存儲介質(zhì)。所述技術(shù)方案如下:

第一方面,提供一種直播方法,用于直播系統(tǒng)的第一代理服務(wù)器,所述直播系統(tǒng)包括部署在多個機房中的代理服務(wù)器,以及,部署在每個機房中的至少一個直播服務(wù)器,部署在所述每個機房中的直播服務(wù)器包括主播服務(wù)器和觀眾服務(wù)器中的至少一種,所述第一代理服務(wù)器為部署在第一機房中的代理服務(wù)器,所述第一機房為所述多個機房中的任一機房,所述方法包括:

接收第一主播服務(wù)器發(fā)送的直播數(shù)據(jù),所述第一主播服務(wù)器為部署在所述第一機房中的主播服務(wù)器,所述直播數(shù)據(jù)是第一主播客戶端采集到直播數(shù)據(jù)后向所述第一主播服務(wù)器發(fā)送的數(shù)據(jù),所述第一主播客戶端為接入所述第一主播服務(wù)器的主播客戶端;

向第二代理服務(wù)器發(fā)送所述直播數(shù)據(jù),以便于所述第二代理服務(wù)器將所述直播數(shù)據(jù)分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器,所述目標(biāo)觀眾服務(wù)器用于將所述直播數(shù)據(jù)分發(fā)至接入所述目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端,所述第二機房為所述多個機房中除所述第一機房之外的任一機房,所述第二代理服務(wù)器為部署在所述第二機房中的代理服務(wù)器。

可選地,在所述向第二代理服務(wù)器發(fā)送所述直播數(shù)據(jù)之前,所述方法還包括:

接收所述第二代理服務(wù)器發(fā)送的直播訂閱消息,所述直播訂閱消息包括所述目標(biāo)觀眾客戶端的標(biāo)識,所述直播訂閱消息是所述目標(biāo)觀眾客戶端向所述目標(biāo)觀眾服務(wù)器發(fā)送,并由所述目標(biāo)觀眾服務(wù)器轉(zhuǎn)發(fā)給所述第二代理服務(wù)器的消息;

所述向第二代理服務(wù)器發(fā)送所述直播數(shù)據(jù),包括:

根據(jù)所述直播訂閱消息,向所述第二代理服務(wù)器發(fā)送直播消息,所述直播消息包括所述直播數(shù)據(jù)和所述目標(biāo)觀眾客戶端的標(biāo)識,所述目標(biāo)觀眾服務(wù)器用于根據(jù)所述目標(biāo)觀眾客戶端的標(biāo)識將所述直播數(shù)據(jù)分發(fā)至所述目標(biāo)觀眾客戶端。

可選地,所述直播系統(tǒng)還包括管理設(shè)備,所述接收所述第二代理服務(wù)器發(fā)送的直播訂閱消息,包括:

接收所述第二代理服務(wù)器通過所述管理設(shè)備發(fā)送的直播訂閱消息。

第二方面,提供一種直播方法,用于直播系統(tǒng)的第二代理服務(wù)器,所述直播系統(tǒng)包括部署在多個機房中的代理服務(wù)器,以及,部署在每個機房中的至少一個直播服務(wù)器,部署在所述每個機房中的直播服務(wù)器包括主播服務(wù)器和觀眾服務(wù)器中的至少一種,所述第二代理服務(wù)器為部署在第二機房中的代理服務(wù)器,所述方法包括:

接收第一代理服務(wù)器發(fā)送的直播數(shù)據(jù),所述直播數(shù)據(jù)是第一主播客戶端采集到直播數(shù)據(jù)后向第一主播服務(wù)器發(fā)送,并由所述第一主播服務(wù)器轉(zhuǎn)發(fā)給第一代理服務(wù)器的數(shù)據(jù),所述第一代理服務(wù)器為部署在第一機房中的代理服務(wù)器,所述第一主播服務(wù)器為部署在所述第一機房中的主播服務(wù)器,所述第一主播客戶端為接入所述第一主播服務(wù)器的主播客戶端,所述第一機房為所述多個機房中的任一機房,所述第二機房為所述多個機房中除所述第一機房之外的任一機房;

將所述直播數(shù)據(jù)分發(fā)至所述第二機房中的目標(biāo)觀眾服務(wù)器,所述目標(biāo)觀眾服務(wù)器用于將所述直播數(shù)據(jù)分發(fā)至接入所述目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端。

可選地,在所述接收第一代理服務(wù)器發(fā)送的直播數(shù)據(jù)之前,所述方法還包括:

接收所述目標(biāo)觀眾服務(wù)器發(fā)送的直播訂閱消息,所述直播訂閱消息包括所述目標(biāo)觀眾客戶端的標(biāo)識,所述直播訂閱消息是所述目標(biāo)觀眾客戶端向所述目標(biāo)觀眾服務(wù)器發(fā)送的消息;

向所述第一代理服務(wù)器發(fā)送所述直播訂閱消息;

所述接收第一代理服務(wù)器發(fā)送的直播數(shù)據(jù),包括:

接收所述第一代理服務(wù)器發(fā)送的直播消息,所述直播消息包括所述直播數(shù)據(jù)和所述目標(biāo)觀眾客戶端的標(biāo)識;

所述將所述直播數(shù)據(jù)分發(fā)至所述第二機房中的目標(biāo)觀眾服務(wù)器,包括:

將所述直播消息分發(fā)至所述第二機房中的目標(biāo)觀眾服務(wù)器,所述目標(biāo)觀眾服務(wù)器用于根據(jù)所述目標(biāo)觀眾客戶端的標(biāo)識將所述直播數(shù)據(jù)分發(fā)至所述目標(biāo)觀眾客戶端。

可選地,所述直播系統(tǒng)還包括管理設(shè)備,所述向所述第一代理服務(wù)器發(fā)送所述直播訂閱消息,包括:

通過所述管理設(shè)備向所述第一代理服務(wù)器發(fā)送所述直播訂閱消息。

第三方面,提供一種直播裝置,用于直播系統(tǒng)的第一代理服務(wù)器,所述直播系統(tǒng)包括部署在多個機房中的代理服務(wù)器,以及,部署在每個機房中的至少一個直播服務(wù)器,部署在所述每個機房中的直播服務(wù)器包括主播服務(wù)器和觀眾服務(wù)器中的至少一種,所述第一代理服務(wù)器為部署在第一機房中的代理服務(wù)器,所述第一機房為所述多個機房中的任一機房,所述裝置包括:

第一接收模塊,用于接收第一主播服務(wù)器發(fā)送的直播數(shù)據(jù),所述第一主播服務(wù)器為部署在所述第一機房中的主播服務(wù)器,所述直播數(shù)據(jù)是第一主播客戶端采集到直播數(shù)據(jù)后向所述第一主播服務(wù)器發(fā)送的數(shù)據(jù),所述第一主播客戶端為接入所述第一主播服務(wù)器的主播客戶端;

發(fā)送模塊,用于向第二代理服務(wù)器發(fā)送所述直播數(shù)據(jù),以便于所述第二代理服務(wù)器將所述直播數(shù)據(jù)分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器,所述目標(biāo)觀眾服務(wù)器用于將所述直播數(shù)據(jù)分發(fā)至接入所述目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端,所述第二機房為所述多個機房中除所述第一機房之外的任一機房,所述第二代理服務(wù)器為部署在所述第二機房中的代理服務(wù)器。

可選地,所述裝置還包括:

第二接收模塊,用于接收所述第二代理服務(wù)器發(fā)送的直播訂閱消息,所述直播訂閱消息包括所述目標(biāo)觀眾客戶端的標(biāo)識,所述直播訂閱消息是所述目標(biāo)觀眾客戶端向所述目標(biāo)觀眾服務(wù)器發(fā)送,并由所述目標(biāo)觀眾服務(wù)器轉(zhuǎn)發(fā)給所述第二代理服務(wù)器的消息;

所述發(fā)送模塊,用于根據(jù)所述直播訂閱消息,向所述第二代理服務(wù)器發(fā)送直播消息,所述直播消息包括所述直播數(shù)據(jù)和所述目標(biāo)觀眾客戶端的標(biāo)識,所述目標(biāo)觀眾服務(wù)器用于根據(jù)所述目標(biāo)觀眾客戶端的標(biāo)識將所述直播數(shù)據(jù)分發(fā)至所述目標(biāo)觀眾客戶端。

可選地,所述直播系統(tǒng)還包括管理設(shè)備,所述第二接收模塊,用于接收所述第二代理服務(wù)器通過所述管理設(shè)備發(fā)送的直播訂閱消息。

第四方面,提供一種直播裝置,用于直播系統(tǒng)的第二代理服務(wù)器,所述直播系統(tǒng)包括部署在多個機房中的代理服務(wù)器,以及,部署在每個機房中的至少一個直播服務(wù)器,部署在所述每個機房中的直播服務(wù)器包括主播服務(wù)器和觀眾服務(wù)器中的至少一種,所述第二代理服務(wù)器為部署在第二機房中的代理服務(wù)器,所述裝置包括:

第一接收模塊,用于接收第一代理服務(wù)器發(fā)送的直播數(shù)據(jù),所述直播數(shù)據(jù)是第一主播客戶端采集到直播數(shù)據(jù)后向第一主播服務(wù)器發(fā)送,并由所述第一主播服務(wù)器轉(zhuǎn)發(fā)給第一代理服務(wù)器的數(shù)據(jù),所述第一代理服務(wù)器為部署在第一機房中的代理服務(wù)器,所述第一主播服務(wù)器為部署在所述第一機房中的主播服務(wù)器,所述第一主播客戶端為接入所述第一主播服務(wù)器的主播客戶端,所述第一機房為所述多個機房中的任一機房,所述第二機房為所述多個機房中除所述第一機房之外的任一機房;

第一發(fā)送模塊,用于將所述直播數(shù)據(jù)分發(fā)至所述第二機房中的目標(biāo)觀眾服務(wù)器,所述目標(biāo)觀眾服務(wù)器用于將所述直播數(shù)據(jù)分發(fā)至接入所述目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端。

可選地,所述裝置還包括:

第二接收模塊,用于接收所述目標(biāo)觀眾服務(wù)器發(fā)送的直播訂閱消息,所述直播訂閱消息包括所述目標(biāo)觀眾客戶端的標(biāo)識,所述直播訂閱消息是所述目標(biāo)觀眾客戶端向所述目標(biāo)觀眾服務(wù)器發(fā)送的消息;

第二發(fā)送模塊,用于向所述第一代理服務(wù)器發(fā)送所述直播訂閱消息;

所述第一接收模塊,用于接收所述第一代理服務(wù)器發(fā)送的直播消息,所述直播消息包括所述直播數(shù)據(jù)和所述目標(biāo)觀眾客戶端的標(biāo)識;

所述第一發(fā)送模塊,用于將所述直播消息分發(fā)至所述第二機房中的目標(biāo)觀眾服務(wù)器,所述目標(biāo)觀眾服務(wù)器用于根據(jù)所述目標(biāo)觀眾客戶端的標(biāo)識將所述直播數(shù)據(jù)分發(fā)至所述目標(biāo)觀眾客戶端。

可選地,所述直播系統(tǒng)還包括管理設(shè)備,所述第二發(fā)送模塊,用于通過所述管理設(shè)備向所述第一代理服務(wù)器發(fā)送所述直播訂閱消息。

第五方面,提供一種服務(wù)器,所述服務(wù)器為直播系統(tǒng)的第一代理服務(wù)器,所述直播系統(tǒng)包括部署在多個機房中的代理服務(wù)器,以及,部署在每個機房中的至少一個直播服務(wù)器,部署在所述每個機房中的直播服務(wù)器包括主播服務(wù)器和觀眾服務(wù)器中的至少一種,所述第一代理服務(wù)器為部署在第一機房中的代理服務(wù)器,所述第一機房為所述多個機房中的任一機房,所述服務(wù)器包括:

處理器;

用于存儲所述處理器的可執(zhí)行指令的存儲器;

其中,所述處理器被配置為:

接收第一主播服務(wù)器發(fā)送的直播數(shù)據(jù),所述第一主播服務(wù)器為部署在所述第一機房中的主播服務(wù)器,所述直播數(shù)據(jù)是第一主播客戶端采集到直播數(shù)據(jù)后向所述第一主播服務(wù)器發(fā)送的數(shù)據(jù),所述第一主播客戶端為接入所述第一主播服務(wù)器的主播客戶端;

向第二代理服務(wù)器發(fā)送所述直播數(shù)據(jù),以便于所述第二代理服務(wù)器將所述直播數(shù)據(jù)分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器,所述目標(biāo)觀眾服務(wù)器用于將所述直播數(shù)據(jù)分發(fā)至接入所述目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端,所述第二機房為所述多個機房中除所述第一機房之外的任一機房,所述第二代理服務(wù)器為部署在所述第二機房中的代理服務(wù)器。

第六方面,提供一種服務(wù)器,所述服務(wù)器為直播系統(tǒng)的第二代理服務(wù)器,所述直播系統(tǒng)包括部署在多個機房中的代理服務(wù)器,以及,部署在每個機房中的至少一個直播服務(wù)器,部署在所述每個機房中的直播服務(wù)器包括主播服務(wù)器和觀眾服務(wù)器中的至少一種,所述第二代理服務(wù)器為部署在第二機房中的代理服務(wù)器,所述服務(wù)器包括:

處理器;

用于存儲所述處理器的可執(zhí)行指令的存儲器;

其中,所述處理器被配置為:

接收第一代理服務(wù)器發(fā)送的直播數(shù)據(jù),所述直播數(shù)據(jù)是第一主播客戶端采集到直播數(shù)據(jù)后向第一主播服務(wù)器發(fā)送,并由所述第一主播服務(wù)器轉(zhuǎn)發(fā)給第一代理服務(wù)器的數(shù)據(jù),所述第一代理服務(wù)器為部署在第一機房中的代理服務(wù)器,所述第一主播服務(wù)器為部署在所述第一機房中的主播服務(wù)器,所述第一主播客戶端為接入所述第一主播服務(wù)器的主播客戶端,所述第一機房為所述多個機房中的任一機房,所述第二機房為所述多個機房中除所述第一機房之外的任一機房;

將所述直播數(shù)據(jù)分發(fā)至所述第二機房中的目標(biāo)觀眾服務(wù)器,所述目標(biāo)觀眾服務(wù)器用于將所述直播數(shù)據(jù)分發(fā)至接入所述目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端。

第七方面,提供一種直播系統(tǒng),所述直播系統(tǒng)包括:部署在多個機房中的代理服務(wù)器,以及,部署在每個機房中的至少一個直播服務(wù)器,部署在所述每個機房中的直播服務(wù)器包括主播服務(wù)器和觀眾服務(wù)器中的至少一種,部署在所述多個機房中的代理服務(wù)器包括第一代理服務(wù)器和第二代理服務(wù)器,所述第一代理服務(wù)器為部署在第一機房中的代理服務(wù)器,所述第二代理服務(wù)器為部署在第二機房中的代理服務(wù)器,所述第一機房為所述多個機房中的任一機房,所述第二機房為所述多個機房中除所述第一機房之外的任一機房,

所述第一代理服務(wù)器包括第三方面或第三方面的任一可選方式所提供的直播裝置,所述第二代理服務(wù)器包括第四方面或第四方面的任一可選方式所提供的直播裝置;或者,

所述第一代理服務(wù)器為第五方面所提供的服務(wù)器,所述第二代理服務(wù)器為第六方面所提供的服務(wù)器。

第八方面,提供一種存儲介質(zhì),當(dāng)所述存儲介質(zhì)中的指令由服務(wù)器的處理器執(zhí)行時,使得所述服務(wù)器能夠執(zhí)行一種直播方法,所述服務(wù)器為直播系統(tǒng)的第一代理服務(wù)器,所述直播系統(tǒng)包括部署在多個機房中的代理服務(wù)器,以及,部署在每個機房中的至少一個直播服務(wù)器,部署在所述每個機房中的直播服務(wù)器包括主播服務(wù)器和觀眾服務(wù)器中的至少一種,所述第一代理服務(wù)器為部署在第一機房中的代理服務(wù)器,所述第一機房為所述多個機房中的任一機房,所述直播方法包括:

接收第一主播服務(wù)器發(fā)送的直播數(shù)據(jù),所述第一主播服務(wù)器為部署在所述第一機房中的主播服務(wù)器,所述直播數(shù)據(jù)是第一主播客戶端采集到直播數(shù)據(jù)后向所述第一主播服務(wù)器發(fā)送的數(shù)據(jù),所述第一主播客戶端為接入所述第一主播服務(wù)器的主播客戶端;

向第二代理服務(wù)器發(fā)送所述直播數(shù)據(jù),以便于所述第二代理服務(wù)器將所述直播數(shù)據(jù)分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器,所述目標(biāo)觀眾服務(wù)器用于將所述直播數(shù)據(jù)分發(fā)至接入所述目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端,所述第二機房為所述多個機房中除所述第一機房之外的任一機房,所述第二代理服務(wù)器為部署在所述第二機房中的代理服務(wù)器。

第九方面,提供一種存儲介質(zhì),當(dāng)所述存儲介質(zhì)中的指令由服務(wù)器的處理器執(zhí)行時,使得所述服務(wù)器能夠執(zhí)行一種直播方法,所述服務(wù)器為直播系統(tǒng)的第二代理服務(wù)器,所述直播系統(tǒng)包括部署在多個機房中的代理服務(wù)器,以及,部署在每個機房中的至少一個直播服務(wù)器,部署在所述每個機房中的直播服務(wù)器包括主播服務(wù)器和觀眾服務(wù)器中的至少一種,所述第二代理服務(wù)器為部署在第二機房中的代理服務(wù)器,所述直播方法包括:

接收第一代理服務(wù)器發(fā)送的直播數(shù)據(jù),所述直播數(shù)據(jù)是第一主播客戶端采集到直播數(shù)據(jù)后向第一主播服務(wù)器發(fā)送,并由所述第一主播服務(wù)器轉(zhuǎn)發(fā)給第一代理服務(wù)器的數(shù)據(jù),所述第一代理服務(wù)器為部署在第一機房中的代理服務(wù)器,所述第一主播服務(wù)器為部署在所述第一機房中的主播服務(wù)器,所述第一主播客戶端為接入所述第一主播服務(wù)器的主播客戶端,所述第一機房為所述多個機房中的任一機房,所述第二機房為所述多個機房中除所述第一機房之外的任一機房;

將所述直播數(shù)據(jù)分發(fā)至所述第二機房中的目標(biāo)觀眾服務(wù)器,所述目標(biāo)觀眾服務(wù)器用于將所述直播數(shù)據(jù)分發(fā)至接入所述目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端。

第十方面,提供一種包含指令的計算機程序產(chǎn)品,當(dāng)該計算機程序產(chǎn)品在計算機上運行時,使得計算機執(zhí)行第一方面或第一方面的任一可選方式所提供的直播方法。

第十一方面,提供一種包含指令的計算機程序產(chǎn)品,當(dāng)該計算機程序產(chǎn)品在計算機上運行時,使得計算機執(zhí)行第二方面或第二方面的任一可選方式所提供的直播方法。

本發(fā)明提供的技術(shù)方案帶來的有益效果是:

本發(fā)明提供的直播方法、裝置及系統(tǒng)、服務(wù)器、存儲介質(zhì),第一機房中的第一主播服務(wù)器接收到直播數(shù)據(jù)后,向第一機房中的第一代理服務(wù)器發(fā)送直播數(shù)據(jù),由第一代理服務(wù)器向第二機房中的第二代理服務(wù)器發(fā)送直播數(shù)據(jù),并由第二代理服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器分發(fā)直播數(shù)據(jù)。由于通過代理服務(wù)器實現(xiàn)直播數(shù)據(jù)的跨機房發(fā)送,無需第一主播服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器發(fā)送直播數(shù)據(jù),因此解決了直播過程消耗的跨機房流量較大的問題,有助于減小跨機房流量。

應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性的,并不能限制本發(fā)明。

附圖說明

為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是相關(guān)技術(shù)提供的一種視頻直播系統(tǒng)的結(jié)構(gòu)示意圖;

圖2是本發(fā)明各個實施例所涉及的一種實施環(huán)境的結(jié)構(gòu)示意圖;

圖3是本發(fā)明實施例提供的一種直播方法的方法流程圖;

圖4是本發(fā)明實施例提供的另一種直播方法的方法流程圖;

圖5是本發(fā)明實施例提供的再一種直播方法的方法流程圖;

圖6-1是本發(fā)明實施例提供的一種直播裝置的框圖;

圖6-2是本發(fā)明實施例提供的另一種直播裝置的框圖;

圖7-1是本發(fā)明實施例提供的一種直播裝置的框圖;

圖7-2是本發(fā)明實施例提供的另一種直播裝置的框圖;

圖8是本發(fā)明實施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖;

圖9是本發(fā)明實施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖。

此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實施例,并與說明書一起用于解釋本發(fā)明的原理。

具體實施方式

為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明作進(jìn)一步地詳細(xì)描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。

相關(guān)技術(shù)中的直播系統(tǒng)包括直播服務(wù)器和管理設(shè)備,在同一主播頻道中,直播服務(wù)器包括一個主播服務(wù)器和至少一個觀眾服務(wù)器,主播服務(wù)器接入有主播客戶端,至少一個觀眾服務(wù)器中的每個觀眾服務(wù)器接入有至少一個觀眾客戶端,在直播的過程中,主播客戶端可以采集直播數(shù)據(jù),然后將直播數(shù)據(jù)發(fā)送給主播服務(wù)器,主播服務(wù)器將直播數(shù)據(jù)發(fā)送給至少一個觀眾服務(wù)器中的每個觀眾服務(wù)器,進(jìn)而由各個觀眾服務(wù)器將直播數(shù)據(jù)分發(fā)給相應(yīng)的觀眾客戶端。示例地,請參考圖1,其示出了相關(guān)技術(shù)提供的一種視頻直播系統(tǒng)的結(jié)構(gòu)示意圖,參見圖1,該視頻直播系統(tǒng)包括:部署在n個機房中的n*m個視頻服務(wù)器(英文:videoserver;簡稱:vs)以及用于管理該n*m個vs的地址和端口等的管理設(shè)備(圖1中未示出),管理設(shè)備可以部署于視頻管理服務(wù)中心(英文:videomanagerservicecentre;簡稱:vmsc),vs也可以稱為視頻直播服務(wù)器,n個機房中的每個機房中部署有m個vs,n≥2,m≥1,且m和n均為整數(shù)。如圖1所示,機房1中部署有vs11至vs1m共m個vs,機房2中部署有vs21至vs2m共m個vs,依次類推,機房n中部署有vsn1至vsnm共m個vs。

在同一主播頻道中,圖1所示的n*m個vs可以包括一個主播vs和至少一個觀眾vs,主播vs接入有主播客戶端(圖1中未示出),每個觀眾vs接入有至少一個觀眾客戶端(圖1中未示出),在直播的過程中,主播客戶端可以采集直播數(shù)據(jù),然后將直播數(shù)據(jù)發(fā)送給主播vs,主播vs將直播數(shù)據(jù)發(fā)送給每個觀眾vs,進(jìn)而由各個觀眾vs將該直播數(shù)據(jù)分發(fā)給相應(yīng)的觀眾客戶端。其中,在主播vs向觀眾vs發(fā)送直播數(shù)據(jù)之前,接入各個觀眾vs的各個觀眾客戶端可以向相應(yīng)的觀眾vs發(fā)送直播訂閱消息,由各個觀眾vs通過管理設(shè)備向主播vs發(fā)送直播訂閱消息,主播vs可以采用請求響應(yīng)機制確認(rèn)直播訂閱消息,然后向各個觀眾vs發(fā)送直播數(shù)據(jù),進(jìn)而由各個觀眾vs向相應(yīng)的各個觀眾客戶端分發(fā)直播數(shù)據(jù)。

如圖1所示,假設(shè)n*m個vs中,主播vs為vs1m,n*m個vs中的其余vs均為觀眾vs,在視頻直播的過程中,主播用戶登錄主播客戶端后,主播客戶端進(jìn)入目標(biāo)主播頻道并接入vs1m,主播客戶端采集直播數(shù)據(jù),然后將直播數(shù)據(jù)發(fā)送給vs1m;觀眾用戶登錄觀眾客戶端后,觀眾用戶在觀眾客戶端顯示的頻道列表中點擊目標(biāo)主播頻道,以使觀眾客戶端進(jìn)入該目標(biāo)主播頻道,之后觀眾客戶端接入相應(yīng)的觀眾vs,并發(fā)送直播訂閱消息到相應(yīng)的觀眾vs,各個觀眾客戶端都會向相應(yīng)的觀眾vs發(fā)送直播訂閱消息,各個觀眾vs通過管理設(shè)備向vs1m發(fā)送直播訂閱消息,vs1m采用請求響應(yīng)機制確認(rèn)直播訂閱消息,然后向各個觀眾vs發(fā)送直播數(shù)據(jù),每個觀眾vs接收到直播數(shù)據(jù)后,向相應(yīng)的各個觀眾客戶端發(fā)送直播數(shù)據(jù)。

但是,由于主播服務(wù)器與觀眾服務(wù)器可以處于不同的機房中,不同的觀眾服務(wù)器可以處于不同的機房中,且主播服務(wù)器需要向各個觀眾服務(wù)器發(fā)送直播數(shù)據(jù),因此直播系統(tǒng)的跨機房流量較大。例如,在圖1所示的視頻直播系統(tǒng)中,在同一主播頻道中,主播vs需要接收主播客戶端發(fā)送的直播數(shù)據(jù),并向(n-1)*m+(m-1)個觀眾vs發(fā)送直播數(shù)據(jù),主播vs的性能消耗是1路收和(n-1)*m+(m-1)路發(fā),跨機房流量為(n-1)*m路,當(dāng)主播vs的數(shù)量增加時,視頻直播系統(tǒng)的跨機房流量呈[(n-1)*m]^2增長,視頻直播系統(tǒng)需要處理的發(fā)送邏輯也呈[(n-1)*m]^2增長,直播服務(wù)器的壓力較大,視頻直播系統(tǒng)能夠支持的主播數(shù)較少。

請參考圖2,其示出了本發(fā)明各個實施例所涉及的一種實施環(huán)境的結(jié)構(gòu)示意圖,該實施環(huán)境提供一種直播系統(tǒng),該直播系統(tǒng)包括管理設(shè)備、部署在多個機房中的代理服務(wù)器,以及,部署在每個機房中的至少一個直播服務(wù)器,部署在每個機房中的直播服務(wù)器包括主播服務(wù)器和觀眾服務(wù)器中的至少一種,管理設(shè)備用于管理代理服務(wù)器的地址和端口以及直播服務(wù)器的地址和端口等。該圖2以直播系統(tǒng)為視頻直播系統(tǒng),且以機房的個數(shù)以及代理服務(wù)器的個數(shù)都為n,并以每個機房中部署有一個代理服務(wù)器為例進(jìn)行說明,參見圖2,該直播系統(tǒng)包括管理設(shè)備、部署在n個機房中的n*m個vs以及部署在每個機房中的視頻代理(英文:videoproxy;簡稱:vp),管理設(shè)備部署于vmsc,vs也可以稱為視頻直播服務(wù)器,vp也可以稱為視頻代理服務(wù)器,n個機房中的每個機房中部署有1個vp和m個vs,每個機房中的vp為該機房中的所有vs的代理,每個機房中的vp能夠與該機房中的所有vs通信,n≥2,m≥1,且m和n均為整數(shù)。如圖2所示,機房1中部署有vp1以及vs11至vs1m共m個vs,機房2中部署有vp2以及vs21至vs2m共m個vs,依次類推,機房n中部署有vpn以及vsn1至vsnm共m個vs。

在同一主播頻道中,圖2所示的n*m個vs可以包括一個主播vs和至少一個觀眾vs,與主播vs位于同一機房的vp可以稱為主播vp,與觀眾vs位于同一機房的vp可以稱為觀眾vp(同一機房中的vs可能包括同一主播頻道中的主播vp和觀眾vp,此時該機房中的vp可以稱為主播vp),主播vs接入有主播客戶端(圖2中未示出),每個觀眾vs接入有至少一個觀眾客戶端(圖2中未示出),在直播的過程中,主播客戶端采集直播數(shù)據(jù),然后將直播數(shù)據(jù)發(fā)送給主播vs,主播vs接收到直播數(shù)據(jù)后,將直播數(shù)據(jù)發(fā)送給主播vp,進(jìn)而由主播vp將直播數(shù)據(jù)發(fā)送給各個觀眾vp,再由各個觀眾vp將直播數(shù)據(jù)分發(fā)給與各個觀眾vp位于同一機房中的各個觀眾vs,進(jìn)而由各個觀眾vs將該直播數(shù)據(jù)分發(fā)給相應(yīng)的觀眾客戶端。其中,在主播vp向觀眾vp發(fā)送直播數(shù)據(jù)之前,接入各個觀眾vs的各個觀眾客戶端可以向相應(yīng)的觀眾vs發(fā)送攜帶自身標(biāo)識(例如登陸觀眾客戶端的用戶賬號等)的直播訂閱消息,各個觀眾vs接收到直播訂閱消息后,將自身標(biāo)識(例如觀眾vs的編號等)添加在直播訂閱消息中發(fā)送給相應(yīng)的觀眾vp,各個觀眾vp接收到直播訂閱消息后,將自身標(biāo)識(例如觀眾vp的編號等)添加在直播訂閱消息中,并通過管理設(shè)備向主播vp發(fā)送該直播訂閱消息,主播vp可以采用請求響應(yīng)機制確認(rèn)直播訂閱消息,然后根據(jù)直播訂閱消息中的vp的標(biāo)識向各個觀眾vp發(fā)送直播數(shù)據(jù),進(jìn)而由各個觀眾vp根據(jù)直播訂閱消息中的觀眾vs的標(biāo)識向各個觀眾vs發(fā)送直播數(shù)據(jù),最終由各個觀眾vs根據(jù)直播訂閱消息中的觀眾客戶端的標(biāo)識將直播數(shù)據(jù)分發(fā)至相應(yīng)的各個觀眾客戶端。

如圖2所示,假設(shè)n*m個vs中,主播vs為vs1m,其余vs均為觀眾vs,則vp1稱為主播vp,vp2至vpn均稱為觀眾vp,在視頻直播的過程中,主播用戶登錄主播客戶端后,主播客戶端接入vs1m,主播客戶端采集直播數(shù)據(jù),然后將直播數(shù)據(jù)發(fā)送給vs1m,vs1m接收到直播數(shù)據(jù)后,將直播數(shù)據(jù)發(fā)送給vp1;觀眾用戶登錄觀眾客戶端后,觀眾用戶在觀眾客戶端顯示的頻道列表中點擊目標(biāo)主播頻道,以使觀眾客戶端進(jìn)入該目標(biāo)主播頻道,之后觀眾客戶端接入相應(yīng)的觀眾vs,并發(fā)送攜帶自身標(biāo)識的直播訂閱消息到相應(yīng)的觀眾vs,各個觀眾vs接收到觀眾客戶端發(fā)送的直播訂閱消息之后,將自身標(biāo)識添加在直播訂閱消息中發(fā)送給相應(yīng)的觀眾vp,各個觀眾vp接收到直播訂閱消息后,將自身標(biāo)識添加在直播訂閱消息中,并通過管理設(shè)備向vp1發(fā)送該直播訂閱消息,vp1可以采用請求響應(yīng)機制確認(rèn)直播訂閱消息,然后根據(jù)直播訂閱消息中的vp的標(biāo)識向各個觀眾vp發(fā)送直播數(shù)據(jù),進(jìn)而由各個觀眾vp根據(jù)直播訂閱消息中的觀眾vs的標(biāo)識向各個觀眾vs發(fā)送直播數(shù)據(jù),最終由各個觀眾vs根據(jù)直播訂閱消息中的觀眾客戶端的標(biāo)識將直播數(shù)據(jù)分發(fā)至相應(yīng)的各個觀眾客戶端。

本實施環(huán)境提供的直播系統(tǒng)通過代理服務(wù)器實現(xiàn)直播數(shù)據(jù)的跨機房傳輸,并由代理服務(wù)器向同機房中的各個觀眾服務(wù)器發(fā)送直播數(shù)據(jù),將大部分的跨機房流量轉(zhuǎn)化為機房內(nèi)流量,減小了跨機房流量。例如,在圖2所示的直播系統(tǒng)中,主播vs只需要接收主播客戶端發(fā)送的直播數(shù)據(jù)并向主播vp發(fā)送直播數(shù)據(jù),主播vp只需要接收主播vs發(fā)送的直播數(shù)據(jù)并向(n-1)個觀眾vp發(fā)送直播數(shù)據(jù),主播vs的性能消耗是1路收和1路發(fā),主播vp的性能消耗是1路收和(n-1)路發(fā),跨機房流量為(n-1)路,其他跨機房流量均轉(zhuǎn)化為機房內(nèi)流量,大大減小了跨機房流量以及直播服務(wù)器的性能消耗,提高了直播服務(wù)器的性能,并且直播系統(tǒng)能夠支持的主播數(shù)也大大增加。

需要說明的是,本實施環(huán)境中的主播vs和觀眾vs是針對同一主播頻道而言的,在不同主播頻道中,一個vs既可以是主播vs,也可以是觀眾vs,并且圖2是以直播服務(wù)器為vs,且以每個機房中部署有m個vs為例進(jìn)行說明的,實際應(yīng)用中,直播服務(wù)器還可以為音頻服務(wù)器或其他服務(wù)器,且各個機房中的直播服務(wù)器的數(shù)量可以相等或不等,本實施環(huán)境對此不作限定。

請參考圖3,其示出了本發(fā)明實施例提供的一種直播方法的方法流程圖,該直播方法可以用于直播系統(tǒng)的第一代理服務(wù)器,該第一代理服務(wù)器為直播系統(tǒng)的多個代理服務(wù)器中部署在第一機房中的代理服務(wù)器,該第一代理服務(wù)器用于代理第一機房中的直播服務(wù)器,例如,當(dāng)直播系統(tǒng)為圖2所示的視頻直播系統(tǒng)時,該第一機房可以為機房1,該第一代理服務(wù)器可以為vp1。參見圖3,該方法包括:

步驟301、接收第一主播服務(wù)器發(fā)送的直播數(shù)據(jù),第一主播服務(wù)器為部署在第一機房中的主播服務(wù)器,直播數(shù)據(jù)是第一主播客戶端采集到直播數(shù)據(jù)后向第一主播服務(wù)器發(fā)送的數(shù)據(jù),第一主播客戶端為接入第一主播服務(wù)器的主播客戶端。

步驟302、向第二代理服務(wù)器發(fā)送直播數(shù)據(jù),以便于第二代理服務(wù)器將直播數(shù)據(jù)分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器,目標(biāo)觀眾服務(wù)器用于將直播數(shù)據(jù)分發(fā)至接入目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端,第二機房為多個機房中除第一機房之外的任一機房,第二代理服務(wù)器為部署在第二機房中的代理服務(wù)器。

綜上所述,本發(fā)明實施例提供的直播方法,第一機房中的第一主播服務(wù)器接收到直播數(shù)據(jù)后,向第一機房中的第一代理服務(wù)器發(fā)送直播數(shù)據(jù),由第一代理服務(wù)器向第二機房中的第二代理服務(wù)器發(fā)送直播數(shù)據(jù),并由第二代理服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器分發(fā)直播數(shù)據(jù)。由于通過代理服務(wù)器實現(xiàn)直播數(shù)據(jù)的跨機房發(fā)送,而無需第一主播服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器發(fā)送直播數(shù)據(jù),因此解決了直播過程消耗的跨機房流量較大的問題,有助于減小跨機房流量。

請參考圖4,其示出了本發(fā)明實施例提供的另一種直播方法的方法流程圖,該直播方法可以用于直播系統(tǒng)的第二代理服務(wù)器,該第二代理服務(wù)器為直播系統(tǒng)的多個代理服務(wù)器中部署在第二機房中的代理服務(wù)器,該第二代理服務(wù)器用于代理第二機房中的直播服務(wù)器,該第二機房可以為除第一機房之外的任一機房,例如,當(dāng)直播系統(tǒng)為圖2所示的視頻直播系統(tǒng),且第一機房為機房1時,該第二機房可以為除機房1之外的任一機房,例如第二機房為機房2、機房3等等,該第二代理服務(wù)器可以為vp2、vp3等等。參見圖4,該方法包括:

步驟401、接收第一代理服務(wù)器發(fā)送的直播數(shù)據(jù),直播數(shù)據(jù)是第一主播客戶端采集到直播數(shù)據(jù)后向第一主播服務(wù)器發(fā)送,并由第一主播服務(wù)器轉(zhuǎn)發(fā)給第一代理服務(wù)器的數(shù)據(jù),第一代理服務(wù)器為部署在第一機房中的代理服務(wù)器,第一主播服務(wù)器為部署在第一機房中的主播服務(wù)器,第一主播客戶端為接入第一主播服務(wù)器的主播客戶端,第一機房為多個機房中的任一機房,第二機房為多個機房中除第一機房之外的任一機房。

步驟402、將直播數(shù)據(jù)分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器,目標(biāo)觀眾服務(wù)器用于將直播數(shù)據(jù)分發(fā)至接入目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端。

綜上所述,本發(fā)明實施例提供的直播方法,第一機房中的第一主播服務(wù)器接收到直播數(shù)據(jù)后,向第一機房中的第一代理服務(wù)器發(fā)送直播數(shù)據(jù),由第一代理服務(wù)器向第二機房中的第二代理服務(wù)器發(fā)送直播數(shù)據(jù),并由第二代理服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器分發(fā)直播數(shù)據(jù)。由于通過代理服務(wù)器實現(xiàn)直播數(shù)據(jù)的跨機房發(fā)送,而無需第一主播服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器發(fā)送直播數(shù)據(jù),因此解決了直播過程消耗的跨機房流量較大的問題,有助于減小跨機房流量。

請參考圖5,其示出了本發(fā)明實施例提供的再一種直播方法的方法流程圖,該直播方法可以用于直播系統(tǒng),該直播系統(tǒng)包括部署在多個機房中的代理服務(wù)器,以及,部署在每個機房中的至少一個直播服務(wù)器,部署在每個機房中的直播服務(wù)器包括主播服務(wù)器和觀眾服務(wù)器中的至少一種。參見圖5,該方法包括:

步驟501、目標(biāo)觀眾客戶端向目標(biāo)觀眾服務(wù)器發(fā)送直播訂閱消息,直播訂閱消息包括目標(biāo)觀眾客戶端的標(biāo)識。

其中,目標(biāo)觀眾客戶端為接入目標(biāo)觀眾服務(wù)器的觀眾客戶端,該目標(biāo)觀眾客戶端具體可以為直播客戶端,且可以是視頻直播客戶端或音頻直播客戶端等等,例如,目標(biāo)觀眾客戶端可以為bigolive客戶端。目標(biāo)觀眾服務(wù)器為直播系統(tǒng)中部署在第二機房中的觀眾服務(wù)器,該目標(biāo)觀眾服務(wù)器具體可以為直播服務(wù)器,第一機房為多個機房中的任一機房,第二機房為多個機房中除第一機房之外的任一機房。

可選地,觀眾用戶可以采用用戶賬號和登錄密碼登陸目標(biāo)觀眾客戶端,登陸成功之后,目標(biāo)觀眾客戶端可以顯示頻道列表,頻道列表中包括多個目標(biāo)主播頻道,觀眾用戶可以在頻道列表中點擊目標(biāo)主播頻道,目標(biāo)觀眾客戶端檢測到點擊目標(biāo)主播頻道所觸發(fā)的點擊指令時,根據(jù)目標(biāo)主播頻道的相關(guān)信息(例如標(biāo)識等)以及目標(biāo)觀眾客戶端的標(biāo)識生成直播訂閱消息,并向目標(biāo)觀眾服務(wù)器發(fā)送直播訂閱消息。其中,目標(biāo)觀眾客戶端的標(biāo)識例如但不限于登陸目標(biāo)觀眾客戶端的用戶賬號等,本發(fā)明實施例對此不作限定。

示例地,以圖2所示的直播系統(tǒng)為例,目標(biāo)觀眾服務(wù)器可以為機房2中的vs21、vs22等,還可以為機房3中的vs31等,本實施例以目標(biāo)觀眾服務(wù)器為vs21,目標(biāo)觀眾客戶端為接入vs21的觀眾客戶端g(圖2中未示出)為例,則觀眾客戶端g可以生成包括觀眾客戶端g的標(biāo)識的直播訂閱消息,然后向vs21發(fā)送該直播訂閱消息,該直播訂閱消息還可以包括目標(biāo)主播頻道的相關(guān)信息。

步驟502、目標(biāo)觀眾服務(wù)器接收目標(biāo)觀眾客戶端發(fā)送的直播訂閱消息。

目標(biāo)觀眾客戶端向目標(biāo)觀眾服務(wù)器發(fā)送直播訂閱消息時,目標(biāo)觀眾服務(wù)器可以接收目標(biāo)觀眾客戶端發(fā)送的直播訂閱消息。例如,vs21接收觀眾客戶端g發(fā)送的直播訂閱消息。

步驟503、目標(biāo)觀眾服務(wù)器向第二代理服務(wù)器發(fā)送直播訂閱消息。

其中,直播系統(tǒng)包括部署在多個機房中的代理服務(wù)器,第二代理服務(wù)器為部署在第二機房中的代理服務(wù)器。

可選地,目標(biāo)觀眾服務(wù)器可以對接收到的直播訂閱消息進(jìn)行處理,以在直播訂閱消息中添加目標(biāo)觀眾服務(wù)器的標(biāo)識,然后向第二代理服務(wù)器發(fā)送直播訂閱消息。其中,目標(biāo)觀眾服務(wù)器的標(biāo)識例如但不限于目標(biāo)觀眾服務(wù)器的編號等。

示例地,以圖2所示的直播系統(tǒng)為例,第二代理服務(wù)器可以為機房2中的vp2,則vs21將vs21的標(biāo)識添加在直播訂閱消息中,然后向vp2發(fā)送直播訂閱消息。

步驟504、第二代理服務(wù)器接收目標(biāo)觀眾服務(wù)器發(fā)送的直播訂閱消息。

目標(biāo)觀眾服務(wù)器向第二代理服務(wù)器發(fā)送直播訂閱消息時,第二代理服務(wù)器可以接收目標(biāo)觀眾服務(wù)器發(fā)送的直播訂閱消息。例如,vp2接收vs21發(fā)送的直播訂閱消息。

步驟505、第二代理服務(wù)器向第一代理服務(wù)器發(fā)送直播訂閱消息。

其中,第一代理服務(wù)器為直播系統(tǒng)的代理服務(wù)器中部署在第一機房中的代理服務(wù)器。

可選地,第二代理服務(wù)器可以對接收到的直播訂閱消息進(jìn)行處理,以在直播訂閱消息中添加第二代理服務(wù)器的標(biāo)識,然后向第一代理服務(wù)器發(fā)送直播訂閱消息。其中,第二代理服務(wù)器的標(biāo)識例如但不限于第二代理服務(wù)器的編號等。在本發(fā)明實施例中,直播系統(tǒng)還包括管理設(shè)備,管理設(shè)備用于管理直播服務(wù)器(包括主播服務(wù)器和觀眾服務(wù)器)的地址和端口以及代理服務(wù)器的地址和端口,第二代理服務(wù)器可以通過管理設(shè)備向第一代理服務(wù)器發(fā)送直播訂閱消息。具體地,第二代理服務(wù)器將直播訂閱消息發(fā)送給管理設(shè)備,并由管理設(shè)備轉(zhuǎn)發(fā)給第一代理服務(wù)器。需要說明的是,本發(fā)明實施例中,第二代理服務(wù)器通過管理設(shè)備向第一代理服務(wù)器發(fā)送直播訂閱消息,可以保證代理服務(wù)器之間傳輸?shù)南⒌目煽啃浴?/p>

示例地,以圖2所示的直播系統(tǒng)為例,第一代理服務(wù)器可以為機房1中的vp1,則vp2可以將vp2的標(biāo)識添加在直播訂閱消息中,然后通過管理設(shè)備向vp1發(fā)送直播訂閱消息。

步驟506、第一代理服務(wù)器接收第二代理服務(wù)器發(fā)送的直播訂閱消息。

第二代理服務(wù)器向第一代理服務(wù)器發(fā)送直播訂閱消息時,第一代理服務(wù)器可以接收第二代理服務(wù)器發(fā)送的直播訂閱消息。在本發(fā)明實施例中,由于第二代理服務(wù)器通過管理設(shè)備向第一代理服務(wù)器發(fā)送直播訂閱消息,因此第一代理服務(wù)器接收第二代理服務(wù)器通過管理設(shè)備發(fā)送的直播訂閱消息。也即是,第一代理服務(wù)器接收管理設(shè)備發(fā)送的直播訂閱消息,該直播訂閱消息是第二代理服務(wù)器向管理設(shè)備發(fā)送的。示例地,vp1接收vp2通過管理設(shè)備發(fā)送的直播訂閱消息。

步驟507、第一主播客戶端采集直播數(shù)據(jù)。

其中,第一主播客戶端為接入第一主播服務(wù)器的主播客戶端,該第一主播客戶端可以是視頻直播客戶端或音頻直播客戶端等等,例如,第一主播客戶端為bigolive客戶端,第一主播服務(wù)器為直播系統(tǒng)中部署在第一機房中的主播服務(wù)器,該第一主播服務(wù)器具體可以為直播服務(wù)器。

可選地,主播用戶可以采用用戶賬號和登錄密碼登陸第一主播客戶端,登陸成功之后,第一主播客戶端接入第一主播服務(wù)器,該第一主播服務(wù)器可以與目標(biāo)主播頻道對應(yīng),接入第一主播服務(wù)器之后,第一主播客戶端可以采集直播數(shù)據(jù),其中,該直播數(shù)據(jù)可以為音頻數(shù)據(jù)或視頻數(shù)據(jù)等??蛇x地,第一主播客戶端運行在終端上,終端設(shè)置有視頻組件(例如攝像頭)和音頻組件(例如麥克風(fēng))等,第一主播客戶端可以通過終端的視頻組件和音頻組件中的至少一種采集直播數(shù)據(jù),本發(fā)明實施例對此不作限定。

示例地,以圖2所示的直播系統(tǒng)為例,第一主播服務(wù)器可以為機房1中vs1m,第一主播客戶端可以為接入vs1m的主播客戶端z,則主播客戶端z通過運行該主播客戶端z的終端上的視頻組件和音頻組件中的至少一種采集直播數(shù)據(jù)。

步驟508、第一主播客戶端向第一主播服務(wù)器發(fā)送直播數(shù)據(jù)。

第一主播客戶端采集到直播數(shù)據(jù)后,可以向第一主播服務(wù)器發(fā)送直播數(shù)據(jù)。例如,主播客戶端z向vs1m發(fā)送直播數(shù)據(jù)。

步驟509、第一主播服務(wù)器接收第一主播客戶端發(fā)送的直播數(shù)據(jù)。

第一主播客戶端向第一主播服務(wù)器發(fā)送直播數(shù)據(jù)時,第一主播服務(wù)器可以接收第一主播客戶端發(fā)送的直播數(shù)據(jù)。例如,vs1m接收主播客戶端z發(fā)送的直播數(shù)據(jù)。

步驟510、第一主播服務(wù)器向第一代理服務(wù)器發(fā)送直播數(shù)據(jù)。

第一主播服務(wù)器接收到第一主播客戶端發(fā)送的直播數(shù)據(jù)后,可以向第一代理服務(wù)器發(fā)送直播數(shù)據(jù)。例如,vs1m向vp1發(fā)送直播數(shù)據(jù)。

步驟511、第一代理服務(wù)器接收第一主播服務(wù)器發(fā)送的直播數(shù)據(jù)。

第一主播服務(wù)器向第一代理服務(wù)器發(fā)送直播數(shù)據(jù)時,第一代理服務(wù)器可以接收第一主播服務(wù)器發(fā)送的直播數(shù)據(jù)。例如,vp1接收vs1m發(fā)送的直播數(shù)據(jù)。

步驟512、第一代理服務(wù)器向第二代理服務(wù)器發(fā)送直播數(shù)據(jù)。

第一代理服務(wù)器接收到第一主播服務(wù)器發(fā)送的直播數(shù)據(jù)后,可以向第二代理服務(wù)器發(fā)送直播數(shù)據(jù),在本發(fā)明實施例中,步驟506中第一代理服務(wù)器接收到的直播訂閱消息中可以包括第二代理服務(wù)器的標(biāo)識、目標(biāo)觀眾服務(wù)器的標(biāo)識以及目標(biāo)觀眾客戶端的標(biāo)識,因此第一代理服務(wù)器可以根據(jù)直播訂閱消息中第二代理服務(wù)器的標(biāo)識向第二代理服務(wù)器發(fā)送直播數(shù)據(jù)。

可選地,第一代理服務(wù)器可以根據(jù)目標(biāo)觀眾服務(wù)器的標(biāo)識以及目標(biāo)觀眾客戶端的標(biāo)識對直播數(shù)據(jù)進(jìn)行處理得到直播消息,該直播消息包括直播數(shù)據(jù)、目標(biāo)觀眾客戶端的標(biāo)識以及目標(biāo)觀眾服務(wù)器的標(biāo)識,然后第一代理服務(wù)器根據(jù)第二代理服務(wù)器的標(biāo)識向第二代理服務(wù)器發(fā)送直播消息。

示例地,以圖2所示的直播系統(tǒng)為例,第一代理服務(wù)器可以為vp1,步驟506中vp1接收到的直播訂閱消息中包括觀眾客戶端g的標(biāo)識、vs21的標(biāo)識以及vp2的標(biāo)識,vp1可以根據(jù)觀眾客戶端g的標(biāo)識和vs21的標(biāo)識對直播數(shù)據(jù)進(jìn)行處理得到直播消息,該直播消息中包括直播數(shù)據(jù)、觀眾客戶端g的標(biāo)識和vs21的標(biāo)識,然后vp1根據(jù)vp2的標(biāo)識向vp2發(fā)送該直播消息。

步驟513、第二代理服務(wù)器接收第一代理服務(wù)器發(fā)送的直播數(shù)據(jù)。

第一代理服務(wù)器向第二代理服務(wù)器發(fā)送直播數(shù)據(jù)時,第二代理服務(wù)器可以接收第一代理服務(wù)器發(fā)送的直播數(shù)據(jù)??蛇x地,第二代理服務(wù)器接收第一代理服務(wù)器發(fā)送的直播消息,該直播消息包括直播數(shù)據(jù)和目標(biāo)觀眾客戶端的標(biāo)識,該直播消息還可以包括目標(biāo)觀眾服務(wù)器的標(biāo)識。

示例地,vp2接收vp1發(fā)送的直播消息,該直播消息中包括直播數(shù)據(jù)、觀眾客戶端g的標(biāo)識和vs21的標(biāo)識。

步驟514、第二代理服務(wù)器將直播數(shù)據(jù)分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器。

第二代理服務(wù)器接收到第一代理服務(wù)器發(fā)送的直播數(shù)據(jù)后,可以將直播數(shù)據(jù)分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器。可選地,第二代理服務(wù)器實際接收到的是包括直播數(shù)據(jù)、目標(biāo)觀眾客戶端的標(biāo)識以及目標(biāo)觀眾服務(wù)器的標(biāo)識的直播消息,第二代理服務(wù)器可以對直播消息進(jìn)行解析,得到目標(biāo)觀眾服務(wù)器的標(biāo)識,根據(jù)目標(biāo)觀眾服務(wù)器的標(biāo)識將包括目標(biāo)觀眾客戶端的標(biāo)識和直播數(shù)據(jù)的直播消息分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器。

示例地,以圖2所示的直播系統(tǒng)為例,vp2對接收到的直播消息進(jìn)行解析,得到vs21的標(biāo)識,然后根據(jù)vs21的標(biāo)識將包括觀眾客戶端g的標(biāo)識和直播數(shù)據(jù)的直播消息分發(fā)至vs21。需要說明的是,本發(fā)明實施例是以目標(biāo)觀眾服務(wù)器為圖2中的vs21為例進(jìn)行說明的,實際應(yīng)用中,目標(biāo)觀眾服務(wù)器可以包括至少一個觀眾服務(wù)器,例如,目標(biāo)觀眾服務(wù)器可以包括vs21、vs22、vs23等,vp2可以向vs21、vs22、vs23等中的每個vs發(fā)送直播數(shù)據(jù)。還需要說明的是,本發(fā)明實施例是以第二代理服務(wù)器為圖2中的vp2為例進(jìn)行說明的,實際應(yīng)用中,第二代理服務(wù)器可以包括至少一個vp,例如,第二代理服務(wù)器可以包括vp2、vp3、vp4等等,從而,在上述步驟512中,vp1可以向vp2、vp3、vp4中的每個vp發(fā)送直播數(shù)據(jù),本發(fā)明實施例對此不作限定。

步驟515、目標(biāo)觀眾服務(wù)器將直播數(shù)據(jù)分發(fā)至接入目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端。

目標(biāo)觀眾服務(wù)器接收到直播數(shù)據(jù)后,可以將直播數(shù)據(jù)分發(fā)至接入目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端。目標(biāo)觀眾服務(wù)器實際接收到的是包括直播數(shù)據(jù)和目標(biāo)觀眾客戶端的標(biāo)識的直播消息,目標(biāo)觀眾服務(wù)器可以對直播消息進(jìn)行解析,得到目標(biāo)觀眾客戶端的標(biāo)識,根據(jù)目標(biāo)觀眾客戶端的標(biāo)識將直播數(shù)據(jù)發(fā)至接入目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端。示例地,以圖2所示的直播系統(tǒng)為例,vs21根據(jù)觀眾客戶端g的標(biāo)識將直播數(shù)據(jù)分發(fā)至觀眾客戶端g。

需要說明的是,本發(fā)明實施例是以接入目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端為觀眾客戶端g為例進(jìn)行說明的,實際應(yīng)用中,接入目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端可以為多個,目標(biāo)觀眾服務(wù)器可以將直播數(shù)據(jù)分發(fā)至接入目標(biāo)觀眾服務(wù)器的每個目標(biāo)觀眾客戶端;還需要說明的是,目標(biāo)觀眾客戶端接收到直播數(shù)據(jù)后,可以根據(jù)直播數(shù)據(jù)播放直播內(nèi)容,具體的實現(xiàn)過程可以參考相關(guān)技術(shù),本發(fā)明實施例在此不再贅述。

需要補充說明的是,本發(fā)明實施例提供的直播方法步驟的先后順序可以進(jìn)行適當(dāng)調(diào)整,步驟也可以根據(jù)情況進(jìn)行相應(yīng)增減,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化的方法,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi),因此不再贅述。

綜上所述,本發(fā)明實施例提供的直播方法,第一機房中的第一主播服務(wù)器接收到直播數(shù)據(jù)后,向第一機房中的第一代理服務(wù)器發(fā)送直播數(shù)據(jù),由第一代理服務(wù)器向第二機房中的第二代理服務(wù)器發(fā)送直播數(shù)據(jù),并由第二代理服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器分發(fā)直播數(shù)據(jù)。由于通過代理服務(wù)器實現(xiàn)直播數(shù)據(jù)的跨機房發(fā)送,而無需第一主播服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器發(fā)送直播數(shù)據(jù),因此解決了直播過程消耗的跨機房流量較大的問題,有助于減小跨機房流量。本發(fā)明實施例提供的直播方法能夠減小跨機房流量,減少用戶的直播流量費用,減小直播服務(wù)器的壓力,提高直播服務(wù)器的性能。

下述為本發(fā)明裝置實施例,可以用于執(zhí)行本發(fā)明方法實施例。對于本發(fā)明裝置實施例中未披露的細(xì)節(jié),請參照本發(fā)明方法實施例。

請參考圖6-1,其示出了本發(fā)明實施例提供的一種直播裝置600的框圖,該直播裝置600可以為第一代理服務(wù)器中的功能單元,用于執(zhí)行圖3所示實施例提供的直播方法或圖5所示實施例提供的直播方法的相關(guān)步驟。參見圖6-1,該直播裝置600可以包括但不限于:

第一接收模塊610,用于接收第一主播服務(wù)器發(fā)送的直播數(shù)據(jù),第一主播服務(wù)器為部署在第一機房中的主播服務(wù)器,直播數(shù)據(jù)是第一主播客戶端采集到直播數(shù)據(jù)后向第一主播服務(wù)器發(fā)送的數(shù)據(jù),第一主播客戶端為接入第一主播服務(wù)器的主播客戶端;

發(fā)送模塊620,用于向第二代理服務(wù)器發(fā)送直播數(shù)據(jù),以便于第二代理服務(wù)器將直播數(shù)據(jù)分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器,目標(biāo)觀眾服務(wù)器用于將直播數(shù)據(jù)分發(fā)至接入目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端,第二機房為多個機房中除第一機房之外的任一機房,第二代理服務(wù)器為部署在第二機房中的代理服務(wù)器。

可選地,請參考圖6-2,其示出了本發(fā)明實施例提供的另一種直播裝置600的框圖,在圖6-1的基礎(chǔ)上,該直播裝置600還包括:

第二接收模塊630,用于接收第二代理服務(wù)器發(fā)送的直播訂閱消息,直播訂閱消息包括目標(biāo)觀眾客戶端的標(biāo)識,直播訂閱消息是目標(biāo)觀眾客戶端向目標(biāo)觀眾服務(wù)器發(fā)送,并由目標(biāo)觀眾服務(wù)器轉(zhuǎn)發(fā)給第二代理服務(wù)器的消息;

發(fā)送模塊620,用于根據(jù)直播訂閱消息,向第二代理服務(wù)器發(fā)送直播消息,直播消息包括直播數(shù)據(jù)和目標(biāo)觀眾客戶端的標(biāo)識,目標(biāo)觀眾服務(wù)器用于根據(jù)目標(biāo)觀眾客戶端的標(biāo)識將直播數(shù)據(jù)分發(fā)至目標(biāo)觀眾客戶端。

可選地,直播系統(tǒng)還包括管理設(shè)備,第二接收模塊630,用于接收第二代理服務(wù)器通過管理設(shè)備發(fā)送的直播訂閱消息。

綜上所述,本發(fā)明實施例提供的直播裝置,第一機房中的第一主播服務(wù)器接收到直播數(shù)據(jù)后,向第一機房中的第一代理服務(wù)器發(fā)送直播數(shù)據(jù),由第一代理服務(wù)器向第二機房中的第二代理服務(wù)器發(fā)送直播數(shù)據(jù),并由第二代理服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器分發(fā)直播數(shù)據(jù)。由于通過代理服務(wù)器實現(xiàn)直播數(shù)據(jù)的跨機房發(fā)送,而無需第一主播服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器發(fā)送直播數(shù)據(jù),因此解決了直播過程消耗的跨機房流量較大的問題,有助于減小跨機房流量。

請參考圖7-1,其示出了本發(fā)明實施例提供的一種直播裝置700的框圖,該直播裝置700可以為第二代理服務(wù)器中的功能單元,用于執(zhí)行圖4所示實施例提供的直播方法或圖5所示實施例提供的直播方法的相關(guān)步驟。參見圖7-1,該直播裝置700可以包括但不限于:

第一接收模塊710,用于接收第一代理服務(wù)器發(fā)送的直播數(shù)據(jù),直播數(shù)據(jù)是第一主播客戶端采集到直播數(shù)據(jù)后向第一主播服務(wù)器發(fā)送,并由第一主播服務(wù)器轉(zhuǎn)發(fā)給第一代理服務(wù)器的數(shù)據(jù),第一代理服務(wù)器為部署在第一機房中的代理服務(wù)器,第一主播服務(wù)器為部署在第一機房中的主播服務(wù)器,第一主播客戶端為接入第一主播服務(wù)器的主播客戶端,第一機房為多個機房中的任一機房,第二機房為多個機房中除第一機房之外的任一機房;

第一發(fā)送模塊720,用于將直播數(shù)據(jù)分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器,目標(biāo)觀眾服務(wù)器用于將直播數(shù)據(jù)分發(fā)至接入目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端。

可選地,請參考圖7-2,其示出了本發(fā)明實施例提供的另一種直播裝置700的框圖,參見圖7-2,在圖7-1的基礎(chǔ)上,該直播裝置700還包括:

第二接收模塊730,用于接收目標(biāo)觀眾服務(wù)器發(fā)送的直播訂閱消息,直播訂閱消息包括目標(biāo)觀眾客戶端的標(biāo)識,直播訂閱消息是目標(biāo)觀眾客戶端向目標(biāo)觀眾服務(wù)器發(fā)送的消息;

第二發(fā)送模塊740,用于向第一代理服務(wù)器發(fā)送直播訂閱消息;

第一接收模塊710,用于接收第一代理服務(wù)器發(fā)送的直播消息,直播消息包括直播數(shù)據(jù)和目標(biāo)觀眾客戶端的標(biāo)識;

第一發(fā)送模塊720,用于將直播消息分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器,目標(biāo)觀眾服務(wù)器用于根據(jù)目標(biāo)觀眾客戶端的標(biāo)識將直播數(shù)據(jù)分發(fā)至目標(biāo)觀眾客戶端。

可選地,直播系統(tǒng)還包括管理設(shè)備,第二發(fā)送模塊740,用于通過管理設(shè)備向第一代理服務(wù)器發(fā)送直播訂閱消息。

綜上所述,本發(fā)明實施例提供的直播裝置,第一機房中的第一主播服務(wù)器接收到直播數(shù)據(jù)后,向第一機房中的第一代理服務(wù)器發(fā)送直播數(shù)據(jù),由第一代理服務(wù)器向第二機房中的第二代理服務(wù)器發(fā)送直播數(shù)據(jù),并由第二代理服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器分發(fā)直播數(shù)據(jù)。由于通過代理服務(wù)器實現(xiàn)直播數(shù)據(jù)的跨機房發(fā)送,而無需第一主播服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器發(fā)送直播數(shù)據(jù),因此解決了直播過程消耗的跨機房流量較大的問題,有助于減小跨機房流量。

需要說明的是:上述實施例提供的直播裝置在直播時,僅以上述各功能模塊的劃分進(jìn)行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的直播方法與裝置實施例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。

請參考圖8,其示出了本發(fā)明實施例提供的一種服務(wù)器800的結(jié)構(gòu)示意圖,該服務(wù)器800可以第一代理服務(wù)器,該第一代理服務(wù)器為直播系統(tǒng)中部署在第一機房中的代理服務(wù)器,例如,該第一代理服務(wù)器為部署在圖2所示實施環(huán)境中的機房1中的vp1。參見圖8,服務(wù)器800包括處理組件822,其進(jìn)一步包括至少一個處理器,以及由存儲器832所代表的存儲器資源,用于存儲可由處理組件822執(zhí)行的指令,例如應(yīng)用。存儲器832中存儲的應(yīng)用可以包括至少一個,每一個對應(yīng)于一組指令的模塊。此外,處理組件822被配置為執(zhí)行指令,以執(zhí)行上述圖3所示實施例提供的直播方法或圖5所示實施例提供的直播方法的相關(guān)步驟。

服務(wù)器800還可以包括一個電源組件826被配置為執(zhí)行服務(wù)器800的電源管理,一個有線或無線網(wǎng)絡(luò)接口850被配置為將服務(wù)器800連接到網(wǎng)絡(luò),和一個輸入輸出(英文:input/output;簡稱:i/o)接口858。服務(wù)器800可以操作基于存儲在存儲器832的操作系統(tǒng),例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或類似。

一種服務(wù)器,該服務(wù)器為直播系統(tǒng)的第一代理服務(wù)器,直播系統(tǒng)包括部署在多個機房中的代理服務(wù)器,以及,部署在每個機房中的至少一個直播服務(wù)器,部署在每個機房中的直播服務(wù)器包括主播服務(wù)器和觀眾服務(wù)器中的至少一種,第一代理服務(wù)器為部署在第一機房中的代理服務(wù)器,第一機房為多個機房中的任一機房,該服務(wù)器包括:

處理器;

用于存儲處理器的可執(zhí)行指令的存儲器;

其中,處理器被配置為:

接收第一主播服務(wù)器發(fā)送的直播數(shù)據(jù),第一主播服務(wù)器為部署在第一機房中的主播服務(wù)器,直播數(shù)據(jù)是第一主播客戶端采集到直播數(shù)據(jù)后向第一主播服務(wù)器發(fā)送的數(shù)據(jù),第一主播客戶端為接入第一主播服務(wù)器的主播客戶端;

向第二代理服務(wù)器發(fā)送直播數(shù)據(jù),以便于第二代理服務(wù)器將直播數(shù)據(jù)分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器,目標(biāo)觀眾服務(wù)器用于將直播數(shù)據(jù)分發(fā)至接入目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端,第二機房為多個機房中除第一機房之外的任一機房,第二代理服務(wù)器為部署在第二機房中的代理服務(wù)器。

綜上所述,本發(fā)明實施例提供的服務(wù)器,第一機房中的第一主播服務(wù)器接收到直播數(shù)據(jù)后,向第一機房中的第一代理服務(wù)器發(fā)送直播數(shù)據(jù),由第一代理服務(wù)器向第二機房中的第二代理服務(wù)器發(fā)送直播數(shù)據(jù),并由第二代理服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器分發(fā)直播數(shù)據(jù)。由于通過代理服務(wù)器實現(xiàn)直播數(shù)據(jù)的跨機房發(fā)送,而無需第一主播服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器發(fā)送直播數(shù)據(jù),因此解決了直播過程消耗的跨機房流量較大的問題,有助于減小跨機房流量。

請參考圖9,其示出了本發(fā)明實施例提供的一種服務(wù)器900的結(jié)構(gòu)示意圖,該服務(wù)器900可以第二代理服務(wù)器,該第二代理服務(wù)器為直播系統(tǒng)中部署在第二機房中的代理服務(wù)器,例如,該第二代理服務(wù)器為部署在圖2所示實施環(huán)境中的機房2中的vp2。參見圖9,服務(wù)器900包括處理組件922,其進(jìn)一步包括至少一個處理器,以及由存儲器932所代表的存儲器資源,用于存儲可由處理組件922執(zhí)行的指令,例如應(yīng)用。存儲器932中存儲的應(yīng)用可以包括至少一個,每一個對應(yīng)于一組指令的模塊。此外,處理組件922被配置為執(zhí)行指令,以執(zhí)行上述圖4所示實施例提供的直播方法或圖5所示實施例提供的直播方法的相關(guān)步驟。

服務(wù)器900還可以包括一個電源組件926被配置為執(zhí)行服務(wù)器900的電源管理,一個有線或無線網(wǎng)絡(luò)接口950被配置為將服務(wù)器900連接到網(wǎng)絡(luò),和一個i/o接口958。服務(wù)器900可以操作基于存儲在存儲器932的操作系統(tǒng),例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或類似。

一種服務(wù)器,該服務(wù)器為直播系統(tǒng)的第二代理服務(wù)器,直播系統(tǒng)包括部署在多個機房中的代理服務(wù)器,以及,部署在每個機房中的至少一個直播服務(wù)器,部署在每個機房中的直播服務(wù)器包括主播服務(wù)器和觀眾服務(wù)器中的至少一種,第二代理服務(wù)器為部署在第二機房中的代理服務(wù)器,該服務(wù)器包括:

處理器;

用于存儲處理器的可執(zhí)行指令的存儲器;

其中,處理器被配置為:

接收第一代理服務(wù)器發(fā)送的直播數(shù)據(jù),直播數(shù)據(jù)是第一主播客戶端采集到直播數(shù)據(jù)后向第一主播服務(wù)器發(fā)送,并由第一主播服務(wù)器轉(zhuǎn)發(fā)給第一代理服務(wù)器的數(shù)據(jù),第一代理服務(wù)器為部署在第一機房中的代理服務(wù)器,第一主播服務(wù)器為部署在第一機房中的主播服務(wù)器,第一主播客戶端為接入第一主播服務(wù)器的主播客戶端,第一機房為多個機房中的任一機房,第二機房為多個機房中除第一機房之外的任一機房;

將直播數(shù)據(jù)分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器,目標(biāo)觀眾服務(wù)器用于將直播數(shù)據(jù)分發(fā)至接入目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端。

綜上所述,本發(fā)明實施例提供的服務(wù)器,第一機房中的第一主播服務(wù)器接收到直播數(shù)據(jù)后,向第一機房中的第一代理服務(wù)器發(fā)送直播數(shù)據(jù),由第一代理服務(wù)器向第二機房中的第二代理服務(wù)器發(fā)送直播數(shù)據(jù),并由第二代理服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器分發(fā)直播數(shù)據(jù)。由于通過代理服務(wù)器實現(xiàn)直播數(shù)據(jù)的跨機房發(fā)送,而無需第一主播服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器發(fā)送直播數(shù)據(jù),因此解決了直播過程消耗的跨機房流量較大的問題,有助于減小跨機房流量。

本發(fā)明實施例還提供了一種直播系統(tǒng),該直播系統(tǒng)包括:部署在多個機房中的代理服務(wù)器,以及,部署在每個機房中的至少一個直播服務(wù)器,部署在每個機房中的直播服務(wù)器包括主播服務(wù)器和觀眾服務(wù)器中的至少一種,部署在多個機房中的代理服務(wù)器包括第一代理服務(wù)器和第二代理服務(wù)器,第一代理服務(wù)器為部署在第一機房中的代理服務(wù)器,第二代理服務(wù)器為部署在第二機房中的代理服務(wù)器,第一機房為多個機房中的任一機房,第二機房為多個機房中除第一機房之外的任一機房,

在一種可能的實現(xiàn)方式中,第一代理服務(wù)器包括圖6-1或圖6-2所示的直播裝置600,第二代理服務(wù)器包括圖7-1或圖7-2所示的直播裝置700;

在另一種可能的實現(xiàn)方式中,第一代理服務(wù)器為圖8所示的服務(wù)器800,第二代理服務(wù)器為圖9所示的服務(wù)器900。

綜上所述,本發(fā)明實施例提供的直播系統(tǒng),第一機房中的第一主播服務(wù)器接收到直播數(shù)據(jù)后,向第一機房中的第一代理服務(wù)器發(fā)送直播數(shù)據(jù),由第一代理服務(wù)器向第二機房中的第二代理服務(wù)器發(fā)送直播數(shù)據(jù),并由第二代理服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器分發(fā)直播數(shù)據(jù)。由于通過代理服務(wù)器實現(xiàn)直播數(shù)據(jù)的跨機房發(fā)送,而無需第一主播服務(wù)器向第二機房中的各個目標(biāo)觀眾服務(wù)器發(fā)送直播數(shù)據(jù),因此解決了直播過程消耗的跨機房流量較大的問題,有助于減小跨機房流量。

本發(fā)明實施例還提供了一種存儲介質(zhì),當(dāng)存儲介質(zhì)中的指令由服務(wù)器的處理器執(zhí)行時,使得服務(wù)器能夠執(zhí)行一種直播方法,服務(wù)器為直播系統(tǒng)的第一代理服務(wù)器,直播系統(tǒng)包括部署在多個機房中的代理服務(wù)器,以及,部署在每個機房中的至少一個直播服務(wù)器,部署在每個機房中的直播服務(wù)器包括主播服務(wù)器和觀眾服務(wù)器中的至少一種,第一代理服務(wù)器為部署在第一機房中的代理服務(wù)器,第一機房為多個機房中的任一機房,該直播方法包括:

接收第一主播服務(wù)器發(fā)送的直播數(shù)據(jù),第一主播服務(wù)器為部署在第一機房中的主播服務(wù)器,直播數(shù)據(jù)是第一主播客戶端采集到直播數(shù)據(jù)后向第一主播服務(wù)器發(fā)送的數(shù)據(jù),第一主播客戶端為接入第一主播服務(wù)器的主播客戶端;

向第二代理服務(wù)器發(fā)送直播數(shù)據(jù),以便于第二代理服務(wù)器將直播數(shù)據(jù)分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器,目標(biāo)觀眾服務(wù)器用于將直播數(shù)據(jù)分發(fā)至接入目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端,第二機房為多個機房中除第一機房之外的任一機房,第二代理服務(wù)器為部署在第二機房中的代理服務(wù)器。

可選地,在向第二代理服務(wù)器發(fā)送直播數(shù)據(jù)之前,該方法還包括:

接收第二代理服務(wù)器發(fā)送的直播訂閱消息,直播訂閱消息包括目標(biāo)觀眾客戶端的標(biāo)識,直播訂閱消息是目標(biāo)觀眾客戶端向目標(biāo)觀眾服務(wù)器發(fā)送,并由目標(biāo)觀眾服務(wù)器轉(zhuǎn)發(fā)給第二代理服務(wù)器的消息;

向第二代理服務(wù)器發(fā)送直播數(shù)據(jù),包括:

根據(jù)直播訂閱消息,向第二代理服務(wù)器發(fā)送直播消息,直播消息包括直播數(shù)據(jù)和目標(biāo)觀眾客戶端的標(biāo)識,目標(biāo)觀眾服務(wù)器用于根據(jù)目標(biāo)觀眾客戶端的標(biāo)識將直播數(shù)據(jù)分發(fā)至目標(biāo)觀眾客戶端。

可選地,直播系統(tǒng)還包括管理設(shè)備,接收第二代理服務(wù)器發(fā)送的直播訂閱消息,包括:接收第二代理服務(wù)器通過管理設(shè)備發(fā)送的直播訂閱消息。

本發(fā)明實施例還提供了一種存儲介質(zhì),當(dāng)存儲介質(zhì)中的指令由服務(wù)器的處理器執(zhí)行時,使得服務(wù)器能夠執(zhí)行一種直播方法,服務(wù)器為直播系統(tǒng)的第二代理服務(wù)器,直播系統(tǒng)包括部署在多個機房中的代理服務(wù)器,以及,部署在每個機房中的至少一個直播服務(wù)器,部署在每個機房中的直播服務(wù)器包括主播服務(wù)器和觀眾服務(wù)器中的至少一種,第二代理服務(wù)器為部署在第二機房中的代理服務(wù)器,該直播方法包括:

接收第一代理服務(wù)器發(fā)送的直播數(shù)據(jù),直播數(shù)據(jù)是第一主播客戶端采集到直播數(shù)據(jù)后向第一主播服務(wù)器發(fā)送,并由第一主播服務(wù)器轉(zhuǎn)發(fā)給第一代理服務(wù)器的數(shù)據(jù),第一代理服務(wù)器為部署在第一機房中的代理服務(wù)器,第一主播服務(wù)器為部署在第一機房中的主播服務(wù)器,第一主播客戶端為接入第一主播服務(wù)器的主播客戶端,第一機房為多個機房中的任一機房,第二機房為多個機房中除第一機房之外的任一機房;

將直播數(shù)據(jù)分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器,目標(biāo)觀眾服務(wù)器用于將直播數(shù)據(jù)分發(fā)至接入目標(biāo)觀眾服務(wù)器的目標(biāo)觀眾客戶端。

可選地,在接收第一代理服務(wù)器發(fā)送的直播數(shù)據(jù)之前,該方法還包括:

接收目標(biāo)觀眾服務(wù)器發(fā)送的直播訂閱消息,直播訂閱消息包括目標(biāo)觀眾客戶端的標(biāo)識,直播訂閱消息是目標(biāo)觀眾客戶端向目標(biāo)觀眾服務(wù)器發(fā)送的消息;

向第一代理服務(wù)器發(fā)送直播訂閱消息;

接收第一代理服務(wù)器發(fā)送的直播數(shù)據(jù),包括:

接收第一代理服務(wù)器發(fā)送的直播消息,直播消息包括直播數(shù)據(jù)和目標(biāo)觀眾客戶端的標(biāo)識;

將直播數(shù)據(jù)分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器,包括:

將直播消息分發(fā)至第二機房中的目標(biāo)觀眾服務(wù)器,目標(biāo)觀眾服務(wù)器用于根據(jù)目標(biāo)觀眾客戶端的標(biāo)識將直播數(shù)據(jù)分發(fā)至目標(biāo)觀眾客戶端。

可選地,直播系統(tǒng)還包括管理設(shè)備,向第一代理服務(wù)器發(fā)送直播訂閱消息,包括:通過管理設(shè)備向第一代理服務(wù)器發(fā)送直播訂閱消息。

本發(fā)明實施例還提供了一種包含指令的計算機程序產(chǎn)品,當(dāng)該計算機程序產(chǎn)品在計算機上運行時,使得計算機執(zhí)行圖3所示實施例提供的直播方法或圖5所示實施例提供的直播方法的相關(guān)步驟。

本發(fā)明實施例還提供了一種包含指令的計算機程序產(chǎn)品,當(dāng)該計算機程序產(chǎn)品在計算機上運行時,使得計算機執(zhí)行圖4所示實施例提供的直播方法或圖5所示實施例提供的直播方法的相關(guān)步驟。

本發(fā)明中術(shù)語“a和b的至少一種”,僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和b的至少一種,可以表示:單獨存在a,同時存在a和b,單獨存在b這三種情況。

本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。

以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
怀化市| 八宿县| 勃利县| 左云县| 余江县| 承德市| 获嘉县| 淮滨县| 凤翔县| 临夏县| 阳泉市| 永靖县| 西昌市| 麟游县| 五大连池市| 赣榆县| 罗定市| 鄱阳县| 海阳市| 襄汾县| 渭源县| 卓资县| 高阳县| 云阳县| 吴桥县| 富蕴县| 奎屯市| 景宁| 阜新市| 伊吾县| 新安县| 山东| 吐鲁番市| 垣曲县| 新巴尔虎左旗| 晋州市| 茶陵县| 康乐县| 越西县| 峨山| 资源县|