欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種流數(shù)據(jù)的封裝協(xié)議的轉(zhuǎn)換方法和裝置與流程

文檔序號:12493754閱讀:279來源:國知局
一種流數(shù)據(jù)的封裝協(xié)議的轉(zhuǎn)換方法和裝置與流程

本發(fā)明涉及流數(shù)據(jù)轉(zhuǎn)協(xié)議技術(shù)領(lǐng)域,具體涉及一種流數(shù)據(jù)的封裝協(xié)議的轉(zhuǎn)換方法以及一種流數(shù)據(jù)的封裝協(xié)議的轉(zhuǎn)換裝置。



背景技術(shù):

流數(shù)據(jù)為可以采用流式傳輸?shù)姆绞皆诰W(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù),對于流數(shù)據(jù)服務(wù)來說,常見公開的流數(shù)據(jù)傳輸協(xié)議比較多,例如RTMP(Real Time Messaging Protocol,實時消息傳輸協(xié)議)、HLS(HTTP Live Streaming,基于HTTP的流媒體網(wǎng)絡(luò)傳輸協(xié)議)、RTP(Real-time Transport Protocol,用于Internet上針對多媒體數(shù)據(jù)流的一種傳輸層協(xié)議)等。

在視頻直播或遠程攝像頭等需要進行流數(shù)據(jù)傳輸?shù)膽?yīng)用中,由于客戶端、瀏覽器或平臺支持的協(xié)議各不相同,而且各協(xié)議的優(yōu)缺點也各不相同,需要提供協(xié)議轉(zhuǎn)換的服務(wù)來使得流數(shù)據(jù)傳輸可以支持不同的客戶端、瀏覽器或平臺。

現(xiàn)有技術(shù)中,接入多種協(xié)議的流,然后輸出多種協(xié)議的流,過程很復雜。需要在服務(wù)器上支持每一種協(xié)議轉(zhuǎn)換其他各種協(xié)議的轉(zhuǎn)換任務(wù),協(xié)議種類很多時,轉(zhuǎn)換協(xié)議的種類變得非常多。新添加一種協(xié)議時,需要對應(yīng)的加入對應(yīng)多種的轉(zhuǎn)換服務(wù),拓展新協(xié)議的成本也很高。



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

鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種流數(shù)據(jù)的封裝協(xié)議的轉(zhuǎn)換方法和相應(yīng)的裝置。

依據(jù)本發(fā)明的一個方面,提供了一種流數(shù)據(jù)的封裝協(xié)議的轉(zhuǎn)換方法,包括:

確定協(xié)議轉(zhuǎn)換任務(wù)對應(yīng)的原始封裝協(xié)議和多個目標封裝協(xié)議;

查找所述原始封裝協(xié)議對應(yīng)中轉(zhuǎn)封裝協(xié)議的第一協(xié)議轉(zhuǎn)換邏輯,并采用所述第一協(xié)議轉(zhuǎn)換邏輯,將基于原始封裝協(xié)議的第一流數(shù)據(jù)轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù);

查找所述中轉(zhuǎn)封裝協(xié)議分別對應(yīng)各目標封裝協(xié)議的第二協(xié)議轉(zhuǎn)換邏輯,并采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)。

可選地,在所述確定協(xié)議轉(zhuǎn)換任務(wù)對應(yīng)的原始封裝協(xié)議和多個目標封裝協(xié)議之前,所述方法還包括:

接收針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù)。

可選地,所述確定協(xié)議轉(zhuǎn)換任務(wù)對應(yīng)的原始封裝協(xié)議和多個目標封裝協(xié)議包括:

根據(jù)所述第一流數(shù)據(jù)的數(shù)據(jù)協(xié)議頭識別所采用的原始封裝協(xié)議,并提取所述協(xié)議轉(zhuǎn)換任務(wù)攜帶的多個目標封裝協(xié)議。

可選地,所述接收針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù)包括:

接收傳輸集群的目標傳輸節(jié)點發(fā)送的針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù);

所述方法還包括:

將轉(zhuǎn)換得到的第三流數(shù)據(jù)反饋至所述傳輸集群的目標傳輸節(jié)點。

可選地,在所述采用所述第一協(xié)議轉(zhuǎn)換邏輯,將基于原始封裝協(xié)議的第一流數(shù)據(jù)轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)之前,所述方法還包括:

從處理節(jié)點集群選取負載狀態(tài)滿足設(shè)定條件的第一處理節(jié)點,調(diào)用所述第一處理節(jié)點的第一處理進程,用于將第一流數(shù)據(jù)轉(zhuǎn)換為第二流數(shù)據(jù)。

可選地,在所述采用所述第二協(xié)議轉(zhuǎn)換邏輯,分別將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換至基于目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,所述方法還包括:

針對各種目標封裝協(xié)議分別創(chuàng)建對應(yīng)的協(xié)議轉(zhuǎn)換子任務(wù);

將多個協(xié)議轉(zhuǎn)換子任務(wù)分配至處理節(jié)點集群的至少一個目標處理節(jié)點;

調(diào)用各目標處理節(jié)點運行至少一個處理進程處理所述多個協(xié)議轉(zhuǎn)換子任務(wù),其中,一個所調(diào)用的處理進程處理一個或多個協(xié)議轉(zhuǎn)換子任務(wù)。

可選地,在所述采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,所述方法還包括:

接收針對所述協(xié)議轉(zhuǎn)換任務(wù)的變更操作;

按照變更后的協(xié)議轉(zhuǎn)換任務(wù)對處理進程進行停止或啟動操作。

可選地,所述按照變更后的協(xié)議轉(zhuǎn)換任務(wù)對處理進程進行停止或啟動操作包括:

確定新增的目標封裝協(xié)議和或/刪除的目標封裝協(xié)議;

針對刪除的目標封裝協(xié)議,通知對應(yīng)處理進程停止執(zhí)行對應(yīng)的協(xié)議轉(zhuǎn)換子任務(wù);

針對新增的目標封裝協(xié)議,啟動新的處理進程執(zhí)行對應(yīng)該新增的目標封裝協(xié)議的協(xié)議轉(zhuǎn)換子任務(wù)。

可選地,在所述采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,所述方法還包括:

確定各個目標封裝協(xié)議所需的目標幀率和/或流數(shù)據(jù)格式;

將所述第二流數(shù)據(jù)按照確定目標幀率進行幀率轉(zhuǎn)換,和/或按照確定的流數(shù)據(jù)格式進行格式轉(zhuǎn)換。

可選地,所述將多個協(xié)議轉(zhuǎn)換子任務(wù)分配至處理節(jié)點集群的至少一個目標處理節(jié)點包括:

從管理節(jié)點獲取各個處理節(jié)點的負載狀態(tài);

選取負載狀態(tài)滿足設(shè)定條件的至少一個目標處理節(jié)點,并向各選取的目標處理節(jié)點下發(fā)至少一個協(xié)議轉(zhuǎn)換子任務(wù)。

可選地,各處理節(jié)點對應(yīng)一個任務(wù)隊列,在所述向各選取的目標處理節(jié)點下發(fā)至少一個協(xié)議轉(zhuǎn)換子任務(wù)之前,所述方法還包括:

獲取各目標處理節(jié)點的任務(wù)隊列;

設(shè)置待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)在各任務(wù)隊列中的排序,使各個協(xié)議轉(zhuǎn)換子任務(wù)的處理時間的差值小于設(shè)定閾值。

可選地,所述設(shè)置待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)在各任務(wù)隊列中的排序,使各個協(xié)議轉(zhuǎn)換子任務(wù)的處理時間的差值小于設(shè)定閾值包括:

根據(jù)各目標處理節(jié)點的任務(wù)隊列中已有的協(xié)議轉(zhuǎn)換子任務(wù),預測各個待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)的處理時間;

確定處理時間最晚的目標協(xié)議轉(zhuǎn)換子任務(wù);

按照目標協(xié)議轉(zhuǎn)換子任務(wù)的處理時間安排各個待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)的處理時間。

可選地,所述方法還包括:

接收各個處理進程針對協(xié)議轉(zhuǎn)換子任務(wù)反饋的處理結(jié)果,匯集得到所述協(xié)議轉(zhuǎn)換任務(wù)的處理結(jié)果。

