本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種流數(shù)據(jù)任務(wù)的處理方法以及一種流數(shù)據(jù)任務(wù)的處理裝置。
背景技術(shù):
為滿足用戶對觀看視頻的清晰度的不同需求,對視頻錄制端推送的視頻流數(shù)據(jù)進(jìn)行轉(zhuǎn)碼處理,得到多個分辨率的視頻流數(shù)據(jù)供用戶選擇。
目前轉(zhuǎn)碼視頻流數(shù)據(jù)時(shí),轉(zhuǎn)碼服務(wù)器使用內(nèi)置的多個線程同時(shí)處理多個轉(zhuǎn)碼任務(wù),每個線程處理一個轉(zhuǎn)碼任務(wù),轉(zhuǎn)碼結(jié)束后將所得的視頻流數(shù)據(jù)推送至預(yù)設(shè)存儲空間。
雖然現(xiàn)有方法實(shí)現(xiàn)了視頻流數(shù)據(jù)的轉(zhuǎn)碼處理,但是存在以下缺陷:轉(zhuǎn)碼服務(wù)器內(nèi)置的多個線程相互關(guān)聯(lián),當(dāng)某一線程處理轉(zhuǎn)碼任務(wù)出現(xiàn)問題時(shí),如線程卡死或崩潰,會導(dǎo)致整個轉(zhuǎn)碼服務(wù)器無法正常工作,從而影響其他轉(zhuǎn)碼任務(wù)的進(jìn)行。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的流數(shù)據(jù)任務(wù)的處理方法和相應(yīng)的流數(shù)據(jù)任務(wù)的處理裝置。
依據(jù)本發(fā)明的一個方面,提供了一種流數(shù)據(jù)任務(wù)的處理方法,包括:
將流數(shù)據(jù)任務(wù)拆分成多個流數(shù)據(jù)子任務(wù);
將多個流數(shù)據(jù)子任務(wù)分配至至少一個目標(biāo)處理節(jié)點(diǎn);
調(diào)用各目標(biāo)處理節(jié)點(diǎn)運(yùn)行至少一個處理進(jìn)程處理所述多個流數(shù)據(jù)子任務(wù),其中,一個所調(diào)用的處理進(jìn)程處理一個或多個流數(shù)據(jù)子任務(wù);
接收各目標(biāo)處理節(jié)點(diǎn)針對流數(shù)據(jù)子任務(wù)反饋的處理結(jié)果,匯集得到所述流數(shù)據(jù)任務(wù)的處理結(jié)果。
可選地,所述將多個流數(shù)據(jù)子任務(wù)分配至至少一個目標(biāo)處理節(jié)點(diǎn)包括:
從管理節(jié)點(diǎn)獲取各個處理節(jié)點(diǎn)的負(fù)載狀態(tài);
選取負(fù)載狀態(tài)滿足設(shè)定條件的至少一個目標(biāo)處理節(jié)點(diǎn),并向各選取的目標(biāo)處理節(jié)點(diǎn)下發(fā)至少一個流數(shù)據(jù)子任務(wù)。
可選地,各處理節(jié)點(diǎn)對應(yīng)一個任務(wù)隊(duì)列,在所述向各選取的目標(biāo)處理節(jié)點(diǎn)下發(fā)至少一個流數(shù)據(jù)子任務(wù)之前,所述方法還包括:
獲取各目標(biāo)處理節(jié)點(diǎn)的任務(wù)隊(duì)列;
設(shè)置待下發(fā)的流數(shù)據(jù)子任務(wù)在各任務(wù)隊(duì)列中的排序,使各個流數(shù)據(jù)子任務(wù)的處理時(shí)間的差值小于設(shè)定閾值。
可選地,所述設(shè)置待下發(fā)的流數(shù)據(jù)子任務(wù)在各任務(wù)隊(duì)列中的排序,使各個流數(shù)據(jù)子任務(wù)的處理時(shí)間的差值小于設(shè)定閾值包括:
根據(jù)各目標(biāo)處理節(jié)點(diǎn)的任務(wù)隊(duì)列中已有的流數(shù)據(jù)子任務(wù),預(yù)測各個待下發(fā)的流數(shù)據(jù)子任務(wù)的處理時(shí)間;
確定處理時(shí)間最晚的目標(biāo)流數(shù)據(jù)子任務(wù);
按照所述目標(biāo)流數(shù)據(jù)子任務(wù)的處理時(shí)間安排各個待下發(fā)的流數(shù)據(jù)子任務(wù)的處理時(shí)間。
可選地,所述獲取各目標(biāo)處理節(jié)點(diǎn)的任務(wù)隊(duì)列包括:
從各目標(biāo)處理節(jié)點(diǎn)的管理進(jìn)程獲取任務(wù)隊(duì)列。
可選地,在所述將流數(shù)據(jù)任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)之前,所述方法還包括:
接收攜帶流數(shù)據(jù)地址的流數(shù)據(jù)處理指令;
通過訪問所述流數(shù)據(jù)地址,下載待處理的流數(shù)據(jù)。
可選地,所述流數(shù)據(jù)任務(wù)為轉(zhuǎn)碼任務(wù),所述將流數(shù)據(jù)任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)包括:
按照所述流數(shù)據(jù)處理指令攜帶的多種轉(zhuǎn)碼格式,將所述流數(shù)據(jù)處理任務(wù)拆分為對應(yīng)各種轉(zhuǎn)碼格式的多個流數(shù)據(jù)子任務(wù)。
可選地,所述流數(shù)據(jù)任務(wù)為轉(zhuǎn)碼任務(wù),所述將流數(shù)據(jù)任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)包括:
提取所述流數(shù)據(jù)處理指令攜帶的業(yè)務(wù)標(biāo)識;
查找針對所述業(yè)務(wù)標(biāo)識預(yù)設(shè)的多種轉(zhuǎn)碼格式;
按照所查找的多種轉(zhuǎn)碼格式,將所述流數(shù)據(jù)處理任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)。
可選地,所述方法還包括:
監(jiān)控各個處理進(jìn)程的處理進(jìn)度;
將已處理完的流數(shù)據(jù)子任務(wù)對應(yīng)的流數(shù)據(jù)推送至存儲服務(wù)器,以供流數(shù)據(jù)的傳輸節(jié)點(diǎn)或流數(shù)據(jù)的播放客戶端調(diào)用。
可選地,所述方法還包括:
接收處理進(jìn)程上報(bào)至管理進(jìn)程的處理異常通知,并在當(dāng)前目標(biāo)處理節(jié)點(diǎn)內(nèi)為處理異常的流數(shù)據(jù)子任務(wù)重新分配處理進(jìn)程。
可選地,所述方法還包括:
接收當(dāng)前目標(biāo)處理節(jié)點(diǎn)上報(bào)至管理節(jié)點(diǎn)的處理異常通知,并在其他處理節(jié)點(diǎn)中為處理異常的流數(shù)據(jù)子任務(wù)重新分配一個目標(biāo)處理節(jié)點(diǎn);
調(diào)用重新分配的目標(biāo)處理節(jié)點(diǎn)的一個處理進(jìn)程對處理異常的流數(shù)據(jù)子任務(wù)進(jìn)行處理。
依據(jù)本發(fā)明的另一個方面,提供了一種流數(shù)據(jù)任務(wù)的處理裝置,包括:
任務(wù)拆分模塊,用于將流數(shù)據(jù)任務(wù)拆分成多個流數(shù)據(jù)子任務(wù);
子任務(wù)分配模塊,用于將多個流數(shù)據(jù)子任務(wù)分配至至少一個目標(biāo)處理節(jié)點(diǎn);
處理進(jìn)程調(diào)用模塊,用于調(diào)用各目標(biāo)處理節(jié)點(diǎn)運(yùn)行至少一個處理進(jìn)程處理所述多個流數(shù)據(jù)子任務(wù),其中,一個所調(diào)用的處理進(jìn)程處理一個或多個流數(shù)據(jù)子任務(wù);
處理結(jié)果接收模塊,用于接收各目標(biāo)處理節(jié)點(diǎn)針對流數(shù)據(jù)子任務(wù)反饋的處理結(jié)果,匯集得到所述流數(shù)據(jù)任務(wù)的處理結(jié)果。
可選地,所述子任務(wù)分配模塊包括:
負(fù)載狀態(tài)獲取子模塊,用于從管理節(jié)點(diǎn)獲取各個處理節(jié)點(diǎn)的負(fù)載狀態(tài);
目標(biāo)處理節(jié)點(diǎn)選取子模塊,用于選取負(fù)載狀態(tài)滿足設(shè)定條件的至少一個目標(biāo)處理節(jié)點(diǎn),并向各選取的目標(biāo)處理節(jié)點(diǎn)下發(fā)至少一個流數(shù)據(jù)子任務(wù)。
可選地,所述裝置還包括:
任務(wù)隊(duì)列獲取模塊,用于在所述向各選取的目標(biāo)處理節(jié)點(diǎn)下發(fā)至少一個流數(shù)據(jù)子任務(wù)之前,獲取各目標(biāo)處理節(jié)點(diǎn)的任務(wù)隊(duì)列,各處理節(jié)點(diǎn)對應(yīng)一個任務(wù)隊(duì)列;
排序設(shè)置子模塊,用于設(shè)置待下發(fā)的流數(shù)據(jù)子任務(wù)在各任務(wù)隊(duì)列中的排序,使各個流數(shù)據(jù)子任務(wù)的處理時(shí)間的差值小于設(shè)定閾值。
可選地,所述排序設(shè)置子模塊包括:
處理時(shí)間預(yù)測單元,用于根據(jù)各目標(biāo)處理節(jié)點(diǎn)的任務(wù)隊(duì)列中已有的流數(shù)據(jù)子任務(wù),預(yù)測各個待下發(fā)的流數(shù)據(jù)子任務(wù)的處理時(shí)間;
目標(biāo)流數(shù)據(jù)子任務(wù)確定單元,用于確定處理時(shí)間最晚的目標(biāo)流數(shù)據(jù)子任務(wù);
處理時(shí)間安排單元,用于按照所述目標(biāo)流數(shù)據(jù)子任務(wù)的處理時(shí)間安排各個待下發(fā)的流數(shù)據(jù)子任務(wù)的處理時(shí)間。
可選地,所述任務(wù)隊(duì)列獲取模塊,具體用于從各目標(biāo)處理節(jié)點(diǎn)的管理進(jìn)程獲取任務(wù)隊(duì)列。
可選地,所述裝置還包括:
處理指令接收模塊,用于在所述將流數(shù)據(jù)任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)之前,接收攜帶流數(shù)據(jù)地址的流數(shù)據(jù)處理指令;
流數(shù)據(jù)下載模塊,用于通過訪問所述流數(shù)據(jù)地址,下載待處理的流數(shù)據(jù)。
可選地,所述任務(wù)拆分模塊,具體用于按照所述流數(shù)據(jù)處理指令攜帶的多種轉(zhuǎn)碼格式,將所述流數(shù)據(jù)處理任務(wù)拆分為對應(yīng)各種轉(zhuǎn)碼格式的多個流數(shù)據(jù)子任務(wù),所述流數(shù)據(jù)任務(wù)為轉(zhuǎn)碼任務(wù)。
可選地,所述任務(wù)拆分模塊包括:
業(yè)務(wù)標(biāo)識提取子模塊,用于提取所述流數(shù)據(jù)處理指令攜帶的業(yè)務(wù)標(biāo)識,所述流數(shù)據(jù)任務(wù)為轉(zhuǎn)碼任務(wù);
轉(zhuǎn)碼格式查找子模塊,用于查找針對所述業(yè)務(wù)標(biāo)識預(yù)設(shè)的多種轉(zhuǎn)碼格式;
任務(wù)劃分子模塊,用于按照所查找的多種轉(zhuǎn)碼格式,將所述流數(shù)據(jù)處理任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)。
可選地,所述裝置還包括:
處理進(jìn)度監(jiān)控模塊,用于監(jiān)控各個處理進(jìn)程的處理進(jìn)度;
流數(shù)據(jù)推送模塊,用于將已處理完的流數(shù)據(jù)子任務(wù)對應(yīng)的流數(shù)據(jù)推送至存儲服務(wù)器,以供流數(shù)據(jù)的傳輸節(jié)點(diǎn)或流數(shù)據(jù)的播放客戶端調(diào)用。
可選地,所述裝置還包括:
第一通知接收模塊,用于接收處理進(jìn)程上報(bào)至管理進(jìn)程的處理異常通知;
處理進(jìn)程重新分配模塊,用于在當(dāng)前目標(biāo)處理節(jié)點(diǎn)內(nèi)為處理異常的流數(shù)據(jù)子任務(wù)重新分配處理進(jìn)程。
可選地,所述裝置還包括:
第二通知接收模塊,用于接收當(dāng)前目標(biāo)處理節(jié)點(diǎn)上報(bào)至管理節(jié)點(diǎn)的處理異常通知;
目標(biāo)處理節(jié)點(diǎn)重新分配模塊,用于在其他處理節(jié)點(diǎn)中為處理異常的流數(shù)據(jù)子任務(wù)重新分配一個目標(biāo)處理節(jié)點(diǎn);
目標(biāo)處理節(jié)點(diǎn)調(diào)用模塊,用于調(diào)用重新分配的目標(biāo)處理節(jié)點(diǎn)的一個處理進(jìn)程對處理異常的流數(shù)據(jù)子任務(wù)進(jìn)行處理。
依據(jù)本發(fā)明實(shí)施例,調(diào)用目標(biāo)處理節(jié)點(diǎn)內(nèi)的處理進(jìn)程對多個流數(shù)據(jù)子任務(wù)進(jìn)行處理,由于多個處理進(jìn)程在執(zhí)行過程中互不影響,因此避免了背景技術(shù)中一個線程出現(xiàn)問題導(dǎo)致整個節(jié)點(diǎn)無法正常工作的情況的發(fā)生,有效保證了目標(biāo)處理節(jié)點(diǎn)的正常工作。同時(shí),各流數(shù)據(jù)子任務(wù)的處理結(jié)果以及匯集得到的流數(shù)據(jù)任務(wù)的處理結(jié)果可以作為任務(wù)監(jiān)控、子任務(wù)分發(fā)的依據(jù),從而完善了處理機(jī)制。
本發(fā)明實(shí)施例在各傳輸節(jié)點(diǎn)內(nèi)置了管理進(jìn)程并設(shè)置了管理節(jié)點(diǎn),使用管理進(jìn)程和管理節(jié)點(diǎn)對流數(shù)據(jù)子任務(wù)的處理進(jìn)行管理,當(dāng)處理進(jìn)程出現(xiàn)處理異常時(shí),管理進(jìn)程或管理節(jié)點(diǎn)會為處理異常的流數(shù)據(jù)子任務(wù)重新分配處理進(jìn)程或處理節(jié)點(diǎn),從而保證了流數(shù)據(jù)任務(wù)的處理過程的順利完成。由于處理過程中的異常修復(fù)是通過管理進(jìn)程和管理節(jié)點(diǎn)完成的,無需人工操作,因此可以同時(shí)處理大量的任務(wù),提高了任務(wù)處理效率,縮短了流數(shù)據(jù)的處理操作的等待時(shí)間。
本發(fā)明實(shí)施例使用管理節(jié)點(diǎn)監(jiān)控各處理節(jié)點(diǎn)的負(fù)載狀態(tài),將從管理節(jié)點(diǎn)提取的各處理節(jié)點(diǎn)的負(fù)載狀態(tài)作為依據(jù),為多個流數(shù)據(jù)子任務(wù)分配目標(biāo)傳輸節(jié)點(diǎn),從而保證多個處理節(jié)點(diǎn)的負(fù)載均衡。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說明
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了根據(jù)本發(fā)明實(shí)施例一的一種流數(shù)據(jù)任務(wù)的處理方法的步驟流程示意圖;
圖2示出了根據(jù)本發(fā)明實(shí)施例二的一種流數(shù)據(jù)任務(wù)的處理方法的步驟流程示意圖;
圖3示出了根據(jù)本發(fā)明實(shí)施例三的一種流數(shù)據(jù)任務(wù)的處理裝置的結(jié)構(gòu)框圖;
圖4示出了根據(jù)本發(fā)明實(shí)施例四的一種流數(shù)據(jù)任務(wù)的處理裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
參照圖1,示出了根據(jù)本發(fā)明實(shí)施例一的一種流數(shù)據(jù)任務(wù)的處理方法的步驟流程示意圖,具體可以包括如下步驟:
步驟101、將流數(shù)據(jù)任務(wù)拆分多個流數(shù)據(jù)子任務(wù)。
本發(fā)明實(shí)施例所述的方法應(yīng)用于存在以流式傳輸方式傳輸?shù)牧鲾?shù)據(jù)的場景,如流數(shù)據(jù)轉(zhuǎn)碼場景、流數(shù)據(jù)傳輸場景等。相應(yīng)地,流數(shù)據(jù)任務(wù)可以為視頻流轉(zhuǎn)碼任務(wù)、音頻流轉(zhuǎn)碼任務(wù)、視頻流傳輸任務(wù)、音頻流傳輸任務(wù)等,流數(shù)據(jù)任務(wù)攜帶相應(yīng)的流數(shù)據(jù)。
執(zhí)行本發(fā)明實(shí)施例所述方法的系統(tǒng)包括管理節(jié)點(diǎn)和多個處理節(jié)點(diǎn),各處理節(jié)點(diǎn)內(nèi)置有多個處理進(jìn)程,其中,管理節(jié)點(diǎn)用于流數(shù)據(jù)任務(wù)的接收和分發(fā),并且用于對多個處理節(jié)點(diǎn)的運(yùn)行情況進(jìn)行管理;處理進(jìn)程用于處理劃分后的流數(shù)據(jù)子任務(wù)。在某一時(shí)刻某一處理進(jìn)程處理一個子任務(wù),每個處理進(jìn)程可以按照任務(wù)分配順序,依次對分配給該處理進(jìn)程的多個子任務(wù)進(jìn)行處理。
管理節(jié)點(diǎn)和多個處理節(jié)點(diǎn)可以為內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Networ k,CDN)中的節(jié)點(diǎn),可以使用內(nèi)容分發(fā)網(wǎng)絡(luò)對管理節(jié)點(diǎn)和多個處理節(jié)點(diǎn)間的流數(shù)據(jù)任務(wù)進(jìn)行傳輸。
管理節(jié)點(diǎn)在接收到流數(shù)據(jù)任務(wù)后,會將其拆分成多個流數(shù)據(jù)子任務(wù),以使用處理節(jié)點(diǎn)中的處理進(jìn)程對流數(shù)據(jù)子任務(wù)進(jìn)行處理。
可以根據(jù)流數(shù)據(jù)任務(wù)的種類對流數(shù)據(jù)任務(wù)進(jìn)行劃分,例如,當(dāng)流數(shù)據(jù)任務(wù)為視頻流轉(zhuǎn)碼任務(wù),任務(wù)指示將1080P格式的視頻流轉(zhuǎn)碼成超清、高清和標(biāo)清三種視頻流,這時(shí)管理節(jié)點(diǎn)將視頻流轉(zhuǎn)碼任務(wù)劃分成將1080P格式的流數(shù)據(jù)轉(zhuǎn)碼成超清流數(shù)據(jù)、將1080P格式的流數(shù)據(jù)轉(zhuǎn)碼成高清流數(shù)據(jù)以及將1080P格式的流數(shù)據(jù)轉(zhuǎn)碼成標(biāo)清流數(shù)據(jù)三個子任務(wù);當(dāng)流數(shù)據(jù)任務(wù)為流數(shù)據(jù)傳輸任務(wù)時(shí),管理節(jié)點(diǎn)可以將流數(shù)據(jù)任務(wù)攜帶的流數(shù)據(jù)劃分為多個子流數(shù)據(jù),每個流數(shù)據(jù)子任務(wù)為傳輸部分流數(shù)據(jù)。
步驟102、將多個流數(shù)據(jù)子任務(wù)分配至至少一個目標(biāo)處理節(jié)點(diǎn)。
本發(fā)明實(shí)施例中,流數(shù)據(jù)子任務(wù)由處理節(jié)點(diǎn)處理,管理節(jié)點(diǎn)完成對流數(shù)據(jù)任務(wù)的拆分后,會從多個處理節(jié)點(diǎn)中選出至少一個目標(biāo)處理節(jié)點(diǎn),之后將所得的多個流數(shù)據(jù)子任務(wù)分配至選擇的目標(biāo)處理節(jié)點(diǎn)。分配至某一目標(biāo)處理節(jié)點(diǎn)的流數(shù)據(jù)子任務(wù)可以為一個或多個,例如,當(dāng)流數(shù)據(jù)子任務(wù)為三個時(shí),將三個流數(shù)據(jù)子任務(wù)分配至三個不同的目標(biāo)處理節(jié)點(diǎn),或?qū)蓚€流數(shù)據(jù)子任務(wù)分配至一個目標(biāo)傳輸節(jié)點(diǎn),將剩余的一個流數(shù)據(jù)子任務(wù)分配至另一個目標(biāo)傳輸節(jié)點(diǎn)。
可以依據(jù)多種因素為流數(shù)據(jù)子任務(wù)分配目標(biāo)處理節(jié)點(diǎn),具體地可以根據(jù)各處理節(jié)點(diǎn)的負(fù)載情況、管理節(jié)點(diǎn)所在區(qū)域的地理位置信息等信息中的一種或多種選擇目標(biāo)傳輸節(jié)點(diǎn)。
步驟103、調(diào)用各目標(biāo)處理節(jié)點(diǎn)運(yùn)行至少一個處理進(jìn)程處理所述多個流數(shù)據(jù)子任務(wù)。
各目標(biāo)傳輸節(jié)點(diǎn)接收到流數(shù)據(jù)子任務(wù)后,會使用內(nèi)置的處理進(jìn)程對流數(shù)據(jù)進(jìn)行處理??梢愿鶕?jù)各處理進(jìn)程的剩余處理能力,選擇一個或多個處理進(jìn)程處理流數(shù)據(jù)子任務(wù)。
當(dāng)某一目標(biāo)傳輸節(jié)點(diǎn)接收到多個流數(shù)據(jù)子任務(wù)時(shí),可以調(diào)用多個處理進(jìn)程對流數(shù)據(jù)子任務(wù)進(jìn)行處理,每個處理進(jìn)程可以處理一個或多個流數(shù)據(jù)子任務(wù);也可以調(diào)用一個處理進(jìn)程對多個流數(shù)據(jù)子任務(wù)進(jìn)行處理。
步驟104、接收各目標(biāo)處理節(jié)點(diǎn)針對流數(shù)據(jù)子任務(wù)反饋的處理結(jié)果,匯集得到所述流數(shù)據(jù)任務(wù)的處理結(jié)果。
本發(fā)明實(shí)施例中,目標(biāo)處理節(jié)點(diǎn)可以獲取流數(shù)據(jù)子任務(wù)的處理結(jié)果并將其反饋給管理節(jié)點(diǎn)。處理結(jié)果可以是預(yù)設(shè)信息,例如,預(yù)設(shè)當(dāng)流數(shù)據(jù)子任務(wù)處理完成時(shí)處理結(jié)果為1,當(dāng)流數(shù)據(jù)子任務(wù)處理異常時(shí)處理結(jié)果為2。
目標(biāo)傳輸節(jié)點(diǎn)可以通過多種方式確定流數(shù)據(jù)子任務(wù)的處理結(jié)果,例如,目標(biāo)傳輸節(jié)點(diǎn)可以定期對處理進(jìn)程進(jìn)行檢測,從而確定各流數(shù)據(jù)子任務(wù)的處理結(jié)果;或者,當(dāng)流數(shù)據(jù)子任務(wù)處理完成時(shí),處理進(jìn)程可以發(fā)送指示處理完成的指令或信息,如果目標(biāo)傳輸節(jié)點(diǎn)在預(yù)設(shè)時(shí)長內(nèi)未接收到處理進(jìn)程發(fā)送的指示處理完成的指令或信息,則判定流數(shù)據(jù)子任務(wù)的處理結(jié)果為處理異常,否則為處理正常。
進(jìn)一步管理節(jié)點(diǎn)可以對各目標(biāo)處理節(jié)點(diǎn)反饋的流數(shù)據(jù)子任務(wù)的處理結(jié)果進(jìn)行匯總,得到流數(shù)據(jù)任務(wù)的處理結(jié)果,可以根據(jù)反饋結(jié)果確定流數(shù)據(jù)任務(wù)的處理情況。
依據(jù)本發(fā)明實(shí)施例,調(diào)用目標(biāo)處理節(jié)點(diǎn)內(nèi)的處理進(jìn)程對多個流數(shù)據(jù)子任務(wù)進(jìn)行處理,由于多個處理進(jìn)程在執(zhí)行過程中互不影響,因此避免了背景技術(shù)中一個線程出現(xiàn)問題導(dǎo)致整個節(jié)點(diǎn)無法正常工作的情況的發(fā)生,有效保證了目標(biāo)處理節(jié)點(diǎn)的正常工作。同時(shí),各流數(shù)據(jù)子任務(wù)的處理結(jié)果以及匯集得到的流數(shù)據(jù)任務(wù)的處理結(jié)果可以作為任務(wù)監(jiān)控、子任務(wù)分發(fā)的依據(jù),從而完善了處理機(jī)制。
參照圖2,示出了根據(jù)本發(fā)明實(shí)施例二的一種流數(shù)據(jù)任務(wù)的處理方法的步驟流程示意圖,具體可以包括如下步驟:
步驟201、將流數(shù)據(jù)任務(wù)拆分成多個流數(shù)據(jù)子任務(wù)。
本發(fā)明實(shí)施例所述的方法應(yīng)用于存在以流式傳輸方式傳輸?shù)牧鲾?shù)據(jù)的場景,如流數(shù)據(jù)轉(zhuǎn)碼場景、流數(shù)據(jù)傳輸場景等。
當(dāng)應(yīng)用于流數(shù)據(jù)轉(zhuǎn)碼場景時(shí),流數(shù)據(jù)任務(wù)為轉(zhuǎn)碼任務(wù)。可以預(yù)先限定讓流數(shù)據(jù)處理指令即轉(zhuǎn)碼指令攜帶多種轉(zhuǎn)碼格式,這時(shí)將流數(shù)據(jù)任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)的步驟可以包括:按照流數(shù)據(jù)處理指令攜帶的多種轉(zhuǎn)碼格式,將流數(shù)據(jù)處理任務(wù)拆分為對應(yīng)各種轉(zhuǎn)碼格式的多個流數(shù)據(jù)子任務(wù)。例如,流數(shù)據(jù)處理指令為將1080P格式的視頻流數(shù)據(jù)轉(zhuǎn)碼成720P和480P兩種格式,攜帶720P和480P兩種轉(zhuǎn)碼格式,管理節(jié)點(diǎn)會根據(jù)按照流數(shù)據(jù)處理指令攜帶的兩種轉(zhuǎn)碼格式,對1080P格式的視頻流數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,得到720P和480P兩種格式的視頻流數(shù)據(jù)。
還可以預(yù)先在管理節(jié)點(diǎn)存儲業(yè)務(wù)標(biāo)識和轉(zhuǎn)碼格式的對應(yīng)關(guān)系,同時(shí)限定流數(shù)據(jù)處理指令即轉(zhuǎn)碼指令攜帶業(yè)務(wù)標(biāo)識,其中,業(yè)務(wù)標(biāo)識可以指示具體應(yīng)用,可以為應(yīng)用名稱即AppName,業(yè)務(wù)標(biāo)識與轉(zhuǎn)碼格式的對應(yīng)關(guān)系可以是一對多的關(guān)系,這時(shí)將流數(shù)據(jù)任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)的步驟可以包括:提取流數(shù)據(jù)處理指令攜帶的業(yè)務(wù)標(biāo)識,查找針對該業(yè)務(wù)標(biāo)識預(yù)設(shè)的多種轉(zhuǎn)碼格式,按照所查找的多種轉(zhuǎn)碼格式,將流數(shù)據(jù)處理任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)。
在將流數(shù)據(jù)任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)之前,需要獲取流數(shù)據(jù)。實(shí)際中預(yù)轉(zhuǎn)碼流數(shù)據(jù)的業(yè)務(wù)端在向管理節(jié)點(diǎn)發(fā)送流數(shù)據(jù)處理指令時(shí),可以讓流數(shù)據(jù)處理指令攜帶流數(shù)據(jù)的流數(shù)據(jù)地址,當(dāng)管理節(jié)點(diǎn)接收到流數(shù)據(jù)的流數(shù)據(jù)地址后,可以通過以下步驟獲取流數(shù)據(jù):接收攜帶流數(shù)據(jù)地址的流數(shù)據(jù)處理指令,通過訪問所述流數(shù)據(jù)地址,下載待處理的流數(shù)據(jù)。
例如,管理節(jié)點(diǎn)接收到的流數(shù)據(jù)處理指令攜帶的流數(shù)據(jù)地址為***/AppName/SN,其中AppName為業(yè)務(wù)標(biāo)識,SN為客戶端標(biāo)識,管理節(jié)點(diǎn)可以通過訪問流數(shù)據(jù)地址獲取流數(shù)據(jù),并且根據(jù)預(yù)先存儲的業(yè)務(wù)標(biāo)識和轉(zhuǎn)碼格式的對應(yīng)關(guān)系,確定所需的多種轉(zhuǎn)碼格式,進(jìn)一步根據(jù)確定的多種轉(zhuǎn)碼格式,將流數(shù)據(jù)任務(wù)拆分成多個流數(shù)據(jù)子任務(wù),每個流數(shù)據(jù)子任務(wù)對應(yīng)一種轉(zhuǎn)碼格式。
步驟202、將多個流數(shù)據(jù)子任務(wù)分配至至少一個目標(biāo)處理節(jié)點(diǎn)。
管理節(jié)點(diǎn)用于對多個處理節(jié)點(diǎn)進(jìn)行管理,管理各處理節(jié)點(diǎn)的負(fù)載情況、各處理節(jié)點(diǎn)中處理進(jìn)程的運(yùn)行情況等,管理節(jié)點(diǎn)可以記錄各處理節(jié)點(diǎn)的負(fù)載情況以及進(jìn)行運(yùn)行情況并不斷更新。
本發(fā)明實(shí)施例中管理節(jié)點(diǎn)可以向調(diào)度發(fā)送針對多個流數(shù)據(jù)子任務(wù)的目標(biāo)處理節(jié)點(diǎn)的分配請求,調(diào)度可以根據(jù)各處理節(jié)點(diǎn)的負(fù)載狀態(tài)為多個流數(shù)據(jù)子任務(wù)分配目標(biāo)處理節(jié)點(diǎn),具體地可以選擇負(fù)載較輕的處理節(jié)點(diǎn)作為目標(biāo)處理節(jié)點(diǎn),以保證多個處理節(jié)點(diǎn)的負(fù)載均衡,分配的目標(biāo)處理節(jié)點(diǎn)的數(shù)目可以為一個或多個,隨后調(diào)度將分配的目標(biāo)處理節(jié)點(diǎn)反饋至管理節(jié)點(diǎn)。
由于管理節(jié)點(diǎn)內(nèi)記錄有多個處理節(jié)點(diǎn)的負(fù)載情況,因此本步驟將多個流數(shù)據(jù)子任務(wù)分配至至少一個目標(biāo)處理節(jié)點(diǎn)的步驟可以包括:從管理節(jié)點(diǎn)獲取各個處理節(jié)點(diǎn)的負(fù)載狀態(tài),選取負(fù)載狀態(tài)滿足設(shè)定條件的至少一個目標(biāo)處理節(jié)點(diǎn),并向各選取的目標(biāo)處理節(jié)點(diǎn)下發(fā)至少一個流數(shù)據(jù)子任務(wù)。其中,設(shè)定條件可以包括多種限定內(nèi)容,如負(fù)載最輕的N(N為正整數(shù))個處理節(jié)點(diǎn)、待處理任務(wù)的數(shù)目小于M(M為正整數(shù))的處理節(jié)點(diǎn)等。一個目標(biāo)處理節(jié)點(diǎn)可以分配一個或多個流數(shù)據(jù)子任務(wù)。
本發(fā)明實(shí)施例中各處理節(jié)點(diǎn)對應(yīng)一個任務(wù)隊(duì)列,任務(wù)隊(duì)列中記錄了分配至該處理節(jié)點(diǎn)的多個流數(shù)據(jù)子任務(wù)的排隊(duì)順序。本發(fā)明實(shí)施例在根據(jù)負(fù)載狀態(tài)確定至少一個目標(biāo)處理節(jié)點(diǎn)后,為使多個流數(shù)據(jù)子任務(wù)的處理結(jié)束時(shí)間相近或相同,可以在向各選取的目標(biāo)處理節(jié)點(diǎn)下發(fā)至少一個流數(shù)據(jù)子任務(wù)之前,對各處理節(jié)點(diǎn)中流數(shù)據(jù)子任務(wù)的排隊(duì)順序進(jìn)行調(diào)整。具體地,對各處理節(jié)點(diǎn)中流數(shù)據(jù)子任務(wù)的排隊(duì)順序進(jìn)行調(diào)整的步驟可以包括:獲取各目標(biāo)處理節(jié)點(diǎn)的任務(wù)隊(duì)列;設(shè)置待下發(fā)的流數(shù)據(jù)子任務(wù)在各任務(wù)隊(duì)列中的排序,使各個流數(shù)據(jù)子任務(wù)的處理時(shí)間的差值小于設(shè)定閾值,其中設(shè)定閾值可以根據(jù)實(shí)際進(jìn)行設(shè)置。
進(jìn)一步所述設(shè)置待下發(fā)的流數(shù)據(jù)子任務(wù)在各任務(wù)隊(duì)列中的排序,使各個流數(shù)據(jù)子任務(wù)的處理時(shí)間的差值小于設(shè)定閾值的步驟可以包括:根據(jù)各目標(biāo)處理節(jié)點(diǎn)的任務(wù)隊(duì)列中已有的流數(shù)據(jù)子任務(wù),預(yù)測各個待下發(fā)的流數(shù)據(jù)子任務(wù)的處理時(shí)間;確定處理時(shí)間最晚的目標(biāo)流數(shù)據(jù)子任務(wù);按照該目標(biāo)流數(shù)據(jù)子任務(wù)的處理時(shí)間安排各個待下發(fā)的流數(shù)據(jù)子任務(wù)的處理時(shí)間。
具體地,在確定處理時(shí)間最晚的目標(biāo)流數(shù)據(jù)子任務(wù)后,將分配至其他處理節(jié)點(diǎn)的流數(shù)據(jù)子任務(wù)的排序向后調(diào)整,如果目標(biāo)處理節(jié)點(diǎn)中其他流數(shù)據(jù)子任務(wù)均處理結(jié)束且未到安排的處理時(shí)間,則等待一定時(shí)間間隔后再對流數(shù)據(jù)子任務(wù)進(jìn)行處理。
本發(fā)明實(shí)施例在各傳輸節(jié)點(diǎn)中設(shè)置了管理進(jìn)程,管理進(jìn)程用于對多個處理進(jìn)行的運(yùn)行情況進(jìn)行監(jiān)控和管理,并將流數(shù)據(jù)子任務(wù)的處理情況反饋給管理節(jié)點(diǎn)。各目標(biāo)處理節(jié)點(diǎn)的任務(wù)隊(duì)列可以設(shè)置于管理進(jìn)程中,相應(yīng)地獲取各目標(biāo)處理節(jié)點(diǎn)的任務(wù)隊(duì)列的步驟可以包括:從各目標(biāo)處理節(jié)點(diǎn)的管理進(jìn)程獲取任務(wù)隊(duì)列。
管理進(jìn)程記錄的任務(wù)隊(duì)列可以包括針對多個處理進(jìn)程設(shè)置的多個任務(wù)子隊(duì)列,從某一任務(wù)子隊(duì)列可知等待對應(yīng)的處理進(jìn)程處理的子任務(wù)的數(shù)目。在確定處理時(shí)間最晚的目標(biāo)流數(shù)據(jù)子任務(wù)后,可以根據(jù)最晚處理時(shí)間在某一任務(wù)子隊(duì)列中對流數(shù)據(jù)子任務(wù)的排序進(jìn)行調(diào)整,也可以根據(jù)最晚處理時(shí)間選擇一合適的任務(wù)子隊(duì)列,將流數(shù)據(jù)子任務(wù)排序至該任務(wù)子隊(duì)列最后。
步驟203、調(diào)用各目標(biāo)處理節(jié)點(diǎn)運(yùn)行至少一個處理進(jìn)程處理所述多個流數(shù)據(jù)子任務(wù),其中,一個所調(diào)用的處理進(jìn)程處理一個或多個流數(shù)據(jù)子任務(wù)。
步驟204、接收各目標(biāo)處理節(jié)點(diǎn)針對流數(shù)據(jù)子任務(wù)反饋的處理結(jié)果,匯集得到所述流數(shù)據(jù)任務(wù)的處理結(jié)果。
步驟205、監(jiān)控各個處理進(jìn)程的處理進(jìn)度,將已處理完的流數(shù)據(jù)子任務(wù)對應(yīng)的流數(shù)據(jù)推送至存儲服務(wù)器,以供流數(shù)據(jù)的傳輸節(jié)點(diǎn)或流數(shù)據(jù)的播放客戶端調(diào)用。
本發(fā)明實(shí)施例中,各處理節(jié)點(diǎn)中內(nèi)置有管理進(jìn)程,可以使用管理進(jìn)程監(jiān)控處理節(jié)點(diǎn)中多個處理進(jìn)程的處理進(jìn)度,如果監(jiān)控到流數(shù)據(jù)子任務(wù)處理結(jié)束,則可以通知目標(biāo)處理節(jié)點(diǎn)將處理完的流數(shù)據(jù)子任務(wù)對應(yīng)的流數(shù)據(jù)推送至存儲服務(wù)器。存儲服務(wù)器可以是預(yù)設(shè)的,可以是流數(shù)據(jù)處理指令指示的,可以是調(diào)度從預(yù)設(shè)的多個存儲服務(wù)器中分配的,本發(fā)明在此不做限制。
存儲服務(wù)器接收到推送的流數(shù)據(jù)后,如果接收到流數(shù)據(jù)的傳輸節(jié)點(diǎn)或播放客戶端的調(diào)用請求,則將流數(shù)據(jù)傳輸至傳輸節(jié)點(diǎn)和播放客戶端供傳輸或播放。
本發(fā)明實(shí)施例中,優(yōu)選地,所述方法還包括:
接收處理進(jìn)程上報(bào)至管理進(jìn)程的處理異常通知,并在當(dāng)前目標(biāo)處理節(jié)點(diǎn)內(nèi)為處理異常的流數(shù)據(jù)子任務(wù)重新分配處理進(jìn)程。
本發(fā)明實(shí)施例使用內(nèi)置在處理節(jié)點(diǎn)內(nèi)的管理進(jìn)程對多個處理進(jìn)程的運(yùn)行情況進(jìn)行監(jiān)控和管理。當(dāng)處理進(jìn)程針對某一流數(shù)據(jù)子任務(wù)的處理發(fā)生異常時(shí),如處理進(jìn)程卡死或崩潰,處理進(jìn)程可以向管理進(jìn)程上報(bào)處理異常通知,管理進(jìn)程在接收到處理異常通知后,會對目標(biāo)處理節(jié)點(diǎn)內(nèi)的其他處理進(jìn)程的運(yùn)行情況、負(fù)載狀態(tài)等進(jìn)行查看和分析,進(jìn)一步根據(jù)分析結(jié)果選擇運(yùn)行良好且負(fù)載較輕的其他處理進(jìn)程,對處理異常的流數(shù)據(jù)子任務(wù)進(jìn)行重新處理,從而保證了該流數(shù)據(jù)子任務(wù)的順利完成。
除上述處理進(jìn)程主動上報(bào)處理異常通知至管理進(jìn)程的方式外,管理進(jìn)程可以按照預(yù)設(shè)時(shí)間間隔定時(shí)檢查處理進(jìn)程的運(yùn)行情況,如果檢測到處理進(jìn)程發(fā)生異常,則為處理異常的流數(shù)據(jù)子任務(wù)重新分配處理進(jìn)程。
本發(fā)明實(shí)施例中,優(yōu)選地,所述方法還包括:
接收當(dāng)前目標(biāo)處理節(jié)點(diǎn)上報(bào)至管理節(jié)點(diǎn)的處理異常通知,并在其他處理節(jié)點(diǎn)中為處理異常的流數(shù)據(jù)子任務(wù)重新分配一個目標(biāo)處理節(jié)點(diǎn);
調(diào)用重新分配的目標(biāo)處理節(jié)點(diǎn)的一個處理進(jìn)程對處理異常的流數(shù)據(jù)子任務(wù)進(jìn)行處理。
本發(fā)明實(shí)施例中,目標(biāo)處理節(jié)點(diǎn)內(nèi)的管理進(jìn)程在接收到處理進(jìn)程上報(bào)的處理異常通知后,如果確定該目標(biāo)處理節(jié)點(diǎn)內(nèi)的所有處理進(jìn)程均已負(fù)載較重或負(fù)載滿,則管理進(jìn)程可以向管理節(jié)點(diǎn)上報(bào)處理異常通知。管理節(jié)點(diǎn)接收到某一目標(biāo)處理節(jié)點(diǎn)上報(bào)的處理異常通知后,可以根據(jù)其他處理節(jié)點(diǎn)的負(fù)載情況或其他因素,在其他處理節(jié)點(diǎn)中為處理異常的流數(shù)據(jù)子任務(wù)重新分配一個目標(biāo)處理節(jié)點(diǎn),將處理異常的流數(shù)據(jù)子任務(wù)發(fā)送至重新分配的目標(biāo)處理節(jié)點(diǎn)進(jìn)行處理。
新分配的目標(biāo)處理節(jié)點(diǎn)接收到該流數(shù)據(jù)子任務(wù)后,調(diào)用其內(nèi)部的一個處理進(jìn)程對該子任務(wù)進(jìn)行處理。具體地,該目標(biāo)處理節(jié)點(diǎn)內(nèi)的管理進(jìn)程可以查看和分析各處理進(jìn)程的情況,選擇運(yùn)行良好且負(fù)載較輕的處理進(jìn)程處理該子任務(wù)。
本發(fā)明實(shí)施例所述方法可以應(yīng)用于視頻流轉(zhuǎn)碼的場景中,可以使用設(shè)置的管理進(jìn)程和管理節(jié)點(diǎn)對視頻流轉(zhuǎn)碼過程進(jìn)行管理,當(dāng)處理進(jìn)程出現(xiàn)處理異常時(shí),管理進(jìn)程或管理節(jié)點(diǎn)會為處理異常的流數(shù)據(jù)轉(zhuǎn)碼子任務(wù)重新分配處理進(jìn)程或處理節(jié)點(diǎn),從而保證了視頻流轉(zhuǎn)碼任務(wù)的順利完成。由于處理過程中的異常修復(fù)是通過管理進(jìn)程和管理節(jié)點(diǎn)完成的,無需人工操作,因此可以同時(shí)處理大量的轉(zhuǎn)碼任務(wù),滿足了轉(zhuǎn)碼需求。
依據(jù)本發(fā)明實(shí)施例,調(diào)用目標(biāo)處理節(jié)點(diǎn)內(nèi)的處理進(jìn)程對多個流數(shù)據(jù)子任務(wù)進(jìn)行處理,由于多個處理進(jìn)程在執(zhí)行過程中互不影響,因此避免了背景技術(shù)中一個線程出現(xiàn)問題導(dǎo)致整個節(jié)點(diǎn)無法正常工作的情況的發(fā)生,有效保證了目標(biāo)處理節(jié)點(diǎn)的正常工作。同時(shí),各流數(shù)據(jù)子任務(wù)的處理結(jié)果以及匯集得到的流數(shù)據(jù)任務(wù)的處理結(jié)果可以作為任務(wù)監(jiān)控、子任務(wù)分發(fā)的依據(jù),從而完善了處理機(jī)制。
本發(fā)明實(shí)施例在各傳輸節(jié)點(diǎn)內(nèi)置了管理進(jìn)程并設(shè)置了管理節(jié)點(diǎn),使用管理進(jìn)程和管理節(jié)點(diǎn)對流數(shù)據(jù)子任務(wù)的處理進(jìn)行管理,當(dāng)處理進(jìn)程出現(xiàn)處理異常時(shí),管理進(jìn)程或管理節(jié)點(diǎn)會為處理異常的流數(shù)據(jù)子任務(wù)重新分配處理進(jìn)程或處理節(jié)點(diǎn),從而保證了流數(shù)據(jù)任務(wù)的處理過程的順利完成。由于處理過程中的異常修復(fù)是通過管理進(jìn)程和管理節(jié)點(diǎn)完成的,無需人工操作,因此可以同時(shí)處理大量的任務(wù),提高了任務(wù)處理效率,縮短了流數(shù)據(jù)的處理操作的等待時(shí)間。
本發(fā)明實(shí)施例使用管理節(jié)點(diǎn)監(jiān)控各處理節(jié)點(diǎn)的負(fù)載狀態(tài),將從管理節(jié)點(diǎn)提取的各處理節(jié)點(diǎn)的負(fù)載狀態(tài)作為依據(jù),為多個流數(shù)據(jù)子任務(wù)分配目標(biāo)傳輸節(jié)點(diǎn),從而保證多個處理節(jié)點(diǎn)的負(fù)載均衡。
圖3示出了根據(jù)本發(fā)明實(shí)施例三的一種流數(shù)據(jù)任務(wù)的處理裝置的結(jié)構(gòu)框圖。圖3中的流數(shù)據(jù)任務(wù)的處理裝置包括:
任務(wù)拆分模塊301,用于將流數(shù)據(jù)任務(wù)拆分成多個流數(shù)據(jù)子任務(wù)。
子任務(wù)分配模塊302,用于將多個流數(shù)據(jù)子任務(wù)分配至至少一個目標(biāo)處理節(jié)點(diǎn)。
處理進(jìn)程調(diào)用模塊303,用于調(diào)用各目標(biāo)處理節(jié)點(diǎn)運(yùn)行至少一個處理進(jìn)程處理所述多個流數(shù)據(jù)子任務(wù),其中,一個所調(diào)用的處理進(jìn)程處理一個或多個流數(shù)據(jù)子任務(wù)。
處理結(jié)果接收模塊304,用于接收各目標(biāo)處理節(jié)點(diǎn)針對流數(shù)據(jù)子任務(wù)反饋的處理結(jié)果,匯集得到所述流數(shù)據(jù)任務(wù)的處理結(jié)果。
依據(jù)本發(fā)明實(shí)施例,調(diào)用目標(biāo)處理節(jié)點(diǎn)內(nèi)的處理進(jìn)程對多個流數(shù)據(jù)子任務(wù)進(jìn)行處理,由于多個處理進(jìn)程在執(zhí)行過程中互不影響,因此避免了背景技術(shù)中一個線程出現(xiàn)問題導(dǎo)致整個節(jié)點(diǎn)無法正常工作的情況的發(fā)生,有效保證了目標(biāo)處理節(jié)點(diǎn)的正常工作。同時(shí),各流數(shù)據(jù)子任務(wù)的處理結(jié)果以及匯集得到的流數(shù)據(jù)任務(wù)的處理結(jié)果可以作為任務(wù)監(jiān)控、子任務(wù)分發(fā)的依據(jù),從而完善了處理機(jī)制。
圖4示出了根據(jù)本發(fā)明實(shí)施例四的一種流數(shù)據(jù)任務(wù)的處理裝置的結(jié)構(gòu)框圖。圖4中的流數(shù)據(jù)任務(wù)的處理裝置包括:
任務(wù)拆分模塊401,用于將流數(shù)據(jù)任務(wù)拆分成多個流數(shù)據(jù)子任務(wù)。
子任務(wù)分配模塊402,用于將多個流數(shù)據(jù)子任務(wù)分配至至少一個目標(biāo)處理節(jié)點(diǎn)。
處理進(jìn)程調(diào)用模塊403,用于調(diào)用各目標(biāo)處理節(jié)點(diǎn)運(yùn)行至少一個處理進(jìn)程處理所述多個流數(shù)據(jù)子任務(wù),其中,一個所調(diào)用的處理進(jìn)程處理一個或多個流數(shù)據(jù)子任務(wù)。
處理結(jié)果接收模塊404,用于接收各目標(biāo)處理節(jié)點(diǎn)針對流數(shù)據(jù)子任務(wù)反饋的處理結(jié)果,匯集得到所述流數(shù)據(jù)任務(wù)的處理結(jié)果。
處理進(jìn)度監(jiān)控模塊405,用于監(jiān)控各個處理進(jìn)程的處理進(jìn)度。
流數(shù)據(jù)推送模塊406,用于將已處理完的流數(shù)據(jù)子任務(wù)對應(yīng)的流數(shù)據(jù)推送至存儲服務(wù)器,以供流數(shù)據(jù)的傳輸節(jié)點(diǎn)或流數(shù)據(jù)的播放客戶端調(diào)用。
本發(fā)明實(shí)施例中,優(yōu)選地,所述子任務(wù)分配模塊包括:
負(fù)載狀態(tài)獲取子模塊,用于從管理節(jié)點(diǎn)獲取各個處理節(jié)點(diǎn)的負(fù)載狀態(tài);
目標(biāo)處理節(jié)點(diǎn)選取子模塊,用于選取負(fù)載狀態(tài)滿足設(shè)定條件的至少一個目標(biāo)處理節(jié)點(diǎn),并向各選取的目標(biāo)處理節(jié)點(diǎn)下發(fā)至少一個流數(shù)據(jù)子任務(wù)。
本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:
任務(wù)隊(duì)列獲取模塊,用于在所述向各選取的目標(biāo)處理節(jié)點(diǎn)下發(fā)至少一個流數(shù)據(jù)子任務(wù)之前,獲取各目標(biāo)處理節(jié)點(diǎn)的任務(wù)隊(duì)列,各處理節(jié)點(diǎn)對應(yīng)一個任務(wù)隊(duì)列;
排序設(shè)置子模塊,用于設(shè)置待下發(fā)的流數(shù)據(jù)子任務(wù)在各任務(wù)隊(duì)列中的排序,使各個流數(shù)據(jù)子任務(wù)的處理時(shí)間的差值小于設(shè)定閾值。
本發(fā)明實(shí)施例中,優(yōu)選地,所述排序設(shè)置子模塊包括:
處理時(shí)間預(yù)測單元,用于根據(jù)各目標(biāo)處理節(jié)點(diǎn)的任務(wù)隊(duì)列中已有的流數(shù)據(jù)子任務(wù),預(yù)測各個待下發(fā)的流數(shù)據(jù)子任務(wù)的處理時(shí)間;
目標(biāo)流數(shù)據(jù)子任務(wù)確定單元,用于確定處理時(shí)間最晚的目標(biāo)流數(shù)據(jù)子任務(wù);
處理時(shí)間安排單元,用于按照所述目標(biāo)流數(shù)據(jù)子任務(wù)的處理時(shí)間安排各個待下發(fā)的流數(shù)據(jù)子任務(wù)的處理時(shí)間。
本發(fā)明實(shí)施例中,優(yōu)選地,所述任務(wù)隊(duì)列獲取模塊,具體用于從各目標(biāo)處理節(jié)點(diǎn)的管理進(jìn)程獲取任務(wù)隊(duì)列。
本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:
處理指令接收模塊,用于在所述將流數(shù)據(jù)任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)之前,接收攜帶流數(shù)據(jù)地址的流數(shù)據(jù)處理指令;
流數(shù)據(jù)下載模塊,用于通過訪問所述流數(shù)據(jù)地址,下載待處理的流數(shù)據(jù)。
本發(fā)明實(shí)施例中,優(yōu)選地,所述任務(wù)拆分模塊,具體用于按照所述流數(shù)據(jù)處理指令攜帶的多種轉(zhuǎn)碼格式,將所述流數(shù)據(jù)處理任務(wù)拆分為對應(yīng)各種轉(zhuǎn)碼格式的多個流數(shù)據(jù)子任務(wù),所述流數(shù)據(jù)任務(wù)為轉(zhuǎn)碼任務(wù)。
本發(fā)明實(shí)施例中,優(yōu)選地,所述任務(wù)拆分模塊包括:
業(yè)務(wù)標(biāo)識提取子模塊,用于提取所述流數(shù)據(jù)處理指令攜帶的業(yè)務(wù)標(biāo)識,所述流數(shù)據(jù)任務(wù)為轉(zhuǎn)碼任務(wù);
轉(zhuǎn)碼格式查找子模塊,用于查找針對所述業(yè)務(wù)標(biāo)識預(yù)設(shè)的多種轉(zhuǎn)碼格式;
任務(wù)劃分子模塊,用于按照所查找的多種轉(zhuǎn)碼格式,將所述流數(shù)據(jù)處理任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)。
本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:
第一通知接收模塊,用于接收處理進(jìn)程上報(bào)至管理進(jìn)程的處理異常通知;
處理進(jìn)程重新分配模塊,用于在當(dāng)前目標(biāo)處理節(jié)點(diǎn)內(nèi)為處理異常的流數(shù)據(jù)子任務(wù)重新分配處理進(jìn)程。
本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:
第二通知接收模塊,用于接收當(dāng)前目標(biāo)處理節(jié)點(diǎn)上報(bào)至管理節(jié)點(diǎn)的處理異常通知;
目標(biāo)處理節(jié)點(diǎn)重新分配模塊,用于在其他處理節(jié)點(diǎn)中為處理異常的流數(shù)據(jù)子任務(wù)重新分配一個目標(biāo)處理節(jié)點(diǎn);
目標(biāo)處理節(jié)點(diǎn)調(diào)用模塊,用于調(diào)用重新分配的目標(biāo)處理節(jié)點(diǎn)的一個處理進(jìn)程對處理異常的流數(shù)據(jù)子任務(wù)進(jìn)行處理。
依據(jù)本發(fā)明實(shí)施例,調(diào)用目標(biāo)處理節(jié)點(diǎn)內(nèi)的處理進(jìn)程對多個流數(shù)據(jù)子任務(wù)進(jìn)行處理,由于多個處理進(jìn)程在執(zhí)行過程中互不影響,因此避免了背景技術(shù)中一個線程出現(xiàn)問題導(dǎo)致整個節(jié)點(diǎn)無法正常工作的情況的發(fā)生,有效保證了目標(biāo)處理節(jié)點(diǎn)的正常工作。同時(shí),各流數(shù)據(jù)子任務(wù)的處理結(jié)果以及匯集得到的流數(shù)據(jù)任務(wù)的處理結(jié)果可以作為任務(wù)監(jiān)控、子任務(wù)分發(fā)的依據(jù),從而完善了處理機(jī)制。
本發(fā)明實(shí)施例在各傳輸節(jié)點(diǎn)內(nèi)置了管理進(jìn)程并設(shè)置了管理節(jié)點(diǎn),使用管理進(jìn)程和管理節(jié)點(diǎn)對流數(shù)據(jù)子任務(wù)的處理進(jìn)行管理,當(dāng)處理進(jìn)程出現(xiàn)處理異常時(shí),管理進(jìn)程或管理節(jié)點(diǎn)會為處理異常的流數(shù)據(jù)子任務(wù)重新分配處理進(jìn)程或處理節(jié)點(diǎn),從而保證了流數(shù)據(jù)任務(wù)的處理過程的順利完成。由于處理過程中的異常修復(fù)是通過管理進(jìn)程和管理節(jié)點(diǎn)完成的,無需人工操作,因此可以同時(shí)處理大量的任務(wù),提高了任務(wù)處理效率,縮短了流數(shù)據(jù)的處理操作的等待時(shí)間。
本發(fā)明實(shí)施例使用管理節(jié)點(diǎn)監(jiān)控各處理節(jié)點(diǎn)的負(fù)載狀態(tài),將從管理節(jié)點(diǎn)提取的各處理節(jié)點(diǎn)的負(fù)載狀態(tài)作為依據(jù),為多個流數(shù)據(jù)子任務(wù)分配目標(biāo)傳輸節(jié)點(diǎn),從而保證多個處理節(jié)點(diǎn)的負(fù)載均衡。
在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個特征有時(shí)被一起分組到單個實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個或多個設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個或者多個處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的流數(shù)據(jù)任務(wù)的處理設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
本發(fā)明公開了A1、一種流數(shù)據(jù)任務(wù)的處理方法,包括:
將流數(shù)據(jù)任務(wù)拆分成多個流數(shù)據(jù)子任務(wù);
將多個流數(shù)據(jù)子任務(wù)分配至至少一個目標(biāo)處理節(jié)點(diǎn);
調(diào)用各目標(biāo)處理節(jié)點(diǎn)運(yùn)行至少一個處理進(jìn)程處理所述多個流數(shù)據(jù)子任務(wù),其中,一個所調(diào)用的處理進(jìn)程處理一個或多個流數(shù)據(jù)子任務(wù);
接收各目標(biāo)處理節(jié)點(diǎn)針對流數(shù)據(jù)子任務(wù)反饋的處理結(jié)果,匯集得到所述流數(shù)據(jù)任務(wù)的處理結(jié)果。
A2、根據(jù)A1所述的方法,其中,所述將多個流數(shù)據(jù)子任務(wù)分配至至少一個目標(biāo)處理節(jié)點(diǎn)包括:
從管理節(jié)點(diǎn)獲取各個處理節(jié)點(diǎn)的負(fù)載狀態(tài);
選取負(fù)載狀態(tài)滿足設(shè)定條件的至少一個目標(biāo)處理節(jié)點(diǎn),并向各選取的目標(biāo)處理節(jié)點(diǎn)下發(fā)至少一個流數(shù)據(jù)子任務(wù)。
A3、根據(jù)A1所述的方法,其中,各處理節(jié)點(diǎn)對應(yīng)一個任務(wù)隊(duì)列,在所述向各選取的目標(biāo)處理節(jié)點(diǎn)下發(fā)至少一個流數(shù)據(jù)子任務(wù)之前,所述方法還包括:
獲取各目標(biāo)處理節(jié)點(diǎn)的任務(wù)隊(duì)列;
設(shè)置待下發(fā)的流數(shù)據(jù)子任務(wù)在各任務(wù)隊(duì)列中的排序,使各個流數(shù)據(jù)子任務(wù)的處理時(shí)間的差值小于設(shè)定閾值。
A4、根據(jù)A3所述的方法,其中,所述設(shè)置待下發(fā)的流數(shù)據(jù)子任務(wù)在各任務(wù)隊(duì)列中的排序,使各個流數(shù)據(jù)子任務(wù)的處理時(shí)間的差值小于設(shè)定閾值包括:
根據(jù)各目標(biāo)處理節(jié)點(diǎn)的任務(wù)隊(duì)列中已有的流數(shù)據(jù)子任務(wù),預(yù)測各個待下發(fā)的流數(shù)據(jù)子任務(wù)的處理時(shí)間;
確定處理時(shí)間最晚的目標(biāo)流數(shù)據(jù)子任務(wù);
按照所述目標(biāo)流數(shù)據(jù)子任務(wù)的處理時(shí)間安排各個待下發(fā)的流數(shù)據(jù)子任務(wù)的處理時(shí)間。
A5、根據(jù)A3所述的方法,其中,所述獲取各目標(biāo)處理節(jié)點(diǎn)的任務(wù)隊(duì)列包括:
從各目標(biāo)處理節(jié)點(diǎn)的管理進(jìn)程獲取任務(wù)隊(duì)列。
A6、根據(jù)A1所述的方法,其中,在所述將流數(shù)據(jù)任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)之前,所述方法還包括:
接收攜帶流數(shù)據(jù)地址的流數(shù)據(jù)處理指令;
通過訪問所述流數(shù)據(jù)地址,下載待處理的流數(shù)據(jù)。
A7、根據(jù)A6所述的方法,其中,所述流數(shù)據(jù)任務(wù)為轉(zhuǎn)碼任務(wù),所述將流數(shù)據(jù)任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)包括:
按照所述流數(shù)據(jù)處理指令攜帶的多種轉(zhuǎn)碼格式,將所述流數(shù)據(jù)處理任務(wù)拆分為對應(yīng)各種轉(zhuǎn)碼格式的多個流數(shù)據(jù)子任務(wù)。
A8、根據(jù)A6所述的方法,其中,所述流數(shù)據(jù)任務(wù)為轉(zhuǎn)碼任務(wù),所述將流數(shù)據(jù)任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)包括:
提取所述流數(shù)據(jù)處理指令攜帶的業(yè)務(wù)標(biāo)識;
查找針對所述業(yè)務(wù)標(biāo)識預(yù)設(shè)的多種轉(zhuǎn)碼格式;
按照所查找的多種轉(zhuǎn)碼格式,將所述流數(shù)據(jù)處理任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)。
A9、根據(jù)A1所述的方法,其中,所述方法還包括:
監(jiān)控各個處理進(jìn)程的處理進(jìn)度;
將已處理完的流數(shù)據(jù)子任務(wù)對應(yīng)的流數(shù)據(jù)推送至存儲服務(wù)器,以供流數(shù)據(jù)的傳輸節(jié)點(diǎn)或流數(shù)據(jù)的播放客戶端調(diào)用。
A10、根據(jù)A1所述的方法,其中,所述方法還包括:
接收處理進(jìn)程上報(bào)至管理進(jìn)程的處理異常通知,并在當(dāng)前目標(biāo)處理節(jié)點(diǎn)內(nèi)為處理異常的流數(shù)據(jù)子任務(wù)重新分配處理進(jìn)程。
A11、根據(jù)A10所述的方法,其中,所述方法還包括:
接收當(dāng)前目標(biāo)處理節(jié)點(diǎn)上報(bào)至管理節(jié)點(diǎn)的處理異常通知,并在其他處理節(jié)點(diǎn)中為處理異常的流數(shù)據(jù)子任務(wù)重新分配一個目標(biāo)處理節(jié)點(diǎn);
調(diào)用重新分配的目標(biāo)處理節(jié)點(diǎn)的一個處理進(jìn)程對處理異常的流數(shù)據(jù)子任務(wù)進(jìn)行處理。
本發(fā)明還公開了B12、一種流數(shù)據(jù)任務(wù)的處理裝置,包括:
任務(wù)拆分模塊,用于將流數(shù)據(jù)任務(wù)拆分成多個流數(shù)據(jù)子任務(wù);
子任務(wù)分配模塊,用于將多個流數(shù)據(jù)子任務(wù)分配至至少一個目標(biāo)處理節(jié)點(diǎn);
處理進(jìn)程調(diào)用模塊,用于調(diào)用各目標(biāo)處理節(jié)點(diǎn)運(yùn)行至少一個處理進(jìn)程處理所述多個流數(shù)據(jù)子任務(wù),其中,一個所調(diào)用的處理進(jìn)程處理一個或多個流數(shù)據(jù)子任務(wù);
處理結(jié)果接收模塊,用于接收各目標(biāo)處理節(jié)點(diǎn)針對流數(shù)據(jù)子任務(wù)反饋的處理結(jié)果,匯集得到所述流數(shù)據(jù)任務(wù)的處理結(jié)果。
B13、根據(jù)B12所述的裝置,其中,所述子任務(wù)分配模塊包括:
負(fù)載狀態(tài)獲取子模塊,用于從管理節(jié)點(diǎn)獲取各個處理節(jié)點(diǎn)的負(fù)載狀態(tài);
目標(biāo)處理節(jié)點(diǎn)選取子模塊,用于選取負(fù)載狀態(tài)滿足設(shè)定條件的至少一個目標(biāo)處理節(jié)點(diǎn),并向各選取的目標(biāo)處理節(jié)點(diǎn)下發(fā)至少一個流數(shù)據(jù)子任務(wù)。
B14、根據(jù)B12所述的裝置,其中,所述裝置還包括:
任務(wù)隊(duì)列獲取模塊,用于在所述向各選取的目標(biāo)處理節(jié)點(diǎn)下發(fā)至少一個流數(shù)據(jù)子任務(wù)之前,獲取各目標(biāo)處理節(jié)點(diǎn)的任務(wù)隊(duì)列,各處理節(jié)點(diǎn)對應(yīng)一個任務(wù)隊(duì)列;
排序設(shè)置子模塊,用于設(shè)置待下發(fā)的流數(shù)據(jù)子任務(wù)在各任務(wù)隊(duì)列中的排序,使各個流數(shù)據(jù)子任務(wù)的處理時(shí)間的差值小于設(shè)定閾值。
B15、根據(jù)B14所述的裝置,其中,所述排序設(shè)置子模塊包括:
處理時(shí)間預(yù)測單元,用于根據(jù)各目標(biāo)處理節(jié)點(diǎn)的任務(wù)隊(duì)列中已有的流數(shù)據(jù)子任務(wù),預(yù)測各個待下發(fā)的流數(shù)據(jù)子任務(wù)的處理時(shí)間;
目標(biāo)流數(shù)據(jù)子任務(wù)確定單元,用于確定處理時(shí)間最晚的目標(biāo)流數(shù)據(jù)子任務(wù);
處理時(shí)間安排單元,用于按照所述目標(biāo)流數(shù)據(jù)子任務(wù)的處理時(shí)間安排各個待下發(fā)的流數(shù)據(jù)子任務(wù)的處理時(shí)間。
B16、根據(jù)B14所述的裝置,其中,所述任務(wù)隊(duì)列獲取模塊,具體用于從各目標(biāo)處理節(jié)點(diǎn)的管理進(jìn)程獲取任務(wù)隊(duì)列。
B17、根據(jù)B12所述的裝置,其中,所述裝置還包括:
處理指令接收模塊,用于在所述將流數(shù)據(jù)任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)之前,接收攜帶流數(shù)據(jù)地址的流數(shù)據(jù)處理指令;
流數(shù)據(jù)下載模塊,用于通過訪問所述流數(shù)據(jù)地址,下載待處理的流數(shù)據(jù)。
B18、根據(jù)B17所述的裝置,其中,所述任務(wù)拆分模塊,具體用于按照所述流數(shù)據(jù)處理指令攜帶的多種轉(zhuǎn)碼格式,將所述流數(shù)據(jù)處理任務(wù)拆分為對應(yīng)各種轉(zhuǎn)碼格式的多個流數(shù)據(jù)子任務(wù),所述流數(shù)據(jù)任務(wù)為轉(zhuǎn)碼任務(wù)。
B19、根據(jù)B17所述的裝置,其中,所述任務(wù)拆分模塊包括:
業(yè)務(wù)標(biāo)識提取子模塊,用于提取所述流數(shù)據(jù)處理指令攜帶的業(yè)務(wù)標(biāo)識,所述流數(shù)據(jù)任務(wù)為轉(zhuǎn)碼任務(wù);
轉(zhuǎn)碼格式查找子模塊,用于查找針對所述業(yè)務(wù)標(biāo)識預(yù)設(shè)的多種轉(zhuǎn)碼格式;
任務(wù)劃分子模塊,用于按照所查找的多種轉(zhuǎn)碼格式,將所述流數(shù)據(jù)處理任務(wù)拆分為多個流數(shù)據(jù)子任務(wù)。
B20、根據(jù)B12所述的裝置,其中,所述裝置還包括:
處理進(jìn)度監(jiān)控模塊,用于監(jiān)控各個處理進(jìn)程的處理進(jìn)度;
流數(shù)據(jù)推送模塊,用于將已處理完的流數(shù)據(jù)子任務(wù)對應(yīng)的流數(shù)據(jù)推送至存儲服務(wù)器,以供流數(shù)據(jù)的傳輸節(jié)點(diǎn)或流數(shù)據(jù)的播放客戶端調(diào)用。
B21、根據(jù)B12所述的裝置,其中,所述裝置還包括:
第一通知接收模塊,用于接收處理進(jìn)程上報(bào)至管理進(jìn)程的處理異常通知;
處理進(jìn)程重新分配模塊,用于在當(dāng)前目標(biāo)處理節(jié)點(diǎn)內(nèi)為處理異常的流數(shù)據(jù)子任務(wù)重新分配處理進(jìn)程。
B22、根據(jù)B21所述的裝置,其中,所述裝置還包括:
第二通知接收模塊,用于接收當(dāng)前目標(biāo)處理節(jié)點(diǎn)上報(bào)至管理節(jié)點(diǎn)的處理異常通知;
目標(biāo)處理節(jié)點(diǎn)重新分配模塊,用于在其他處理節(jié)點(diǎn)中為處理異常的流數(shù)據(jù)子任務(wù)重新分配一個目標(biāo)處理節(jié)點(diǎn);
目標(biāo)處理節(jié)點(diǎn)調(diào)用模塊,用于調(diào)用重新分配的目標(biāo)處理節(jié)點(diǎn)的一個處理進(jìn)程對處理異常的流數(shù)據(jù)子任務(wù)進(jìn)行處理。