根據(jù)本發(fā)明的另一方面,提供了一種流數(shù)據(jù)的封裝協(xié)議的轉(zhuǎn)換裝置,包括:

協(xié)議確定模塊,用于確定協(xié)議轉(zhuǎn)換任務(wù)對應(yīng)的原始封裝協(xié)議和多個目標封裝協(xié)議;

第二流數(shù)據(jù)轉(zhuǎn)換模塊,用于查找所述原始封裝協(xié)議對應(yīng)中轉(zhuǎn)封裝協(xié)議的第一協(xié)議轉(zhuǎn)換邏輯,并采用所述第一協(xié)議轉(zhuǎn)換邏輯,將基于原始封裝協(xié)議的第一流數(shù)據(jù)轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù);

第三流數(shù)據(jù)轉(zhuǎn)換模塊,用于查找所述中轉(zhuǎn)封裝協(xié)議分別對應(yīng)各目標封裝協(xié)議的第二協(xié)議轉(zhuǎn)換邏輯,并采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)。

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

轉(zhuǎn)換任務(wù)接收模塊,用于在所述確定協(xié)議轉(zhuǎn)換任務(wù)對應(yīng)的原始封裝協(xié)議和多個目標封裝協(xié)議之前,接收針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù)。

可選地,所述協(xié)議確定模塊具體用于根據(jù)所述第一流數(shù)據(jù)的數(shù)據(jù)協(xié)議頭識別所采用的原始封裝協(xié)議,并提取所述協(xié)議轉(zhuǎn)換任務(wù)攜帶的多個目標封裝協(xié)議。

可選地,所述轉(zhuǎn)換任務(wù)接收模塊包括:

轉(zhuǎn)換任務(wù)接收子模塊,用于接收傳輸集群的目標傳輸節(jié)點發(fā)送的針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù);

所述裝置還包括:

傳輸節(jié)點反饋模塊,用于將轉(zhuǎn)換得到的第三流數(shù)據(jù)反饋至所述傳輸集群的目標傳輸節(jié)點。

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

處理節(jié)點選取模塊,用于在所述采用所述第一協(xié)議轉(zhuǎn)換邏輯,將基于原始封裝協(xié)議的第一流數(shù)據(jù)轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)之前,從處理節(jié)點集群選取負載狀態(tài)滿足設(shè)定條件的第一處理節(jié)點,調(diào)用所述第一處理節(jié)點的第一處理進程,用于將第一流數(shù)據(jù)轉(zhuǎn)換為第二流數(shù)據(jù)。

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

子任務(wù)創(chuàng)建模塊,用于在所述采用所述第二協(xié)議轉(zhuǎn)換邏輯,分別將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換至基于目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,針對各種目標封裝協(xié)議分別創(chuàng)建對應(yīng)的協(xié)議轉(zhuǎn)換子任務(wù);

子任務(wù)分配模塊,用于將多個協(xié)議轉(zhuǎn)換子任務(wù)分配至處理節(jié)點集群的至少一個目標處理節(jié)點;

進程調(diào)用模塊,用于調(diào)用各目標處理節(jié)點運行至少一個處理進程處理所述多個協(xié)議轉(zhuǎn)換子任務(wù),其中,一個所調(diào)用的處理進程處理一個或多個協(xié)議轉(zhuǎn)換子任務(wù)。

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

變更操作接收模塊,用于在所述采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,接收針對所述協(xié)議轉(zhuǎn)換任務(wù)的變更操作;

進程操作模塊,用于按照變更后的協(xié)議轉(zhuǎn)換任務(wù)對處理進程進行停止或啟動操作。

可選地,所述進程操作模塊包括:

協(xié)議確定子模塊,用于確定新增的目標封裝協(xié)議和或/刪除的目標封裝協(xié)議;

進程停止子模塊,用于針對刪除的目標封裝協(xié)議,通知對應(yīng)處理進程停止執(zhí)行對應(yīng)的協(xié)議轉(zhuǎn)換子任務(wù);

進程啟動子模塊,用于針對新增的目標封裝協(xié)議,啟動新的處理進程執(zhí)行對應(yīng)該新增的目標封裝協(xié)議的協(xié)議轉(zhuǎn)換子任務(wù)。

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

幀率格式確定模塊,用于在所述采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,確定各個目標封裝協(xié)議所需的目標幀率和/或流數(shù)據(jù)格式;

轉(zhuǎn)換模塊,用于將所述第二流數(shù)據(jù)按照確定目標幀率進行幀率轉(zhuǎn)換,和/或按照確定的流數(shù)據(jù)格式進行格式轉(zhuǎn)換。

可選地,所述子任務(wù)分配模塊包括:

負載狀態(tài)獲取子模塊,用于從管理節(jié)點獲取各個處理節(jié)點的負載狀態(tài);

處理節(jié)點選取子模塊,用于選取負載狀態(tài)滿足設(shè)定條件的至少一個目標處理節(jié)點,并向各選取的目標處理節(jié)點下發(fā)至少一個協(xié)議轉(zhuǎn)換子任務(wù)。

可選地,各處理節(jié)點對應(yīng)一個任務(wù)隊列,所述裝置還包括:

任務(wù)隊列獲取模塊,用于在所述向各選取的目標處理節(jié)點下發(fā)至少一個協(xié)議轉(zhuǎn)換子任務(wù)之前,獲取各目標處理節(jié)點的任務(wù)隊列;

排序設(shè)置模塊,用于設(shè)置待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)在各任務(wù)隊列中的排序,使各個協(xié)議轉(zhuǎn)換子任務(wù)的處理時間的差值小于設(shè)定閾值。

可選地,所述排序設(shè)置模塊包括:

處理時間預測子模塊,用于根據(jù)各目標處理節(jié)點的任務(wù)隊列中已有的協(xié)議轉(zhuǎn)換子任務(wù),預測各個待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)的處理時間;

子任務(wù)確定子模塊,用于確定處理時間最晚的目標協(xié)議轉(zhuǎn)換子任務(wù);

處理時間安排子模塊,用于按照目標協(xié)議轉(zhuǎn)換子任務(wù)的處理時間安排各個待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)的處理時間。

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

處理結(jié)果接收模塊,用于接收各個處理進程針對協(xié)議轉(zhuǎn)換子任務(wù)反饋的處理結(jié)果,匯集得到所述協(xié)議轉(zhuǎn)換任務(wù)的處理結(jié)果。

根據(jù)本發(fā)明的一種流數(shù)據(jù)的封裝協(xié)議的轉(zhuǎn)換方法和裝置,通過確定協(xié)議轉(zhuǎn)換任務(wù)對應(yīng)的原始封裝協(xié)議和多個目標封裝協(xié)議,查找所述原始封裝協(xié)議對應(yīng)中轉(zhuǎn)封裝協(xié)議的第一協(xié)議轉(zhuǎn)換邏輯,并采用所述第一協(xié)議轉(zhuǎn)換邏輯,將基于原始封裝協(xié)議的第一流數(shù)據(jù)轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù),查找所述中轉(zhuǎn)封裝協(xié)議分別對應(yīng)各目標封裝協(xié)議的第二協(xié)議轉(zhuǎn)換邏輯,并采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù),使得對于多種封裝協(xié)議,只需存儲由各種封裝協(xié)議轉(zhuǎn)換為中轉(zhuǎn)封裝協(xié)議的協(xié)議轉(zhuǎn)換邏輯,以及由中轉(zhuǎn)封裝協(xié)議轉(zhuǎn)換為各種封裝協(xié)議的協(xié)議轉(zhuǎn)換邏輯,再分兩步進行協(xié)議轉(zhuǎn)換就可以完成多種封裝協(xié)議之間的相互轉(zhuǎn)換,減少了需要存儲的協(xié)議轉(zhuǎn)換邏輯,降低了協(xié)議轉(zhuǎn)換服務(wù)的復雜程度。當有新添加的封裝協(xié)議時,只需增加新添加的封裝協(xié)議和中轉(zhuǎn)封裝協(xié)議相互轉(zhuǎn)換的兩種邏輯即可,極大的降低了拓展新封裝協(xié)議的成本。

上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。

附圖說明

通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:

圖1示出了根據(jù)本發(fā)明實施例一的一種流數(shù)據(jù)的封裝協(xié)議的轉(zhuǎn)換方法的步驟流程示意圖;

圖2示出了根據(jù)本發(fā)明實施例二的一種流數(shù)據(jù)的封裝協(xié)議的轉(zhuǎn)換方法的步驟流程示意圖;

圖3示出了根據(jù)本發(fā)明實施例三的一種流數(shù)據(jù)的封裝協(xié)議的轉(zhuǎn)換裝置的結(jié)構(gòu)框圖。

具體實施方式

下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。

參照圖1,示出了根據(jù)本發(fā)明實施例一的一種流數(shù)據(jù)的封裝協(xié)議的轉(zhuǎn)換方法的步驟流程示意圖,具體可以包括如下步驟:

步驟101,確定協(xié)議轉(zhuǎn)換任務(wù)對應(yīng)的原始封裝協(xié)議和多個目標封裝協(xié)議。

封裝協(xié)議為流數(shù)據(jù)傳輸協(xié)議,具體是指封裝流數(shù)據(jù)的數(shù)據(jù)包的協(xié)議,例如,RTMP(Real Time Messaging Protocol,實時消息傳輸協(xié)議)、HLS(HTTP Live Streaming,基于HTTP的流媒體網(wǎng)絡(luò)傳輸協(xié)議)、RTP(Real-time Transport Protocol,用于Internet上針對多媒體數(shù)據(jù)流的一種傳輸層協(xié)議)等。

在本發(fā)明實施例中,原始封裝協(xié)議是相對目標封裝協(xié)議的概念,原始封裝協(xié)議是指流數(shù)據(jù)原來的封裝協(xié)議,也就是待轉(zhuǎn)換協(xié)議的封裝協(xié)議,目標封裝協(xié)議是指流數(shù)據(jù)轉(zhuǎn)換后的封裝協(xié)議。協(xié)議轉(zhuǎn)換任務(wù)是指由原始封裝協(xié)議轉(zhuǎn)換為目標封裝協(xié)議的轉(zhuǎn)換協(xié)議的任務(wù),具體可以是流數(shù)據(jù)由一個封裝協(xié)議轉(zhuǎn)換為多個目標封裝協(xié)議的任務(wù)。

在本發(fā)明實施例中,協(xié)議轉(zhuǎn)換任務(wù)可以是預設(shè)的或者接收到的,協(xié)議轉(zhuǎn)換服務(wù)器可以確定協(xié)議轉(zhuǎn)換任務(wù)指示的原始封裝協(xié)議和多個目標封裝協(xié)議。其中,協(xié)議轉(zhuǎn)換是指從一種協(xié)議的數(shù)據(jù)中提取數(shù)據(jù)包,然后封裝為另一種封裝協(xié)議的數(shù)據(jù)包。例如,從RTP協(xié)議的輸入源中提取AAC編碼的音頻和H.264編碼視頻數(shù)據(jù),并生成RTMP數(shù)據(jù)包,然后封裝為RTMP協(xié)議的數(shù)據(jù)包。

本發(fā)明實施例可以應(yīng)用在可以用于轉(zhuǎn)換封裝協(xié)議的服務(wù)器上,例如,在視頻直播應(yīng)用中,主播客戶端上傳的流數(shù)據(jù)是基于RTMP協(xié)議封裝的,觀眾客戶端下載的流數(shù)據(jù)有的是基于HLS協(xié)議封裝的,有的是基于RTP協(xié)議封裝的,需要提供可以執(zhí)行協(xié)議轉(zhuǎn)換任務(wù)的服務(wù)器將主播客戶端上傳的流數(shù)據(jù)的封裝協(xié)議轉(zhuǎn)換為其他觀眾客戶端支持的封裝協(xié)議。

步驟102,查找所述原始封裝協(xié)議對應(yīng)中轉(zhuǎn)封裝協(xié)議的第一協(xié)議轉(zhuǎn)換邏輯,并采用所述第一協(xié)議轉(zhuǎn)換邏輯,將基于原始封裝協(xié)議的第一流數(shù)據(jù)轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)。

在本發(fā)明實施例中,中轉(zhuǎn)封裝協(xié)議是相對原始封裝協(xié)議和目標封裝協(xié)議的概念,中轉(zhuǎn)封裝協(xié)議是指將原始封裝協(xié)議轉(zhuǎn)換為目標封裝協(xié)議時的一種過渡的轉(zhuǎn)換協(xié)議。具體而言,可以先將原始封裝協(xié)議轉(zhuǎn)換為中轉(zhuǎn)封裝協(xié)議,再由中轉(zhuǎn)封裝協(xié)議轉(zhuǎn)換為其他所需的目標封裝協(xié)議。

第一協(xié)議轉(zhuǎn)換邏輯是指由原始封裝協(xié)議轉(zhuǎn)換為中轉(zhuǎn)封裝協(xié)議的協(xié)議轉(zhuǎn)換的具體轉(zhuǎn)換方式。每種原始封裝協(xié)議轉(zhuǎn)換為中轉(zhuǎn)封裝協(xié)議的協(xié)議轉(zhuǎn)換邏輯都各不相同,協(xié)議轉(zhuǎn)換服務(wù)需要保存各種協(xié)議轉(zhuǎn)換邏輯。

在本發(fā)明實施例中,由協(xié)議轉(zhuǎn)換任務(wù)確定的原始封裝協(xié)議,查找原始封裝協(xié)議對應(yīng)中轉(zhuǎn)封裝協(xié)議的第一協(xié)議轉(zhuǎn)換邏輯,根據(jù)第一協(xié)議轉(zhuǎn)換邏輯,將第一流數(shù)據(jù)的基于原始封裝協(xié)議封裝的數(shù)據(jù)包,轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議封裝的數(shù)據(jù)包,然后組成第二流數(shù)據(jù)。例如,原始封裝協(xié)議為RTMP協(xié)議,中轉(zhuǎn)封裝協(xié)議為RTP協(xié)議,則第一協(xié)議轉(zhuǎn)換邏輯為由RTMP協(xié)議轉(zhuǎn)換為RTP協(xié)議的轉(zhuǎn)換邏輯,具體包括從RTMP協(xié)議的輸入源中提取AAC編碼的音頻和H.264編碼視頻數(shù)據(jù),并生成RTP數(shù)據(jù)包,然后封裝為RTP協(xié)議的數(shù)據(jù)包。

步驟103,查找所述中轉(zhuǎn)封裝協(xié)議分別對應(yīng)各目標封裝協(xié)議的第二協(xié)議轉(zhuǎn)換邏輯,并采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)。

在本發(fā)明實施例中,第二協(xié)議轉(zhuǎn)換邏輯是指由中轉(zhuǎn)封裝協(xié)議轉(zhuǎn)換為目標封裝協(xié)議的協(xié)議轉(zhuǎn)換的具體轉(zhuǎn)換方式。中轉(zhuǎn)封裝協(xié)議轉(zhuǎn)換為各種目標封裝協(xié)議的協(xié)議轉(zhuǎn)換邏輯都各不相同,協(xié)議轉(zhuǎn)換服務(wù)需要保存各種協(xié)議轉(zhuǎn)換邏輯。

在本發(fā)明實施例中,由協(xié)議轉(zhuǎn)換任務(wù)確定的各目標封裝協(xié)議,查找中轉(zhuǎn)封裝協(xié)議對應(yīng)各目標封裝協(xié)議的第二協(xié)議轉(zhuǎn)換邏輯,根據(jù)第二協(xié)議轉(zhuǎn)換邏輯,將第二流數(shù)據(jù)的基于中轉(zhuǎn)封裝協(xié)議封裝的數(shù)據(jù)包,轉(zhuǎn)換為基于目標封裝協(xié)議封裝的數(shù)據(jù)包,然后組成第三流數(shù)據(jù)。例如,中轉(zhuǎn)封裝協(xié)議為RTP協(xié)議,目標封裝協(xié)議包括HLS協(xié)議和RTMP協(xié)議,則各目標封裝協(xié)議的第二協(xié)議轉(zhuǎn)換邏輯包括由RTP協(xié)議轉(zhuǎn)換為HLS協(xié)議的轉(zhuǎn)換邏輯和由RTP協(xié)議轉(zhuǎn)換為RTMP協(xié)議的轉(zhuǎn)換邏輯,具體包括從RTP協(xié)議的輸入源中提取AAC編碼的音頻和H.264編碼視頻數(shù)據(jù),并生成HLS數(shù)據(jù)包,然后封裝為HLS協(xié)議的數(shù)據(jù)包。具體還包括從RTP協(xié)議的輸入源中提取AAC編碼的音頻和H.264編碼視頻數(shù)據(jù),并生成RTMP數(shù)據(jù)包,然后封裝為RTMP協(xié)議的數(shù)據(jù)包。

綜上所述,依據(jù)本發(fā)明實施例,通過確定協(xié)議轉(zhuǎn)換任務(wù)對應(yīng)的原始封裝協(xié)議和多個目標封裝協(xié)議,查找所述原始封裝協(xié)議對應(yīng)中轉(zhuǎn)封裝協(xié)議的第一協(xié)議轉(zhuǎn)換邏輯,并采用所述第一協(xié)議轉(zhuǎn)換邏輯,將基于原始封裝協(xié)議的第一流數(shù)據(jù)轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù),查找所述中轉(zhuǎn)封裝協(xié)議分別對應(yīng)各目標封裝協(xié)議的第二協(xié)議轉(zhuǎn)換邏輯,并采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù),使得對于多種封裝協(xié)議,只需存儲由各種封裝協(xié)議轉(zhuǎn)換為中轉(zhuǎn)封裝協(xié)議的協(xié)議轉(zhuǎn)換邏輯,以及由中轉(zhuǎn)封裝協(xié)議轉(zhuǎn)換為各種封裝協(xié)議的協(xié)議轉(zhuǎn)換邏輯,再分兩步進行協(xié)議轉(zhuǎn)換就可以完成多種封裝協(xié)議之間的相互轉(zhuǎn)換,減少了需要存儲的協(xié)議轉(zhuǎn)換邏輯,降低了協(xié)議轉(zhuǎn)換服務(wù)的復雜程度。當有新添加的封裝協(xié)議時,只需增加新添加的封裝協(xié)議和中轉(zhuǎn)封裝協(xié)議相互轉(zhuǎn)換的兩種邏輯即可,極大的降低了拓展新封裝協(xié)議的成本。

參照圖2,示出了根據(jù)本發(fā)明實施例二的一種流數(shù)據(jù)的封裝協(xié)議的轉(zhuǎn)換方法的步驟流程示意圖,具體可以包括如下步驟:

步驟201,接收針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù)。

在本實施例中,協(xié)議轉(zhuǎn)換任務(wù)可以根據(jù)各客戶端進行流數(shù)據(jù)傳輸?shù)恼埱蟠_定,具體解析各客戶端的流數(shù)據(jù)傳輸請求,根據(jù)請求的流數(shù)據(jù)的封裝協(xié)議。例如,主播客戶端請求上傳的流數(shù)據(jù)的封裝協(xié)議,觀眾客戶端請求下載的流數(shù)據(jù)的封裝協(xié)議。服務(wù)器在接收到各客戶端的流數(shù)據(jù)傳輸請求后,根據(jù)各請求確定協(xié)議轉(zhuǎn)換任務(wù),將協(xié)議轉(zhuǎn)換任務(wù)發(fā)送給協(xié)議轉(zhuǎn)換服務(wù)。具體確定流數(shù)據(jù)轉(zhuǎn)換任務(wù)的服務(wù)器可以和協(xié)議轉(zhuǎn)換服務(wù)所在的服務(wù)器為同一個,也可以不是同一個。

在本發(fā)明實施例中,優(yōu)選地,所述接收針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù)的一種實現(xiàn)方式為:接收傳輸集群的目標傳輸節(jié)點發(fā)送的針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù);還可以包括步驟:將轉(zhuǎn)換得到的第三流數(shù)據(jù)反饋至所述傳輸集群的目標傳輸節(jié)點。

傳輸集群是指一種通過互聯(lián)網(wǎng)互相連接的電腦網(wǎng)絡(luò)系統(tǒng),利用最靠近每位用戶的服務(wù)器,更快、更可靠地將音樂、圖片、視頻、應(yīng)用程序及其他文件發(fā)送給用戶,來提供高性能、可擴展性及低成本的網(wǎng)絡(luò)內(nèi)容傳遞給用戶。例如內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,CDN)。

傳輸集群可以用于流數(shù)據(jù)的傳輸,其中,流數(shù)據(jù)為可以采用流式傳輸?shù)姆绞皆诰W(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù),流數(shù)據(jù)可以從一個節(jié)點傳輸?shù)街辽僖粋€傳輸節(jié)點上。一個傳輸節(jié)點上可以同時存在多個流數(shù)據(jù)傳輸,傳輸集群由多個傳輸節(jié)點組成。其中傳輸節(jié)點為可以用于接收、存儲、分發(fā)流數(shù)據(jù)的服務(wù)器。

目標傳輸節(jié)點為發(fā)送協(xié)議轉(zhuǎn)換任務(wù)的傳輸節(jié)點,協(xié)議轉(zhuǎn)換服務(wù)所在的服務(wù)器接收目標傳輸節(jié)點發(fā)送的針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù)。在根據(jù)針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù),將第一流數(shù)據(jù)轉(zhuǎn)換為第三流數(shù)據(jù)后,將第三流數(shù)據(jù)反饋至傳輸集群的目標傳輸節(jié)點。

步驟202,根據(jù)所述第一流數(shù)據(jù)的數(shù)據(jù)協(xié)議頭識別所采用的原始封裝協(xié)議,并提取所述協(xié)議轉(zhuǎn)換任務(wù)攜帶的多個目標封裝協(xié)議。

在本發(fā)明實施例中,數(shù)據(jù)協(xié)議頭為流數(shù)據(jù)的數(shù)據(jù)包中記錄的有關(guān)流數(shù)據(jù)的協(xié)議的信息,根據(jù)第一流數(shù)據(jù)的數(shù)據(jù)協(xié)議頭可以識別出采用的原始封裝協(xié)議。協(xié)議轉(zhuǎn)換任務(wù)攜帶多個目標封裝協(xié)議,從協(xié)議轉(zhuǎn)換任務(wù)中提取出多個目標封裝協(xié)議。

步驟203,查找所述原始封裝協(xié)議對應(yīng)中轉(zhuǎn)封裝協(xié)議的第一協(xié)議轉(zhuǎn)換邏輯,并采用所述第一協(xié)議轉(zhuǎn)換邏輯,將基于原始封裝協(xié)議的第一流數(shù)據(jù)轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)。

在本發(fā)明實施例中,具體方式與其他實施例描述一致,不做贅述。

在本發(fā)明實施例中,優(yōu)選地,在采用所述第一協(xié)議轉(zhuǎn)換邏輯,將基于原始封裝協(xié)議的第一流數(shù)據(jù)轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)之前,還可以包括步驟:從處理節(jié)點集群選取負載狀態(tài)滿足設(shè)定條件的第一處理節(jié)點,調(diào)用所述第一處理節(jié)點的第一處理進程,用于將第一流數(shù)據(jù)轉(zhuǎn)換為第二流數(shù)據(jù)。

處理節(jié)點為可以用于協(xié)議轉(zhuǎn)換服務(wù)的服務(wù)器,處理節(jié)點集群為用于協(xié)議轉(zhuǎn)換服務(wù)的服務(wù)器集群。從處理節(jié)點集群中選取負載狀態(tài)滿足設(shè)定條件的第一處理節(jié)點,其中負載狀態(tài)滿足設(shè)定條件可以包括各個節(jié)點中負載最輕,或者負載低于平均水平,或者負載低于設(shè)定閾值,具體可以是任意適用的設(shè)定條件,本實施例對此不作限制。

調(diào)用第一處理節(jié)點的第一處理進程,具體可以是將第一流數(shù)據(jù)轉(zhuǎn)換為第二流數(shù)據(jù)的轉(zhuǎn)換任務(wù)發(fā)送給第一處理節(jié)點,第一處理節(jié)點分配第一處理進程來將第一流數(shù)據(jù)轉(zhuǎn)換為第三流數(shù)據(jù),具體轉(zhuǎn)換方式與其他實施例描述一致,不做贅述。

步驟204,查找所述中轉(zhuǎn)封裝協(xié)議分別對應(yīng)各目標封裝協(xié)議的第二協(xié)議轉(zhuǎn)換邏輯,并采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)。

在本發(fā)明實施例中,具體方式與其他實施例描述一致,不做贅述。

在本發(fā)明實施例中,優(yōu)選地,在采用所述第二協(xié)議轉(zhuǎn)換邏輯,分別將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換至基于目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,還可以包括步驟:針對各種目標封裝協(xié)議分別創(chuàng)建對應(yīng)的協(xié)議轉(zhuǎn)換子任務(wù);將多個協(xié)議轉(zhuǎn)換子任務(wù)分配至處理節(jié)點集群的至少一個目標處理節(jié)點;調(diào)用各目標處理節(jié)點運行至少一個處理進程處理所述多個協(xié)議轉(zhuǎn)換子任務(wù),其中,一個所調(diào)用的處理進程處理一個或多個協(xié)議轉(zhuǎn)換子任務(wù)。

協(xié)議轉(zhuǎn)換子任務(wù)是指將中轉(zhuǎn)封裝協(xié)議轉(zhuǎn)換為目標封裝協(xié)議的協(xié)議轉(zhuǎn)換任務(wù),針對各目標封裝協(xié)議分別創(chuàng)建對應(yīng)的協(xié)議轉(zhuǎn)換子任務(wù)。將多個協(xié)議轉(zhuǎn)換子任務(wù)分配至處理節(jié)點集群的至少一個目標處理節(jié)點,各目標處理節(jié)點運行至少一個處理進程處理多個協(xié)議轉(zhuǎn)換子任務(wù),其中,一個所調(diào)用的處理進程處理一個或多個協(xié)議轉(zhuǎn)換子任務(wù)。

在本發(fā)明實施例中,優(yōu)選地,所述將多個協(xié)議轉(zhuǎn)換子任務(wù)分配至處理節(jié)點集群的至少一個目標處理節(jié)點的一種實現(xiàn)方式為:從管理節(jié)點獲取各個處理節(jié)點的負載狀態(tài);選取負載狀態(tài)滿足設(shè)定條件的至少一個目標處理節(jié)點,并向各選取的目標處理節(jié)點下發(fā)至少一個協(xié)議轉(zhuǎn)換子任務(wù)。

管理節(jié)點為管理處理節(jié)點集群的服務(wù)器,具體管理處理節(jié)點集群的任務(wù)分配等。從管理節(jié)點獲取各個處理節(jié)點的負載狀態(tài),選取負載狀態(tài)滿足設(shè)定條件的至少一個目標處理節(jié)點,將至少一個協(xié)議轉(zhuǎn)換子任務(wù)下發(fā)至選取的目標處理節(jié)點。

在本發(fā)明實施例中,優(yōu)選地,在所述采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,還可以包括步驟:接收針對所述協(xié)議轉(zhuǎn)換任務(wù)的變更操作;按照變更后的協(xié)議轉(zhuǎn)換任務(wù)對處理進程進行停止或啟動操作。

接收協(xié)議轉(zhuǎn)換任務(wù)的變更操作,具體可以包括刪除了目標封裝協(xié)議,添加了目標封裝協(xié)議,更改了目標封裝協(xié)議等,根據(jù)變更后的協(xié)議轉(zhuǎn)換任務(wù)對處理進程進行停止或啟動操作。具體而言,對刪除了的目標封裝協(xié)議,對對應(yīng)的處理進程停止協(xié)議轉(zhuǎn)換任務(wù)或者啟動協(xié)議轉(zhuǎn)換任務(wù)。

在本發(fā)明實施例中,優(yōu)選地,所述按照變更后的協(xié)議轉(zhuǎn)換任務(wù)對處理進程進行停止或啟動操作的一種實現(xiàn)方式為:確定新增的目標封裝協(xié)議和或/刪除的目標封裝協(xié)議;針對刪除的目標封裝協(xié)議,通知對應(yīng)處理進程停止執(zhí)行對應(yīng)的協(xié)議轉(zhuǎn)換子任務(wù);針對新增的目標封裝協(xié)議,啟動新的處理進程執(zhí)行對應(yīng)該新增的目標封裝協(xié)議的協(xié)議轉(zhuǎn)換子任務(wù)。

確定新增的目標封裝協(xié)議和/或刪除的目標封裝協(xié)議,對于刪除的目標封裝協(xié)議,通知對應(yīng)處理進程停止協(xié)議轉(zhuǎn)換子任務(wù),對于新增的目標封裝協(xié)議,啟動新的處理進程執(zhí)行對應(yīng)的協(xié)議轉(zhuǎn)換子任務(wù)。

在本發(fā)明實施例中,優(yōu)選地,在所述采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,還可以包括步驟:確定各個目標封裝協(xié)議所需的目標幀率和/或流數(shù)據(jù)格式;將所述第二流數(shù)據(jù)按照確定目標幀率進行幀率轉(zhuǎn)換,和/或按照確定的流數(shù)據(jù)格式進行格式轉(zhuǎn)換。

幀率是用于測量顯示幀數(shù)的量度。所謂的測量單位為每秒顯示幀數(shù)(Frames per Second,簡稱:FPS)或“赫茲”(Hz)。目標幀率為目標封裝協(xié)議所需的幀率。流數(shù)據(jù)格式為流數(shù)據(jù)的格式。目標封裝協(xié)議所需的目標幀率和/或流數(shù)據(jù)格式是指客戶端或傳輸節(jié)點需要的目標封裝協(xié)議的第三流數(shù)據(jù)的目標幀率和/或流數(shù)據(jù)格式。將第二流數(shù)據(jù)按照確定目標幀率進行幀率轉(zhuǎn)換,和/或按照確定的流數(shù)據(jù)格式進行格式轉(zhuǎn)換。

在本發(fā)明實施例中,優(yōu)選地,各處理節(jié)點對應(yīng)一個任務(wù)隊列,在所述向各選取的目標處理節(jié)點下發(fā)至少一個協(xié)議轉(zhuǎn)換子任務(wù)之前,還可以包括步驟:獲取各目標處理節(jié)點的任務(wù)隊列;設(shè)置待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)在各任務(wù)隊列中的排序,使各個協(xié)議轉(zhuǎn)換子任務(wù)的處理時間的差值小于設(shè)定閾值。

具體地,在確定處理時間最晚的協(xié)議轉(zhuǎn)換子任務(wù)后,將分配至其他處理節(jié)點的協(xié)議轉(zhuǎn)換子任務(wù)的排序向后調(diào)整,如果目標處理節(jié)點中其他協(xié)議轉(zhuǎn)換子任務(wù)均處理結(jié)束且未到安排的處理時間,則等待一定時間間隔后再對協(xié)議轉(zhuǎn)換子任務(wù)進行處理。

在本發(fā)明實施例中,優(yōu)選地,所述設(shè)置待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)在各任務(wù)隊列中的排序,使各個協(xié)議轉(zhuǎn)換子任務(wù)的處理時間的差值小于設(shè)定閾值的一種實現(xiàn)方式為:根據(jù)各目標處理節(jié)點的任務(wù)隊列中已有的協(xié)議轉(zhuǎn)換子任務(wù),預測各個待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)的處理時間;確定處理時間最晚的目標協(xié)議轉(zhuǎn)換子任務(wù);按照目標協(xié)議轉(zhuǎn)換子任務(wù)的處理時間安排各個待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)的處理時間。

各目標處理節(jié)點的任務(wù)隊列中已有的協(xié)議轉(zhuǎn)換子任務(wù)的處理時間可以被確定,根據(jù)確定的處理時間,預測各個待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)的處理時間,確定處理時間最晚的目標協(xié)議轉(zhuǎn)換子任務(wù)。

在本發(fā)明實施例中,優(yōu)選地,還可以包括步驟:接收各個處理進程針對協(xié)議轉(zhuǎn)換子任務(wù)反饋的處理結(jié)果,匯集得到所述協(xié)議轉(zhuǎn)換任務(wù)的處理結(jié)果。

各處理進程反饋處理結(jié)果,匯集協(xié)議轉(zhuǎn)換任務(wù)對應(yīng)的各協(xié)議轉(zhuǎn)換子任務(wù)的處理結(jié)果。

綜上所述,依據(jù)本發(fā)明實施例,通過接收針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù),根據(jù)所述第一流數(shù)據(jù)的數(shù)據(jù)協(xié)議頭識別所采用的原始封裝協(xié)議,并提取所述協(xié)議轉(zhuǎn)換任務(wù)攜帶的多個目標封裝協(xié)議,查找所述原始封裝協(xié)議對應(yīng)中轉(zhuǎn)封裝協(xié)議的第一協(xié)議轉(zhuǎn)換邏輯,并采用所述第一協(xié)議轉(zhuǎn)換邏輯,將基于原始封裝協(xié)議的第一流數(shù)據(jù)轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù),查找所述中轉(zhuǎn)封裝協(xié)議分別對應(yīng)各目標封裝協(xié)議的第二協(xié)議轉(zhuǎn)換邏輯,并采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù),使得對于多種封裝協(xié)議,只需存儲由各種封裝協(xié)議轉(zhuǎn)換為中轉(zhuǎn)封裝協(xié)議的協(xié)議轉(zhuǎn)換邏輯,以及由中轉(zhuǎn)封裝協(xié)議轉(zhuǎn)換為各種封裝協(xié)議的協(xié)議轉(zhuǎn)換邏輯,再分兩步進行協(xié)議轉(zhuǎn)換就可以完成多種封裝協(xié)議之間的相互轉(zhuǎn)換,減少了需要存儲的協(xié)議轉(zhuǎn)換邏輯,降低了協(xié)議轉(zhuǎn)換服務(wù)的復雜程度。當有新添加的封裝協(xié)議時,只需增加新添加的封裝協(xié)議和中轉(zhuǎn)封裝協(xié)議相互轉(zhuǎn)換的兩種邏輯即可,極大的降低了拓展新封裝協(xié)議的成本。

參照圖3,示出了根據(jù)本發(fā)明實施例三的一種流數(shù)據(jù)的封裝協(xié)議的轉(zhuǎn)換裝置的結(jié)構(gòu)框圖,具體可以包括如下模塊:

協(xié)議確定模塊301,用于確定協(xié)議轉(zhuǎn)換任務(wù)對應(yīng)的原始封裝協(xié)議和多個目標封裝協(xié)議;

第二流數(shù)據(jù)轉(zhuǎn)換模塊302,用于查找所述原始封裝協(xié)議對應(yīng)中轉(zhuǎn)封裝協(xié)議的第一協(xié)議轉(zhuǎn)換邏輯,并采用所述第一協(xié)議轉(zhuǎn)換邏輯,將基于原始封裝協(xié)議的第一流數(shù)據(jù)轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù);

第三流數(shù)據(jù)轉(zhuǎn)換模塊303,用于查找所述中轉(zhuǎn)封裝協(xié)議分別對應(yīng)各目標封裝協(xié)議的第二協(xié)議轉(zhuǎn)換邏輯,并采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)。

優(yōu)選地,所述裝置還包括:

轉(zhuǎn)換任務(wù)接收模塊,用于在所述確定協(xié)議轉(zhuǎn)換任務(wù)對應(yīng)的原始封裝協(xié)議和多個目標封裝協(xié)議之前,接收針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù)。

優(yōu)選地,所述協(xié)議確定模塊,具體用于根據(jù)所述第一流數(shù)據(jù)的數(shù)據(jù)協(xié)議頭識別所采用的原始封裝協(xié)議,并提取所述協(xié)議轉(zhuǎn)換任務(wù)攜帶的多個目標封裝協(xié)議。

優(yōu)選地,所述轉(zhuǎn)換任務(wù)接收模塊包括:

轉(zhuǎn)換任務(wù)接收子模塊,用于接收傳輸集群的目標傳輸節(jié)點發(fā)送的針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù);

所述裝置還包括:

傳輸節(jié)點反饋模塊,用于將轉(zhuǎn)換得到的第三流數(shù)據(jù)反饋至所述傳輸集群的目標傳輸節(jié)點。

優(yōu)選地,所述裝置還包括:

處理節(jié)點選取模塊,用于在所述采用所述第一協(xié)議轉(zhuǎn)換邏輯,將基于原始封裝協(xié)議的第一流數(shù)據(jù)轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)之前,從處理節(jié)點集群選取負載狀態(tài)滿足設(shè)定條件的第一處理節(jié)點,調(diào)用所述第一處理節(jié)點的第一處理進程,用于將第一流數(shù)據(jù)轉(zhuǎn)換為第二流數(shù)據(jù)。

優(yōu)選地,所述裝置還包括:

子任務(wù)創(chuàng)建模塊,用于在所述采用所述第二協(xié)議轉(zhuǎn)換邏輯,分別將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換至基于目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,針對各種目標封裝協(xié)議分別創(chuàng)建對應(yīng)的協(xié)議轉(zhuǎn)換子任務(wù);

子任務(wù)分配模塊,用于將多個協(xié)議轉(zhuǎn)換子任務(wù)分配至處理節(jié)點集群的至少一個目標處理節(jié)點;

進程調(diào)用模塊,用于調(diào)用各目標處理節(jié)點運行至少一個處理進程處理所述多個協(xié)議轉(zhuǎn)換子任務(wù),其中,一個所調(diào)用的處理進程處理一個或多個協(xié)議轉(zhuǎn)換子任務(wù)。

優(yōu)選地,所述裝置還包括:

變更操作接收模塊,用于在所述采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,接收針對所述協(xié)議轉(zhuǎn)換任務(wù)的變更操作;

進程操作模塊,用于按照變更后的協(xié)議轉(zhuǎn)換任務(wù)對處理進程進行停止或啟動操作。

優(yōu)選地,所述進程操作模塊包括:

協(xié)議確定子模塊,用于確定新增的目標封裝協(xié)議和或/刪除的目標封裝協(xié)議;

進程停止子模塊,用于針對刪除的目標封裝協(xié)議,通知對應(yīng)處理進程停止執(zhí)行對應(yīng)的協(xié)議轉(zhuǎn)換子任務(wù);

進程啟動子模塊,用于針對新增的目標封裝協(xié)議,啟動新的處理進程執(zhí)行對應(yīng)該新增的目標封裝協(xié)議的協(xié)議轉(zhuǎn)換子任務(wù)。

優(yōu)選地,所述裝置還包括:

幀率格式確定模塊,用于在所述采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,確定各個目標封裝協(xié)議所需的目標幀率和/或流數(shù)據(jù)格式;

轉(zhuǎn)換模塊,用于將所述第二流數(shù)據(jù)按照確定目標幀率進行幀率轉(zhuǎn)換,和/或按照確定的流數(shù)據(jù)格式進行格式轉(zhuǎn)換。

優(yōu)選地,所述子任務(wù)分配模塊包括:

負載狀態(tài)獲取子模塊,用于從管理節(jié)點獲取各個處理節(jié)點的負載狀態(tài);

處理節(jié)點選取子模塊,用于選取負載狀態(tài)滿足設(shè)定條件的至少一個目標處理節(jié)點,并向各選取的目標處理節(jié)點下發(fā)至少一個協(xié)議轉(zhuǎn)換子任務(wù)。

優(yōu)選地,各處理節(jié)點對應(yīng)一個任務(wù)隊列,所述裝置還包括:

任務(wù)隊列獲取模塊,用于在所述向各選取的目標處理節(jié)點下發(fā)至少一個協(xié)議轉(zhuǎn)換子任務(wù)之前,獲取各目標處理節(jié)點的任務(wù)隊列;

排序設(shè)置模塊,用于設(shè)置待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)在各任務(wù)隊列中的排序,使各個協(xié)議轉(zhuǎn)換子任務(wù)的處理時間的差值小于設(shè)定閾值。

優(yōu)選地,所述排序設(shè)置模塊包括:

處理時間預測子模塊,用于根據(jù)各目標處理節(jié)點的任務(wù)隊列中已有的協(xié)議轉(zhuǎn)換子任務(wù),預測各個待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)的處理時間;

子任務(wù)確定子模塊,用于確定處理時間最晚的目標協(xié)議轉(zhuǎn)換子任務(wù);

處理時間安排子模塊,用于按照目標協(xié)議轉(zhuǎn)換子任務(wù)的處理時間安排各個待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)的處理時間。

優(yōu)選地,所述裝置還包括:

處理結(jié)果接收模塊,用于接收各個處理進程針對協(xié)議轉(zhuǎn)換子任務(wù)反饋的處理結(jié)果,匯集得到所述協(xié)議轉(zhuǎn)換任務(wù)的處理結(jié)果。

綜上所述,依據(jù)本發(fā)明實施例,通過確定協(xié)議轉(zhuǎn)換任務(wù)對應(yīng)的原始封裝協(xié)議和多個目標封裝協(xié)議,查找所述原始封裝協(xié)議對應(yīng)中轉(zhuǎn)封裝協(xié)議的第一協(xié)議轉(zhuǎn)換邏輯,并采用所述第一協(xié)議轉(zhuǎn)換邏輯,將基于原始封裝協(xié)議的第一流數(shù)據(jù)轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù),查找所述中轉(zhuǎn)封裝協(xié)議分別對應(yīng)各目標封裝協(xié)議的第二協(xié)議轉(zhuǎn)換邏輯,并采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù),使得對于多種封裝協(xié)議,只需存儲由各種封裝協(xié)議轉(zhuǎn)換為中轉(zhuǎn)封裝協(xié)議的協(xié)議轉(zhuǎn)換邏輯,以及由中轉(zhuǎn)封裝協(xié)議轉(zhuǎn)換為各種封裝協(xié)議的協(xié)議轉(zhuǎn)換邏輯,再分兩步進行協(xié)議轉(zhuǎn)換就可以完成多種封裝協(xié)議之間的相互轉(zhuǎn)換,減少了需要存儲的協(xié)議轉(zhuǎn)換邏輯,降低了協(xié)議轉(zhuǎn)換服務(wù)的復雜程度。當有新添加的封裝協(xié)議時,只需增加新添加的封裝協(xié)議和中轉(zhuǎn)封裝協(xié)議相互轉(zhuǎn)換的兩種邏輯即可,極大的降低了拓展新封裝協(xié)議的成本。

在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。

在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。

類似地,應(yīng)當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權(quán)利要求書由此明確地并入該具體實施方式,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。

本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。

此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。

本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的一種流數(shù)據(jù)的封裝協(xié)議的轉(zhuǎn)換方法和裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。

應(yīng)該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。

本發(fā)明還公開了A1、一種流數(shù)據(jù)的封裝協(xié)議的轉(zhuǎn)換方法,包括:

確定協(xié)議轉(zhuǎn)換任務(wù)對應(yīng)的原始封裝協(xié)議和多個目標封裝協(xié)議;

查找所述原始封裝協(xié)議對應(yīng)中轉(zhuǎn)封裝協(xié)議的第一協(xié)議轉(zhuǎn)換邏輯,并采用所述第一協(xié)議轉(zhuǎn)換邏輯,將基于原始封裝協(xié)議的第一流數(shù)據(jù)轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù);

查找所述中轉(zhuǎn)封裝協(xié)議分別對應(yīng)各目標封裝協(xié)議的第二協(xié)議轉(zhuǎn)換邏輯,并采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)。

A2、根據(jù)A1所述的方法,其中,在所述確定協(xié)議轉(zhuǎn)換任務(wù)對應(yīng)的原始封裝協(xié)議和多個目標封裝協(xié)議之前,所述方法還包括:

接收針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù)。

A3、根據(jù)A2所述的方法,其中,所述確定協(xié)議轉(zhuǎn)換任務(wù)對應(yīng)的原始封裝協(xié)議和多個目標封裝協(xié)議包括:

根據(jù)所述第一流數(shù)據(jù)的數(shù)據(jù)協(xié)議頭識別所采用的原始封裝協(xié)議,并提取所述協(xié)議轉(zhuǎn)換任務(wù)攜帶的多個目標封裝協(xié)議。

A4、根據(jù)A2所述的方法,其中,所述接收針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù)包括:

接收傳輸集群的目標傳輸節(jié)點發(fā)送的針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù);

所述方法還包括:

將轉(zhuǎn)換得到的第三流數(shù)據(jù)反饋至所述傳輸集群的目標傳輸節(jié)點。

A5、根據(jù)A1所述的方法,其中,在所述采用所述第一協(xié)議轉(zhuǎn)換邏輯,將基于原始封裝協(xié)議的第一流數(shù)據(jù)轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)之前,所述方法還包括:

從處理節(jié)點集群選取負載狀態(tài)滿足設(shè)定條件的第一處理節(jié)點,調(diào)用所述第一處理節(jié)點的第一處理進程,用于將第一流數(shù)據(jù)轉(zhuǎn)換為第二流數(shù)據(jù)。

A6、根據(jù)A1所述的方法,其中,在所述采用所述第二協(xié)議轉(zhuǎn)換邏輯,分別將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換至基于目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,所述方法還包括:

針對各種目標封裝協(xié)議分別創(chuàng)建對應(yīng)的協(xié)議轉(zhuǎn)換子任務(wù);

將多個協(xié)議轉(zhuǎn)換子任務(wù)分配至處理節(jié)點集群的至少一個目標處理節(jié)點;

調(diào)用各目標處理節(jié)點運行至少一個處理進程處理所述多個協(xié)議轉(zhuǎn)換子任務(wù),其中,一個所調(diào)用的處理進程處理一個或多個協(xié)議轉(zhuǎn)換子任務(wù)。

A7、根據(jù)A6所述的方法,其中,在所述采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,所述方法還包括:

接收針對所述協(xié)議轉(zhuǎn)換任務(wù)的變更操作;

按照變更后的協(xié)議轉(zhuǎn)換任務(wù)對處理進程進行停止或啟動操作。

A8、根據(jù)A7所述的方法,其中,所述按照變更后的協(xié)議轉(zhuǎn)換任務(wù)對處理進程進行停止或啟動操作包括:

確定新增的目標封裝協(xié)議和或/刪除的目標封裝協(xié)議;

針對刪除的目標封裝協(xié)議,通知對應(yīng)處理進程停止執(zhí)行對應(yīng)的協(xié)議轉(zhuǎn)換子任務(wù);

針對新增的目標封裝協(xié)議,啟動新的處理進程執(zhí)行對應(yīng)該新增的目標封裝協(xié)議的協(xié)議轉(zhuǎn)換子任務(wù)。

A9、根據(jù)A1所述的方法,其中,在所述采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,所述方法還包括:

確定各個目標封裝協(xié)議所需的目標幀率和/或流數(shù)據(jù)格式;

將所述第二流數(shù)據(jù)按照確定目標幀率進行幀率轉(zhuǎn)換,和/或按照確定的流數(shù)據(jù)格式進行格式轉(zhuǎn)換。

A10、根據(jù)A6所述的方法,其中,所述將多個協(xié)議轉(zhuǎn)換子任務(wù)分配至處理節(jié)點集群的至少一個目標處理節(jié)點包括:

從管理節(jié)點獲取各個處理節(jié)點的負載狀態(tài);

選取負載狀態(tài)滿足設(shè)定條件的至少一個目標處理節(jié)點,并向各選取的目標處理節(jié)點下發(fā)至少一個協(xié)議轉(zhuǎn)換子任務(wù)。

A11、根據(jù)A6所述的方法,其中,各處理節(jié)點對應(yīng)一個任務(wù)隊列,在所述向各選取的目標處理節(jié)點下發(fā)至少一個協(xié)議轉(zhuǎn)換子任務(wù)之前,所述方法還包括:

獲取各目標處理節(jié)點的任務(wù)隊列;

設(shè)置待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)在各任務(wù)隊列中的排序,使各個協(xié)議轉(zhuǎn)換子任務(wù)的處理時間的差值小于設(shè)定閾值。

A12、根據(jù)A11所述的方法,其中,所述設(shè)置待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)在各任務(wù)隊列中的排序,使各個協(xié)議轉(zhuǎn)換子任務(wù)的處理時間的差值小于設(shè)定閾值包括:

根據(jù)各目標處理節(jié)點的任務(wù)隊列中已有的協(xié)議轉(zhuǎn)換子任務(wù),預測各個待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)的處理時間;

確定處理時間最晚的目標協(xié)議轉(zhuǎn)換子任務(wù);

按照目標協(xié)議轉(zhuǎn)換子任務(wù)的處理時間安排各個待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)的處理時間。

A13、根據(jù)A6所述的方法,其中,所述方法還包括:

接收各個處理進程針對協(xié)議轉(zhuǎn)換子任務(wù)反饋的處理結(jié)果,匯集得到所述協(xié)議轉(zhuǎn)換任務(wù)的處理結(jié)果。

本發(fā)明還公開了B14、一種流數(shù)據(jù)的封裝協(xié)議的轉(zhuǎn)換裝置,包括:

協(xié)議確定模塊,用于確定協(xié)議轉(zhuǎn)換任務(wù)對應(yīng)的原始封裝協(xié)議和多個目標封裝協(xié)議;

第二流數(shù)據(jù)轉(zhuǎn)換模塊,用于查找所述原始封裝協(xié)議對應(yīng)中轉(zhuǎn)封裝協(xié)議的第一協(xié)議轉(zhuǎn)換邏輯,并采用所述第一協(xié)議轉(zhuǎn)換邏輯,將基于原始封裝協(xié)議的第一流數(shù)據(jù)轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù);

第三流數(shù)據(jù)轉(zhuǎn)換模塊,用于查找所述中轉(zhuǎn)封裝協(xié)議分別對應(yīng)各目標封裝協(xié)議的第二協(xié)議轉(zhuǎn)換邏輯,并采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)。

B15、根據(jù)B14所述的裝置,其中,所述裝置還包括:

轉(zhuǎn)換任務(wù)接收模塊,用于在所述確定協(xié)議轉(zhuǎn)換任務(wù)對應(yīng)的原始封裝協(xié)議和多個目標封裝協(xié)議之前,接收針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù)。

B16、根據(jù)B15所述的裝置,其中,所述協(xié)議確定模塊具體用于根據(jù)所述第一流數(shù)據(jù)的數(shù)據(jù)協(xié)議頭識別所采用的原始封裝協(xié)議,并提取所述協(xié)議轉(zhuǎn)換任務(wù)攜帶的多個目標封裝協(xié)議。

B17、根據(jù)B15所述的裝置,其中,所述轉(zhuǎn)換任務(wù)接收模塊包括:

轉(zhuǎn)換任務(wù)接收子模塊,用于接收傳輸集群的目標傳輸節(jié)點發(fā)送的針對第一流數(shù)據(jù)的協(xié)議轉(zhuǎn)換任務(wù);

所述裝置還包括:

傳輸節(jié)點反饋模塊,用于將轉(zhuǎn)換得到的第三流數(shù)據(jù)反饋至所述傳輸集群的目標傳輸節(jié)點。

B18、根據(jù)B14所述的裝置,其中,所述裝置還包括:

處理節(jié)點選取模塊,用于在所述采用所述第一協(xié)議轉(zhuǎn)換邏輯,將基于原始封裝協(xié)議的第一流數(shù)據(jù)轉(zhuǎn)換為基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)之前,從處理節(jié)點集群選取負載狀態(tài)滿足設(shè)定條件的第一處理節(jié)點,調(diào)用所述第一處理節(jié)點的第一處理進程,用于將第一流數(shù)據(jù)轉(zhuǎn)換為第二流數(shù)據(jù)。

B19、根據(jù)B14所述的裝置,其中,所述裝置還包括:

子任務(wù)創(chuàng)建模塊,用于在所述采用所述第二協(xié)議轉(zhuǎn)換邏輯,分別將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換至基于目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,針對各種目標封裝協(xié)議分別創(chuàng)建對應(yīng)的協(xié)議轉(zhuǎn)換子任務(wù);

子任務(wù)分配模塊,用于將多個協(xié)議轉(zhuǎn)換子任務(wù)分配至處理節(jié)點集群的至少一個目標處理節(jié)點;

進程調(diào)用模塊,用于調(diào)用各目標處理節(jié)點運行至少一個處理進程處理所述多個協(xié)議轉(zhuǎn)換子任務(wù),其中,一個所調(diào)用的處理進程處理一個或多個協(xié)議轉(zhuǎn)換子任務(wù)。

B20、根據(jù)B19所述的裝置,其中,所述裝置還包括:

變更操作接收模塊,用于在所述采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,接收針對所述協(xié)議轉(zhuǎn)換任務(wù)的變更操作;

進程操作模塊,用于按照變更后的協(xié)議轉(zhuǎn)換任務(wù)對處理進程進行停止或啟動操作。

B21、根據(jù)B20所述的裝置,其中,所述進程操作模塊包括:

協(xié)議確定子模塊,用于確定新增的目標封裝協(xié)議和或/刪除的目標封裝協(xié)議;

進程停止子模塊,用于針對刪除的目標封裝協(xié)議,通知對應(yīng)處理進程停止執(zhí)行對應(yīng)的協(xié)議轉(zhuǎn)換子任務(wù);

進程啟動子模塊,用于針對新增的目標封裝協(xié)議,啟動新的處理進程執(zhí)行對應(yīng)該新增的目標封裝協(xié)議的協(xié)議轉(zhuǎn)換子任務(wù)。

B22、根據(jù)B14所述的裝置,其中,所述裝置還包括:

幀率格式確定模塊,用于在所述采用所述第二協(xié)議轉(zhuǎn)換邏輯,將基于中轉(zhuǎn)封裝協(xié)議的第二流數(shù)據(jù)轉(zhuǎn)換為基于各種目標封裝協(xié)議的多個第三流數(shù)據(jù)之前,確定各個目標封裝協(xié)議所需的目標幀率和/或流數(shù)據(jù)格式;

轉(zhuǎn)換模塊,用于將所述第二流數(shù)據(jù)按照確定目標幀率進行幀率轉(zhuǎn)換,和/或按照確定的流數(shù)據(jù)格式進行格式轉(zhuǎn)換。

B23、根據(jù)B19所述的裝置,其中,所述子任務(wù)分配模塊包括:

負載狀態(tài)獲取子模塊,用于從管理節(jié)點獲取各個處理節(jié)點的負載狀態(tài);

處理節(jié)點選取子模塊,用于選取負載狀態(tài)滿足設(shè)定條件的至少一個目標處理節(jié)點,并向各選取的目標處理節(jié)點下發(fā)至少一個協(xié)議轉(zhuǎn)換子任務(wù)。

B24、根據(jù)B19所述的裝置,其中,各處理節(jié)點對應(yīng)一個任務(wù)隊列,所述裝置還包括:

任務(wù)隊列獲取模塊,用于在所述向各選取的目標處理節(jié)點下發(fā)至少一個協(xié)議轉(zhuǎn)換子任務(wù)之前,獲取各目標處理節(jié)點的任務(wù)隊列;

排序設(shè)置模塊,用于設(shè)置待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)在各任務(wù)隊列中的排序,使各個協(xié)議轉(zhuǎn)換子任務(wù)的處理時間的差值小于設(shè)定閾值。

B25、根據(jù)B24所述的裝置,其中,所述排序設(shè)置模塊包括:

處理時間預測子模塊,用于根據(jù)各目標處理節(jié)點的任務(wù)隊列中已有的協(xié)議轉(zhuǎn)換子任務(wù),預測各個待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)的處理時間;

子任務(wù)確定子模塊,用于確定處理時間最晚的目標協(xié)議轉(zhuǎn)換子任務(wù);

處理時間安排子模塊,用于按照目標協(xié)議轉(zhuǎn)換子任務(wù)的處理時間安排各個待下發(fā)的協(xié)議轉(zhuǎn)換子任務(wù)的處理時間。

B26、根據(jù)B19所述的裝置,其中,所述裝置還包括:

處理結(jié)果接收模塊,用于接收各個處理進程針對協(xié)議轉(zhuǎn)換子任務(wù)反饋的處理結(jié)果,匯集得到所述協(xié)議轉(zhuǎn)換任務(wù)的處理結(jié)果。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
崇信县| 淮北市| 馆陶县| 石楼县| 蒲城县| 韶山市| 保靖县| 扶风县| 正镶白旗| 武川县| 博兴县| 万安县| 荔浦县| 灵武市| 渝北区| 高州市| 建始县| 嘉义市| 乌审旗| 周口市| 日照市| 平定县| 定边县| 汨罗市| 六枝特区| 平塘县| 桃源县| 红原县| 广宗县| 平乡县| 克拉玛依市| 化隆| 桃源县| 波密县| 西峡县| 闻喜县| 峨边| 抚顺市| 新巴尔虎左旗| 弥勒县| 溧水县|